factor/basis/gtk/Gtk-2.0.gir

88486 lines
3.5 MiB

<?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.0"
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="2.0"/>
<include name="GdkPixbuf" version="2.0"/>
<include name="Gio" version="2.0"/>
<include name="Pango" version="1.0"/>
<include name="cairo" version="1.0"/>
<namespace name="Gtk"
version="2.0"
shared-library="libgtk-x11-2.0.so.0"
c:prefix="Gtk">
<alias name="Allocation" target="Gdk.Rectangle" c:type="GtkAllocation"/>
<alias name="ClassInitFunc"
target="GObject.BaseInitFunc"
c:type="GtkClassInitFunc"/>
<alias name="EnumValue" target="GObject.EnumValue" c:type="GtkEnumValue"/>
<alias name="FlagValue" target="GObject.FlagsValue" c:type="GtkFlagValue"/>
<alias name="FundamentalType" target="GType" c:type="GtkFundamentalType"/>
<alias name="ObjectInitFunc"
target="GObject.InstanceInitFunc"
c:type="GtkObjectInitFunc"/>
<alias name="SignalMarshaller"
target="GObject.SignalCMarshaller"
c:type="GtkSignalMarshaller"/>
<alias name="Type" target="GType" c:type="GtkType"/>
<alias name="TypeClass" target="GObject.TypeClass" c:type="GtkTypeClass"/>
<alias name="TypeObject"
target="GObject.TypeInstance"
c:type="GtkTypeObject"/>
<constant name="ARG_READWRITE" value="0">
<type name="int"/>
</constant>
<class name="AboutDialog"
c:type="GtkAboutDialog"
doc="The &lt;structname&gt;GtkAboutDialog&lt;/structname&gt; struct contains
only private fields and should not be directly accessed."
parent="Dialog"
glib:type-name="GtkAboutDialog"
glib:get-type="gtk_about_dialog_get_type"
glib:type-struct="AboutDialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_about_dialog_new"
doc="Creates a new #GtkAboutDialog."
version="2.6">
<return-value transfer-ownership="full">
<type name="AboutDialog" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="set_email_hook"
c:identifier="gtk_about_dialog_set_email_hook"
doc="Installs a global function to be called whenever the user activates an
email link in an about dialog.
Since 2.18 there exists a default function which uses gtk_show_uri(). To
deactivate it, you can pass %NULL for @func."
version="2.6">
<return-value transfer-ownership="full">
<type name="AboutDialogActivateLinkFunc"
c:type="GtkAboutDialogActivateLinkFunc"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="1"
destroy="2">
<type name="AboutDialogActivateLinkFunc"
c:type="GtkAboutDialogActivateLinkFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="set_url_hook"
c:identifier="gtk_about_dialog_set_url_hook"
doc="Installs a global function to be called whenever the user activates a
URL link in an about dialog.
Since 2.18 there exists a default function which uses gtk_show_uri(). To
deactivate it, you can pass %NULL for @func."
version="2.6">
<return-value transfer-ownership="full">
<type name="AboutDialogActivateLinkFunc"
c:type="GtkAboutDialogActivateLinkFunc"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="1"
destroy="2">
<type name="AboutDialogActivateLinkFunc"
c:type="GtkAboutDialogActivateLinkFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<method name="get_name"
c:identifier="gtk_about_dialog_get_name"
doc="Returns the program name displayed in the about dialog.
dialog and must not be modified."
version="2.6"
deprecated="Use gtk_about_dialog_get_program_name() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_name"
c:identifier="gtk_about_dialog_set_name"
doc="Sets the name to display in the about dialog.
If this is not set, it defaults to g_get_application_name()."
version="2.6"
deprecated="Use gtk_about_dialog_set_program_name() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name"
transfer-ownership="none"
allow-none="1"
doc="the program name">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_program_name"
c:identifier="gtk_about_dialog_get_program_name"
doc="Returns the program name displayed in the about dialog.
dialog and must not be modified."
version="2.12">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_program_name"
c:identifier="gtk_about_dialog_set_program_name"
doc="Sets the name to display in the about dialog.
If this is not set, it defaults to g_get_application_name()."
version="2.12">
<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_version"
c:identifier="gtk_about_dialog_get_version"
doc="Returns the version string.
dialog and must not be modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_version"
c:identifier="gtk_about_dialog_set_version"
doc="Sets the version string to display in the about dialog."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="version"
transfer-ownership="none"
allow-none="1"
doc="the version string">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_copyright"
c:identifier="gtk_about_dialog_get_copyright"
doc="Returns the copyright string.
dialog and must not be modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_copyright"
c:identifier="gtk_about_dialog_set_copyright"
doc="Sets the copyright string to display in the about dialog.
This should be a short string of one or two lines."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="copyright"
transfer-ownership="none"
allow-none="1"
doc="the copyright string">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_comments"
c:identifier="gtk_about_dialog_get_comments"
doc="Returns the comments string.
dialog and must not be modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_comments"
c:identifier="gtk_about_dialog_set_comments"
doc="Sets the comments string to display in the about dialog.
This should be a short string of one or two lines."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="comments"
transfer-ownership="none"
allow-none="1"
doc="a comments string">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_license"
c:identifier="gtk_about_dialog_get_license"
doc="Returns the license information.
dialog and must not be modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_license"
c:identifier="gtk_about_dialog_set_license"
doc="Sets the license information to be displayed in the secondary
license dialog. If @license is %NULL, the license button is
hidden."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="license"
transfer-ownership="none"
allow-none="1"
doc="the license information or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_wrap_license"
c:identifier="gtk_about_dialog_get_wrap_license"
doc="Returns whether the license text in @about is
automatically wrapped."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_wrap_license"
c:identifier="gtk_about_dialog_set_wrap_license"
doc="Sets whether the license text in @about is
automatically wrapped."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wrap_license" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_website"
c:identifier="gtk_about_dialog_get_website"
doc="Returns the website URL.
dialog and must not be modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_website"
c:identifier="gtk_about_dialog_set_website"
doc="Sets the URL to use for the website link.
Note that that the hook functions need to be set up
before calling this function."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="website"
transfer-ownership="none"
allow-none="1"
doc="a URL string starting with &quot;http://&quot;">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_website_label"
c:identifier="gtk_about_dialog_get_website_label"
doc="Returns the label used for the website link.
owned by the about dialog and must not be modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_website_label"
c:identifier="gtk_about_dialog_set_website_label"
doc="Sets the label to be used for the website link.
It defaults to the website URL."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="website_label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_authors"
c:identifier="gtk_about_dialog_get_authors"
doc="Returns the string which are displayed in the authors tab
of the secondary credits dialog.
the authors. The array is owned by the about dialog
and must not be modified."
version="2.6">
<return-value transfer-ownership="full">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
</method>
<method name="set_authors"
c:identifier="gtk_about_dialog_set_authors"
doc="Sets the strings which are displayed in the authors tab
of the secondary credits dialog."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="authors" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_documenters"
c:identifier="gtk_about_dialog_get_documenters"
doc="Returns the string which are displayed in the documenters
tab of the secondary credits dialog.
the documenters. The array is owned by the about dialog
and must not be modified."
version="2.6">
<return-value transfer-ownership="full">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
</method>
<method name="set_documenters"
c:identifier="gtk_about_dialog_set_documenters"
doc="Sets the strings which are displayed in the documenters tab
of the secondary credits dialog."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="documenters" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_artists"
c:identifier="gtk_about_dialog_get_artists"
doc="Returns the string which are displayed in the artists tab
of the secondary credits dialog.
the artists. The array is owned by the about dialog
and must not be modified."
version="2.6">
<return-value transfer-ownership="full">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
</method>
<method name="set_artists"
c:identifier="gtk_about_dialog_set_artists"
doc="Sets the strings which are displayed in the artists tab
of the secondary credits dialog."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="artists" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_translator_credits"
c:identifier="gtk_about_dialog_get_translator_credits"
doc="Returns the translator credits string which is displayed
in the translators tab of the secondary credits dialog.
owned by the about dialog and must not be modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_translator_credits"
c:identifier="gtk_about_dialog_set_translator_credits"
doc="Sets the translator credits string which is displayed in
the translators tab of the secondary credits dialog.
The intended use for this string is to display the translator
of the language which is currently used in the user interface.
Using gettext(), a simple way to achieve that is to mark the
string for translation:
|[
gtk_about_dialog_set_translator_credits (about, _(&quot;translator-credits&quot;));
]|
It is a good idea to use the customary msgid &quot;translator-credits&quot; for this
purpose, since translators will already know the purpose of that msgid, and
since #GtkAboutDialog will detect if &quot;translator-credits&quot; is untranslated
and hide the tab."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="translator_credits"
transfer-ownership="none"
allow-none="1"
doc="the translator credits">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_logo"
c:identifier="gtk_about_dialog_get_logo"
doc="Returns the pixbuf displayed as logo in the about dialog.
owned by the about dialog. If you want to keep a reference
to it, you have to call g_object_ref() on it."
version="2.6">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="set_logo"
c:identifier="gtk_about_dialog_set_logo"
doc="Sets the pixbuf to be displayed as logo in the about dialog.
If it is %NULL, the default window icon set with
gtk_window_set_default_icon() will be used."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="logo"
transfer-ownership="none"
allow-none="1"
doc="a #GdkPixbuf, or %NULL">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="get_logo_icon_name"
c:identifier="gtk_about_dialog_get_logo_icon_name"
doc="Returns the icon name displayed as logo in the about dialog.
owned by the dialog. If you want to keep a reference
to it, you have to call g_strdup() on it."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_logo_icon_name"
c:identifier="gtk_about_dialog_set_logo_icon_name"
doc="Sets the pixbuf to be displayed as logo in the about dialog.
If it is %NULL, the default window icon set with
gtk_window_set_default_icon() will be used."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name"
transfer-ownership="none"
allow-none="1"
doc="an icon name, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<property name="artists"
version="2.6"
writable="1"
doc="The people who contributed artwork to the program, as a %NULL-terminated
array of strings. Each string may contain email addresses and URLs, which
will be displayed as links, see the introduction for more details.">
<type name="GObject.Strv" c:type="GStrv"/>
</property>
<property name="authors"
version="2.6"
writable="1"
doc="The authors of the program, as a %NULL-terminated array of strings.
Each string may contain email addresses and URLs, which will be displayed
as links, see the introduction for more details.">
<type name="GObject.Strv" c:type="GStrv"/>
</property>
<property name="comments"
version="2.6"
writable="1"
doc="Comments about the program. This string is displayed in a label
in the main dialog, thus it should be a short explanation of
the main purpose of the program, not a detailed list of features.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="copyright"
version="2.6"
writable="1"
doc="Copyright information for the program.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="documenters"
version="2.6"
writable="1"
doc="The people documenting the program, as a %NULL-terminated array of strings.
Each string may contain email addresses and URLs, which will be displayed
as links, see the introduction for more details.">
<type name="GObject.Strv" c:type="GStrv"/>
</property>
<property name="license"
version="2.6"
writable="1"
doc="The license of the program. This string is displayed in a
text view in a secondary dialog, therefore it is fine to use
a long multi-paragraph text. Note that the text is only wrapped
in the text view if the &quot;wrap-license&quot; property is set to %TRUE;
otherwise the text itself must contain the intended linebreaks.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="logo"
version="2.6"
writable="1"
doc="A logo for the about box. If this is not set, it defaults to
gtk_window_get_default_icon_list().">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="logo-icon-name"
version="2.6"
writable="1"
doc="A named icon to use as the logo for the about box. This property
overrides the #GtkAboutDialog:logo property.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="program-name"
version="2.12"
writable="1"
doc="The name of the program.
If this is not set, it defaults to g_get_application_name().">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="translator-credits"
version="2.6"
writable="1"
doc="Credits to the translators. This string should be marked as translatable.
The string may contain email addresses and URLs, which will be displayed
as links, see the introduction for more details.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="version"
version="2.6"
writable="1"
doc="The version of the program.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="website"
version="2.6"
writable="1"
doc="The URL for the link to the website of the program.
This should be a string starting with &quot;http://.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="website-label"
version="2.6"
writable="1"
doc="The label for the link to the website of the program. If this is not set,
it defaults to the URL specified in the #GtkAboutDialog:website property.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="wrap-license"
version="2.8"
writable="1"
doc="Whether to wrap the text in the license dialog.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="private_data">
<type name="any" c:type="gpointer"/>
</field>
</class>
<callback name="AboutDialogActivateLinkFunc"
c:type="GtkAboutDialogActivateLinkFunc"
doc="with gtk_about_dialog_set_email_hook() or
gtk_about_dialog_set_url_hook()
The type of a function which is called when a URL or email
link is activated.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="about" transfer-ownership="none">
<type name="AboutDialog" c:type="GtkAboutDialog*"/>
</parameter>
<parameter name="link_" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="AboutDialogClass"
c:type="GtkAboutDialogClass"
glib:is-gtype-struct-for="AboutDialog">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<bitfield name="AccelFlags"
glib:type-name="GtkAccelFlags"
glib:get-type="gtk_accel_flags_get_type"
c:type="GtkAccelFlags">
<member name="visible"
value="1"
c:identifier="GTK_ACCEL_VISIBLE"
glib:nick="visible"/>
<member name="locked"
value="2"
c:identifier="GTK_ACCEL_LOCKED"
glib:nick="locked"/>
<member name="mask"
value="7"
c:identifier="GTK_ACCEL_MASK"
glib:nick="mask"/>
</bitfield>
<class name="AccelGroup"
c:type="GtkAccelGroup"
doc="An object representing and maintaining a group of accelerators."
parent="GObject.Object"
glib:type-name="GtkAccelGroup"
glib:get-type="gtk_accel_group_get_type"
glib:type-struct="AccelGroupClass">
<constructor name="new"
c:identifier="gtk_accel_group_new"
doc="Creates a new #GtkAccelGroup.">
<return-value transfer-ownership="full">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</return-value>
</constructor>
<function name="from_accel_closure"
c:identifier="gtk_accel_group_from_accel_closure"
doc="Finds the #GtkAccelGroup to which @closure is connected;
see gtk_accel_group_connect().">
<return-value transfer-ownership="full"
doc="the #GtkAccelGroup to which @closure is connected, or %NULL.">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</return-value>
<parameters>
<parameter name="closure" transfer-ownership="none">
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</function>
<method name="get_is_locked"
c:identifier="gtk_accel_group_get_is_locked"
doc="Locks are added and removed using gtk_accel_group_lock() and
gtk_accel_group_unlock().
%FALSE otherwise."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_modifier_mask"
c:identifier="gtk_accel_group_get_modifier_mask"
doc="Gets a #GdkModifierType representing the mask for this"
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</return-value>
</method>
<method name="lock"
c:identifier="gtk_accel_group_lock"
doc="Locks the given accelerator group.
Locking an acelerator group prevents the accelerators contained
within it to be changed during runtime. Refer to
gtk_accel_map_change_entry() about runtime accelerator changes.
If called more than once, @accel_group remains locked until
gtk_accel_group_unlock() has been called an equivalent number
of times.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unlock"
c:identifier="gtk_accel_group_unlock"
doc="Undoes the last call to gtk_accel_group_lock() on this @accel_group.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="connect"
c:identifier="gtk_accel_group_connect"
doc="Installs an accelerator in this group. When @accel_group is being activated
in response to a call to gtk_accel_groups_activate(), @closure will be
invoked if the @accel_key and @accel_mods from gtk_accel_groups_activate()
match those of this connection.
The signature used for the @closure is that of #GtkAccelGroupActivate.
Note that, due to implementation details, a single closure can only be
connected to one accelerator group.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="accel_flags" transfer-ownership="none">
<type name="AccelFlags" c:type="GtkAccelFlags"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</method>
<method name="connect_by_path"
c:identifier="gtk_accel_group_connect_by_path"
doc="Installs an accelerator in this group, using an accelerator path to look
up the appropriate key and modifiers (see gtk_accel_map_add_entry()).
When @accel_group is being activated in response to a call to
gtk_accel_groups_activate(), @closure will be invoked if the @accel_key and
for the path.
The signature used for the @closure is that of #GtkAccelGroupActivate.
Note that @accel_path string will be stored in a #GQuark. Therefore, if you
pass a static string, you can save some memory by interning it first with
g_intern_static_string().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</method>
<method name="disconnect"
c:identifier="gtk_accel_group_disconnect"
doc="to remove all closures
Removes an accelerator previously installed through
gtk_accel_group_connect().
Since 2.20 @closure can be %NULL.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="closure"
transfer-ownership="none"
allow-none="1"
doc="the closure to remove from this accelerator group, or %NULL">
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</method>
<method name="disconnect_key"
c:identifier="gtk_accel_group_disconnect_key"
doc="removed, %FALSE otherwise
Removes an accelerator previously installed through
gtk_accel_group_connect().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</method>
<method name="activate"
c:identifier="gtk_accel_group_activate"
doc="to activate the accelerator.
Finds the first accelerator in @accel_group
that matches @accel_key and @accel_mods, and
activates it.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="accel_quark" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="acceleratable" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</method>
<method name="find"
c:identifier="gtk_accel_group_find"
doc="owned by GTK+ and must not be freed.
Finds the first entry in an accelerator group for which">
<return-value transfer-ownership="full">
<type name="AccelKey" c:type="GtkAccelKey*"/>
</return-value>
<parameters>
<parameter name="find_func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="AccelGroupFindFunc" c:type="GtkAccelGroupFindFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="query"
c:identifier="gtk_accel_group_query"
doc="Queries an accelerator group for all entries matching @accel_key and">
<return-value transfer-ownership="full"
doc="an array of @n_entries #GtkAccelGroupEntry elements, or %NULL. The array is owned by GTK+ and must not be freed.">
<type name="AccelGroupEntry" c:type="GtkAccelGroupEntry*"/>
</return-value>
<parameters>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="n_entries"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return the number of entries found, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<property name="is-locked">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="modifier-mask">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</property>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="lock_count">
<type name="uint" c:type="guint"/>
</field>
<field name="modifier_mask">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</field>
<field name="acceleratables">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="n_accels">
<type name="uint" c:type="guint"/>
</field>
<field name="priv_accels">
<type name="AccelGroupEntry" c:type="GtkAccelGroupEntry*"/>
</field>
<glib:signal name="accel-activate"
doc="The accel-activate signal is an implementation detail of
#GtkAccelGroup and not meant to be used by applications.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="acceleratable" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifier" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="accel-changed"
doc="The accel-changed signal is emitted when a #GtkAccelGroupEntry
is added to or removed from the accel group.
Widgets like #GtkAccelLabel which display an associated
accelerator should connect to this signal, and rebuild
their visual representation if the @accel_closure is theirs.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifier" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="accel_closure" transfer-ownership="none">
<type name="GObject.Closure" c:type="GClosure"/>
</parameter>
</parameters>
</glib:signal>
</class>
<callback name="AccelGroupActivate" c:type="GtkAccelGroupActivate">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
<parameter name="acceleratable" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifier" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</callback>
<record name="AccelGroupClass"
c:type="GtkAccelGroupClass"
glib:is-gtype-struct-for="AccelGroup">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="accel_changed">
<callback name="accel_changed" c:type="accel_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifier" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="accel_closure" transfer-ownership="none">
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="AccelGroupEntry" c:type="GtkAccelGroupEntry">
<field name="key" writable="1">
<type name="AccelKey" c:type="GtkAccelKey"/>
</field>
<field name="closure" writable="1">
<type name="GObject.Closure" c:type="GClosure*"/>
</field>
<field name="accel_path_quark" writable="1">
<type name="GLib.Quark" c:type="GQuark"/>
</field>
</record>
<callback name="AccelGroupFindFunc"
c:type="GtkAccelGroupFindFunc"
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="AccelKey" c:type="GtkAccelKey*"/>
</parameter>
<parameter name="closure" transfer-ownership="none">
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="AccelKey" c:type="GtkAccelKey">
<field name="accel_key" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="accel_mods" writable="1">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</field>
<field name="accel_flags" writable="1" bits="16">
<type name="uint" c:type="guint"/>
</field>
</record>
<class name="AccelLabel"
c:type="GtkAccelLabel"
doc="The #GtkAccelLabel-struct struct contains private data only, and
should be accessed using the functions below."
parent="Label"
glib:type-name="GtkAccelLabel"
glib:get-type="gtk_accel_label_get_type"
glib:type-struct="AccelLabelClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_accel_label_new"
doc="Creates a new #GtkAccelLabel.">
<return-value transfer-ownership="full">
<type name="AccelLabel" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_accel_widget"
c:identifier="gtk_accel_label_get_accel_widget"
doc="Fetches the widget monitored by this accelerator label. See
gtk_accel_label_set_accel_widget().">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_accel_width"
c:identifier="gtk_accel_label_get_accel_width"
doc="Returns the width needed to display the accelerator key(s).
This is used by menus to align all of the #GtkMenuItem widgets, and shouldn&apos;t
be needed by applications.">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="set_accel_widget"
c:identifier="gtk_accel_label_set_accel_widget"
doc="Sets the widget to be monitored by this accelerator label.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_accel_closure"
c:identifier="gtk_accel_label_set_accel_closure"
doc="Sets the closure to be monitored by this accelerator label. The closure
must be connected to an accelerator group; see gtk_accel_group_connect().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_closure" transfer-ownership="none">
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</method>
<method name="refetch"
c:identifier="gtk_accel_label_refetch"
doc="Recreates the string representing the accelerator keys.
This should not be needed since the string is automatically updated whenever
accelerators are added or removed from the associated widget.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="accel-closure" writable="1">
<type name="GObject.Closure" c:type="GClosure"/>
</property>
<property name="accel-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<field name="label">
<type name="Label" c:type="GtkLabel"/>
</field>
<field name="gtk_reserved">
<type name="uint" c:type="guint"/>
</field>
<field name="accel_padding">
<type name="uint" c:type="guint"/>
</field>
<field name="accel_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="accel_closure">
<type name="GObject.Closure" c:type="GClosure*"/>
</field>
<field name="accel_group">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</field>
<field name="accel_string">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accel_string_width">
<type name="uint16" c:type="guint16"/>
</field>
</class>
<record name="AccelLabelClass"
c:type="GtkAccelLabelClass"
glib:is-gtype-struct-for="AccelLabel">
<field name="parent_class">
<type name="LabelClass" c:type="GtkLabelClass"/>
</field>
<field name="signal_quote1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="signal_quote2">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mod_name_shift">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mod_name_control">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mod_name_alt">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mod_separator">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accel_seperator">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="latin1_to_char" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="AccelMap"
c:type="GtkAccelMap"
parent="GObject.Object"
glib:type-name="GtkAccelMap"
glib:get-type="gtk_accel_map_get_type"
glib:type-struct="AccelMapClass">
<function name="add_entry"
c:identifier="gtk_accel_map_add_entry"
doc="Registers a new accelerator with the global accelerator map.
This function should only be called once per @accel_path
with the canonical @accel_key and @accel_mods for this path.
To change the accelerator during runtime programatically, use
gtk_accel_map_change_entry().
The accelerator path must consist of &quot;&amp;lt;WINDOWTYPE&amp;gt;/Category1/Category2/.../Action&quot;,
where &amp;lt;WINDOWTYPE&amp;gt; should be a unique application-specific identifier, that
corresponds to the kind of window the accelerator is being used in, e.g. &quot;Gimp-Image&quot;,
&quot;Abiword-Document&quot; or &quot;Gnumeric-Settings&quot;.
The Category1/.../Action portion is most appropriately chosen by the action the
accelerator triggers, i.e. for accelerators on menu items, choose the item&apos;s menu path,
e.g. &quot;File/Save As&quot;, &quot;Image/View/Zoom&quot; or &quot;Edit/Select All&quot;.
So a full valid accelerator path may look like:
&quot;&amp;lt;Gimp-Toolbox&amp;gt;/File/Dialogs/Tool Options...&quot;.
Note that @accel_path string will be stored in a #GQuark. Therefore, if you
pass a static string, you can save some memory by interning it first with
g_intern_static_string().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="lookup_entry"
c:identifier="gtk_accel_map_lookup_entry"
doc="Looks up the accelerator entry for @accel_path and fills in @key.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="key" transfer-ownership="none">
<type name="AccelKey" c:type="GtkAccelKey*"/>
</parameter>
</parameters>
</function>
<function name="change_entry"
c:identifier="gtk_accel_map_change_entry"
doc="Changes the @accel_key and @accel_mods currently associated with @accel_path.
Due to conflicts with other accelerators, a change may not always be possible,
conflicts. A change will only occur if all conflicts could be resolved (which
might not be the case if conflicting accelerators are locked). Successful
changes are indicated by a %TRUE return value.
Note that @accel_path string will be stored in a #GQuark. Therefore, if you
pass a static string, you can save some memory by interning it first with
g_intern_static_string().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="replace" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="load"
c:identifier="gtk_accel_map_load"
doc="in the GLib file name encoding
Parses a file previously saved with gtk_accel_map_save() for
accelerator specifications, and propagates them accordingly.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="save"
c:identifier="gtk_accel_map_save"
doc="in the GLib file name encoding
Saves current accelerator specifications (accelerator path, key
and modifiers) to @file_name.
The file is written in a format suitable to be read back in by
gtk_accel_map_load().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="foreach"
c:identifier="gtk_accel_map_foreach"
doc="is not filtered out
Loops over the entries in the accelerator map whose accel path
doesn&apos;t match any of the filters added with gtk_accel_map_add_filter(),
and execute @foreach_func on each. The signature of @foreach_func is
that of #GtkAccelMapForeach, the @changed parameter indicates whether
this accelerator was changed during runtime (thus, would need
saving during an accelerator map dump).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="foreach_func"
transfer-ownership="none"
scope="call">
<type name="AccelMapForeach" c:type="GtkAccelMapForeach"/>
</parameter>
</parameters>
</function>
<function name="load_fd"
c:identifier="gtk_accel_map_load_fd"
doc="Filedescriptor variant of gtk_accel_map_load().
Note that the file descriptor will not be closed by this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fd" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="load_scanner"
c:identifier="gtk_accel_map_load_scanner"
doc="#GScanner variant of gtk_accel_map_load().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
</parameters>
</function>
<function name="save_fd"
c:identifier="gtk_accel_map_save_fd"
doc="Filedescriptor variant of gtk_accel_map_save().
Note that the file descriptor will not be closed by this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fd" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="lock_path"
c:identifier="gtk_accel_map_lock_path"
doc="Locks the given accelerator path. If the accelerator map doesn&apos;t yet contain
an entry for @accel_path, a new one is created.
Locking an accelerator path prevents its accelerator from being changed
during runtime. A locked accelerator path can be unlocked by
gtk_accel_map_unlock_path(). Refer to gtk_accel_map_change_entry()
for information about runtime accelerator changes.
If called more than once, @accel_path remains locked until
gtk_accel_map_unlock_path() has been called an equivalent number
of times.
Note that locking of individual accelerator paths is independent from
locking the #GtkAccelGroup containing them. For runtime accelerator
changes to be possible both the accelerator path and its #GtkAccelGroup
have to be unlocked."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="unlock_path"
c:identifier="gtk_accel_map_unlock_path"
doc="Undoes the last call to gtk_accel_map_lock_path() on this @accel_path.
Refer to gtk_accel_map_lock_path() for information about accelerator path locking."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="add_filter"
c:identifier="gtk_accel_map_add_filter"
doc="Adds a filter to the global list of accel path filters.
Accel map entries whose accel path matches one of the filters
are skipped by gtk_accel_map_foreach().
This function is intended for GTK+ modules that create their own
menus, but don&apos;t want them to be saved into the applications accelerator
map dump.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter_pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="foreach_unfiltered"
c:identifier="gtk_accel_map_foreach_unfiltered"
doc="Loops over all entries in the accelerator map, and execute
#GtkAccelMapForeach, the @changed parameter indicates whether
this accelerator was changed during runtime (thus, would need
saving during an accelerator map dump).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="foreach_func"
transfer-ownership="none"
scope="call">
<type name="AccelMapForeach" c:type="GtkAccelMapForeach"/>
</parameter>
</parameters>
</function>
<function name="get"
c:identifier="gtk_accel_map_get"
doc="Gets the singleton global #GtkAccelMap object. This object
is useful only for notification of changes to the accelerator
map via the ::changed signal; it isn&apos;t a parameter to the
other accelerator map functions."
version="2.4">
<return-value transfer-ownership="full">
<type name="AccelMap" c:type="GtkAccelMap*"/>
</return-value>
</function>
<glib:signal name="changed"
doc="Notifies of a change in the global accelerator map.
The path is also used as the detail for the signal,
so it is possible to connect to
changed::&lt;replaceable&gt;accel_path&lt;/replaceable&gt;."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="AccelMapClass"
c:type="GtkAccelMapClass"
glib:is-gtype-struct-for="AccelMap">
</record>
<callback name="AccelMapForeach" c:type="GtkAccelMapForeach">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="changed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
<class name="Accessible"
c:type="GtkAccessible"
parent="Atk.Object"
glib:type-name="GtkAccessible"
glib:get-type="gtk_accessible_get_type"
glib:type-struct="AccessibleClass">
<virtual-method name="connect_widget_destroyed"
invoker="connect_widget_destroyed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="connect_widget_destroyed"
c:identifier="gtk_accessible_connect_widget_destroyed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="parent">
<type name="Atk.Object" c:type="AtkObject"/>
</field>
<field name="widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</class>
<record name="AccessibleClass"
c:type="GtkAccessibleClass"
glib:is-gtype-struct-for="Accessible">
<field name="parent_class">
<type name="Atk.ObjectClass" c:type="AtkObjectClass"/>
</field>
<field name="connect_widget_destroyed">
<callback name="connect_widget_destroyed"
c:type="connect_widget_destroyed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accessible" transfer-ownership="none">
<type name="Accessible" c:type="GtkAccessible*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Action"
c:type="GtkAction"
parent="GObject.Object"
glib:type-name="GtkAction"
glib:get-type="gtk_action_get_type"
glib:type-struct="ActionClass">
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_action_new"
doc="action, or %NULL
Creates a new #GtkAction object. To add the action to a
#GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel().
See &lt;xref linkend=&quot;XML-UI&quot;/&gt; for information on allowed action
names."
version="2.4">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="the label displayed in menu items and on buttons, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tooltip"
transfer-ownership="none"
allow-none="1"
doc="a tooltip for the action, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="create_menu_item" invoker="create_menu_item">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</virtual-method>
<virtual-method name="create_tool_item" invoker="create_tool_item">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</virtual-method>
<virtual-method name="connect_proxy" invoker="connect_proxy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="disconnect_proxy" invoker="disconnect_proxy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="create_menu" invoker="create_menu">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</virtual-method>
<method name="get_name"
c:identifier="gtk_action_get_name"
doc="Returns the name of the action.
be freed."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="is_sensitive"
c:identifier="gtk_action_is_sensitive"
doc="Returns whether the action is effectively sensitive.
are both sensitive."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_sensitive"
c:identifier="gtk_action_get_sensitive"
doc="Returns whether the action itself is sensitive. Note that this doesn&apos;t
necessarily mean effective sensitivity. See gtk_action_is_sensitive()
for that."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_sensitive"
c:identifier="gtk_action_set_sensitive"
doc="Sets the ::sensitive property of the action to @sensitive. Note that
this doesn&apos;t necessarily mean effective sensitivity. See
gtk_action_is_sensitive()
for that."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sensitive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="is_visible"
c:identifier="gtk_action_is_visible"
doc="Returns whether the action is effectively visible.
are both visible."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_visible"
c:identifier="gtk_action_get_visible"
doc="Returns whether the action itself is visible. Note that this doesn&apos;t
necessarily mean effective visibility. See gtk_action_is_sensitive()
for that."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible"
c:identifier="gtk_action_set_visible"
doc="Sets the ::visible property of the action to @visible. Note that
this doesn&apos;t necessarily mean effective visibility. See
gtk_action_is_visible()
for that."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="activate"
c:identifier="gtk_action_activate"
doc="Emits the &quot;activate&quot; signal on the specified action, if it isn&apos;t
insensitive. This gets called by the proxy widgets when they get
activated.
It can also be used to manually activate an action."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="create_icon"
c:identifier="gtk_action_create_icon"
doc="This function is intended for use by action implementations to
create icons displayed in the proxy widgets."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="icon_size"
transfer-ownership="none"
doc="the size of the icon that should be created.">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="create_menu_item"
c:identifier="gtk_action_create_menu_item"
doc="Creates a menu item widget that proxies for the given action."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="create_tool_item"
c:identifier="gtk_action_create_tool_item"
doc="Creates a toolbar item widget that proxies for the given action."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="create_menu"
c:identifier="gtk_action_create_menu"
doc="If @action provides a #GtkMenu widget as a submenu for the menu
item or the toolbar item it creates, this function returns an
instance of that menu."
version="2.12">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_proxies"
c:identifier="gtk_action_get_proxies"
doc="Returns the proxy widgets for an action.
See also gtk_widget_get_action().
and must not be modified."
version="2.4">
<return-value transfer-ownership="none"
doc="a #GSList of proxy widgets. The list is owned by GTK+">
<type name="GLib.SList" c:type="GSList*">
<type name="Widget"/>
</type>
</return-value>
</method>
<method name="connect_accelerator"
c:identifier="gtk_action_connect_accelerator"
doc="Installs the accelerator for @action if @action has an
accel path and group. See gtk_action_set_accel_path() and
gtk_action_set_accel_group()
Since multiple proxies may independently trigger the installation
of the accelerator, the @action counts the number of times this
function has been called and doesn&apos;t remove the accelerator until
gtk_action_disconnect_accelerator() has been called as many times."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="disconnect_accelerator"
c:identifier="gtk_action_disconnect_accelerator"
doc="Undoes the effect of one call to gtk_action_connect_accelerator()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_accel_path"
c:identifier="gtk_action_get_accel_path"
doc="Returns the accel path for this action.
if none is set. The returned string is owned by GTK+
and must not be freed or modified."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_accel_closure"
c:identifier="gtk_action_get_accel_closure"
doc="Returns the accel closure for this action.
owned by GTK+ and must not be unreffed or modified."
version="2.8">
<return-value transfer-ownership="full">
<type name="GObject.Closure" c:type="GClosure*"/>
</return-value>
</method>
<method name="connect_proxy"
c:identifier="gtk_action_connect_proxy"
doc="Connects a widget to an action object as a proxy. Synchronises
various properties of the action with the widget (such as label
text, icon, tooltip, etc), and attaches a callback so that the
action gets activated when the proxy widget does.
If the widget is already connected to an action, it is disconnected
first."
version="2.4"
deprecated="Use gtk_activatable_set_related_action() instead."
deprecated-version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="disconnect_proxy"
c:identifier="gtk_action_disconnect_proxy"
doc="Disconnects a proxy widget from an action.
Does &lt;emphasis&gt;not&lt;/emphasis&gt; destroy the widget, however."
version="2.4"
deprecated="Use gtk_activatable_set_related_action() instead."
deprecated-version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="block_activate_from"
c:identifier="gtk_action_block_activate_from"
doc="Disables calls to the gtk_action_activate()
function by signals on the given proxy widget. This is used to
break notification loops for things like check or radio actions.
This function is intended for use by action implementations.
action directly so this doesnt apply anymore."
version="2.4"
deprecated="activatables are now responsible for activating the"
deprecated-version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="unblock_activate_from"
c:identifier="gtk_action_unblock_activate_from"
doc="Re-enables calls to the gtk_action_activate()
function by signals on the given proxy widget. This undoes the
blocking done by gtk_action_block_activate_from().
This function is intended for use by action implementations.
action directly so this doesnt apply anymore."
version="2.4"
deprecated="activatables are now responsible for activating the"
deprecated-version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="block_activate"
c:identifier="gtk_action_block_activate"
doc="Disable activation signals from the action
This is needed when updating the state of your proxy
#GtkActivatable widget could result in calling gtk_action_activate(),
this is a convenience function to avoid recursing in those
cases (updating toggle state for instance)."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unblock_activate"
c:identifier="gtk_action_unblock_activate"
doc="Reenable activation signals from the action"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_accel_path"
c:identifier="gtk_action_set_accel_path"
doc="Sets the accel path for this action. All proxy widgets associated
with the action will have this accel path, so that their
accelerators are consistent.
Note that @accel_path string will be stored in a #GQuark. Therefore, if you
pass a static string, you can save some memory by interning it first with
g_intern_static_string()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_accel_group"
c:identifier="gtk_action_set_accel_group"
doc="Sets the #GtkAccelGroup in which the accelerator for this action
will be installed."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_group"
transfer-ownership="none"
allow-none="1"
doc="a #GtkAccelGroup or %NULL">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</method>
<method name="set_label"
c:identifier="gtk_action_set_label"
doc="Sets the label of @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_action_get_label"
doc="Gets the label text of @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_short_label"
c:identifier="gtk_action_set_short_label"
doc="Sets a shorter label text on @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="short_label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_short_label"
c:identifier="gtk_action_get_short_label"
doc="Gets the short label text of @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_tooltip"
c:identifier="gtk_action_set_tooltip"
doc="Sets the tooltip text on @action"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltip" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip"
c:identifier="gtk_action_get_tooltip"
doc="Gets the tooltip text of @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_stock_id"
c:identifier="gtk_action_set_stock_id"
doc="Sets the stock id on @action"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_stock_id"
c:identifier="gtk_action_get_stock_id"
doc="Gets the stock id of @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_gicon"
c:identifier="gtk_action_set_gicon"
doc="Sets the icon of @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon" transfer-ownership="none">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
</parameters>
</method>
<method name="get_gicon"
c:identifier="gtk_action_get_gicon"
doc="Gets the gicon of @action."
version="2.16">
<return-value transfer-ownership="full">
<type name="Gio.Icon" c:type="GIcon*"/>
</return-value>
</method>
<method name="set_icon_name"
c:identifier="gtk_action_set_icon_name"
doc="Sets the icon name on @action"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_name"
c:identifier="gtk_action_get_icon_name"
doc="Gets the icon name of @action."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_visible_horizontal"
c:identifier="gtk_action_set_visible_horizontal"
doc="Sets whether @action is visible when horizontal"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible_horizontal" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible_horizontal"
c:identifier="gtk_action_get_visible_horizontal"
doc="Checks whether @action is visible when horizontal"
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible_vertical"
c:identifier="gtk_action_set_visible_vertical"
doc="Sets whether @action is visible when vertical"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible_vertical" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible_vertical"
c:identifier="gtk_action_get_visible_vertical"
doc="Checks whether @action is visible when horizontal"
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_is_important"
c:identifier="gtk_action_set_is_important"
doc="Sets whether the action is important, this attribute is used
primarily by toolbar items to decide whether to show a label
or not."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_important" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_is_important"
c:identifier="gtk_action_get_is_important"
doc="Checks whether @action is important or not"
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_always_show_image"
c:identifier="gtk_action_set_always_show_image"
doc="Sets whether @action&lt;!-- --&gt;&apos;s menu item proxies will ignore the
#GtkSettings:gtk-menu-images setting and always show their image, if available.
Use this if the menu item would be useless or hard to use
without their image."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="always_show" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_always_show_image"
c:identifier="gtk_action_get_always_show_image"
doc="Returns whether @action&lt;!-- --&gt;&apos;s menu item proxies will ignore the
#GtkSettings:gtk-menu-images setting and always show their image,
if available."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="action-group" writable="1">
<type name="ActionGroup" c:type="GtkActionGroup"/>
</property>
<property name="always-show-image"
version="2.20"
writable="1"
construct="1"
doc="If %TRUE, the action&apos;s menu item proxies will ignore the #GtkSettings:gtk-menu-images
setting and always show their image, if available.
Use this property if the menu item would be useless or hard to use
without their image.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gicon"
version="2.16"
writable="1"
doc="The #GIcon displayed in the #GtkAction.
Note that the stock icon is preferred, if the #GtkAction:stock-id
property holds the id of an existing stock icon.
This is an appearance property and thus only applies if
#GtkActivatable:use-action-appearance is %TRUE.">
<type name="Gio.Icon" c:type="GIcon"/>
</property>
<property name="hide-if-empty" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="icon-name"
version="2.10"
writable="1"
doc="The name of the icon from the icon theme.
Note that the stock icon is preferred, if the #GtkAction:stock-id
property holds the id of an existing stock icon, and the #GIcon is
preferred if the #GtkAction:gicon property is set.
This is an appearance property and thus only applies if
#GtkActivatable:use-action-appearance is %TRUE.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="is-important" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="label"
writable="1"
doc="The label used for menu items and buttons that activate
this action. If the label is %NULL, GTK+ uses the stock
label specified via the stock-id property.
This is an appearance property and thus only applies if
#GtkActivatable:use-action-appearance is %TRUE.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="name" writable="1" construct-only="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="sensitive" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="short-label"
writable="1"
doc="A shorter label that may be used on toolbar buttons.
This is an appearance property and thus only applies if
#GtkActivatable:use-action-appearance is %TRUE.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="stock-id"
writable="1"
doc="The stock icon displayed in widgets representing this action.
This is an appearance property and thus only applies if
#GtkActivatable:use-action-appearance is %TRUE.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="tooltip" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible-horizontal" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible-overflown"
version="2.6"
writable="1"
doc="When %TRUE, toolitem proxies for this action are represented in the
toolbar overflow menu.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible-vertical" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="object">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="private_data">
<type name="ActionPrivate" c:type="GtkActionPrivate*"/>
</field>
<glib:signal name="activate"
doc="The &quot;activate&quot; signal is emitted when the action is activated."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ActionClass"
c:type="GtkActionClass"
glib:is-gtype-struct-for="Action">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="menu_item_type">
<type name="GType" c:type="GType"/>
</field>
<field name="toolbar_item_type">
<type name="GType" c:type="GType"/>
</field>
<field name="create_menu_item">
<callback name="create_menu_item" c:type="create_menu_item">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_tool_item">
<callback name="create_tool_item" c:type="create_tool_item">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="connect_proxy">
<callback name="connect_proxy" c:type="connect_proxy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="disconnect_proxy">
<callback name="disconnect_proxy" c:type="disconnect_proxy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_menu">
<callback name="create_menu" c:type="create_menu">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ActionEntry" c:type="GtkActionEntry">
<field name="name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="stock_id" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="label" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accelerator" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="tooltip" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="callback" writable="1">
<type name="GObject.Callback" c:type="GCallback"/>
</field>
</record>
<class name="ActionGroup"
c:type="GtkActionGroup"
parent="GObject.Object"
glib:type-name="GtkActionGroup"
glib:get-type="gtk_action_group_get_type"
glib:type-struct="ActionGroupClass">
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_action_group_new"
doc="Creates a new #GtkActionGroup object. The name of the action group
is used when associating &lt;link linkend=&quot;Action-Accel&quot;&gt;keybindings&lt;/link&gt;
with the actions."
version="2.4">
<return-value transfer-ownership="full">
<type name="ActionGroup" c:type="GtkActionGroup*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="get_action" invoker="get_action">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="action_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_name"
c:identifier="gtk_action_group_get_name"
doc="Gets the name of the action group."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_sensitive"
c:identifier="gtk_action_group_get_sensitive"
doc="Returns %TRUE if the group is sensitive. The constituent actions
can only be logically sensitive (see gtk_action_is_sensitive()) if
they are sensitive (see gtk_action_get_sensitive()) and their group
is sensitive."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_sensitive"
c:identifier="gtk_action_group_set_sensitive"
doc="Changes the sensitivity of @action_group"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sensitive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible"
c:identifier="gtk_action_group_get_visible"
doc="Returns %TRUE if the group is visible. The constituent actions
can only be logically visible (see gtk_action_is_visible()) if
they are visible (see gtk_action_get_visible()) and their group
is visible."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible"
c:identifier="gtk_action_group_set_visible"
doc="Changes the visible of @action_group."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_action"
c:identifier="gtk_action_group_get_action"
doc="Looks up an action in the action group by name."
version="2.4">
<return-value transfer-ownership="full"
doc="the action, or %NULL if no action by that name exists">
<type name="Action" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="action_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="list_actions"
c:identifier="gtk_action_group_list_actions"
doc="Lists the actions in the action group."
version="2.4">
<return-value transfer-ownership="container"
doc="an allocated list of the action objects in the action group">
<type name="GLib.List" c:type="GList*">
<type name="Action"/>
</type>
</return-value>
</method>
<method name="add_action"
c:identifier="gtk_action_group_add_action"
doc="Adds an action object to the action group. Note that this function
does not set up the accel path of the action, which can lead to problems
if a user tries to modify the accelerator of a menuitem associated with
the action. Therefore you must either set the accel path yourself with
gtk_action_set_accel_path(), or use
&lt;literal&gt;gtk_action_group_add_action_with_accel (..., NULL)&lt;/literal&gt;."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</method>
<method name="add_action_with_accel"
c:identifier="gtk_action_group_add_action_with_accel"
doc="the format understood by gtk_accelerator_parse(), or &quot;&quot; for no accelerator, or
%NULL to use the stock accelerator
Adds an action object to the action group and sets up the accelerator.
If @accelerator is %NULL, attempts to use the accelerator associated
with the stock_id of the action.
Accel paths are set to
&lt;literal&gt;&amp;lt;Actions&amp;gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
<parameter name="accelerator"
transfer-ownership="none"
allow-none="1"
doc="the accelerator for the action, in">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="remove_action"
c:identifier="gtk_action_group_remove_action"
doc="Removes an action object from the action group."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</method>
<method name="add_actions"
c:identifier="gtk_action_group_add_actions"
doc="This is a convenience function to create a number of actions and add them
to the action group.
The &quot;activate&quot; signals of the actions are connected to the callbacks and
their accel paths are set to
&lt;literal&gt;&amp;lt;Actions&amp;gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entries" transfer-ownership="none">
<type name="ActionEntry" c:type="GtkActionEntry*"/>
</parameter>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="add_toggle_actions"
c:identifier="gtk_action_group_add_toggle_actions"
doc="This is a convenience function to create a number of toggle actions and add them
to the action group.
The &quot;activate&quot; signals of the actions are connected to the callbacks and
their accel paths are set to
&lt;literal&gt;&amp;lt;Actions&amp;gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entries" transfer-ownership="none">
<type name="ToggleActionEntry" c:type="GtkToggleActionEntry*"/>
</parameter>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="add_radio_actions"
c:identifier="gtk_action_group_add_radio_actions"
doc="no action should be activated
This is a convenience routine to create a group of radio actions and
add them to the action group.
The &quot;changed&quot; signal of the first radio action is connected to the
&lt;literal&gt;&amp;lt;Actions&amp;gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entries" transfer-ownership="none">
<type name="RadioActionEntry" c:type="GtkRadioActionEntry*"/>
</parameter>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="on_change"
transfer-ownership="none"
scope="call"
closure="5">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="add_actions_full"
c:identifier="gtk_action_group_add_actions_full"
doc="This variant of gtk_action_group_add_actions() adds a #GDestroyNotify
callback for @user_data."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entries" transfer-ownership="none">
<type name="ActionEntry" c:type="GtkActionEntry*"/>
</parameter>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="add_toggle_actions_full"
c:identifier="gtk_action_group_add_toggle_actions_full"
doc="This variant of gtk_action_group_add_toggle_actions() adds a
#GDestroyNotify callback for @user_data."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entries" transfer-ownership="none">
<type name="ToggleActionEntry" c:type="GtkToggleActionEntry*"/>
</parameter>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="add_radio_actions_full"
c:identifier="gtk_action_group_add_radio_actions_full"
doc="no action should be activated
This variant of gtk_action_group_add_radio_actions() adds a
#GDestroyNotify callback for @user_data."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entries" transfer-ownership="none">
<type name="RadioActionEntry" c:type="GtkRadioActionEntry*"/>
</parameter>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="on_change"
transfer-ownership="none"
scope="notified"
closure="5"
destroy="6">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_translate_func"
c:identifier="gtk_action_group_set_translate_func"
doc="destroyed and when the translation function is changed again
Sets a function to be used for translating the @label and @tooltip of
#GtkActionGroupEntry&lt;!-- --&gt;s added by gtk_action_group_add_actions().
If you&apos;re using gettext(), it is enough to set the translation domain
with gtk_action_group_set_translation_domain()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TranslateFunc" c:type="GtkTranslateFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_translation_domain"
c:identifier="gtk_action_group_set_translation_domain"
doc="Sets the translation domain and uses g_dgettext() for translating the
gtk_action_group_add_actions().
If you&apos;re not using gettext() for localization, see
gtk_action_group_set_translate_func()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="domain" transfer-ownership="none" doc="calls">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="translate_string"
c:identifier="gtk_action_group_translate_string"
doc="Translates a string using the specified translate_func(). This
is mainly intended for language bindings."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<property name="name" writable="1" construct-only="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="sensitive" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="private_data">
<type name="ActionGroupPrivate" c:type="GtkActionGroupPrivate*"/>
</field>
<glib:signal name="connect-proxy"
doc="The ::connect-proxy signal is emitted after connecting a proxy to
an action in the group. Note that the proxy may have been connected
to a different action before.
This is intended for simple customizations for which a custom action
class would be too clumsy, e.g. showing tooltips for menuitems in the
statusbar.
#GtkUIManager proxies the signal and provides global notification
just before any action is connected to a proxy, which is probably more
convenient to use."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="disconnect-proxy"
doc="The ::disconnect-proxy signal is emitted after disconnecting a proxy
from an action in the group.
#GtkUIManager proxies the signal and provides global notification
just before any action is connected to a proxy, which is probably more
convenient to use."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="post-activate"
doc="The ::post-activate signal is emitted just after the @action in the
This is intended for #GtkUIManager to proxy the signal and provide global
notification just after any action is activated."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="pre-activate"
doc="The ::pre-activate signal is emitted just before the @action in the
This is intended for #GtkUIManager to proxy the signal and provide global
notification just before any action is activated."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ActionGroupClass"
c:type="GtkActionGroupClass"
glib:is-gtype-struct-for="ActionGroup">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_action">
<callback name="get_action" c:type="get_action">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="action_group" transfer-ownership="none">
<type name="ActionGroup" c:type="GtkActionGroup*"/>
</parameter>
<parameter name="action_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ActionGroupPrivate" c:type="GtkActionGroupPrivate">
</record>
<record name="ActionPrivate" c:type="GtkActionPrivate">
</record>
<interface name="Activatable"
c:type="GtkActivatable"
glib:type-name="GtkActivatable"
glib:get-type="gtk_activatable_get_type"
glib:type-struct="ActivatableIface">
<virtual-method name="update">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="sync_action_properties"
invoker="sync_action_properties">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</virtual-method>
<method name="sync_action_properties"
c:identifier="gtk_activatable_sync_action_properties"
doc="This is called to update the activatable completely, this is called
internally when the #GtkActivatable::related-action property is set
or unset and by the implementing class when
#GtkActivatable::use-action-appearance changes."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action"
transfer-ownership="none"
allow-none="1"
doc="the related #GtkAction or %NULL">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</method>
<method name="set_related_action"
c:identifier="gtk_activatable_set_related_action"
doc="Sets the related action on the @activatable object.
&lt;note&gt;&lt;para&gt;#GtkActivatable implementors need to handle the #GtkActivatable:related-action
property and call gtk_activatable_do_set_related_action() when it changes.&lt;/para&gt;&lt;/note&gt;"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</method>
<method name="get_related_action"
c:identifier="gtk_activatable_get_related_action"
doc="Gets the related #GtkAction for @activatable."
version="2.16">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
</method>
<method name="set_use_action_appearance"
c:identifier="gtk_activatable_set_use_action_appearance"
doc="Sets whether this activatable should reset its layout and appearance
when setting the related action or when the action changes appearance
&lt;note&gt;&lt;para&gt;#GtkActivatable implementors need to handle the
#GtkActivatable:use-action-appearance property and call
gtk_activatable_sync_action_properties() to update @activatable
if needed.&lt;/para&gt;&lt;/note&gt;"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_appearance" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_action_appearance"
c:identifier="gtk_activatable_get_use_action_appearance"
doc="Gets whether this activatable should reset its layout
and appearance when setting the related action or when
the action changes appearance."
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="do_set_related_action"
c:identifier="gtk_activatable_do_set_related_action"
doc="This is a utility function for #GtkActivatable implementors.
When implementing #GtkActivatable you must call this when
handling changes of the #GtkActivatable:related-action, and
you must also use this to break references in #GObject-&gt;dispose().
This function adds a reference to the currently set related
action for you, it also makes sure the #GtkActivatable-&gt;update()
method is called when the related #GtkAction properties change
and registers to the action&apos;s proxy list.
&lt;note&gt;&lt;para&gt;Be careful to call this before setting the local
copy of the #GtkAction property, since this function uses
gtk_activatable_get_action() to retrieve the previous action&lt;/para&gt;&lt;/note&gt;"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</method>
<property name="related-action"
version="2.16"
writable="1"
doc="The action that this activatable will activate and receive
updates from for various states and possibly appearance.
&lt;note&gt;&lt;para&gt;#GtkActivatable implementors need to handle the this property and
call gtk_activatable_do_set_related_action() when it changes.&lt;/para&gt;&lt;/note&gt;">
<type name="Action" c:type="GtkAction"/>
</property>
<property name="use-action-appearance"
version="2.16"
writable="1"
doc="Whether this activatable should reset its layout
and appearance when setting the related action or when
the action changes appearance.
See the #GtkAction documentation directly to find which properties
should be ignored by the #GtkActivatable when this property is %FALSE.
&lt;note&gt;&lt;para&gt;#GtkActivatable implementors need to handle this property
and call gtk_activatable_sync_action_properties() on the activatable
widget when it changes.&lt;/para&gt;&lt;/note&gt;">
<type name="boolean" c:type="gboolean"/>
</property>
</interface>
<record name="ActivatableIface"
c:type="GtkActivatableIface"
glib:is-gtype-struct-for="Activatable"
doc="You must check the #GtkActivatable:use-action-appearance property only apply action
properties that are meant to effect the appearance accordingly.
#GtkActivatable::related-action property is set or unset and by the implementor when
#GtkActivatable::use-action-appearance changes.&lt;note&gt;&lt;para&gt;This method can be called
with a %NULL action at times&lt;/para&gt;&lt;/note&gt;"
version="2.16">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="update">
<callback name="update" c:type="update">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="activatable" transfer-ownership="none">
<type name="Activatable" c:type="GtkActivatable*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="sync_action_properties">
<callback name="sync_action_properties"
c:type="sync_action_properties">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="activatable" transfer-ownership="none">
<type name="Activatable" c:type="GtkActivatable*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="Adjustment"
c:type="GtkAdjustment"
parent="Object"
glib:type-name="GtkAdjustment"
glib:get-type="gtk_adjustment_get_type"
glib:type-struct="AdjustmentClass">
<constructor name="new" c:identifier="gtk_adjustment_new">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkObject*"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="lower" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="upper" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="step_increment" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="page_increment" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="page_size" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</constructor>
<method name="changed" c:identifier="gtk_adjustment_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="value_changed" c:identifier="gtk_adjustment_value_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="clamp_page" c:identifier="gtk_adjustment_clamp_page">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="lower" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="upper" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_value"
c:identifier="gtk_adjustment_get_value"
doc="Gets the current value of the adjustment. See
gtk_adjustment_set_value ().">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_value" c:identifier="gtk_adjustment_set_value">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_lower"
c:identifier="gtk_adjustment_get_lower"
doc="Retrieves the minimum value of the adjustment."
version="2.14">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_lower"
c:identifier="gtk_adjustment_set_lower"
doc="Sets the minimum value of the adjustment.
When setting multiple adjustment properties via their individual
setters, multiple &quot;changed&quot; signals will be emitted. However, since
the emission of the &quot;changed&quot; signal is tied to the emission of the
&quot;GObject::notify&quot; signals of the changed properties, it&apos;s possible
to compress the &quot;changed&quot; signals into one by calling
g_object_freeze_notify() and g_object_thaw_notify() around the
calls to the individual setters.
Alternatively, using a single g_object_set() for all the properties
to change, or using gtk_adjustment_configure() has the same effect
of compressing &quot;changed&quot; emissions."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="lower" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_upper"
c:identifier="gtk_adjustment_get_upper"
doc="Retrieves the maximum value of the adjustment."
version="2.14">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_upper"
c:identifier="gtk_adjustment_set_upper"
doc="Sets the maximum value of the adjustment.
Note that values will be restricted by
&lt;literal&gt;upper - page-size&lt;/literal&gt; if the page-size
property is nonzero.
See gtk_adjustment_set_lower() about how to compress multiple
emissions of the &quot;changed&quot; signal when setting multiple adjustment
properties."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="upper" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_step_increment"
c:identifier="gtk_adjustment_get_step_increment"
doc="Retrieves the step increment of the adjustment."
version="2.14">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_step_increment"
c:identifier="gtk_adjustment_set_step_increment"
doc="Sets the step increment of the adjustment.
See gtk_adjustment_set_lower() about how to compress multiple
emissions of the &quot;changed&quot; signal when setting multiple adjustment
properties."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step_increment" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_page_increment"
c:identifier="gtk_adjustment_get_page_increment"
doc="Retrieves the page increment of the adjustment."
version="2.14">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_page_increment"
c:identifier="gtk_adjustment_set_page_increment"
doc="Sets the page increment of the adjustment.
See gtk_adjustment_set_lower() about how to compress multiple
emissions of the &quot;changed&quot; signal when setting multiple adjustment
properties."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_increment" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_page_size"
c:identifier="gtk_adjustment_get_page_size"
doc="Retrieves the page size of the adjustment."
version="2.14">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_page_size"
c:identifier="gtk_adjustment_set_page_size"
doc="Sets the page size of the adjustment.
See gtk_adjustment_set_lower() about how to compress multiple
emissions of the &quot;changed&quot; signal when setting multiple adjustment
properties."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_size" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="configure"
c:identifier="gtk_adjustment_configure"
doc="Sets all properties of the adjustment at once.
Use this function to avoid multiple emissions of the &quot;changed&quot;
signal. See gtk_adjustment_set_lower() for an alternative way
of compressing multiple emissions of &quot;changed&quot; into one."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="lower" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="upper" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="step_increment" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="page_increment" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="page_size" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<property name="lower"
version="2.4"
writable="1"
doc="The minimum value of the adjustment.">
<type name="double" c:type="gdouble"/>
</property>
<property name="page-increment"
version="2.4"
writable="1"
doc="The page increment of the adjustment.">
<type name="double" c:type="gdouble"/>
</property>
<property name="page-size"
version="2.4"
writable="1"
doc="The page size of the adjustment.
Note that the page-size is irrelevant and should be set to zero
if the adjustment is used for a simple scalar value, e.g. in a
#GtkSpinButton.">
<type name="double" c:type="gdouble"/>
</property>
<property name="step-increment"
version="2.4"
writable="1"
doc="The step increment of the adjustment.">
<type name="double" c:type="gdouble"/>
</property>
<property name="upper"
version="2.4"
writable="1"
doc="The maximum value of the adjustment.
Note that values will be restricted by
&lt;literal&gt;upper - page-size&lt;/literal&gt; if the page-size
property is nonzero.">
<type name="double" c:type="gdouble"/>
</property>
<property name="value"
version="2.4"
writable="1"
doc="The value of the adjustment.">
<type name="double" c:type="gdouble"/>
</property>
<field name="parent_instance">
<type name="Object" c:type="GtkObject"/>
</field>
<field name="lower">
<type name="double" c:type="gdouble"/>
</field>
<field name="upper">
<type name="double" c:type="gdouble"/>
</field>
<field name="value">
<type name="double" c:type="gdouble"/>
</field>
<field name="step_increment">
<type name="double" c:type="gdouble"/>
</field>
<field name="page_increment">
<type name="double" c:type="gdouble"/>
</field>
<field name="page_size">
<type name="double" c:type="gdouble"/>
</field>
<glib:signal name="changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="value-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="AdjustmentClass"
c:type="GtkAdjustmentClass"
glib:is-gtype-struct-for="Adjustment">
<field name="parent_class">
<type name="ObjectClass" c:type="GtkObjectClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="value_changed">
<callback name="value_changed" c:type="value_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Alignment"
c:type="GtkAlignment"
parent="Bin"
glib:type-name="GtkAlignment"
glib:get-type="gtk_alignment_get_type"
glib:type-struct="AlignmentClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_alignment_new">
<return-value transfer-ownership="full">
<type name="Alignment" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="xscale" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yscale" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</constructor>
<method name="set" c:identifier="gtk_alignment_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="xscale" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yscale" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="set_padding"
c:identifier="gtk_alignment_set_padding"
doc="Sets the padding on the different sides of the widget.
The padding adds blank space to the sides of the widget. For instance,
this can be used to indent the child widget towards the right by adding
padding on the left."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="padding_top" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="padding_bottom" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="padding_left" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="padding_right" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_padding"
c:identifier="gtk_alignment_get_padding"
doc="Gets the padding on the different sides of the widget.
See gtk_alignment_set_padding ()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="padding_top"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the padding for the top of the widget, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="padding_bottom"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the padding for the bottom of the widget, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="padding_left"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the padding for the left of the widget, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="padding_right"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the padding for the right of the widget, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<property name="bottom-padding"
version="2.4"
writable="1"
doc="The padding to insert at the bottom of the widget.">
<type name="uint" c:type="guint"/>
</property>
<property name="left-padding"
version="2.4"
writable="1"
doc="The padding to insert at the left of the widget.">
<type name="uint" c:type="guint"/>
</property>
<property name="right-padding"
version="2.4"
writable="1"
doc="The padding to insert at the right of the widget.">
<type name="uint" c:type="guint"/>
</property>
<property name="top-padding"
version="2.4"
writable="1"
doc="The padding to insert at the top of the widget.">
<type name="uint" c:type="guint"/>
</property>
<property name="xalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="xscale" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="yalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="yscale" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="xalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="yalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="xscale">
<type name="float" c:type="gfloat"/>
</field>
<field name="yscale">
<type name="float" c:type="gfloat"/>
</field>
</class>
<record name="AlignmentClass"
c:type="GtkAlignmentClass"
glib:is-gtype-struct-for="Alignment">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
</record>
<record name="AlignmentPrivate" c:type="GtkAlignmentPrivate">
</record>
<enumeration name="AnchorType"
glib:type-name="GtkAnchorType"
glib:get-type="gtk_anchor_type_get_type"
c:type="GtkAnchorType">
<member name="center"
value="0"
c:identifier="GTK_ANCHOR_CENTER"
glib:nick="center"/>
<member name="north"
value="1"
c:identifier="GTK_ANCHOR_NORTH"
glib:nick="north"/>
<member name="north_west"
value="2"
c:identifier="GTK_ANCHOR_NORTH_WEST"
glib:nick="north-west"/>
<member name="north_east"
value="3"
c:identifier="GTK_ANCHOR_NORTH_EAST"
glib:nick="north-east"/>
<member name="south"
value="4"
c:identifier="GTK_ANCHOR_SOUTH"
glib:nick="south"/>
<member name="south_west"
value="5"
c:identifier="GTK_ANCHOR_SOUTH_WEST"
glib:nick="south-west"/>
<member name="south_east"
value="6"
c:identifier="GTK_ANCHOR_SOUTH_EAST"
glib:nick="south-east"/>
<member name="west"
value="7"
c:identifier="GTK_ANCHOR_WEST"
glib:nick="west"/>
<member name="east"
value="8"
c:identifier="GTK_ANCHOR_EAST"
glib:nick="east"/>
<member name="n" value="1" c:identifier="GTK_ANCHOR_N" glib:nick="n"/>
<member name="nw" value="2" c:identifier="GTK_ANCHOR_NW" glib:nick="nw"/>
<member name="ne" value="3" c:identifier="GTK_ANCHOR_NE" glib:nick="ne"/>
<member name="s" value="4" c:identifier="GTK_ANCHOR_S" glib:nick="s"/>
<member name="sw" value="5" c:identifier="GTK_ANCHOR_SW" glib:nick="sw"/>
<member name="se" value="6" c:identifier="GTK_ANCHOR_SE" glib:nick="se"/>
<member name="w" value="7" c:identifier="GTK_ANCHOR_W" glib:nick="w"/>
<member name="e" value="8" c:identifier="GTK_ANCHOR_E" glib:nick="e"/>
</enumeration>
<record name="Arg" c:type="GtkArg">
<field name="type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<field name="name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<union name="d" c:type="d">
<field name="char_data" writable="1">
<type name="int8" c:type="gchar"/>
</field>
<field name="uchar_data" writable="1">
<type name="uint8" c:type="guchar"/>
</field>
<field name="bool_data" writable="1">
<type name="boolean" c:type="gboolean"/>
</field>
<field name="int_data" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="uint_data" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="long_data" writable="1">
<type name="long" c:type="glong"/>
</field>
<field name="ulong_data" writable="1">
<type name="ulong" c:type="gulong"/>
</field>
<field name="float_data" writable="1">
<type name="float" c:type="gfloat"/>
</field>
<field name="double_data" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="string_data" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="object_data" writable="1">
<type name="Object" c:type="GtkObject*"/>
</field>
<field name="pointer_data" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<record name="signal_data" c:type="signal_data">
<field name="f" writable="1">
<type name="GObject.Callback" c:type="GCallback"/>
</field>
<field name="d" writable="1">
<type name="any" c:type="gpointer"/>
</field>
</record>
</union>
</record>
<bitfield name="ArgFlags"
glib:type-name="GtkArgFlags"
glib:get-type="gtk_arg_flags_get_type"
c:type="GtkArgFlags">
<member name="readable"
value="1"
c:identifier="GTK_ARG_READABLE"
glib:nick="readable"/>
<member name="writable"
value="2"
c:identifier="GTK_ARG_WRITABLE"
glib:nick="writable"/>
<member name="construct"
value="4"
c:identifier="GTK_ARG_CONSTRUCT"
glib:nick="construct"/>
<member name="construct_only"
value="8"
c:identifier="GTK_ARG_CONSTRUCT_ONLY"
glib:nick="construct-only"/>
<member name="child_arg"
value="16"
c:identifier="GTK_ARG_CHILD_ARG"
glib:nick="child-arg"/>
</bitfield>
<class name="Arrow"
c:type="GtkArrow"
parent="Misc"
glib:type-name="GtkArrow"
glib:get-type="gtk_arrow_get_type"
glib:type-struct="ArrowClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_arrow_new">
<return-value transfer-ownership="full">
<type name="Arrow" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="arrow_type" transfer-ownership="none">
<type name="ArrowType" c:type="GtkArrowType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
</parameters>
</constructor>
<method name="set" c:identifier="gtk_arrow_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="arrow_type" transfer-ownership="none">
<type name="ArrowType" c:type="GtkArrowType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
</parameters>
</method>
<property name="arrow-type" writable="1">
<type name="ArrowType" c:type="GtkArrowType"/>
</property>
<property name="shadow-type" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<field name="misc">
<type name="Misc" c:type="GtkMisc"/>
</field>
<field name="arrow_type">
<type name="int16" c:type="gint16"/>
</field>
<field name="shadow_type">
<type name="int16" c:type="gint16"/>
</field>
</class>
<record name="ArrowClass"
c:type="GtkArrowClass"
glib:is-gtype-struct-for="Arrow">
<field name="parent_class">
<type name="MiscClass" c:type="GtkMiscClass"/>
</field>
</record>
<enumeration name="ArrowPlacement"
glib:type-name="GtkArrowPlacement"
glib:get-type="gtk_arrow_placement_get_type"
c:type="GtkArrowPlacement">
<member name="both"
value="0"
c:identifier="GTK_ARROWS_BOTH"
glib:nick="both"/>
<member name="start"
value="1"
c:identifier="GTK_ARROWS_START"
glib:nick="start"/>
<member name="end"
value="2"
c:identifier="GTK_ARROWS_END"
glib:nick="end"/>
</enumeration>
<enumeration name="ArrowType"
glib:type-name="GtkArrowType"
glib:get-type="gtk_arrow_type_get_type"
c:type="GtkArrowType">
<member name="up" value="0" c:identifier="GTK_ARROW_UP" glib:nick="up"/>
<member name="down"
value="1"
c:identifier="GTK_ARROW_DOWN"
glib:nick="down"/>
<member name="left"
value="2"
c:identifier="GTK_ARROW_LEFT"
glib:nick="left"/>
<member name="right"
value="3"
c:identifier="GTK_ARROW_RIGHT"
glib:nick="right"/>
<member name="none"
value="4"
c:identifier="GTK_ARROW_NONE"
glib:nick="none"/>
</enumeration>
<class name="AspectFrame"
c:type="GtkAspectFrame"
parent="Frame"
glib:type-name="GtkAspectFrame"
glib:get-type="gtk_aspect_frame_get_type"
glib:type-struct="AspectFrameClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_aspect_frame_new">
<return-value transfer-ownership="full">
<type name="AspectFrame" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="ratio" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="obey_child" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</constructor>
<method name="set" c:identifier="gtk_aspect_frame_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="ratio" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="obey_child" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="obey-child" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="ratio" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="xalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="yalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<field name="frame">
<type name="Frame" c:type="GtkFrame"/>
</field>
<field name="xalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="yalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="ratio">
<type name="float" c:type="gfloat"/>
</field>
<field name="obey_child">
<type name="boolean" c:type="gboolean"/>
</field>
<field name="center_allocation">
<type name="Allocation" c:type="GtkAllocation"/>
</field>
</class>
<record name="AspectFrameClass"
c:type="GtkAspectFrameClass"
glib:is-gtype-struct-for="AspectFrame">
<field name="parent_class">
<type name="FrameClass" c:type="GtkFrameClass"/>
</field>
</record>
<class name="Assistant"
c:type="GtkAssistant"
parent="Window"
glib:type-name="GtkAssistant"
glib:get-type="gtk_assistant_get_type"
glib:type-struct="AssistantClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_assistant_new"
doc="Creates a new #GtkAssistant."
version="2.10">
<return-value transfer-ownership="full">
<type name="Assistant" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_current_page"
c:identifier="gtk_assistant_get_current_page"
doc="Returns the page number of the current page
the @assistant, if the @assistant has no pages, -1 will be returned"
version="2.10">
<return-value transfer-ownership="none" doc="of the current page in">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_current_page"
c:identifier="gtk_assistant_set_current_page"
doc="If negative, the last page will be used. If greater
than the number of pages in the @assistant, nothing
will be done.
Switches the page to @page_num. Note that this will only be necessary
in custom buttons, as the @assistant flow can be set with
gtk_assistant_set_forward_page_func()."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_num" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_n_pages"
c:identifier="gtk_assistant_get_n_pages"
doc="Returns the number of pages in the @assistant"
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_nth_page"
c:identifier="gtk_assistant_get_nth_page"
doc="Returns the child widget contained in page number @page_num."
version="2.10">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="page_num" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="prepend_page"
c:identifier="gtk_assistant_prepend_page"
doc="Prepends a page to the @assistant."
version="2.10">
<return-value transfer-ownership="none" doc="of the inserted page">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="append_page"
c:identifier="gtk_assistant_append_page"
doc="Appends a page to the @assistant."
version="2.10">
<return-value transfer-ownership="none" doc="of the inserted page">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="insert_page"
c:identifier="gtk_assistant_insert_page"
doc="or -1 to append the page to the @assistant
Inserts a page in the @assistant at a given position."
version="2.10">
<return-value transfer-ownership="none" doc="of the inserted page">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position"
transfer-ownership="none"
doc="at which to insert the page,">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_forward_page_func"
c:identifier="gtk_assistant_set_forward_page_func"
doc="Sets the page forwarding function to be @page_func, this function will
be used to determine what will be the next page when the user presses
the forward button. Setting @page_func to %NULL will make the assistant
to use the default forward function, which just goes to the next visible
page."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_func"
transfer-ownership="none"
allow-none="1"
scope="notified"
closure="2"
destroy="3"
doc="the #GtkAssistantPageFunc, or %NULL to use the default one">
<type name="AssistantPageFunc" c:type="GtkAssistantPageFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_page_type"
c:identifier="gtk_assistant_set_page_type"
doc="Sets the page type for @page. The page type determines the page
behavior in the @assistant."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="AssistantPageType" c:type="GtkAssistantPageType"/>
</parameter>
</parameters>
</method>
<method name="get_page_type"
c:identifier="gtk_assistant_get_page_type"
doc="Gets the page type of @page."
version="2.10">
<return-value transfer-ownership="full">
<type name="AssistantPageType" c:type="GtkAssistantPageType"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_page_title"
c:identifier="gtk_assistant_set_page_title"
doc="Sets a title for @page. The title is displayed in the header
area of the assistant when @page is the current page."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_page_title"
c:identifier="gtk_assistant_get_page_title"
doc="Gets the title for @page."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_page_header_image"
c:identifier="gtk_assistant_set_page_header_image"
doc="Sets a header image for @page. This image is displayed in the header
area of the assistant when @page is the current page."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="pixbuf"
transfer-ownership="none"
allow-none="1"
doc="the new header image @page">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="get_page_header_image"
c:identifier="gtk_assistant_get_page_header_image"
doc="Gets the header image for @page.
if there&apos;s no header image for the page."
version="2.10">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_page_side_image"
c:identifier="gtk_assistant_set_page_side_image"
doc="Sets a header image for @page. This image is displayed in the side
area of the assistant when @page is the current page."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="pixbuf"
transfer-ownership="none"
allow-none="1"
doc="the new header image @page">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="get_page_side_image"
c:identifier="gtk_assistant_get_page_side_image"
doc="Gets the header image for @page.
if there&apos;s no side image for the page."
version="2.10">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_page_complete"
c:identifier="gtk_assistant_set_page_complete"
doc="Sets whether @page contents are complete. This will make"
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="complete" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_page_complete"
c:identifier="gtk_assistant_get_page_complete"
doc="Gets whether @page is complete."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="add_action_widget"
c:identifier="gtk_assistant_add_action_widget"
doc="Adds a widget to the action area of a #GtkAssistant."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="remove_action_widget"
c:identifier="gtk_assistant_remove_action_widget"
doc="Removes a widget from the action area of a #GtkAssistant."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="update_buttons_state"
c:identifier="gtk_assistant_update_buttons_state"
doc="Forces @assistant to recompute the buttons state.
GTK+ automatically takes care of this in most situations,
e.g. when the user goes to a different page, or when the
visibility or completeness of a page changes.
One situation where it can be necessary to call this
function is when changing a value on the current page
affects the future page flow of the assistant."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="parent">
<type name="Window" c:type="GtkWindow"/>
</field>
<field name="cancel">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="forward">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="back">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="apply">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="close">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="last">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="priv">
<type name="AssistantPrivate" c:type="GtkAssistantPrivate*"/>
</field>
<glib:signal name="apply"
doc="The ::apply signal is emitted when the apply button is clicked. The default
behavior of the #GtkAssistant is to switch to the page after the current
page, unless the current page is the last one.
A handler for the ::apply signal should carry out the actions for which
the wizard has collected data. If the action takes a long time to complete,
you might consider to put a page of type %GTK_ASSISTANT_PAGE_PROGRESS
after the confirmation page and handle this operation within the
#GtkAssistant::prepare signal of the progress page."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cancel"
doc="The ::cancel signal is emitted when then the cancel button is clicked."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="close"
doc="The ::close signal is emitted either when the close button of
a summary page is clicked, or when the apply button in the last
page in the flow (of type %GTK_ASSISTANT_PAGE_CONFIRM) is clicked."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="prepare"
doc="The ::prepare signal is emitted when a new page is set as the assistant&apos;s
current page, before making the new page visible. A handler for this signal
can do any preparation which are necessary before showing @page."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="AssistantClass"
c:type="GtkAssistantClass"
glib:is-gtype-struct-for="Assistant">
<field name="parent_class">
<type name="WindowClass" c:type="GtkWindowClass"/>
</field>
<field name="prepare">
<callback name="prepare" c:type="prepare">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="assistant" transfer-ownership="none">
<type name="Assistant" c:type="GtkAssistant*"/>
</parameter>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="apply">
<callback name="apply" c:type="apply">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="assistant" transfer-ownership="none">
<type name="Assistant" c:type="GtkAssistant*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="close">
<callback name="close" c:type="close">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="assistant" transfer-ownership="none">
<type name="Assistant" c:type="GtkAssistant*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cancel">
<callback name="cancel" c:type="cancel">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="assistant" transfer-ownership="none">
<type name="Assistant" c:type="GtkAssistant*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="AssistantPageFunc" c:type="GtkAssistantPageFunc">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="current_page" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="AssistantPageType"
glib:type-name="GtkAssistantPageType"
glib:get-type="gtk_assistant_page_type_get_type"
c:type="GtkAssistantPageType">
<member name="content"
value="0"
c:identifier="GTK_ASSISTANT_PAGE_CONTENT"
glib:nick="content"/>
<member name="intro"
value="1"
c:identifier="GTK_ASSISTANT_PAGE_INTRO"
glib:nick="intro"/>
<member name="confirm"
value="2"
c:identifier="GTK_ASSISTANT_PAGE_CONFIRM"
glib:nick="confirm"/>
<member name="summary"
value="3"
c:identifier="GTK_ASSISTANT_PAGE_SUMMARY"
glib:nick="summary"/>
<member name="progress"
value="4"
c:identifier="GTK_ASSISTANT_PAGE_PROGRESS"
glib:nick="progress"/>
</enumeration>
<record name="AssistantPrivate" c:type="GtkAssistantPrivate">
</record>
<bitfield name="AttachOptions"
glib:type-name="GtkAttachOptions"
glib:get-type="gtk_attach_options_get_type"
c:type="GtkAttachOptions">
<member name="expand"
value="1"
c:identifier="GTK_EXPAND"
glib:nick="expand"/>
<member name="shrink"
value="2"
c:identifier="GTK_SHRINK"
glib:nick="shrink"/>
<member name="fill" value="4" c:identifier="GTK_FILL" glib:nick="fill"/>
</bitfield>
<constant name="BINARY_AGE" value="2001">
<type name="int"/>
</constant>
<constant name="BUTTONBOX_DEFAULT" value="-1">
<type name="int"/>
</constant>
<class name="Bin"
c:type="GtkBin"
parent="Container"
abstract="1"
glib:type-name="GtkBin"
glib:get-type="gtk_bin_get_type"
glib:type-struct="BinClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<method name="get_child"
c:identifier="gtk_bin_get_child"
doc="Gets the child of the #GtkBin, or %NULL if the bin contains
no child widget. The returned widget does not have a reference
added, so you do not need to unref it.">
<return-value transfer-ownership="none"
doc="pointer to child of the #GtkBin">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="child">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</class>
<record name="BinClass"
c:type="GtkBinClass"
glib:is-gtype-struct-for="Bin">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
</record>
<record name="BindingArg" c:type="GtkBindingArg">
<field name="arg_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
<union name="d" c:type="d">
<field name="long_data" writable="1">
<type name="long" c:type="glong"/>
</field>
<field name="double_data" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="string_data" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</union>
</record>
<record name="BindingEntry" c:type="GtkBindingEntry">
<field name="keyval" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="modifiers" writable="1">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</field>
<field name="binding_set" writable="1">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</field>
<field name="destroyed" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_emission" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="marks_unbound" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="set_next" writable="1">
<type name="BindingEntry" c:type="GtkBindingEntry*"/>
</field>
<field name="hash_next" writable="1">
<type name="BindingEntry" c:type="GtkBindingEntry*"/>
</field>
<field name="signals" writable="1">
<type name="BindingSignal" c:type="GtkBindingSignal*"/>
</field>
</record>
<record name="BindingSet" c:type="GtkBindingSet">
<field name="set_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="priority" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="widget_path_pspecs" writable="1">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="widget_class_pspecs" writable="1">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="class_branch_pspecs" writable="1">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="entries" writable="1">
<type name="BindingEntry" c:type="GtkBindingEntry*"/>
</field>
<field name="current" writable="1">
<type name="BindingEntry" c:type="GtkBindingEntry*"/>
</field>
<field name="parsed" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<constructor name="new"
c:identifier="gtk_binding_set_new"
doc="GTK+ maintains a global list of binding sets. Each binding set has
a unique name which needs to be specified upon creation.">
<return-value transfer-ownership="full">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</return-value>
<parameters>
<parameter name="set_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="activate"
c:identifier="gtk_binding_set_activate"
doc="Find a key binding matching @keyval and @modifiers within">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
</parameters>
</method>
<method name="add_path"
c:identifier="gtk_binding_set_add_path"
doc="This function is used internally by the GtkRC parsing mechanism to
assign match patterns to #GtkBindingSet structures.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path_type" transfer-ownership="none">
<type name="PathType" c:type="GtkPathType"/>
</parameter>
<parameter name="path_pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="priority" transfer-ownership="none">
<type name="PathPriorityType" c:type="GtkPathPriorityType"/>
</parameter>
</parameters>
</method>
</record>
<record name="BindingSignal" c:type="GtkBindingSignal">
<field name="next" writable="1">
<type name="BindingSignal" c:type="GtkBindingSignal*"/>
</field>
<field name="signal_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="n_args" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="args" writable="1">
<type name="BindingArg" c:type="GtkBindingArg*"/>
</field>
</record>
<record name="Border"
c:type="GtkBorder"
glib:type-name="GtkBorder"
glib:get-type="gtk_border_get_type">
<field name="left" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="right" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="top" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="bottom" writable="1">
<type name="int" c:type="gint"/>
</field>
<constructor name="new"
c:identifier="gtk_border_new"
doc="Allocates a new #GtkBorder structure and initializes its elements to zero.
freed with gtk_border_free()"
version="2.14">
<return-value transfer-ownership="full">
<type name="Border" c:type="GtkBorder*"/>
</return-value>
</constructor>
<method name="copy"
c:identifier="gtk_border_copy"
doc="Copies a #GtkBorder structure.">
<return-value transfer-ownership="full">
<type name="Border" c:type="GtkBorder*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_border_free"
doc="Frees a #GtkBorder structure.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<class name="Box"
c:type="GtkBox"
parent="Container"
abstract="1"
glib:type-name="GtkBox"
glib:get-type="gtk_box_get_type"
glib:type-struct="BoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<method name="pack_start"
c:identifier="gtk_box_pack_start"
doc="actually allocated to @child, rather than just padding it. This
parameter has no effect if @expand is set to %FALSE. A child is
always allocated the full height of a #GtkHBox and the full width
of a #GtkVBox. This option affects the other dimension
neighbors, over and above the global amount specified by
#GtkBox:spacing property. If @child is a widget at one of the
reference ends of @box, then @padding pixels are also put between
Adds @child to @box, packed with reference to the start of @box.
The @child is packed after any other child packed with reference
to the start of @box.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="padding" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="pack_end"
c:identifier="gtk_box_pack_end"
doc="to @box. The extra space will be divided evenly between all children
of @box that use this option
actually allocated to @child, rather than just padding it. This
parameter has no effect if @expand is set to %FALSE. A child is
always allocated the full height of a #GtkHBox and the full width
of a #GtkVBox. This option affects the other dimension
neighbors, over and above the global amount specified by
#GtkBox:spacing property. If @child is a widget at one of the
reference ends of @box, then @padding pixels are also put between
Adds @child to @box, packed with reference to the end of @box.
The @child is packed after (away from end of) any other child
packed with reference to the end of @box.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="padding" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="pack_start_defaults"
c:identifier="gtk_box_pack_start_defaults"
doc="Adds @widget to @box, packed with reference to the start of @box.
The child is packed after any other child packed with reference
to the start of @box.
Parameters for how to pack the child @widget, #GtkBox:expand,
#GtkBox:fill and #GtkBox:padding, are given their default
values, %TRUE, %TRUE, and 0, respectively."
deprecated="Use gtk_box_pack_start()"
deprecated-version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="pack_end_defaults"
c:identifier="gtk_box_pack_end_defaults"
doc="Adds @widget to @box, packed with reference to the end of @box.
The child is packed after any other child packed with reference
to the start of @box.
Parameters for how to pack the child @widget, #GtkBox:expand,
#GtkBox:fill and #GtkBox:padding, are given their default
values, %TRUE, %TRUE, and 0, respectively."
deprecated="Use gtk_box_pack_end()"
deprecated-version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_homogeneous"
c:identifier="gtk_box_set_homogeneous"
doc="%FALSE for variable allotments
Sets the #GtkBox:homogeneous property of @box, controlling
whether or not all children of @box are given equal space
in the box.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="homogeneous" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_homogeneous"
c:identifier="gtk_box_get_homogeneous"
doc="Returns whether the box is homogeneous (all children are the
same size). See gtk_box_set_homogeneous().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_spacing"
c:identifier="gtk_box_set_spacing"
doc="Sets the #GtkBox:spacing property of @box, which is the
number of pixels to place between children of @box.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_spacing"
c:identifier="gtk_box_get_spacing"
doc="Gets the value set by gtk_box_set_spacing().">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="reorder_child"
c:identifier="gtk_box_reorder_child"
doc="of @box, starting from 0. If negative, indicates the end of
the list
Moves @child to a new @position in the list of @box children.
The list is the &lt;structfield&gt;children&lt;/structfield&gt; field of
#GtkBox-struct, and contains both widgets packed #GTK_PACK_START
as well as widgets packed #GTK_PACK_END, in the order that these
widgets were added to @box.
A widget&apos;s position in the @box children list determines where
the widget is packed into @box. A child widget at some position
in the list will be packed just after all other widgets of the
same packing type that appear earlier in the list.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="query_child_packing"
c:identifier="gtk_box_query_child_packing"
doc="Obtains information about how @child is packed into @box.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="expand" direction="out" transfer-ownership="full">
<type name="boolean" c:type="gboolean*"/>
</parameter>
<parameter name="fill" direction="out" transfer-ownership="full">
<type name="boolean" c:type="gboolean*"/>
</parameter>
<parameter name="padding" direction="out" transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="pack_type" transfer-ownership="none">
<type name="PackType" c:type="GtkPackType*"/>
</parameter>
</parameters>
</method>
<method name="set_child_packing"
c:identifier="gtk_box_set_child_packing"
doc="Sets the way @child is packed into @box.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="padding" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pack_type" transfer-ownership="none">
<type name="PackType" c:type="GtkPackType"/>
</parameter>
</parameters>
</method>
<property name="homogeneous" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="spacing" writable="1">
<type name="int" c:type="gint"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="spacing">
<type name="int16" c:type="gint16"/>
</field>
<field name="homogeneous" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="BoxChild" c:type="GtkBoxChild">
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="padding" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="expand" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="fill" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pack" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_secondary" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="BoxClass"
c:type="GtkBoxClass"
glib:is-gtype-struct-for="Box">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
</record>
<interface name="Buildable"
c:type="GtkBuildable"
glib:type-name="GtkBuildable"
glib:get-type="gtk_buildable_get_type"
glib:type-struct="BuildableIface">
<virtual-method name="set_name" invoker="set_name">
<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>
</virtual-method>
<virtual-method name="get_name" invoker="get_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</virtual-method>
<virtual-method name="add_child" invoker="add_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_buildable_property"
invoker="set_buildable_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="construct_child" invoker="construct_child">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="custom_tag_start" invoker="custom_tag_start">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parser" transfer-ownership="none">
<type name="GLib.MarkupParser" c:type="GMarkupParser*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="custom_tag_end" invoker="custom_tag_end">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="custom_finished" invoker="custom_finished">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="parser_finished" invoker="parser_finished">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_internal_child" invoker="get_internal_child">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="childname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_name"
c:identifier="gtk_buildable_set_name"
doc="Sets the name of the @buildable object."
version="2.12">
<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_name"
c:identifier="gtk_buildable_get_name"
doc="Gets the name of the @buildable object.
#GtkBuilder sets the name based on the the
&lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder UI definition&lt;/link&gt;
used to construct the @buildable."
version="2.12">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="add_child"
c:identifier="gtk_buildable_add_child"
doc="Adds a child to @buildable. @type is an optional string
describing how the child should be added."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="type"
transfer-ownership="none"
allow-none="1"
doc="kind of child or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_buildable_property"
c:identifier="gtk_buildable_set_buildable_property"
doc="Sets the property name @name to @value on the @buildable object."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="construct_child"
c:identifier="gtk_buildable_construct_child"
doc="Constructs a child of @buildable with the name @name.
#GtkBuilder calls this function if a &quot;constructor&quot; has been
specified in the UI definition."
version="2.12">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="custom_tag_start"
c:identifier="gtk_buildable_custom_tag_start"
doc="to parser functions
This is called for each unknown element under &amp;lt;child&amp;gt;.
if it doesn&apos;t."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child"
transfer-ownership="none"
allow-none="1"
doc="child object or %NULL for non-child tags">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parser" transfer-ownership="none">
<type name="GLib.MarkupParser" c:type="GMarkupParser*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</method>
<method name="custom_tag_end"
c:identifier="gtk_buildable_custom_tag_end"
doc="This is called at the end of each custom element handled by
the buildable."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child"
transfer-ownership="none"
allow-none="1"
doc="child object or %NULL for non-child tags">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</method>
<method name="custom_finished"
c:identifier="gtk_buildable_custom_finished"
doc="This is similar to gtk_buildable_parser_finished() but is
called once for each custom tag handled by the @buildable."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child"
transfer-ownership="none"
allow-none="1"
doc="child object or %NULL for non-child tags">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="parser_finished"
c:identifier="gtk_buildable_parser_finished"
doc="Called when the builder finishes the parsing of a
&lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder UI definition&lt;/link&gt;.
Note that this will be called once for each time
gtk_builder_add_from_file() or gtk_builder_add_from_string()
is called on a builder."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
</parameters>
</method>
<method name="get_internal_child"
c:identifier="gtk_buildable_get_internal_child"
doc="Get the internal child called @childname of the @buildable object."
version="2.12">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="childname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
</interface>
<record name="BuildableIface"
c:type="GtkBuildableIface"
glib:is-gtype-struct-for="Buildable">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="set_name">
<callback name="set_name" c:type="set_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_name">
<callback name="get_name" c:type="get_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add_child">
<callback name="add_child" c:type="add_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_buildable_property">
<callback name="set_buildable_property"
c:type="set_buildable_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="construct_child">
<callback name="construct_child" c:type="construct_child">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="custom_tag_start">
<callback name="custom_tag_start" c:type="custom_tag_start">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parser" transfer-ownership="none">
<type name="GLib.MarkupParser" c:type="GMarkupParser*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="custom_tag_end">
<callback name="custom_tag_end" c:type="custom_tag_end">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="custom_finished">
<callback name="custom_finished" c:type="custom_finished">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="tagname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="parser_finished">
<callback name="parser_finished" c:type="parser_finished">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_internal_child">
<callback name="get_internal_child" c:type="get_internal_child">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="buildable" transfer-ownership="none">
<type name="Buildable" c:type="GtkBuildable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="childname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="Builder"
c:type="GtkBuilder"
parent="GObject.Object"
glib:type-name="GtkBuilder"
glib:get-type="gtk_builder_get_type"
glib:type-struct="BuilderClass">
<constructor name="new"
c:identifier="gtk_builder_new"
doc="Creates a new builder object."
version="2.12">
<return-value transfer-ownership="full">
<type name="Builder" c:type="GtkBuilder*"/>
</return-value>
</constructor>
<virtual-method name="get_type_from_name" invoker="get_type_from_name">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</virtual-method>
<method name="add_from_file"
c:identifier="gtk_builder_add_from_file"
doc="Parses a file containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder
UI definition&lt;/link&gt; and merges it with the current contents of @builder.
Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR
domain."
version="2.12"
throws="1">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_from_string"
c:identifier="gtk_builder_add_from_string"
doc="Parses a string containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder
UI definition&lt;/link&gt; and merges it with the current contents of @builder.
Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain."
version="2.12"
throws="1">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</parameter>
</parameters>
</method>
<method name="add_objects_from_file"
c:identifier="gtk_builder_add_objects_from_file"
doc="Parses a file containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder
UI definition&lt;/link&gt; building only the requested objects and merges
them with the current contents of @builder.
Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR
domain.
&lt;note&gt;&lt;para&gt;
If you are adding an object that depends on an object that is not
its child (for instance a #GtkTreeView that depends on its
#GtkTreeModel), you have to explicitely list all of them in @object_ids.
&lt;/para&gt;&lt;/note&gt;"
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="object_ids" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="add_objects_from_string"
c:identifier="gtk_builder_add_objects_from_string"
doc="Parses a string containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder
UI definition&lt;/link&gt; building only the requested objects and merges
them with the current contents of @builder.
Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain.
&lt;note&gt;&lt;para&gt;
If you are adding an object that depends on an object that is not
its child (for instance a #GtkTreeView that depends on its
#GtkTreeModel), you have to explicitely list all of them in @object_ids.
&lt;/para&gt;&lt;/note&gt;"
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</parameter>
<parameter name="object_ids" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_object"
c:identifier="gtk_builder_get_object"
doc="Gets the object named @name. Note that this function does not
increment the reference count of the returned object.
it could not be found in the object tree."
version="2.12">
<return-value transfer-ownership="none"
doc="the object named @name or %NULL if">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_objects"
c:identifier="gtk_builder_get_objects"
doc="Gets all objects that have been constructed by @builder. Note that
this function does not increment the reference counts of the returned
objects.
constructed by the #GtkBuilder instance. It should be freed by
g_slist_free()"
version="2.12">
<return-value transfer-ownership="container"
doc="a newly-allocated #GSList containing all the objects">
<type name="GLib.SList" c:type="GSList*">
<type name="GObject.Object"/>
</type>
</return-value>
</method>
<method name="connect_signals"
c:identifier="gtk_builder_connect_signals"
doc="This method is a simpler variation of gtk_builder_connect_signals_full().
It uses #GModule&apos;s introspective features (by opening the module %NULL)
to look at the application&apos;s symbol table. From here it tries to match
the signal handler names given in the interface description with
symbols in the application and connects the signals.
Note that this function will not work correctly if #GModule is not
supported on the platform.
When compiling applications for Windows, you must declare signal callbacks
with #G_MODULE_EXPORT, or they will not be put in the symbol table.
On Linux and Unices, this is not necessary; applications should instead
be compiled with the -Wl,--export-dynamic CFLAGS, and linked against
gmodule-export-2.0."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="connect_signals_full"
c:identifier="gtk_builder_connect_signals_full"
doc="This function can be thought of the interpreted language binding
version of gtk_builder_connect_signals(), except that it does not
require GModule to function correctly."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="BuilderConnectFunc" c:type="GtkBuilderConnectFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_translation_domain"
c:identifier="gtk_builder_set_translation_domain"
doc="Sets the translation domain of @builder.
See #GtkBuilder:translation-domain."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="domain"
transfer-ownership="none"
allow-none="1"
doc="the translation domain or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_translation_domain"
c:identifier="gtk_builder_get_translation_domain"
doc="Gets the translation domain of @builder.
by the builder object and must not be modified or freed."
version="2.12">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_type_from_name"
c:identifier="gtk_builder_get_type_from_name"
doc="Looks up a type by name, using the virtual function that
#GtkBuilder has for that purpose. This is mainly used when
implementing the #GtkBuildable interface on a type.
if no type was found"
version="2.12">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="value_from_string"
c:identifier="gtk_builder_value_from_string"
doc="This function demarshals a value from a string. This function
calls g_value_init() on the @value argument, so it need not be
initialised beforehand.
This function can handle char, uchar, boolean, int, uint, long,
ulong, enum, flags, float, double, string, #GdkColor and
#GtkAdjustment type values. Support for #GtkWidget type values is
still to come.
Upon errors %FALSE will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR domain."
version="2.12"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="value_from_string_type"
c:identifier="gtk_builder_value_from_string_type"
doc="Like gtk_builder_value_from_string(), this function demarshals
a value from a string, but takes a #GType instead of #GParamSpec.
This function calls g_value_init() on the @value argument, so it
need not be initialised beforehand.
Upon errors %FALSE will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR domain."
version="2.12"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<property name="translation-domain" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="BuilderPrivate" c:type="GtkBuilderPrivate*"/>
</field>
</class>
<record name="BuilderClass"
c:type="GtkBuilderClass"
glib:is-gtype-struct-for="Builder">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_type_from_name">
<callback name="get_type_from_name" c:type="get_type_from_name">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="type_name" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved7">
<callback name="gtk_reserved7" c:type="_gtk_reserved7">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved8">
<callback name="gtk_reserved8" c:type="_gtk_reserved8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="BuilderConnectFunc"
c:type="GtkBuilderConnectFunc"
doc="This is the signature of a function used to connect signals. It is used
by the gtk_builder_connect_signals() and gtk_builder_connect_signals_full()
methods. It is mainly intended for interpreted language bindings, but
could be useful where the programmer wants more control over the signal
connection process."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="builder" transfer-ownership="none">
<type name="Builder" c:type="GtkBuilder*"/>
</parameter>
<parameter name="object" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="handler_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="connect_object" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="GObject.ConnectFlags" c:type="GConnectFlags"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="6">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="BuilderError"
glib:type-name="GtkBuilderError"
glib:get-type="gtk_builder_error_get_type"
c:type="GtkBuilderError"
glib:error-quark="gtk_builder_error_quark">
<member name="invalid_type_function"
value="0"
c:identifier="GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION"
glib:nick="invalid-type-function"/>
<member name="unhandled_tag"
value="1"
c:identifier="GTK_BUILDER_ERROR_UNHANDLED_TAG"
glib:nick="unhandled-tag"/>
<member name="missing_attribute"
value="2"
c:identifier="GTK_BUILDER_ERROR_MISSING_ATTRIBUTE"
glib:nick="missing-attribute"/>
<member name="invalid_attribute"
value="3"
c:identifier="GTK_BUILDER_ERROR_INVALID_ATTRIBUTE"
glib:nick="invalid-attribute"/>
<member name="invalid_tag"
value="4"
c:identifier="GTK_BUILDER_ERROR_INVALID_TAG"
glib:nick="invalid-tag"/>
<member name="missing_property_value"
value="5"
c:identifier="GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE"
glib:nick="missing-property-value"/>
<member name="invalid_value"
value="6"
c:identifier="GTK_BUILDER_ERROR_INVALID_VALUE"
glib:nick="invalid-value"/>
<member name="version_mismatch"
value="7"
c:identifier="GTK_BUILDER_ERROR_VERSION_MISMATCH"
glib:nick="version-mismatch"/>
<member name="duplicate_id"
value="8"
c:identifier="GTK_BUILDER_ERROR_DUPLICATE_ID"
glib:nick="duplicate-id"/>
</enumeration>
<record name="BuilderPrivate" c:type="GtkBuilderPrivate">
</record>
<class name="Button"
c:type="GtkButton"
parent="Bin"
glib:type-name="GtkButton"
glib:get-type="gtk_button_get_type"
glib:type-struct="ButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_button_new">
<return-value transfer-ownership="full">
<type name="Button" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_button_new_with_label">
<return-value transfer-ownership="full">
<type name="Button" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_button_new_from_stock"
doc="Creates a new #GtkButton containing the image and text from a stock item.
Some stock ids have preprocessor macros like #GTK_STOCK_OK and
#GTK_STOCK_APPLY.
If @stock_id is unknown, then it will be treated as a mnemonic
label (as for gtk_button_new_with_mnemonic()).">
<return-value transfer-ownership="full">
<type name="Button" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_button_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkButton containing a label.
If characters in @label are preceded by an underscore, they are underlined.
If you need a literal underscore character in a label, use &apos;__&apos; (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button.">
<return-value transfer-ownership="full">
<type name="Button" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="pressed" c:identifier="gtk_button_pressed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="released" c:identifier="gtk_button_released">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="clicked" c:identifier="gtk_button_clicked">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="enter" c:identifier="gtk_button_enter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="leave" c:identifier="gtk_button_leave">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_relief" c:identifier="gtk_button_set_relief">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="newstyle" transfer-ownership="none">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</parameter>
</parameters>
</method>
<method name="get_relief" c:identifier="gtk_button_get_relief">
<return-value transfer-ownership="full">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</return-value>
</method>
<method name="set_label"
c:identifier="gtk_button_set_label"
doc="Sets the text of the label of the button to @str. This text is
also used to select the stock item if gtk_button_set_use_stock()
is used.
This will also clear any previously set labels.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_button_get_label"
doc="Fetches the text from the label of the button, as set by
gtk_button_set_label(). If the label text has not
been set the return value will be %NULL. This will be the
case if you create an empty button with gtk_button_new() to
use as a container.
by the widget and must not be modified or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_use_underline"
c:identifier="gtk_button_set_use_underline"
doc="If true, an underline in the text of the button label indicates
the next character should be used for the mnemonic accelerator key.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_underline" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_underline"
c:identifier="gtk_button_get_use_underline"
doc="Returns whether an embedded underline in the button label indicates a
mnemonic. See gtk_button_set_use_underline ().
indicates the mnemonic accelerator keys.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_use_stock"
c:identifier="gtk_button_set_use_stock"
doc="If %TRUE, the label set on the button is used as a
stock id to select the stock item for the button.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_stock" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_stock"
c:identifier="gtk_button_get_use_stock"
doc="Returns whether the button label is a stock item.
select a stock item instead of being
used directly as the label text.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_focus_on_click"
c:identifier="gtk_button_set_focus_on_click"
doc="Sets whether the button will grab focus when it is clicked with the mouse.
Making mouse clicks not grab focus is useful in places like toolbars where
you don&apos;t want the keyboard focus removed from the main area of the
application."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="focus_on_click" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_focus_on_click"
c:identifier="gtk_button_get_focus_on_click"
doc="Returns whether the button grabs focus when it is clicked with the mouse.
See gtk_button_set_focus_on_click().
the mouse."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_alignment"
c:identifier="gtk_button_set_alignment"
doc="1.0 is right aligned
1.0 is bottom aligned
Sets the alignment of the child. This property has no effect unless
the child is a #GtkMisc or a #GtkAligment."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_alignment"
c:identifier="gtk_button_get_alignment"
doc="Gets the alignment of the child in the button."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" direction="out" transfer-ownership="full">
<type name="float" c:type="gfloat*"/>
</parameter>
<parameter name="yalign" direction="out" transfer-ownership="full">
<type name="float" c:type="gfloat*"/>
</parameter>
</parameters>
</method>
<method name="set_image"
c:identifier="gtk_button_set_image"
doc="Set the image of @button to the given widget. Note that
it depends on the #GtkSettings:gtk-button-images setting whether the
image will be displayed or not, you don&apos;t have to call
gtk_widget_show() on @image yourself."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="image" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_image"
c:identifier="gtk_button_get_image"
doc="Gets the widget that is currenty set as the image of @button.
This may have been explicitly set by gtk_button_set_image()
or constructed by gtk_button_new_from_stock()."
version="2.6">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_image_position"
c:identifier="gtk_button_set_image_position"
doc="Sets the position of the image relative to the text
inside the button."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</method>
<method name="get_image_position"
c:identifier="gtk_button_get_image_position"
doc="Gets the position of the image relative to the text
inside the button."
version="2.10">
<return-value transfer-ownership="full">
<type name="PositionType" c:type="GtkPositionType"/>
</return-value>
</method>
<property name="focus-on-click" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="image" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="image-position"
version="2.10"
writable="1"
doc="The position of the image relative to the text inside the button.">
<type name="PositionType" c:type="GtkPositionType"/>
</property>
<property name="label" writable="1" construct="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="relief" writable="1">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</property>
<property name="use-stock" writable="1" construct="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="use-underline" writable="1" construct="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="xalign"
version="2.4"
writable="1"
doc="If the child of the button is a #GtkMisc or #GtkAlignment, this property
can be used to control it&apos;s horizontal alignment. 0.0 is left aligned,
1.0 is right aligned.">
<type name="float" c:type="gfloat"/>
</property>
<property name="yalign"
version="2.4"
writable="1"
doc="If the child of the button is a #GtkMisc or #GtkAlignment, this property
can be used to control it&apos;s vertical alignment. 0.0 is top aligned,
1.0 is bottom aligned.">
<type name="float" c:type="gfloat"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="event_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="label_text">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="activate_timeout">
<type name="uint" c:type="guint"/>
</field>
<field name="constructed" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_button" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="button_down" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="relief" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="use_underline" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_stock" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="depressed" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="depress_on_activate" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="focus_on_click" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="activate"
doc="The ::activate signal on GtkButton is an action signal and
emitting it causes the button to animate press then release.
Applications should never connect to this signal, but use the
#GtkButton::clicked signal.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="clicked"
doc="Emitted when the button has been activated (pressed and released).">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="enter"
doc="Emitted when the pointer enters the button."
deprecated="Use the #GtkWidget::enter-notify-event signal."
deprecated-version="2.8">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="leave"
doc="Emitted when the pointer leaves the button."
deprecated="Use the #GtkWidget::leave-notify-event signal."
deprecated-version="2.8">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="pressed"
doc="Emitted when the button is pressed."
deprecated="Use the #GtkWidget::button-press-event signal."
deprecated-version="2.8">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="released"
doc="Emitted when the button is released."
deprecated="Use the #GtkWidget::button-release-event signal."
deprecated-version="2.8">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<bitfield name="ButtonAction"
glib:type-name="GtkButtonAction"
glib:get-type="gtk_button_action_get_type"
c:type="GtkButtonAction">
<member name="ignored"
value="0"
c:identifier="GTK_BUTTON_IGNORED"
glib:nick="ignored"/>
<member name="selects"
value="1"
c:identifier="GTK_BUTTON_SELECTS"
glib:nick="selects"/>
<member name="drags"
value="2"
c:identifier="GTK_BUTTON_DRAGS"
glib:nick="drags"/>
<member name="expands"
value="4"
c:identifier="GTK_BUTTON_EXPANDS"
glib:nick="expands"/>
</bitfield>
<class name="ButtonBox"
c:type="GtkButtonBox"
parent="Box"
abstract="1"
glib:type-name="GtkButtonBox"
glib:get-type="gtk_button_box_get_type"
glib:type-struct="ButtonBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<method name="get_layout" c:identifier="gtk_button_box_get_layout">
<return-value transfer-ownership="full">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</return-value>
</method>
<method name="set_layout" c:identifier="gtk_button_box_set_layout">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout_style" transfer-ownership="none">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</parameter>
</parameters>
</method>
<method name="get_child_secondary"
c:identifier="gtk_button_box_get_child_secondary"
doc="Returns whether @child should appear in a secondary group of children."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_child_secondary"
c:identifier="gtk_button_box_set_child_secondary">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="is_secondary" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_child_size"
c:identifier="gtk_button_box_set_child_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="min_height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_child_ipadding"
c:identifier="gtk_button_box_set_child_ipadding">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ipad_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ipad_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_child_size"
c:identifier="gtk_button_box_get_child_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min_width"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="min_height"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_child_ipadding"
c:identifier="gtk_button_box_get_child_ipadding">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ipad_x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="ipad_y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<property name="layout-style" writable="1">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</property>
<field name="box">
<type name="Box" c:type="GtkBox"/>
</field>
<field name="child_min_width">
<type name="int" c:type="gint"/>
</field>
<field name="child_min_height">
<type name="int" c:type="gint"/>
</field>
<field name="child_ipad_x">
<type name="int" c:type="gint"/>
</field>
<field name="child_ipad_y">
<type name="int" c:type="gint"/>
</field>
<field name="layout_style">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</field>
</class>
<record name="ButtonBoxClass"
c:type="GtkButtonBoxClass"
glib:is-gtype-struct-for="ButtonBox">
<field name="parent_class">
<type name="BoxClass" c:type="GtkBoxClass"/>
</field>
</record>
<enumeration name="ButtonBoxStyle"
glib:type-name="GtkButtonBoxStyle"
glib:get-type="gtk_button_box_style_get_type"
c:type="GtkButtonBoxStyle">
<member name="default_style"
value="0"
c:identifier="GTK_BUTTONBOX_DEFAULT_STYLE"
glib:nick="default-style"/>
<member name="spread"
value="1"
c:identifier="GTK_BUTTONBOX_SPREAD"
glib:nick="spread"/>
<member name="edge"
value="2"
c:identifier="GTK_BUTTONBOX_EDGE"
glib:nick="edge"/>
<member name="start"
value="3"
c:identifier="GTK_BUTTONBOX_START"
glib:nick="start"/>
<member name="end"
value="4"
c:identifier="GTK_BUTTONBOX_END"
glib:nick="end"/>
<member name="center"
value="5"
c:identifier="GTK_BUTTONBOX_CENTER"
glib:nick="center"/>
</enumeration>
<record name="ButtonClass"
c:type="GtkButtonClass"
glib:is-gtype-struct-for="Button">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="pressed">
<callback name="pressed" c:type="pressed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="Button" c:type="GtkButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="released">
<callback name="released" c:type="released">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="Button" c:type="GtkButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clicked">
<callback name="clicked" c:type="clicked">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="Button" c:type="GtkButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="enter">
<callback name="enter" c:type="enter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="Button" c:type="GtkButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="leave">
<callback name="leave" c:type="leave">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="Button" c:type="GtkButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="Button" c:type="GtkButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="ButtonsType"
glib:type-name="GtkButtonsType"
glib:get-type="gtk_buttons_type_get_type"
c:type="GtkButtonsType">
<member name="none"
value="0"
c:identifier="GTK_BUTTONS_NONE"
glib:nick="none"/>
<member name="ok"
value="1"
c:identifier="GTK_BUTTONS_OK"
glib:nick="ok"/>
<member name="close"
value="2"
c:identifier="GTK_BUTTONS_CLOSE"
glib:nick="close"/>
<member name="cancel"
value="3"
c:identifier="GTK_BUTTONS_CANCEL"
glib:nick="cancel"/>
<member name="yes_no"
value="4"
c:identifier="GTK_BUTTONS_YES_NO"
glib:nick="yes-no"/>
<member name="ok_cancel"
value="5"
c:identifier="GTK_BUTTONS_OK_CANCEL"
glib:nick="ok-cancel"/>
</enumeration>
<class name="CList"
c:type="GtkCList"
parent="Container"
glib:type-name="GtkCList"
glib:get-type="gtk_clist_get_type"
glib:type-struct="CListClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_clist_new">
<return-value transfer-ownership="full">
<type name="CList" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_titles"
c:identifier="gtk_clist_new_with_titles">
<return-value transfer-ownership="full">
<type name="CList" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="titles" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="refresh">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="resync_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="selection_find">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
<parameters>
<parameter name="row_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="row_list_element" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="clist_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_drag_highlight">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="target_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
<parameter name="target_row_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="drag_pos" transfer-ownership="none">
<type name="CListDragPos" c:type="GtkCListDragPos"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="clear" invoker="clear">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="fake_unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="sort_list">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="insert_row">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="remove_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_cell_contents">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="CellType" c:type="GtkCellType"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="cell_size_request">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="requisition" transfer-ownership="none">
<type name="Requisition" c:type="GtkRequisition*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_hadjustment" c:identifier="gtk_clist_set_hadjustment">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="set_vadjustment" c:identifier="gtk_clist_set_vadjustment">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_hadjustment" c:identifier="gtk_clist_get_hadjustment">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="get_vadjustment" c:identifier="gtk_clist_get_vadjustment">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_shadow_type" c:identifier="gtk_clist_set_shadow_type">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
</parameters>
</method>
<method name="set_selection_mode"
c:identifier="gtk_clist_set_selection_mode">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</parameter>
</parameters>
</method>
<method name="set_reorderable" c:identifier="gtk_clist_set_reorderable">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="reorderable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_use_drag_icons"
c:identifier="gtk_clist_set_use_drag_icons">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_icons" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_button_actions"
c:identifier="gtk_clist_set_button_actions">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="button_actions" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
</parameters>
</method>
<method name="freeze" c:identifier="gtk_clist_freeze">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="thaw" c:identifier="gtk_clist_thaw">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="column_titles_show"
c:identifier="gtk_clist_column_titles_show">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="column_titles_hide"
c:identifier="gtk_clist_column_titles_hide">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="column_title_active"
c:identifier="gtk_clist_column_title_active">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="column_title_passive"
c:identifier="gtk_clist_column_title_passive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="column_titles_active"
c:identifier="gtk_clist_column_titles_active">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="column_titles_passive"
c:identifier="gtk_clist_column_titles_passive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_column_title"
c:identifier="gtk_clist_set_column_title">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_column_title"
c:identifier="gtk_clist_get_column_title">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_column_widget"
c:identifier="gtk_clist_set_column_widget">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_column_widget"
c:identifier="gtk_clist_get_column_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_column_justification"
c:identifier="gtk_clist_set_column_justification">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="justification" transfer-ownership="none">
<type name="Justification" c:type="GtkJustification"/>
</parameter>
</parameters>
</method>
<method name="set_column_visibility"
c:identifier="gtk_clist_set_column_visibility">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_column_resizeable"
c:identifier="gtk_clist_set_column_resizeable">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="resizeable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_column_auto_resize"
c:identifier="gtk_clist_set_column_auto_resize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="auto_resize" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="columns_autosize"
c:identifier="gtk_clist_columns_autosize">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="optimal_column_width"
c:identifier="gtk_clist_optimal_column_width">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_column_width"
c:identifier="gtk_clist_set_column_width">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_column_min_width"
c:identifier="gtk_clist_set_column_min_width">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="min_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_column_max_width"
c:identifier="gtk_clist_set_column_max_width">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="max_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_row_height" c:identifier="gtk_clist_set_row_height">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="height" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="moveto" c:identifier="gtk_clist_moveto">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="row_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="col_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="row_is_visible" c:identifier="gtk_clist_row_is_visible">
<return-value transfer-ownership="full">
<type name="Visibility" c:type="GtkVisibility"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_cell_type" c:identifier="gtk_clist_get_cell_type">
<return-value transfer-ownership="full">
<type name="CellType" c:type="GtkCellType"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_text" c:identifier="gtk_clist_set_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_text" c:identifier="gtk_clist_get_text">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="set_pixmap" c:identifier="gtk_clist_set_pixmap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none" allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="get_pixmap" c:identifier="gtk_clist_get_pixmap">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<method name="set_pixtext" c:identifier="gtk_clist_set_pixtext">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="get_pixtext" c:identifier="gtk_clist_get_pixtext">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<method name="set_foreground" c:identifier="gtk_clist_set_foreground">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="set_background" c:identifier="gtk_clist_set_background">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="set_cell_style" c:identifier="gtk_clist_set_cell_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</method>
<method name="get_cell_style" c:identifier="gtk_clist_get_cell_style">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_row_style" c:identifier="gtk_clist_set_row_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</method>
<method name="get_row_style" c:identifier="gtk_clist_get_row_style">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_shift" c:identifier="gtk_clist_set_shift">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="vertical" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="horizontal" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_selectable" c:identifier="gtk_clist_set_selectable">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="selectable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_selectable" c:identifier="gtk_clist_get_selectable">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="prepend" c:identifier="gtk_clist_prepend">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="append" c:identifier="gtk_clist_append">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="insert" c:identifier="gtk_clist_insert">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="remove" c:identifier="gtk_clist_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_row_data" c:identifier="gtk_clist_set_row_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_row_data_full"
c:identifier="gtk_clist_set_row_data_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_row_data" c:identifier="gtk_clist_get_row_data">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="find_row_from_data"
c:identifier="gtk_clist_find_row_from_data">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="select_row" c:identifier="gtk_clist_select_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="unselect_row" c:identifier="gtk_clist_unselect_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="undo_selection" c:identifier="gtk_clist_undo_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="clear" c:identifier="gtk_clist_clear">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_selection_info"
c:identifier="gtk_clist_get_selection_info">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="row" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="column" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="select_all" c:identifier="gtk_clist_select_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unselect_all" c:identifier="gtk_clist_unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="swap_rows" c:identifier="gtk_clist_swap_rows">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row1" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="row2" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="row_move" c:identifier="gtk_clist_row_move">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="source_row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="dest_row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_compare_func"
c:identifier="gtk_clist_set_compare_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cmp_func" transfer-ownership="none" scope="call">
<type name="CListCompareFunc" c:type="GtkCListCompareFunc"/>
</parameter>
</parameters>
</method>
<method name="set_sort_column" c:identifier="gtk_clist_set_sort_column">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_sort_type" c:identifier="gtk_clist_set_sort_type">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_type" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType"/>
</parameter>
</parameters>
</method>
<method name="sort" c:identifier="gtk_clist_sort">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_auto_sort" c:identifier="gtk_clist_set_auto_sort">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="auto_sort" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="n-columns" writable="1" construct-only="1">
<type name="uint" c:type="guint"/>
</property>
<property name="reorderable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="row-height" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="selection-mode" writable="1">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</property>
<property name="shadow-type" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<property name="sort-type" writable="1">
<type name="SortType" c:type="GtkSortType"/>
</property>
<property name="titles-active" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="use-drag-icons" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="flags">
<type name="uint16" c:type="guint16"/>
</field>
<field name="reserved1">
<type name="any" c:type="gpointer"/>
</field>
<field name="reserved2">
<type name="any" c:type="gpointer"/>
</field>
<field name="freeze_count">
<type name="uint" c:type="guint"/>
</field>
<field name="internal_allocation">
<type name="Gdk.Rectangle" c:type="GdkRectangle"/>
</field>
<field name="rows">
<type name="int" c:type="gint"/>
</field>
<field name="row_height">
<type name="int" c:type="gint"/>
</field>
<field name="row_list">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="row_list_end">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="columns">
<type name="int" c:type="gint"/>
</field>
<field name="column_title_area">
<type name="Gdk.Rectangle" c:type="GdkRectangle"/>
</field>
<field name="title_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="column">
<type name="CListColumn" c:type="GtkCListColumn*"/>
</field>
<field name="clist_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="clist_window_width">
<type name="int" c:type="gint"/>
</field>
<field name="clist_window_height">
<type name="int" c:type="gint"/>
</field>
<field name="hoffset">
<type name="int" c:type="gint"/>
</field>
<field name="voffset">
<type name="int" c:type="gint"/>
</field>
<field name="shadow_type">
<type name="ShadowType" c:type="GtkShadowType"/>
</field>
<field name="selection_mode">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</field>
<field name="selection">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="selection_end">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="undo_selection">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="undo_unselection">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="undo_anchor">
<type name="int" c:type="gint"/>
</field>
<field name="button_actions">
<array zero-terminated="0" c:type="guint8" fixed-size="5">
<type name="uint8"/>
</array>
</field>
<field name="drag_button">
<type name="uint8" c:type="guint8"/>
</field>
<field name="click_cell">
<type name="CListCellInfo" c:type="GtkCListCellInfo"/>
</field>
<field name="hadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="vadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="xor_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="fg_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="bg_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="cursor_drag">
<type name="Gdk.Cursor" c:type="GdkCursor*"/>
</field>
<field name="x_drag">
<type name="int" c:type="gint"/>
</field>
<field name="focus_row">
<type name="int" c:type="gint"/>
</field>
<field name="focus_header_column">
<type name="int" c:type="gint"/>
</field>
<field name="anchor">
<type name="int" c:type="gint"/>
</field>
<field name="anchor_state">
<type name="StateType" c:type="GtkStateType"/>
</field>
<field name="drag_pos">
<type name="int" c:type="gint"/>
</field>
<field name="htimer">
<type name="int" c:type="gint"/>
</field>
<field name="vtimer">
<type name="int" c:type="gint"/>
</field>
<field name="sort_type">
<type name="SortType" c:type="GtkSortType"/>
</field>
<field name="compare">
<type name="CListCompareFunc" c:type="GtkCListCompareFunc"/>
</field>
<field name="sort_column">
<type name="int" c:type="gint"/>
</field>
<field name="drag_highlight_row">
<type name="int" c:type="gint"/>
</field>
<field name="drag_highlight_pos">
<type name="CListDragPos" c:type="GtkCListDragPos"/>
</field>
<glib:signal name="abort-column-resize">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="click-column">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="end-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="extend-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="resize-column">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="row-move">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="scroll-horizontal">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="scroll-vertical">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="select-all">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="select-row">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-scroll-adjustments">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="start-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="toggle-add-mode">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="toggle-focus-row">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="undo-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="unselect-all">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="unselect-row">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="CListCellInfo" c:type="GtkCListCellInfo">
<field name="row" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="column" writable="1">
<type name="int" c:type="gint"/>
</field>
</record>
<record name="CListClass"
c:type="GtkCListClass"
glib:is-gtype-struct-for="CList">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="set_scroll_adjustments">
<callback name="set_scroll_adjustments"
c:type="set_scroll_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="refresh">
<callback name="refresh" c:type="refresh">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_row">
<callback name="select_row" c:type="select_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_row">
<callback name="unselect_row" c:type="unselect_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_move">
<callback name="row_move" c:type="row_move">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="source_row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="dest_row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="click_column">
<callback name="click_column" c:type="click_column">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="resize_column">
<callback name="resize_column" c:type="resize_column">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_focus_row">
<callback name="toggle_focus_row" c:type="toggle_focus_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_all">
<callback name="select_all" c:type="select_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_all">
<callback name="unselect_all" c:type="unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="undo_selection">
<callback name="undo_selection" c:type="undo_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_selection">
<callback name="start_selection" c:type="start_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_selection">
<callback name="end_selection" c:type="end_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="extend_selection">
<callback name="extend_selection" c:type="extend_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="auto_start_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="scroll_horizontal">
<callback name="scroll_horizontal" c:type="scroll_horizontal">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</callback>
</field>
<field name="scroll_vertical">
<callback name="scroll_vertical" c:type="scroll_vertical">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_add_mode">
<callback name="toggle_add_mode" c:type="toggle_add_mode">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="abort_column_resize">
<callback name="abort_column_resize" c:type="abort_column_resize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="resync_selection">
<callback name="resync_selection" c:type="resync_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_find">
<callback name="selection_find" c:type="selection_find">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="row_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="row_list_element" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_row">
<callback name="draw_row" c:type="draw_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="clist_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_drag_highlight">
<callback name="draw_drag_highlight" c:type="draw_drag_highlight">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="target_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
<parameter name="target_row_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="drag_pos" transfer-ownership="none">
<type name="CListDragPos" c:type="GtkCListDragPos"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear">
<callback name="clear" c:type="clear">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="fake_unselect_all">
<callback name="fake_unselect_all" c:type="fake_unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="sort_list">
<callback name="sort_list" c:type="sort_list">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_row">
<callback name="insert_row" c:type="insert_row">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_row">
<callback name="remove_row" c:type="remove_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_cell_contents">
<callback name="set_cell_contents" c:type="set_cell_contents">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="clist_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="CellType" c:type="GtkCellType"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cell_size_request">
<callback name="cell_size_request" c:type="cell_size_request">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="clist_row" transfer-ownership="none">
<type name="CListRow" c:type="GtkCListRow*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="requisition" transfer-ownership="none">
<type name="Requisition" c:type="GtkRequisition*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="CListColumn" c:type="GtkCListColumn">
<field name="title" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="area" writable="1">
<type name="Gdk.Rectangle" c:type="GdkRectangle"/>
</field>
<field name="button" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="window" writable="1">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="width" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="min_width" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="max_width" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="justification" writable="1">
<type name="Justification" c:type="GtkJustification"/>
</field>
<field name="visible" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="width_set" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="resizeable" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="auto_resize" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="button_passive" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<callback name="CListCompareFunc" c:type="GtkCListCompareFunc">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="clist" transfer-ownership="none">
<type name="CList" c:type="GtkCList*"/>
</parameter>
<parameter name="ptr1" transfer-ownership="none">
<type name="any" c:type="gconstpointer"/>
</parameter>
<parameter name="ptr2" transfer-ownership="none">
<type name="any" c:type="gconstpointer"/>
</parameter>
</parameters>
</callback>
<record name="CListDestInfo" c:type="GtkCListDestInfo">
<field name="cell" writable="1">
<type name="CListCellInfo" c:type="GtkCListCellInfo"/>
</field>
<field name="insert_pos" writable="1">
<type name="CListDragPos" c:type="GtkCListDragPos"/>
</field>
</record>
<enumeration name="CListDragPos"
glib:type-name="GtkCListDragPos"
glib:get-type="gtk_clist_drag_pos_get_type"
c:type="GtkCListDragPos">
<member name="none"
value="0"
c:identifier="GTK_CLIST_DRAG_NONE"
glib:nick="none"/>
<member name="before"
value="1"
c:identifier="GTK_CLIST_DRAG_BEFORE"
glib:nick="before"/>
<member name="into"
value="2"
c:identifier="GTK_CLIST_DRAG_INTO"
glib:nick="into"/>
<member name="after"
value="3"
c:identifier="GTK_CLIST_DRAG_AFTER"
glib:nick="after"/>
</enumeration>
<record name="CListRow" c:type="GtkCListRow">
<field name="cell" writable="1">
<type name="Cell" c:type="GtkCell*"/>
</field>
<field name="state" writable="1">
<type name="StateType" c:type="GtkStateType"/>
</field>
<field name="foreground" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</field>
<field name="background" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</field>
<field name="style" writable="1">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="data" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="destroy" writable="1">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
<field name="fg_set" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="bg_set" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="selectable" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<class name="CTree"
c:type="GtkCTree"
parent="CList"
glib:type-name="GtkCTree"
glib:get-type="gtk_ctree_get_type"
glib:type-struct="CTreeClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new_with_titles"
c:identifier="gtk_ctree_new_with_titles">
<return-value transfer-ownership="full">
<type name="CTree" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="tree_column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="titles" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new" c:identifier="gtk_ctree_new">
<return-value transfer-ownership="full">
<type name="CTree" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="tree_column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<method name="insert_node" c:identifier="gtk_ctree_insert_node">
<return-value transfer-ownership="full">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</return-value>
<parameters>
<parameter name="parent" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="sibling" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="text" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="pixmap_closed"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask_closed"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="pixmap_opened"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask_opened"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="is_leaf" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="expanded" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="remove_node" c:identifier="gtk_ctree_remove_node">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="insert_gnode" c:identifier="gtk_ctree_insert_gnode">
<return-value transfer-ownership="full">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</return-value>
<parameters>
<parameter name="parent" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="sibling" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="gnode" transfer-ownership="none">
<type name="GLib.Node" c:type="GNode*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="5">
<type name="CTreeGNodeFunc" c:type="GtkCTreeGNodeFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="export_to_gnode" c:identifier="gtk_ctree_export_to_gnode">
<return-value transfer-ownership="full">
<type name="GLib.Node" c:type="GNode*"/>
</return-value>
<parameters>
<parameter name="parent" transfer-ownership="none">
<type name="GLib.Node" c:type="GNode*"/>
</parameter>
<parameter name="sibling" transfer-ownership="none">
<type name="GLib.Node" c:type="GNode*"/>
</parameter>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="5">
<type name="CTreeGNodeFunc" c:type="GtkCTreeGNodeFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="post_recursive" c:identifier="gtk_ctree_post_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="3">
<type name="CTreeFunc" c:type="GtkCTreeFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="post_recursive_to_depth"
c:identifier="gtk_ctree_post_recursive_to_depth">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="depth" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="4">
<type name="CTreeFunc" c:type="GtkCTreeFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="pre_recursive" c:identifier="gtk_ctree_pre_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="3">
<type name="CTreeFunc" c:type="GtkCTreeFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="pre_recursive_to_depth"
c:identifier="gtk_ctree_pre_recursive_to_depth">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="depth" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="4">
<type name="CTreeFunc" c:type="GtkCTreeFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="is_viewable" c:identifier="gtk_ctree_is_viewable">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="last" c:identifier="gtk_ctree_last">
<return-value transfer-ownership="full">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="find_node_ptr" c:identifier="gtk_ctree_find_node_ptr">
<return-value transfer-ownership="full">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</return-value>
<parameters>
<parameter name="ctree_row" transfer-ownership="none">
<type name="CTreeRow" c:type="GtkCTreeRow*"/>
</parameter>
</parameters>
</method>
<method name="node_nth" c:identifier="gtk_ctree_node_nth">
<return-value transfer-ownership="full">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="find" c:identifier="gtk_ctree_find">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="is_ancestor" c:identifier="gtk_ctree_is_ancestor">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="find_by_row_data"
c:identifier="gtk_ctree_find_by_row_data">
<return-value transfer-ownership="full">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="find_all_by_row_data"
c:identifier="gtk_ctree_find_all_by_row_data">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="find_by_row_data_custom"
c:identifier="gtk_ctree_find_by_row_data_custom">
<return-value transfer-ownership="full">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="func" transfer-ownership="none" scope="call">
<type name="GLib.CompareFunc" c:type="GCompareFunc"/>
</parameter>
</parameters>
</method>
<method name="find_all_by_row_data_custom"
c:identifier="gtk_ctree_find_all_by_row_data_custom">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="func" transfer-ownership="none" scope="call">
<type name="GLib.CompareFunc" c:type="GCompareFunc"/>
</parameter>
</parameters>
</method>
<method name="is_hot_spot" c:identifier="gtk_ctree_is_hot_spot">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="move" c:identifier="gtk_ctree_move">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="new_parent"
transfer-ownership="none"
allow-none="1">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="new_sibling"
transfer-ownership="none"
allow-none="1">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="expand" c:identifier="gtk_ctree_expand">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="expand_recursive"
c:identifier="gtk_ctree_expand_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="expand_to_depth" c:identifier="gtk_ctree_expand_to_depth">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="depth" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="collapse" c:identifier="gtk_ctree_collapse">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="collapse_recursive"
c:identifier="gtk_ctree_collapse_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="collapse_to_depth"
c:identifier="gtk_ctree_collapse_to_depth">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="depth" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="toggle_expansion"
c:identifier="gtk_ctree_toggle_expansion">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="toggle_expansion_recursive"
c:identifier="gtk_ctree_toggle_expansion_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="select" c:identifier="gtk_ctree_select">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="select_recursive"
c:identifier="gtk_ctree_select_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="unselect" c:identifier="gtk_ctree_unselect">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="unselect_recursive"
c:identifier="gtk_ctree_unselect_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="real_select_recursive"
c:identifier="gtk_ctree_real_select_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="node_set_text" c:identifier="gtk_ctree_node_set_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="node_set_pixmap" c:identifier="gtk_ctree_node_set_pixmap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none" allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="node_set_pixtext"
c:identifier="gtk_ctree_node_set_pixtext">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none" allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="set_node_info" c:identifier="gtk_ctree_set_node_info">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint8" c:type="guint8"/>
</parameter>
<parameter name="pixmap_closed"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask_closed"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="pixmap_opened"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask_opened"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="is_leaf" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="expanded" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="node_set_shift" c:identifier="gtk_ctree_node_set_shift">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="vertical" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="horizontal" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="node_set_selectable"
c:identifier="gtk_ctree_node_set_selectable">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="selectable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="node_get_selectable"
c:identifier="gtk_ctree_node_get_selectable">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="node_get_cell_type"
c:identifier="gtk_ctree_node_get_cell_type">
<return-value transfer-ownership="full">
<type name="CellType" c:type="GtkCellType"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="node_get_text" c:identifier="gtk_ctree_node_get_text">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="node_get_pixmap" c:identifier="gtk_ctree_node_get_pixmap">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<method name="node_get_pixtext"
c:identifier="gtk_ctree_node_get_pixtext">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<method name="get_node_info" c:identifier="gtk_ctree_get_node_info">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="pixmap_closed" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask_closed" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
<parameter name="pixmap_opened" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask_opened" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
<parameter name="is_leaf" direction="out" transfer-ownership="full">
<type name="boolean" c:type="gboolean*"/>
</parameter>
<parameter name="expanded" direction="out" transfer-ownership="full">
<type name="boolean" c:type="gboolean*"/>
</parameter>
</parameters>
</method>
<method name="node_set_row_style"
c:identifier="gtk_ctree_node_set_row_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</method>
<method name="node_get_row_style"
c:identifier="gtk_ctree_node_get_row_style">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="node_set_cell_style"
c:identifier="gtk_ctree_node_set_cell_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</method>
<method name="node_get_cell_style"
c:identifier="gtk_ctree_node_get_cell_style">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="node_set_foreground"
c:identifier="gtk_ctree_node_set_foreground">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="node_set_background"
c:identifier="gtk_ctree_node_set_background">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="node_set_row_data"
c:identifier="gtk_ctree_node_set_row_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="node_set_row_data_full"
c:identifier="gtk_ctree_node_set_row_data_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="node_get_row_data"
c:identifier="gtk_ctree_node_get_row_data">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="node_moveto" c:identifier="gtk_ctree_node_moveto">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="row_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="col_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="node_is_visible" c:identifier="gtk_ctree_node_is_visible">
<return-value transfer-ownership="full">
<type name="Visibility" c:type="GtkVisibility"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="set_indent" c:identifier="gtk_ctree_set_indent">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="indent" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_spacing" c:identifier="gtk_ctree_set_spacing">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_show_stub" c:identifier="gtk_ctree_set_show_stub">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_stub" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_line_style" c:identifier="gtk_ctree_set_line_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="line_style" transfer-ownership="none">
<type name="CTreeLineStyle" c:type="GtkCTreeLineStyle"/>
</parameter>
</parameters>
</method>
<method name="set_expander_style"
c:identifier="gtk_ctree_set_expander_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="expander_style" transfer-ownership="none">
<type name="CTreeExpanderStyle" c:type="GtkCTreeExpanderStyle"/>
</parameter>
</parameters>
</method>
<method name="set_drag_compare_func"
c:identifier="gtk_ctree_set_drag_compare_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cmp_func" transfer-ownership="none" scope="call">
<type name="CTreeCompareDragFunc"
c:type="GtkCTreeCompareDragFunc"/>
</parameter>
</parameters>
</method>
<method name="sort_node" c:identifier="gtk_ctree_sort_node">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<method name="sort_recursive" c:identifier="gtk_ctree_sort_recursive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</method>
<property name="expander-style" writable="1">
<type name="CTreeExpanderStyle" c:type="GtkCTreeExpanderStyle"/>
</property>
<property name="indent" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="line-style" writable="1">
<type name="CTreeLineStyle" c:type="GtkCTreeLineStyle"/>
</property>
<property name="n-columns" writable="1" construct-only="1">
<type name="uint" c:type="guint"/>
</property>
<property name="show-stub" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="spacing" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="tree-column" writable="1" construct-only="1">
<type name="uint" c:type="guint"/>
</property>
<field name="clist">
<type name="CList" c:type="GtkCList"/>
</field>
<field name="lines_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="tree_indent">
<type name="int" c:type="gint"/>
</field>
<field name="tree_spacing">
<type name="int" c:type="gint"/>
</field>
<field name="tree_column">
<type name="int" c:type="gint"/>
</field>
<field name="line_style" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="expander_style" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="show_stub" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="drag_compare">
<type name="CTreeCompareDragFunc" c:type="GtkCTreeCompareDragFunc"/>
</field>
<glib:signal name="change-focus-row-expansion">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="CTreeExpansionType" c:type="GtkCTreeExpansionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="tree-collapse">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="tree-expand">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="tree-move">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="tree-select-row">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="tree-unselect-row">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="CTreeClass"
c:type="GtkCTreeClass"
glib:is-gtype-struct-for="CTree">
<field name="parent_class">
<type name="CListClass" c:type="GtkCListClass"/>
</field>
<field name="tree_select_row">
<callback name="tree_select_row" c:type="tree_select_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tree_unselect_row">
<callback name="tree_unselect_row" c:type="tree_unselect_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tree_expand">
<callback name="tree_expand" c:type="tree_expand">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tree_collapse">
<callback name="tree_collapse" c:type="tree_collapse">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tree_move">
<callback name="tree_move" c:type="tree_move">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="new_parent" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="new_sibling" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="change_focus_row_expansion">
<callback name="change_focus_row_expansion"
c:type="change_focus_row_expansion">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="CTreeExpansionType" c:type="GtkCTreeExpansionType"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<callback name="CTreeCompareDragFunc" c:type="GtkCTreeCompareDragFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="source_node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="new_parent" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="new_sibling" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
</parameters>
</callback>
<enumeration name="CTreeExpanderStyle"
glib:type-name="GtkCTreeExpanderStyle"
glib:get-type="gtk_ctree_expander_style_get_type"
c:type="GtkCTreeExpanderStyle">
<member name="none"
value="0"
c:identifier="GTK_CTREE_EXPANDER_NONE"
glib:nick="none"/>
<member name="square"
value="1"
c:identifier="GTK_CTREE_EXPANDER_SQUARE"
glib:nick="square"/>
<member name="triangle"
value="2"
c:identifier="GTK_CTREE_EXPANDER_TRIANGLE"
glib:nick="triangle"/>
<member name="circular"
value="3"
c:identifier="GTK_CTREE_EXPANDER_CIRCULAR"
glib:nick="circular"/>
</enumeration>
<enumeration name="CTreeExpansionType"
glib:type-name="GtkCTreeExpansionType"
glib:get-type="gtk_ctree_expansion_type_get_type"
c:type="GtkCTreeExpansionType">
<member name="expand"
value="0"
c:identifier="GTK_CTREE_EXPANSION_EXPAND"
glib:nick="expand"/>
<member name="expand_recursive"
value="1"
c:identifier="GTK_CTREE_EXPANSION_EXPAND_RECURSIVE"
glib:nick="expand-recursive"/>
<member name="collapse"
value="2"
c:identifier="GTK_CTREE_EXPANSION_COLLAPSE"
glib:nick="collapse"/>
<member name="collapse_recursive"
value="3"
c:identifier="GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE"
glib:nick="collapse-recursive"/>
<member name="toggle"
value="4"
c:identifier="GTK_CTREE_EXPANSION_TOGGLE"
glib:nick="toggle"/>
<member name="toggle_recursive"
value="5"
c:identifier="GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE"
glib:nick="toggle-recursive"/>
</enumeration>
<callback name="CTreeFunc" c:type="GtkCTreeFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="node" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="CTreeGNodeFunc" c:type="GtkCTreeGNodeFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ctree" transfer-ownership="none">
<type name="CTree" c:type="GtkCTree*"/>
</parameter>
<parameter name="depth" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="gnode" transfer-ownership="none">
<type name="GLib.Node" c:type="GNode*"/>
</parameter>
<parameter name="cnode" transfer-ownership="none">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="CTreeLineStyle"
glib:type-name="GtkCTreeLineStyle"
glib:get-type="gtk_ctree_line_style_get_type"
c:type="GtkCTreeLineStyle">
<member name="none"
value="0"
c:identifier="GTK_CTREE_LINES_NONE"
glib:nick="none"/>
<member name="solid"
value="1"
c:identifier="GTK_CTREE_LINES_SOLID"
glib:nick="solid"/>
<member name="dotted"
value="2"
c:identifier="GTK_CTREE_LINES_DOTTED"
glib:nick="dotted"/>
<member name="tabbed"
value="3"
c:identifier="GTK_CTREE_LINES_TABBED"
glib:nick="tabbed"/>
</enumeration>
<record name="CTreeNode" c:type="GtkCTreeNode">
<field name="list" writable="1">
<type name="GLib.List" c:type="GList"/>
</field>
</record>
<enumeration name="CTreePos"
glib:type-name="GtkCTreePos"
glib:get-type="gtk_ctree_pos_get_type"
c:type="GtkCTreePos">
<member name="before"
value="0"
c:identifier="GTK_CTREE_POS_BEFORE"
glib:nick="before"/>
<member name="as_child"
value="1"
c:identifier="GTK_CTREE_POS_AS_CHILD"
glib:nick="as-child"/>
<member name="after"
value="2"
c:identifier="GTK_CTREE_POS_AFTER"
glib:nick="after"/>
</enumeration>
<record name="CTreeRow" c:type="GtkCTreeRow">
<field name="row" writable="1">
<type name="CListRow" c:type="GtkCListRow"/>
</field>
<field name="parent" writable="1">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</field>
<field name="sibling" writable="1">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</field>
<field name="children" writable="1">
<type name="CTreeNode" c:type="GtkCTreeNode*"/>
</field>
<field name="pixmap_closed" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="mask_closed" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
<field name="pixmap_opened" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="mask_opened" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
<field name="level" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="is_leaf" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="expanded" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<class name="Calendar"
c:type="GtkCalendar"
parent="Widget"
glib:type-name="GtkCalendar"
glib:get-type="gtk_calendar_get_type"
glib:type-struct="CalendarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_calendar_new"
doc="Creates a new calendar, with the current date being selected.">
<return-value transfer-ownership="full">
<type name="Calendar" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="select_month"
c:identifier="gtk_calendar_select_month"
doc="Shifts the calendar to a different month.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="month" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="year" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="select_day"
c:identifier="gtk_calendar_select_day"
doc="the currently selected day.
Selects a day from the current month.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="day" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="mark_day"
c:identifier="gtk_calendar_mark_day"
doc="Places a visual marker on a particular day.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="day" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="unmark_day"
c:identifier="gtk_calendar_unmark_day"
doc="Removes the visual marker from a particular day.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="day" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="clear_marks"
c:identifier="gtk_calendar_clear_marks"
doc="Remove all visual markers.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_display_options"
c:identifier="gtk_calendar_set_display_options"
doc="Sets display options (whether to display the heading and the month
headings)."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="flags" transfer-ownership="none">
<type name="CalendarDisplayOptions"
c:type="GtkCalendarDisplayOptions"/>
</parameter>
</parameters>
</method>
<method name="get_display_options"
c:identifier="gtk_calendar_get_display_options"
doc="Returns the current display options of @calendar."
version="2.4">
<return-value transfer-ownership="full">
<type name="CalendarDisplayOptions"
c:type="GtkCalendarDisplayOptions"/>
</return-value>
</method>
<method name="display_options"
c:identifier="gtk_calendar_display_options"
doc="Sets display options (whether to display the heading and the month headings)."
deprecated="Use gtk_calendar_set_display_options() instead"
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="flags" transfer-ownership="none">
<type name="CalendarDisplayOptions"
c:type="GtkCalendarDisplayOptions"/>
</parameter>
</parameters>
</method>
<method name="get_date"
c:identifier="gtk_calendar_get_date"
doc="Obtains the selected date from a #GtkCalendar.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="year"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the year number, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="month"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="day"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="set_detail_func"
c:identifier="gtk_calendar_set_detail_func"
doc="Installs a function which provides Pango markup with detail information
for each day. Examples for such details are holidays or appointments. That
information is shown below each day when #GtkCalendar:show-details is set.
A tooltip containing with full detail information is provided, if the entire
text should not fit into the details area, or if #GtkCalendar:show-details
is not set.
The size of the details area can be restricted by setting the
#GtkCalendar:detail-width-chars and #GtkCalendar:detail-height-rows
properties."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="CalendarDetailFunc" c:type="GtkCalendarDetailFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_detail_width_chars"
c:identifier="gtk_calendar_set_detail_width_chars"
doc="Updates the width of detail cells.
See #GtkCalendar:detail-width-chars."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_detail_height_rows"
c:identifier="gtk_calendar_set_detail_height_rows"
doc="Updates the height of detail cells.
See #GtkCalendar:detail-height-rows."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="rows" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_detail_width_chars"
c:identifier="gtk_calendar_get_detail_width_chars"
doc="Queries the width of detail cells, in characters.
See #GtkCalendar:detail-width-chars."
version="2.14">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_detail_height_rows"
c:identifier="gtk_calendar_get_detail_height_rows"
doc="Queries the height of detail cells, in rows.
See #GtkCalendar:detail-width-chars."
version="2.14">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="freeze"
c:identifier="gtk_calendar_freeze"
doc="Does nothing. Previously locked the display of the calendar until
it was thawed with gtk_calendar_thaw()."
deprecated="2.8:">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="thaw"
c:identifier="gtk_calendar_thaw"
doc="Does nothing. Previously defrosted a calendar; all the changes made
since the last gtk_calendar_freeze() were displayed."
deprecated="2.8:">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="day"
writable="1"
doc="The selected day (as a number between 1 and 31, or 0
to unselect the currently selected day).
This property gets initially set to the current day.">
<type name="int" c:type="gint"/>
</property>
<property name="detail-height-rows"
version="2.14"
writable="1"
doc="Height of a detail cell, in rows.
A value of 0 allows any width. See gtk_calendar_set_detail_func().">
<type name="int" c:type="gint"/>
</property>
<property name="detail-width-chars"
version="2.14"
writable="1"
doc="Width of a detail cell, in characters.
A value of 0 allows any width. See gtk_calendar_set_detail_func().">
<type name="int" c:type="gint"/>
</property>
<property name="month"
writable="1"
doc="The selected month (as a number between 0 and 11).
This property gets initially set to the current month.">
<type name="int" c:type="gint"/>
</property>
<property name="no-month-change"
version="2.4"
writable="1"
doc="Determines whether the selected month can be changed.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-day-names"
version="2.4"
writable="1"
doc="Determines whether day names are displayed.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-details"
version="2.14"
writable="1"
doc="Determines whether details are shown directly in the widget, or if they are
available only as tooltip. When this property is set days with details are
marked.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-heading"
version="2.4"
writable="1"
doc="Determines whether a heading is displayed.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-week-numbers"
version="2.4"
writable="1"
doc="Determines whether week numbers are displayed.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="year"
writable="1"
doc="The selected year.
This property gets initially set to the current year.">
<type name="int" c:type="gint"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="header_style">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="label_style">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="month">
<type name="int" c:type="gint"/>
</field>
<field name="year">
<type name="int" c:type="gint"/>
</field>
<field name="selected_day">
<type name="int" c:type="gint"/>
</field>
<field name="day_month">
<array zero-terminated="0" c:type="gint" fixed-size="6">
<type name="int"/>
</array>
</field>
<field name="day">
<array zero-terminated="0" c:type="gint" fixed-size="6">
<type name="int"/>
</array>
</field>
<field name="num_marked_dates">
<type name="int" c:type="gint"/>
</field>
<field name="marked_date">
<array zero-terminated="0" c:type="gint" fixed-size="31">
<type name="int"/>
</array>
</field>
<field name="display_flags">
<type name="CalendarDisplayOptions"
c:type="GtkCalendarDisplayOptions"/>
</field>
<field name="marked_date_color">
<array zero-terminated="0" c:type="GdkColor" fixed-size="31">
<type name="Gdk.Color"/>
</array>
</field>
<field name="gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="xor_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="focus_row">
<type name="int" c:type="gint"/>
</field>
<field name="focus_col">
<type name="int" c:type="gint"/>
</field>
<field name="highlight_row">
<type name="int" c:type="gint"/>
</field>
<field name="highlight_col">
<type name="int" c:type="gint"/>
</field>
<field name="priv">
<type name="CalendarPrivate" c:type="GtkCalendarPrivate*"/>
</field>
<field name="grow_space">
<array zero-terminated="0" c:type="gchar" fixed-size="32">
<type name="int8"/>
</array>
</field>
<field name="gtk_reserved1">
<type name="any" c:type="pointer"/>
</field>
<field name="gtk_reserved2">
<type name="any" c:type="pointer"/>
</field>
<field name="gtk_reserved3">
<type name="any" c:type="pointer"/>
</field>
<field name="gtk_reserved4">
<type name="any" c:type="pointer"/>
</field>
<glib:signal name="day-selected">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="day-selected-double-click">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="month-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="next-month">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="next-year">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="prev-month">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="prev-year">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="CalendarClass"
c:type="GtkCalendarClass"
glib:is-gtype-struct-for="Calendar">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="month_changed">
<callback name="month_changed" c:type="month_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="day_selected">
<callback name="day_selected" c:type="day_selected">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="day_selected_double_click">
<callback name="day_selected_double_click"
c:type="day_selected_double_click">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="prev_month">
<callback name="prev_month" c:type="prev_month">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="next_month">
<callback name="next_month" c:type="next_month">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="prev_year">
<callback name="prev_year" c:type="prev_year">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="next_year">
<callback name="next_year" c:type="next_year">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<callback name="CalendarDetailFunc"
c:type="GtkCalendarDetailFunc"
doc="This kind of functions provide Pango markup with detail information for the
specified day. Examples for such details are holidays or appointments. The
function returns %NULL when no information is available.
for the specified day, or %NULL."
version="2.14">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="calendar" transfer-ownership="none">
<type name="Calendar" c:type="GtkCalendar*"/>
</parameter>
<parameter name="year" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="month" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="day" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="4">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<bitfield name="CalendarDisplayOptions"
doc="left side of the calendar.
The information on which day the calendar week starts is derived from the locale.
text when details are provided. See gtk_calendar_set_detail_func().
These options can be used to influence the display and behaviour of a #GtkCalendar."
glib:type-name="GtkCalendarDisplayOptions"
glib:get-type="gtk_calendar_display_options_get_type"
c:type="GtkCalendarDisplayOptions">
<member name="show_heading"
value="1"
c:identifier="GTK_CALENDAR_SHOW_HEADING"
glib:nick="show-heading"/>
<member name="show_day_names"
value="2"
c:identifier="GTK_CALENDAR_SHOW_DAY_NAMES"
glib:nick="show-day-names"/>
<member name="no_month_change"
value="4"
c:identifier="GTK_CALENDAR_NO_MONTH_CHANGE"
glib:nick="no-month-change"/>
<member name="show_week_numbers"
value="8"
c:identifier="GTK_CALENDAR_SHOW_WEEK_NUMBERS"
glib:nick="show-week-numbers"/>
<member name="week_start_monday"
value="16"
c:identifier="GTK_CALENDAR_WEEK_START_MONDAY"
glib:nick="week-start-monday"/>
<member name="show_details"
value="32"
c:identifier="GTK_CALENDAR_SHOW_DETAILS"
glib:nick="show-details"/>
</bitfield>
<record name="CalendarPrivate" c:type="GtkCalendarPrivate">
</record>
<callback name="Callback"
c:type="GtkCallback"
doc="The type of the callback functions used for e.g. iterating over
the children of a container, see gtk_container_foreach().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="CallbackMarshal" c:type="GtkCallbackMarshal">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="n_args" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="args" transfer-ownership="none">
<type name="Arg" c:type="GtkArg*"/>
</parameter>
</parameters>
</callback>
<record name="Cell" c:type="GtkCell">
<field name="type" writable="1">
<type name="CellType" c:type="GtkCellType"/>
</field>
<field name="vertical" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="horizontal" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="style" writable="1">
<type name="Style" c:type="GtkStyle*"/>
</field>
<union name="u" c:type="u">
<field name="text" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<record name="pm" c:type="pm">
<field name="pixmap" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="mask" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
</record>
<record name="pt" c:type="pt">
<field name="text" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="spacing" writable="1">
<type name="uint8" c:type="guint8"/>
</field>
<field name="pixmap" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="mask" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
</record>
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</union>
</record>
<interface name="CellEditable"
c:type="GtkCellEditable"
glib:type-name="GtkCellEditable"
glib:get-type="gtk_cell_editable_get_type"
glib:type-struct="CellEditableIface">
<prerequisite name="Widget"/>
<virtual-method name="start_editing" invoker="start_editing">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</virtual-method>
<method name="start_editing"
c:identifier="gtk_cell_editable_start_editing"
doc="Begins editing on a @cell_editable. @event is the #GdkEvent that began
the editing process. It may be %NULL, in the instance that editing was
initiated through programatic means.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="event"
transfer-ownership="none"
allow-none="1"
doc="A #GdkEvent, or %NULL">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</method>
<method name="editing_done"
c:identifier="gtk_cell_editable_editing_done"
doc="Emits the #GtkCellEditable::editing-done signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="remove_widget"
c:identifier="gtk_cell_editable_remove_widget"
doc="Emits the #GtkCellEditable::remove-widget signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="editing-canceled"
version="2.20"
writable="1"
doc="Indicates whether editing on the cell has been canceled.">
<type name="boolean" c:type="gboolean"/>
</property>
<glib:signal name="editing-done"
doc="This signal is a sign for the cell renderer to update its
value from the @cell_editable.
Implementations of #GtkCellEditable are responsible for
emitting this signal when they are done editing, e.g.
#GtkEntry is emitting it when the user presses Enter.
gtk_cell_editable_editing_done() is a convenience method
for emitting ::editing-done.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="remove-widget"
doc="This signal is meant to indicate that the cell is finished
editing, and the widget may now be destroyed.
Implementations of #GtkCellEditable are responsible for
emitting this signal when they are done editing. It must
be emitted after the #GtkCellEditable::editing-done signal,
to give the cell renderer a chance to update the cell&apos;s value
before the widget is removed.
gtk_cell_editable_remove_widget() is a convenience method
for emitting ::remove-widget.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</interface>
<record name="CellEditableIface"
c:type="GtkCellEditableIface"
glib:is-gtype-struct-for="CellEditable">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="editing_done">
<callback name="editing_done" c:type="editing_done">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_editable" transfer-ownership="none">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_widget">
<callback name="remove_widget" c:type="remove_widget">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_editable" transfer-ownership="none">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_editing">
<callback name="start_editing" c:type="start_editing">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_editable" transfer-ownership="none">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="CellLayout"
c:type="GtkCellLayout"
glib:type-name="GtkCellLayout"
glib:get-type="gtk_cell_layout_get_type"
glib:type-struct="CellLayoutIface">
<virtual-method name="pack_start" invoker="pack_start">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="pack_end" invoker="pack_end">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="clear" invoker="clear">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="add_attribute" invoker="add_attribute">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="attribute" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_cell_data_func" invoker="set_cell_data_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="CellLayoutDataFunc" c:type="GtkCellLayoutDataFunc"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="clear_attributes" invoker="clear_attributes">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="reorder" invoker="reorder">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_cells" invoker="get_cells">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
</virtual-method>
<method name="pack_start"
c:identifier="gtk_cell_layout_pack_start"
doc="Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE,
then the @cell is allocated no more space than it needs. Any unused space
is divided evenly between cells for which @expand is %TRUE.
Note that reusing the same cell renderer is not supported."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="pack_end"
c:identifier="gtk_cell_layout_pack_end"
doc="Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the
divided evenly between cells for which @expand is %TRUE.
Note that reusing the same cell renderer is not supported."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_cells"
c:identifier="gtk_cell_layout_get_cells"
doc="Returns the cell renderers which have been added to @cell_layout.
renderers has been newly allocated and should be freed with
g_list_free() when no longer needed."
version="2.12">
<return-value transfer-ownership="container"
doc="a list of cell renderers. The list, but not the">
<type name="GLib.List" c:type="GList*">
<type name="CellRenderer"/>
</type>
</return-value>
</method>
<method name="clear"
c:identifier="gtk_cell_layout_clear"
doc="Unsets all the mappings on all renderers on @cell_layout and
removes all renderers from @cell_layout."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_attributes"
c:identifier="gtk_cell_layout_set_attributes"
doc="Sets the attributes in list as the attributes of @cell_layout. The
attributes should be in attribute/column order, as in
gtk_cell_layout_add_attribute(). All existing attributes are removed, and
replaced with the new attributes."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="add_attribute"
c:identifier="gtk_cell_layout_add_attribute"
doc="Adds an attribute mapping to the list in @cell_layout. The @column is the
column of the model to get a value from, and the @attribute is the
parameter on @cell to be set from the value. So for example if column 2
of the model contains strings, you could have the &quot;text&quot; attribute of a
#GtkCellRendererText get its values from column 2."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="attribute" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_cell_data_func"
c:identifier="gtk_cell_layout_set_cell_data_func"
doc="Sets the #GtkCellLayoutDataFunc to use for @cell_layout. This function
is used instead of the standard attributes mapping for setting the
column value, and should set the value of @cell_layout&apos;s cell renderer(s)
as appropriate. @func may be %NULL to remove and older one."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="CellLayoutDataFunc" c:type="GtkCellLayoutDataFunc"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="clear_attributes"
c:identifier="gtk_cell_layout_clear_attributes"
doc="Clears all existing attributes previously set with
gtk_cell_layout_set_attributes()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</method>
<method name="reorder"
c:identifier="gtk_cell_layout_reorder"
doc="Re-inserts @cell at @position. Note that @cell has already to be packed
into @cell_layout for this to function properly."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
</interface>
<callback name="CellLayoutDataFunc" c:type="GtkCellLayoutDataFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="CellLayoutIface"
c:type="GtkCellLayoutIface"
glib:is-gtype-struct-for="CellLayout">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="pack_start">
<callback name="pack_start" c:type="pack_start">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pack_end">
<callback name="pack_end" c:type="pack_end">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear">
<callback name="clear" c:type="clear">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add_attribute">
<callback name="add_attribute" c:type="add_attribute">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="attribute" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_cell_data_func">
<callback name="set_cell_data_func" c:type="set_cell_data_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="CellLayoutDataFunc" c:type="GtkCellLayoutDataFunc"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear_attributes">
<callback name="clear_attributes" c:type="clear_attributes">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reorder">
<callback name="reorder" c:type="reorder">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_cells">
<callback name="get_cells" c:type="get_cells">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
<parameters>
<parameter name="cell_layout" transfer-ownership="none">
<type name="CellLayout" c:type="GtkCellLayout*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="CellPixText" c:type="GtkCellPixText">
<field name="type" writable="1">
<type name="CellType" c:type="GtkCellType"/>
</field>
<field name="vertical" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="horizontal" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="style" writable="1">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="text" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="spacing" writable="1">
<type name="uint8" c:type="guint8"/>
</field>
<field name="pixmap" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="mask" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
</record>
<record name="CellPixmap" c:type="GtkCellPixmap">
<field name="type" writable="1">
<type name="CellType" c:type="GtkCellType"/>
</field>
<field name="vertical" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="horizontal" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="style" writable="1">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="pixmap" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="mask" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
</record>
<class name="CellRenderer"
c:type="GtkCellRenderer"
parent="Object"
abstract="1"
glib:type-name="GtkCellRenderer"
glib:get-type="gtk_cell_renderer_get_type"
glib:type-struct="CellRendererClass">
<virtual-method name="get_size" invoker="get_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="x_offset" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y_offset" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="render" invoker="render">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Drawable" c:type="GdkDrawable*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="expose_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="activate" invoker="activate">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="start_editing" invoker="start_editing">
<return-value transfer-ownership="full">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_size"
c:identifier="gtk_cell_renderer_get_size"
doc="Obtains the width and height needed to render the cell. Used by view
widgets to determine the appropriate size for the cell_area passed to
gtk_cell_renderer_render(). If @cell_area is not %NULL, fills in the
x and y offsets (if set) of the cell relative to this location.
Please note that the values set in @width and @height, as well as those
in @x_offset and @y_offset are inclusive of the xpad and ypad properties.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="cell_area"
transfer-ownership="none"
allow-none="1"
doc="The area a cell will be allocated, or %NULL">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="x_offset"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return x offset of cell relative to @cell_area, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y_offset"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return y offset of cell relative to @cell_area, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="width"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return width needed to render a cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return height needed to render a cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="render"
c:identifier="gtk_cell_renderer_render"
doc="padding on the sides)
Invokes the virtual render function of the #GtkCellRenderer. The three
passed-in rectangles are areas of @window. Most renderers will draw within
should be honored with respect to @cell_area. @background_area includes the
blank space around the cell, and also the area containing the tree expander;
so the @background_area rectangles for all cells tile to cover the entire">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="expose_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</method>
<method name="activate"
c:identifier="gtk_cell_renderer_activate"
doc="e.g. for #GtkTreeView, a string representation of #GtkTreePath
Passes an activate event to the cell renderer for possible processing.
Some cell renderers may use events; for example, #GtkCellRendererToggle
toggles when it gets a mouse click.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</method>
<method name="start_editing"
c:identifier="gtk_cell_renderer_start_editing"
doc="e.g. for #GtkTreeView, a string representation of #GtkTreePath
Passes an activate event to the cell renderer for possible processing.">
<return-value transfer-ownership="full">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</method>
<method name="set_fixed_size"
c:identifier="gtk_cell_renderer_set_fixed_size"
doc="Sets the renderer size to be explicit, independent of the properties set.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_fixed_size"
c:identifier="gtk_cell_renderer_get_fixed_size"
doc="Fills in @width and @height with the appropriate size of @cell.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to fill in with the fixed width of the cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to fill in with the fixed height of the cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_alignment"
c:identifier="gtk_cell_renderer_set_alignment"
doc="Sets the renderer&apos;s alignment within its available space."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_alignment"
c:identifier="gtk_cell_renderer_get_alignment"
doc="Fills in @xalign and @yalign with the appropriate values of @cell."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to fill in with the x alignment of the cell, or %NULL">
<type name="float" c:type="gfloat*"/>
</parameter>
<parameter name="yalign"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to fill in with the y alignment of the cell, or %NULL">
<type name="float" c:type="gfloat*"/>
</parameter>
</parameters>
</method>
<method name="set_padding"
c:identifier="gtk_cell_renderer_set_padding"
doc="Sets the renderer&apos;s padding."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xpad" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ypad" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_padding"
c:identifier="gtk_cell_renderer_get_padding"
doc="Fills in @xpad and @ypad with the appropriate values of @cell."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xpad"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to fill in with the x padding of the cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="ypad"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to fill in with the y padding of the cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_visible"
c:identifier="gtk_cell_renderer_set_visible"
doc="Sets the cell renderer&apos;s visibility."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible"
c:identifier="gtk_cell_renderer_get_visible"
doc="Returns the cell renderer&apos;s visibility."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_sensitive"
c:identifier="gtk_cell_renderer_set_sensitive"
doc="Sets the cell renderer&apos;s sensitivity."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sensitive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_sensitive"
c:identifier="gtk_cell_renderer_get_sensitive"
doc="Returns the cell renderer&apos;s sensitivity."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="editing_canceled"
c:identifier="gtk_cell_renderer_editing_canceled"
doc="Causes the cell renderer to emit the #GtkCellRenderer::editing-canceled
signal.
This function is for use only by implementations of cell renderers that
need to notify the client program that an editing process was canceled
and the changes were not committed."
version="2.4"
deprecated="Use gtk_cell_renderer_stop_editing() instead"
deprecated-version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="stop_editing"
c:identifier="gtk_cell_renderer_stop_editing"
doc="Informs the cell renderer that the editing is stopped.
If @canceled is %TRUE, the cell renderer will emit the
#GtkCellRenderer::editing-canceled signal.
This function should be called by cell renderer implementations
in response to the #GtkCellEditable::editing-done signal of
#GtkCellEditable."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="canceled" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="cell-background" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="cell-background-gdk" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="cell-background-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="editing">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="height" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="is-expanded" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="is-expander" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="mode" writable="1">
<type name="CellRendererMode" c:type="GtkCellRendererMode"/>
</property>
<property name="sensitive" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="width" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="xalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="xpad" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="yalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="ypad" writable="1">
<type name="uint" c:type="guint"/>
</property>
<field name="parent">
<type name="Object" c:type="GtkObject"/>
</field>
<field name="xalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="yalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="width">
<type name="int" c:type="gint"/>
</field>
<field name="height">
<type name="int" c:type="gint"/>
</field>
<field name="xpad">
<type name="uint16" c:type="guint16"/>
</field>
<field name="ypad">
<type name="uint16" c:type="guint16"/>
</field>
<field name="mode" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_expander" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_expanded" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="cell_background_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="sensitive" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="editing" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="editing-canceled"
doc="This signal gets emitted when the user cancels the process of editing a
cell. For example, an editable cell renderer could be written to cancel
editing when the user presses Escape."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="editing-started"
doc="This signal gets emitted when a cell starts to be edited.
The intended use of this signal is to do special setup
on @editable, e.g. adding a #GtkEntryCompletion or setting
up additional columns in a #GtkComboBox.
Note that GTK+ doesn&apos;t guarantee that cell renderers will
continue to use the same kind of widget for editing in future
releases, therefore you should check the type of @editable
before doing any specific setup, as in the following example:
|[
static void
text_editing_started (GtkCellRenderer *cell,
GtkCellEditable *editable,
const gchar *path,
gpointer data)
{
if (GTK_IS_ENTRY (editable))
{
GtkEntry *entry = GTK_ENTRY (editable);
/&amp;ast; ... create a GtkEntryCompletion &amp;ast;/
gtk_entry_set_completion (entry, completion);
}
}
]|"
version="2.6">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="CellEditable" c:type="GtkCellEditable"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
</class>
<class name="CellRendererAccel"
c:type="GtkCellRendererAccel"
parent="CellRendererText"
glib:type-name="GtkCellRendererAccel"
glib:get-type="gtk_cell_renderer_accel_get_type"
glib:type-struct="CellRendererAccelClass">
<constructor name="new"
c:identifier="gtk_cell_renderer_accel_new"
doc="Creates a new #GtkCellRendererAccel."
version="2.10">
<return-value transfer-ownership="full">
<type name="CellRendererAccel" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<property name="accel-key"
version="2.10"
writable="1"
doc="The keyval of the accelerator.">
<type name="uint" c:type="guint"/>
</property>
<property name="accel-mode"
version="2.10"
writable="1"
doc="Determines if the edited accelerators are GTK+ accelerators. If
they are, consumed modifiers are suppressed, only accelerators
accepted by GTK+ are allowed, and the accelerators are rendered
in the same way as they are in menus.">
<type name="CellRendererAccelMode" c:type="GtkCellRendererAccelMode"/>
</property>
<property name="accel-mods"
version="2.10"
writable="1"
doc="The modifier mask of the accelerator.">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</property>
<property name="keycode"
version="2.10"
writable="1"
doc="The hardware keycode of the accelerator. Note that the hardware keycode is
only relevant if the key does not have a keyval. Normally, the keyboard
configuration should assign keyvals to all keys.">
<type name="uint" c:type="guint"/>
</property>
<field name="parent">
<type name="CellRendererText" c:type="GtkCellRendererText"/>
</field>
<field name="accel_key">
<type name="uint" c:type="guint"/>
</field>
<field name="accel_mods">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</field>
<field name="keycode">
<type name="uint" c:type="guint"/>
</field>
<field name="accel_mode">
<type name="CellRendererAccelMode" c:type="GtkCellRendererAccelMode"/>
</field>
<field name="edit_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="grab_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="sizing_label">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<glib:signal name="accel-cleared"
doc="Gets emitted when the user has removed the accelerator."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path_string" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="accel-edited"
doc="Gets emitted when the user has selected a new accelerator."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path_string" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="hardware_keycode" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="CellRendererAccelClass"
c:type="GtkCellRendererAccelClass"
glib:is-gtype-struct-for="CellRendererAccel">
<field name="parent_class">
<type name="CellRendererTextClass" c:type="GtkCellRendererTextClass"/>
</field>
<field name="accel_edited">
<callback name="accel_edited" c:type="accel_edited">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel" transfer-ownership="none">
<type name="CellRendererAccel" c:type="GtkCellRendererAccel*"/>
</parameter>
<parameter name="path_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="hardware_keycode" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="accel_cleared">
<callback name="accel_cleared" c:type="accel_cleared">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel" transfer-ownership="none">
<type name="CellRendererAccel" c:type="GtkCellRendererAccel*"/>
</parameter>
<parameter name="path_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved0">
<callback name="gtk_reserved0" c:type="_gtk_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="CellRendererAccelMode"
glib:type-name="GtkCellRendererAccelMode"
glib:get-type="gtk_cell_renderer_accel_mode_get_type"
c:type="GtkCellRendererAccelMode">
<member name="gtk"
value="0"
c:identifier="GTK_CELL_RENDERER_ACCEL_MODE_GTK"
glib:nick="gtk"/>
<member name="other"
value="1"
c:identifier="GTK_CELL_RENDERER_ACCEL_MODE_OTHER"
glib:nick="other"/>
</enumeration>
<record name="CellRendererClass"
c:type="GtkCellRendererClass"
glib:is-gtype-struct-for="CellRenderer">
<field name="parent_class">
<type name="ObjectClass" c:type="GtkObjectClass"/>
</field>
<field name="get_size">
<callback name="get_size" c:type="get_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="x_offset"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y_offset"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="render">
<callback name="render" c:type="render">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Drawable" c:type="GdkDrawable*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="expose_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_editing">
<callback name="start_editing" c:type="start_editing">
<return-value transfer-ownership="full">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="background_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="cell_area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="CellRendererState" c:type="GtkCellRendererState"/>
</parameter>
</parameters>
</callback>
</field>
<field name="editing_canceled">
<callback name="editing_canceled" c:type="editing_canceled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="editing_started">
<callback name="editing_started" c:type="editing_started">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="editable" transfer-ownership="none">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="CellRendererCombo"
c:type="GtkCellRendererCombo"
parent="CellRendererText"
glib:type-name="GtkCellRendererCombo"
glib:get-type="gtk_cell_renderer_combo_get_type"
glib:type-struct="CellRendererComboClass">
<constructor name="new"
c:identifier="gtk_cell_renderer_combo_new"
doc="Creates a new #GtkCellRendererCombo.
Adjust how text is drawn using object properties.
Object properties can be set globally (with g_object_set()).
Also, with #GtkTreeViewColumn, you can bind a property to a value
in a #GtkTreeModel. For example, you can bind the &quot;text&quot; property
on the cell renderer to a string value in the model, thus rendering
a different string in each row of the #GtkTreeView."
version="2.6">
<return-value transfer-ownership="full">
<type name="CellRendererCombo" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<property name="has-entry" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="model"
version="2.6"
writable="1"
doc="Holds a tree model containing the possible values for the combo box.
Use the text_column property to specify the column holding the values.">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<property name="text-column"
version="2.6"
writable="1"
doc="Specifies the model column which holds the possible values for the
combo box.
Note that this refers to the model specified in the model property,
&lt;emphasis&gt;not&lt;/emphasis&gt; the model backing the tree view to which
this cell renderer is attached.
#GtkCellRendererCombo automatically adds a text cell renderer for
this column to its combo box.">
<type name="int" c:type="gint"/>
</property>
<field name="parent">
<type name="CellRendererText" c:type="GtkCellRendererText"/>
</field>
<field name="model">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</field>
<field name="text_column">
<type name="int" c:type="gint"/>
</field>
<field name="has_entry">
<type name="boolean" c:type="gboolean"/>
</field>
<field name="focus_out_id">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="changed"
doc="(relative to the tree view model)
(relative to the combo box model)
This signal is emitted each time after the user selected an item in
the combo box, either by using the mouse or the arrow keys. Contrary
to GtkComboBox, GtkCellRendererCombo::changed is not emitted for
changes made to a selected item in the entry. The argument @new_iter
corresponds to the newly selected item in the combo box and it is relative
to the GtkTreeModel set via the model property on GtkCellRendererCombo.
Note that as soon as you change the model displayed in the tree view,
the tree view will immediately cease the editing operating. This
means that you most probably want to refrain from changing the model
until the combo cell renderer emits the edited or editing_canceled signal."
version="2.14">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path_string" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="new_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="CellRendererComboClass"
c:type="GtkCellRendererComboClass"
glib:is-gtype-struct-for="CellRendererCombo">
<field name="parent">
<type name="CellRendererTextClass" c:type="GtkCellRendererTextClass"/>
</field>
</record>
<enumeration name="CellRendererMode"
glib:type-name="GtkCellRendererMode"
glib:get-type="gtk_cell_renderer_mode_get_type"
c:type="GtkCellRendererMode">
<member name="inert"
value="0"
c:identifier="GTK_CELL_RENDERER_MODE_INERT"
glib:nick="inert"/>
<member name="activatable"
value="1"
c:identifier="GTK_CELL_RENDERER_MODE_ACTIVATABLE"
glib:nick="activatable"/>
<member name="editable"
value="2"
c:identifier="GTK_CELL_RENDERER_MODE_EDITABLE"
glib:nick="editable"/>
</enumeration>
<class name="CellRendererPixbuf"
c:type="GtkCellRendererPixbuf"
parent="CellRenderer"
glib:type-name="GtkCellRendererPixbuf"
glib:get-type="gtk_cell_renderer_pixbuf_get_type"
glib:type-struct="CellRendererPixbufClass">
<constructor name="new"
c:identifier="gtk_cell_renderer_pixbuf_new"
doc="Creates a new #GtkCellRendererPixbuf. Adjust rendering
parameters using object properties. Object properties can be set
globally (with g_object_set()). Also, with #GtkTreeViewColumn, you
can bind a property to a value in a #GtkTreeModel. For example, you
can bind the &quot;pixbuf&quot; property on the cell renderer to a pixbuf value
in the model, thus rendering a different image in each row of the
#GtkTreeView.">
<return-value transfer-ownership="full">
<type name="CellRendererPixbuf" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<property name="follow-state"
version="2.8"
writable="1"
doc="Specifies whether the rendered pixbuf should be colorized
according to the #GtkCellRendererState.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gicon"
version="2.14"
writable="1"
doc="The GIcon representing the icon to display.
If the icon theme is changed, the image will be updated
automatically.">
<type name="Gio.Icon" c:type="GIcon"/>
</property>
<property name="icon-name"
version="2.8"
writable="1"
doc="The name of the themed icon to display.
This property only has an effect if not overridden by &quot;stock_id&quot;
or &quot;pixbuf&quot; properties.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="pixbuf" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="pixbuf-expander-closed" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="pixbuf-expander-open" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="stock-detail" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="stock-id" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="stock-size" writable="1">
<type name="uint" c:type="guint"/>
</property>
<field name="parent">
<type name="CellRenderer" c:type="GtkCellRenderer"/>
</field>
<field name="pixbuf">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</field>
<field name="pixbuf_expander_open">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</field>
<field name="pixbuf_expander_closed">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</field>
</class>
<record name="CellRendererPixbufClass"
c:type="GtkCellRendererPixbufClass"
glib:is-gtype-struct-for="CellRendererPixbuf">
<field name="parent_class">
<type name="CellRendererClass" c:type="GtkCellRendererClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="CellRendererProgress"
c:type="GtkCellRendererProgress"
parent="CellRenderer"
glib:type-name="GtkCellRendererProgress"
glib:get-type="gtk_cell_renderer_progress_get_type"
glib:type-struct="CellRendererProgressClass">
<constructor name="new"
c:identifier="gtk_cell_renderer_progress_new"
doc="Creates a new #GtkCellRendererProgress."
version="2.6">
<return-value transfer-ownership="full">
<type name="CellRendererProgress" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<property name="orientation"
version="2.12"
writable="1"
doc="The &quot;orientation&quot; property controls the direction and growth
direction of the progress bar (left-to-right, right-to-left,
top-to-bottom or bottom-to-top).">
<type name="ProgressBarOrientation"
c:type="GtkProgressBarOrientation"/>
</property>
<property name="pulse"
version="2.12"
writable="1"
doc="Setting this to a non-negative value causes the cell renderer to
enter &quot;activity mode&quot;, where a block bounces back and forth to
indicate that some progress is made, without specifying exactly how
much.
Each increment of the property causes the block to move by a little
bit.
To indicate that the activity has not started yet, set the property
to zero. To indicate completion, set the property to %G_MAXINT.">
<type name="int" c:type="gint"/>
</property>
<property name="text"
version="2.6"
writable="1"
doc="The &quot;text&quot; property determines the label which will be drawn
over the progress bar. Setting this property to %NULL causes the default
label to be displayed. Setting this property to an empty string causes
no label to be displayed.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="text-xalign"
version="2.12"
writable="1"
doc="The &quot;text-xalign&quot; property controls the horizontal alignment of the
text in the progress bar. Valid values range from 0 (left) to 1
(right). Reserved for RTL layouts.">
<type name="float" c:type="gfloat"/>
</property>
<property name="text-yalign"
version="2.12"
writable="1"
doc="The &quot;text-yalign&quot; property controls the vertical alignment of the
text in the progress bar. Valid values range from 0 (top) to 1
(bottom).">
<type name="float" c:type="gfloat"/>
</property>
<property name="value"
version="2.6"
writable="1"
doc="The &quot;value&quot; property determines the percentage to which the
progress bar will be &quot;filled in&quot;.">
<type name="int" c:type="gint"/>
</property>
<field name="parent_instance">
<type name="CellRenderer" c:type="GtkCellRenderer"/>
</field>
<field name="priv">
<type name="CellRendererProgressPrivate"
c:type="GtkCellRendererProgressPrivate*"/>
</field>
</class>
<record name="CellRendererProgressClass"
c:type="GtkCellRendererProgressClass"
glib:is-gtype-struct-for="CellRendererProgress">
<field name="parent_class">
<type name="CellRendererClass" c:type="GtkCellRendererClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="CellRendererProgressPrivate"
c:type="GtkCellRendererProgressPrivate">
</record>
<class name="CellRendererSpin"
c:type="GtkCellRendererSpin"
parent="CellRendererText"
glib:type-name="GtkCellRendererSpin"
glib:get-type="gtk_cell_renderer_spin_get_type"
glib:type-struct="CellRendererSpinClass">
<constructor name="new"
c:identifier="gtk_cell_renderer_spin_new"
doc="Creates a new #GtkCellRendererSpin."
version="2.10">
<return-value transfer-ownership="full">
<type name="CellRendererSpin" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<property name="adjustment"
version="2.10"
writable="1"
doc="The adjustment that holds the value of the spinbutton.
This must be non-%NULL for the cell renderer to be editable.">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="climb-rate"
version="2.10"
writable="1"
doc="The acceleration rate when you hold down a button.">
<type name="double" c:type="gdouble"/>
</property>
<property name="digits"
version="2.10"
writable="1"
doc="The number of decimal places to display.">
<type name="uint" c:type="guint"/>
</property>
<field name="parent">
<type name="CellRendererText" c:type="GtkCellRendererText"/>
</field>
</class>
<record name="CellRendererSpinClass"
c:type="GtkCellRendererSpinClass"
glib:is-gtype-struct-for="CellRendererSpin">
<field name="parent">
<type name="CellRendererTextClass" c:type="GtkCellRendererTextClass"/>
</field>
</record>
<record name="CellRendererSpinPrivate" c:type="GtkCellRendererSpinPrivate">
</record>
<class name="CellRendererSpinner"
c:type="GtkCellRendererSpinner"
parent="CellRenderer"
glib:type-name="GtkCellRendererSpinner"
glib:get-type="gtk_cell_renderer_spinner_get_type"
glib:type-struct="CellRendererSpinnerClass">
<constructor name="new" c:identifier="gtk_cell_renderer_spinner_new">
<return-value transfer-ownership="full">
<type name="CellRendererSpinner" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<property name="active" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="pulse"
version="2.20"
writable="1"
doc="Pulse of the spinner. Increment this value to draw the next frame of the
spinner animation. Usually, you would update this value in a timeout.
The #GtkSpinner widget draws one full cycle of the animation per second by default.
You can learn about the number of frames used by the theme
by looking at the #GtkSpinner:num-steps style property and the duration
of the cycle by looking at #GtkSpinner:cycle-duration.">
<type name="uint" c:type="guint"/>
</property>
<property name="size"
version="2.20"
writable="1"
doc="The #GtkIconSize value that specifies the size of the rendered spinner.">
<type name="IconSize" c:type="GtkIconSize"/>
</property>
<field name="parent">
<type name="CellRenderer" c:type="GtkCellRenderer"/>
</field>
<field name="priv">
<type name="CellRendererSpinnerPrivate"
c:type="GtkCellRendererSpinnerPrivate*"/>
</field>
</class>
<record name="CellRendererSpinnerClass"
c:type="GtkCellRendererSpinnerClass"
glib:is-gtype-struct-for="CellRendererSpinner">
<field name="parent_class">
<type name="CellRendererClass" c:type="GtkCellRendererClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="CellRendererSpinnerPrivate"
c:type="GtkCellRendererSpinnerPrivate">
</record>
<bitfield name="CellRendererState"
glib:type-name="GtkCellRendererState"
glib:get-type="gtk_cell_renderer_state_get_type"
c:type="GtkCellRendererState">
<member name="selected"
value="1"
c:identifier="GTK_CELL_RENDERER_SELECTED"
glib:nick="selected"/>
<member name="prelit"
value="2"
c:identifier="GTK_CELL_RENDERER_PRELIT"
glib:nick="prelit"/>
<member name="insensitive"
value="4"
c:identifier="GTK_CELL_RENDERER_INSENSITIVE"
glib:nick="insensitive"/>
<member name="sorted"
value="8"
c:identifier="GTK_CELL_RENDERER_SORTED"
glib:nick="sorted"/>
<member name="focused"
value="16"
c:identifier="GTK_CELL_RENDERER_FOCUSED"
glib:nick="focused"/>
</bitfield>
<class name="CellRendererText"
c:type="GtkCellRendererText"
parent="CellRenderer"
glib:type-name="GtkCellRendererText"
glib:get-type="gtk_cell_renderer_text_get_type"
glib:type-struct="CellRendererTextClass">
<constructor name="new"
c:identifier="gtk_cell_renderer_text_new"
doc="Creates a new #GtkCellRendererText. Adjust how text is drawn using
object properties. Object properties can be
set globally (with g_object_set()). Also, with #GtkTreeViewColumn,
you can bind a property to a value in a #GtkTreeModel. For example,
you can bind the &quot;text&quot; property on the cell renderer to a string
value in the model, thus rendering a different string in each row
of the #GtkTreeView">
<return-value transfer-ownership="full">
<type name="CellRendererText" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<method name="set_fixed_height_from_font"
c:identifier="gtk_cell_renderer_text_set_fixed_height_from_font"
doc="Sets the height of a renderer to explicitly be determined by the &quot;font&quot; and
&quot;y_pad&quot; property set on it. Further changes in these properties do not
affect the height, so they must be accompanied by a subsequent call to this
function. Using this function is unflexible, and should really only be used
if calculating the size of a cell is too slow (ie, a massive number of cells
displayed). If @number_of_rows is -1, then the fixed height is unset, and
the height is determined by the properties again.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="number_of_rows" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="align-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="alignment"
version="2.10"
writable="1"
doc="Specifies how to align the lines of text with respect to each other.
Note that this property describes how to align the lines of text in
case there are several of them. The &quot;xalign&quot; property of #GtkCellRenderer,
on the other hand, sets the horizontal alignment of the whole text.">
<type name="Pango.Alignment" c:type="PangoAlignment"/>
</property>
<property name="attributes" writable="1">
<type name="Pango.AttrList" c:type="PangoAttrList"/>
</property>
<property name="background" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="background-gdk" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="background-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="editable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="editable-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="ellipsize"
version="2.6"
writable="1"
doc="Specifies the preferred place to ellipsize the string, if the cell renderer
does not have enough room to display the entire string. Setting it to
%PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property
for another way of making the text fit into a given width.">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</property>
<property name="ellipsize-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="family" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="family-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="font" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="font-desc" writable="1">
<type name="Pango.FontDescription" c:type="PangoFontDescription"/>
</property>
<property name="foreground" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="foreground-gdk" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="foreground-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="language" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="language-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="markup" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="rise" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="rise-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="scale" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="scale-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="single-paragraph-mode" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="size" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="size-points" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="size-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="stretch" writable="1">
<type name="Pango.Stretch" c:type="PangoStretch"/>
</property>
<property name="stretch-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="strikethrough" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="strikethrough-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="style" writable="1">
<type name="Pango.Style" c:type="PangoStyle"/>
</property>
<property name="style-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="text" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="underline" writable="1">
<type name="Pango.Underline" c:type="PangoUnderline"/>
</property>
<property name="underline-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="variant" writable="1">
<type name="Pango.Variant" c:type="PangoVariant"/>
</property>
<property name="variant-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="weight" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="weight-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="width-chars"
version="2.6"
writable="1"
doc="The desired width of the cell, in characters. If this property is set to
-1, the width will be calculated automatically, otherwise the cell will
request either 3 characters or the property value, whichever is greater.">
<type name="int" c:type="gint"/>
</property>
<property name="wrap-mode"
version="2.8"
writable="1"
doc="Specifies how to break the string into multiple lines, if the cell
renderer does not have enough room to display the entire string.
This property has no effect unless the wrap-width property is set.">
<type name="Pango.WrapMode" c:type="PangoWrapMode"/>
</property>
<property name="wrap-width"
version="2.8"
writable="1"
doc="Specifies the width at which the text is wrapped. The wrap-mode property can
be used to influence at what character positions the line breaks can be placed.
Setting wrap-width to -1 turns wrapping off.">
<type name="int" c:type="gint"/>
</property>
<field name="parent">
<type name="CellRenderer" c:type="GtkCellRenderer"/>
</field>
<field name="text">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="font">
<type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
</field>
<field name="font_scale">
<type name="double" c:type="gdouble"/>
</field>
<field name="foreground">
<type name="Pango.Color" c:type="PangoColor"/>
</field>
<field name="background">
<type name="Pango.Color" c:type="PangoColor"/>
</field>
<field name="extra_attrs">
<type name="Pango.AttrList" c:type="PangoAttrList*"/>
</field>
<field name="underline_style">
<type name="Pango.Underline" c:type="PangoUnderline"/>
</field>
<field name="rise">
<type name="int" c:type="gint"/>
</field>
<field name="fixed_height_rows">
<type name="int" c:type="gint"/>
</field>
<field name="strikethrough" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="editable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="scale_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="foreground_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="background_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="underline_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="rise_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="strikethrough_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="editable_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="calc_fixed_height" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="edited">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="CellRendererTextClass"
c:type="GtkCellRendererTextClass"
glib:is-gtype-struct-for="CellRendererText">
<field name="parent_class">
<type name="CellRendererClass" c:type="GtkCellRendererClass"/>
</field>
<field name="edited">
<callback name="edited" c:type="edited">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_renderer_text" transfer-ownership="none">
<type name="CellRendererText" c:type="GtkCellRendererText*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="new_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="CellRendererToggle"
c:type="GtkCellRendererToggle"
parent="CellRenderer"
glib:type-name="GtkCellRendererToggle"
glib:get-type="gtk_cell_renderer_toggle_get_type"
glib:type-struct="CellRendererToggleClass">
<constructor name="new"
c:identifier="gtk_cell_renderer_toggle_new"
doc="Creates a new #GtkCellRendererToggle. Adjust rendering
parameters using object properties. Object properties can be set
globally (with g_object_set()). Also, with #GtkTreeViewColumn, you
can bind a property to a value in a #GtkTreeModel. For example, you
can bind the &quot;active&quot; property on the cell renderer to a boolean value
in the model, thus causing the check button to reflect the state of
the model.">
<return-value transfer-ownership="full">
<type name="CellRendererToggle" c:type="GtkCellRenderer*"/>
</return-value>
</constructor>
<method name="get_radio"
c:identifier="gtk_cell_renderer_toggle_get_radio"
doc="Returns whether we&apos;re rendering radio toggles rather than checkboxes.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_radio"
c:identifier="gtk_cell_renderer_toggle_set_radio"
doc="If @radio is %TRUE, the cell renderer renders a radio toggle
(i.e. a toggle in a group of mutually-exclusive toggles).
If %FALSE, it renders a check toggle (a standalone boolean option).
This can be set globally for the cell renderer, or changed just
before rendering each cell in the model (for #GtkTreeView, you set
up a per-row setting using #GtkTreeViewColumn to associate model
columns with cell renderer properties).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="radio" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_active"
c:identifier="gtk_cell_renderer_toggle_get_active"
doc="Returns whether the cell renderer is active. See
gtk_cell_renderer_toggle_set_active().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_active"
c:identifier="gtk_cell_renderer_toggle_set_active"
doc="Activates or deactivates a cell renderer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_activatable"
c:identifier="gtk_cell_renderer_toggle_get_activatable"
doc="Returns whether the cell renderer is activatable. See
gtk_cell_renderer_toggle_set_activatable()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_activatable"
c:identifier="gtk_cell_renderer_toggle_set_activatable"
doc="Makes the cell renderer activatable."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="activatable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="active" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="inconsistent" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="indicator-size" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="radio" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="CellRenderer" c:type="GtkCellRenderer"/>
</field>
<field name="active" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="activatable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="radio" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="toggled"
doc="event location
The ::toggled signal is emitted when the cell is toggled.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="CellRendererToggleClass"
c:type="GtkCellRendererToggleClass"
glib:is-gtype-struct-for="CellRendererToggle">
<field name="parent_class">
<type name="CellRendererClass" c:type="GtkCellRendererClass"/>
</field>
<field name="toggled">
<callback name="toggled" c:type="toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_renderer_toggle" transfer-ownership="none">
<type name="CellRendererToggle" c:type="GtkCellRendererToggle*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="CellText" c:type="GtkCellText">
<field name="type" writable="1">
<type name="CellType" c:type="GtkCellType"/>
</field>
<field name="vertical" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="horizontal" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="style" writable="1">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="text" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<enumeration name="CellType"
glib:type-name="GtkCellType"
glib:get-type="gtk_cell_type_get_type"
c:type="GtkCellType">
<member name="empty"
value="0"
c:identifier="GTK_CELL_EMPTY"
glib:nick="empty"/>
<member name="text"
value="1"
c:identifier="GTK_CELL_TEXT"
glib:nick="text"/>
<member name="pixmap"
value="2"
c:identifier="GTK_CELL_PIXMAP"
glib:nick="pixmap"/>
<member name="pixtext"
value="3"
c:identifier="GTK_CELL_PIXTEXT"
glib:nick="pixtext"/>
<member name="widget"
value="4"
c:identifier="GTK_CELL_WIDGET"
glib:nick="widget"/>
</enumeration>
<class name="CellView"
c:type="GtkCellView"
parent="Widget"
glib:type-name="GtkCellView"
glib:get-type="gtk_cell_view_get_type"
glib:type-struct="CellViewClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="CellLayout"/>
<constructor name="new"
c:identifier="gtk_cell_view_new"
doc="Creates a new #GtkCellView widget."
version="2.6">
<return-value transfer-ownership="full">
<type name="CellView" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_text"
c:identifier="gtk_cell_view_new_with_text"
doc="Creates a new #GtkCellView widget, adds a #GtkCellRendererText
to it, and makes its show @text."
version="2.6">
<return-value transfer-ownership="full">
<type name="CellView" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_markup"
c:identifier="gtk_cell_view_new_with_markup"
doc="Creates a new #GtkCellView widget, adds a #GtkCellRendererText
to it, and makes it show @markup. The text can be
marked up with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text
markup language&lt;/link&gt;."
version="2.6">
<return-value transfer-ownership="full">
<type name="CellView" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="markup" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_pixbuf"
c:identifier="gtk_cell_view_new_with_pixbuf"
doc="Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf
to it, and makes its show @pixbuf."
version="2.6">
<return-value transfer-ownership="full">
<type name="CellView" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</constructor>
<method name="set_model"
c:identifier="gtk_cell_view_set_model"
doc="Sets the model for @cell_view. If @cell_view already has a model
set, it will remove it before setting the new model. If @model is
%NULL, then it will unset the old model."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreeModel">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</method>
<method name="get_model"
c:identifier="gtk_cell_view_get_model"
doc="Returns the model for @cell_view. If no model is used %NULL is
returned."
version="2.16">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="set_displayed_row"
c:identifier="gtk_cell_view_set_displayed_row"
doc="Sets the row of the model that is currently displayed
by the #GtkCellView. If the path is unset, then the
contents of the cellview &quot;stick&quot; at their last value;
this is not normally a desired result, but may be
a needed intermediate state if say, the model for
the #GtkCellView becomes temporarily empty."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreePath or %NULL to unset.">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="get_displayed_row"
c:identifier="gtk_cell_view_get_displayed_row"
doc="Returns a #GtkTreePath referring to the currently
displayed row. If no row is currently displayed,
%NULL is returned."
version="2.6">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
</method>
<method name="get_size_of_row"
c:identifier="gtk_cell_view_get_size_of_row"
doc="Sets @requisition to the size needed by @cell_view to display
the model row pointed to by @path."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="requisition" transfer-ownership="none">
<type name="Requisition" c:type="GtkRequisition*"/>
</parameter>
</parameters>
</method>
<method name="set_background_color"
c:identifier="gtk_cell_view_set_background_color"
doc="Sets the background color of @view."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="get_cell_renderers"
c:identifier="gtk_cell_view_get_cell_renderers"
doc="Returns the cell renderers which have been added to @cell_view.
renderers has been newly allocated and should be freed with
g_list_free() when no longer needed."
version="2.6"
deprecated="use gtk_cell_layout_get_cells() instead."
deprecated-version="2.18">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
</method>
<property name="background" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="background-gdk" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="background-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="model" writable="1">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<field name="parent_instance">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="priv">
<type name="CellViewPrivate" c:type="GtkCellViewPrivate*"/>
</field>
</class>
<record name="CellViewClass"
c:type="GtkCellViewClass"
glib:is-gtype-struct-for="CellView">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
</record>
<record name="CellViewPrivate" c:type="GtkCellViewPrivate">
</record>
<record name="CellWidget" c:type="GtkCellWidget">
<field name="type" writable="1">
<type name="CellType" c:type="GtkCellType"/>
</field>
<field name="vertical" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="horizontal" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="style" writable="1">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</record>
<class name="CheckButton"
c:type="GtkCheckButton"
parent="ToggleButton"
glib:type-name="GtkCheckButton"
glib:get-type="gtk_check_button_get_type"
glib:type-struct="CheckButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_check_button_new">
<return-value transfer-ownership="full">
<type name="CheckButton" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_check_button_new_with_label">
<return-value transfer-ownership="full">
<type name="CheckButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_check_button_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkCheckButton containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the check button.">
<return-value transfer-ownership="full">
<type name="CheckButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="draw_indicator">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</virtual-method>
<field name="toggle_button">
<type name="ToggleButton" c:type="GtkToggleButton"/>
</field>
</class>
<record name="CheckButtonClass"
c:type="GtkCheckButtonClass"
glib:is-gtype-struct-for="CheckButton">
<field name="parent_class">
<type name="ToggleButtonClass" c:type="GtkToggleButtonClass"/>
</field>
<field name="draw_indicator">
<callback name="draw_indicator" c:type="draw_indicator">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="check_button" transfer-ownership="none">
<type name="CheckButton" c:type="GtkCheckButton*"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="CheckMenuItem"
c:type="GtkCheckMenuItem"
parent="MenuItem"
glib:type-name="GtkCheckMenuItem"
glib:get-type="gtk_check_menu_item_get_type"
glib:type-struct="CheckMenuItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_check_menu_item_new">
<return-value transfer-ownership="full">
<type name="CheckMenuItem" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_check_menu_item_new_with_label">
<return-value transfer-ownership="full">
<type name="CheckMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_check_menu_item_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkCheckMenuItem containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the menu item.">
<return-value transfer-ownership="full">
<type name="CheckMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="draw_indicator">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_active" c:identifier="gtk_check_menu_item_set_active">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_active" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_active"
c:identifier="gtk_check_menu_item_get_active"
doc="Returns whether the check menu item is active. See
gtk_check_menu_item_set_active ().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="toggled" c:identifier="gtk_check_menu_item_toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_inconsistent"
c:identifier="gtk_check_menu_item_set_inconsistent"
doc="If the user has selected a range of elements (such as some text or
spreadsheet cells) that are affected by a boolean setting, and the
current values in that range are inconsistent, you may want to
display the check in an &quot;in between&quot; state. This function turns on
&quot;in between&quot; display. Normally you would turn off the inconsistent
state again if the user explicitly selects a setting. This has to be
done manually, gtk_check_menu_item_set_inconsistent() only affects
visual appearance, it doesn&apos;t affect the semantics of the widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_inconsistent"
c:identifier="gtk_check_menu_item_get_inconsistent"
doc="Retrieves the value set by gtk_check_menu_item_set_inconsistent().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_draw_as_radio"
c:identifier="gtk_check_menu_item_set_draw_as_radio"
doc="Sets whether @check_menu_item is drawn like a #GtkRadioMenuItem"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="draw_as_radio" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_draw_as_radio"
c:identifier="gtk_check_menu_item_get_draw_as_radio"
doc="Returns whether @check_menu_item looks like a #GtkRadioMenuItem"
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_toggle"
c:identifier="gtk_check_menu_item_set_show_toggle">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="always" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="active" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="draw-as-radio" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="inconsistent" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="menu_item">
<type name="MenuItem" c:type="GtkMenuItem"/>
</field>
<field name="active" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="always_show_toggle" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="inconsistent" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="draw_as_radio" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="toggled">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="CheckMenuItemClass"
c:type="GtkCheckMenuItemClass"
glib:is-gtype-struct-for="CheckMenuItem">
<field name="parent_class">
<type name="MenuItemClass" c:type="GtkMenuItemClass"/>
</field>
<field name="toggled">
<callback name="toggled" c:type="toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="check_menu_item" transfer-ownership="none">
<type name="CheckMenuItem" c:type="GtkCheckMenuItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_indicator">
<callback name="draw_indicator" c:type="draw_indicator">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="check_menu_item" transfer-ownership="none">
<type name="CheckMenuItem" c:type="GtkCheckMenuItem*"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Clipboard"
c:type="GtkClipboard"
parent="GObject.Object"
glib:type-name="GtkClipboard"
glib:get-type="gtk_clipboard_get_type">
<function name="get_for_display"
c:identifier="gtk_clipboard_get_for_display"
doc="to use.
Returns the clipboard object for the given selection.
Cut/copy/paste menu items and keyboard shortcuts should use
the default clipboard, returned by passing %GDK_SELECTION_CLIPBOARD for @selection.
(%GDK_NONE is supported as a synonym for GDK_SELECTION_CLIPBOARD
for backwards compatibility reasons.)
The currently-selected object or text should be provided on the clipboard
identified by #GDK_SELECTION_PRIMARY. Cut/copy/paste menu items
conceptually copy the contents of the #GDK_SELECTION_PRIMARY clipboard
to the default clipboard, i.e. they copy the selection to what the
user sees as the clipboard.
(Passing #GDK_NONE is the same as using &lt;literal&gt;gdk_atom_intern
(&quot;CLIPBOARD&quot;, FALSE)&lt;/literal&gt;. See &lt;ulink
url=&quot;http://www.freedesktop.org/Standards/clipboards-spec&quot;&gt;
http://www.freedesktop.org/Standards/clipboards-spec&lt;/ulink&gt;
for a detailed discussion of the &quot;CLIPBOARD&quot; vs. &quot;PRIMARY&quot;
selections under the X window system. On Win32 the
#GDK_SELECTION_PRIMARY clipboard is essentially ignored.)
It&apos;s possible to have arbitrary named clipboards; if you do invent
new clipboards, you should prefix the selection name with an
underscore (because the ICCCM requires that nonstandard atoms are
underscore-prefixed), and namespace it as well. For example,
if your application called &quot;Foo&quot; has a special-purpose
clipboard, you might call it &quot;_FOO_SPECIAL_CLIPBOARD&quot;.
clipboard already exists, a new one will
be created. Once a clipboard object has
been created, it is persistent and, since
it is owned by GTK+, must not be freed or
unrefd."
version="2.2">
<return-value transfer-ownership="none"
doc="the appropriate clipboard object. If no">
<type name="Clipboard" c:type="GtkClipboard*"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</parameter>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</function>
<function name="get"
c:identifier="gtk_clipboard_get"
doc="Returns the clipboard object for the given selection.
See gtk_clipboard_get_for_display() for complete details.
already exists, a new one will be created. Once a clipboard
object has been created, it is persistent and, since it is
owned by GTK+, must not be freed or unreffed.">
<return-value transfer-ownership="none"
doc="the appropriate clipboard object. If no clipboard">
<type name="Clipboard" c:type="GtkClipboard*"/>
</return-value>
<parameters>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</function>
<method name="get_display"
c:identifier="gtk_clipboard_get_display"
doc="Gets the #GdkDisplay associated with @clipboard"
version="2.2">
<return-value transfer-ownership="full">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</return-value>
</method>
<method name="set_with_data"
c:identifier="gtk_clipboard_set_with_data"
doc="clipboard data
be called, and @get_func will not be subsequently called.
Virtually sets the contents of the specified clipboard by providing
a list of supported formats for the clipboard data and a function
to call to get the actual data when it is requested.
the clipboard data failed the provided callback functions
will be ignored.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="get_func" transfer-ownership="none" scope="call">
<type name="ClipboardGetFunc" c:type="GtkClipboardGetFunc"/>
</parameter>
<parameter name="clear_func"
transfer-ownership="none"
scope="call"
closure="5">
<type name="ClipboardClearFunc" c:type="GtkClipboardClearFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_with_owner"
c:identifier="gtk_clipboard_set_with_owner"
doc="clipboard data
be called, and @get_func will not be subsequently called.
to the callbacks when called.
Virtually sets the contents of the specified clipboard by providing
a list of supported formats for the clipboard data and a function
to call to get the actual data when it is requested.
The difference between this function and gtk_clipboard_set_with_data()
is that instead of an generic @user_data pointer, a #GObject is passed
in.
the clipboard data failed the provided callback functions
will be ignored.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="get_func" transfer-ownership="none" scope="call">
<type name="ClipboardGetFunc" c:type="GtkClipboardGetFunc"/>
</parameter>
<parameter name="clear_func" transfer-ownership="none" scope="call">
<type name="ClipboardClearFunc" c:type="GtkClipboardClearFunc"/>
</parameter>
<parameter name="owner" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
</parameters>
</method>
<method name="get_owner"
c:identifier="gtk_clipboard_get_owner"
doc="If the clipboard contents callbacks were set with
gtk_clipboard_set_with_owner(), and the gtk_clipboard_set_with_data() or
gtk_clipboard_clear() has not subsequently called, returns the owner set
by gtk_clipboard_set_with_owner().">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
</method>
<method name="clear"
c:identifier="gtk_clipboard_clear"
doc="Clears the contents of the clipboard. Generally this should only
be called between the time you call gtk_clipboard_set_with_owner()
or gtk_clipboard_set_with_data(),
and when the @clear_func you supplied is called. Otherwise, the
clipboard may be owned by someone else.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_text"
c:identifier="gtk_clipboard_set_text"
doc="the length will be determined with &lt;function&gt;strlen()&lt;/function&gt;.
Sets the contents of the clipboard to the given UTF-8 string. GTK+ will
make a copy of the text and take responsibility for responding
for requests for the text, and for converting the text into
the requested format.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_image"
c:identifier="gtk_clipboard_set_image"
doc="Sets the contents of the clipboard to the given #GdkPixbuf.
GTK+ will take responsibility for responding for requests
for the image, and for converting the image into the
requested format."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="request_contents"
c:identifier="gtk_clipboard_request_contents"
doc="owner should convert the selection.
(or the retrieval fails). If the retrieval fails
the length field of @selection_data will be
negative.
Requests the contents of clipboard as the given target.
When the results of the result are later received the supplied callback
will be called.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="3">
<type name="ClipboardReceivedFunc"
c:type="GtkClipboardReceivedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="request_text"
c:identifier="gtk_clipboard_request_text"
doc="or the retrieval fails. (It will always be called
one way or the other.)
Requests the contents of the clipboard as text. When the text is
later received, it will be converted to UTF-8 if necessary, and
The @text parameter to @callback will contain the resulting text if
the request succeeded, or %NULL if it failed. This could happen for
various reasons, in particular if the clipboard was empty or if the
contents of the clipboard could not be converted into text form.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="2">
<type name="ClipboardTextReceivedFunc"
c:type="GtkClipboardTextReceivedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="request_rich_text"
c:identifier="gtk_clipboard_request_rich_text"
doc="or the retrieval fails. (It will always be called
one way or the other.)
Requests the contents of the clipboard as rich text. When the rich
text is later received, @callback will be called.
The @text parameter to @callback will contain the resulting rich
text if the request succeeded, or %NULL if it failed. The @length
parameter will contain @text&apos;s length. This function can fail for
various reasons, in particular if the clipboard was empty or if the
contents of the clipboard could not be converted into rich text form."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="3">
<type name="ClipboardRichTextReceivedFunc"
c:type="GtkClipboardRichTextReceivedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="request_image"
c:identifier="gtk_clipboard_request_image"
doc="or the retrieval fails. (It will always be called
one way or the other.)
Requests the contents of the clipboard as image. When the image is
later received, it will be converted to a #GdkPixbuf, and
The @pixbuf parameter to @callback will contain the resulting
#GdkPixbuf if the request succeeded, or %NULL if it failed. This
could happen for various reasons, in particular if the clipboard
was empty or if the contents of the clipboard could not be
converted into an image."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="2">
<type name="ClipboardImageReceivedFunc"
c:type="GtkClipboardImageReceivedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="request_uris"
c:identifier="gtk_clipboard_request_uris"
doc="or the retrieval fails. (It will always be called
one way or the other.)
Requests the contents of the clipboard as URIs. When the URIs are
later received @callback will be called.
The @uris parameter to @callback will contain the resulting array of
URIs if the request succeeded, or %NULL if it failed. This could happen
for various reasons, in particular if the clipboard was empty or if the
contents of the clipboard could not be converted into URI form."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="2">
<type name="ClipboardURIReceivedFunc"
c:type="GtkClipboardURIReceivedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="request_targets"
c:identifier="gtk_clipboard_request_targets"
doc="or the retrieval fails. (It will always be called
one way or the other.)
Requests the contents of the clipboard as list of supported targets.
When the list is later received, @callback will be called.
The @targets parameter to @callback will contain the resulting targets if
the request succeeded, or %NULL if it failed."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="2">
<type name="ClipboardTargetsReceivedFunc"
c:type="GtkClipboardTargetsReceivedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="wait_for_contents"
c:identifier="gtk_clipboard_wait_for_contents"
doc="owner should convert the selection.
Requests the contents of the clipboard using the given target.
This function waits for the data to be received using the main
loop, so events, timeouts, etc, may be dispatched during the wait.
if retrieving the given target failed. If non-%NULL,
this value must be freed with gtk_selection_data_free()
when you are finished with it.">
<return-value transfer-ownership="full">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</return-value>
<parameters>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</method>
<method name="wait_for_text"
c:identifier="gtk_clipboard_wait_for_text"
doc="Requests the contents of the clipboard as text and converts
the result to UTF-8 if necessary. This function waits for
the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
be freed with g_free(), or %NULL if retrieving
the selection data failed. (This could happen
for various reasons, in particular if the
clipboard was empty or if the contents of the
clipboard could not be converted into text form.)">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="wait_for_rich_text"
c:identifier="gtk_clipboard_wait_for_rich_text"
doc="Requests the contents of the clipboard as rich text. This function
waits for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
be freed with g_free(), or %NULL if retrieving
the selection data failed. (This could happen
for various reasons, in particular if the
clipboard was empty or if the contents of the
clipboard could not be converted into text form.)"
version="2.10">
<return-value transfer-ownership="full">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</parameter>
<parameter name="length" direction="out" transfer-ownership="full">
<type name="size_t" c:type="gsize*"/>
</parameter>
</parameters>
</method>
<method name="wait_for_image"
c:identifier="gtk_clipboard_wait_for_image"
doc="Requests the contents of the clipboard as image and converts
the result to a #GdkPixbuf. This function waits for
the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
be disposed with g_object_unref(), or %NULL if
retrieving the selection data failed. (This
could happen for various reasons, in particular
if the clipboard was empty or if the contents of
the clipboard could not be converted into an image.)"
version="2.6">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="wait_for_uris"
c:identifier="gtk_clipboard_wait_for_uris"
doc="Requests the contents of the clipboard as URIs. This function waits
for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
%NULL-terminated array of strings which must
be freed with g_strfreev(), or %NULL if
retrieving the selection data failed. (This
could happen for various reasons, in particular
if the clipboard was empty or if the contents of
the clipboard could not be converted into URI form.)"
version="2.14">
<return-value transfer-ownership="full" doc="a newly-allocated">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
</method>
<method name="wait_for_targets"
c:identifier="gtk_clipboard_wait_for_targets">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom**"/>
</parameter>
<parameter name="n_targets"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="wait_is_text_available"
c:identifier="gtk_clipboard_wait_is_text_available"
doc="Test to see if there is text available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains any of the supported text targets. This function
waits for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
This function is a little faster than calling
gtk_clipboard_wait_for_text() since it doesn&apos;t need to retrieve
the actual text.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="wait_is_rich_text_available"
c:identifier="gtk_clipboard_wait_is_rich_text_available"
doc="Test to see if there is rich text available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains any of the supported rich text targets. This function
waits for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
This function is a little faster than calling
gtk_clipboard_wait_for_rich_text() since it doesn&apos;t need to retrieve
the actual text."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</method>
<method name="wait_is_image_available"
c:identifier="gtk_clipboard_wait_is_image_available"
doc="Test to see if there is an image available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains any of the supported image targets. This function
waits for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
This function is a little faster than calling
gtk_clipboard_wait_for_image() since it doesn&apos;t need to retrieve
the actual image data."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="wait_is_uris_available"
c:identifier="gtk_clipboard_wait_is_uris_available"
doc="Test to see if there is a list of URIs available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains the URI targets. This function
waits for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.
This function is a little faster than calling
gtk_clipboard_wait_for_uris() since it doesn&apos;t need to retrieve
the actual URI data."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="wait_is_target_available"
c:identifier="gtk_clipboard_wait_is_target_available"
doc="Checks if a clipboard supports pasting data of a given type. This
function can be used to determine if a &quot;Paste&quot; menu item should be
insensitive or not.
If you want to see if there&apos;s text available on the clipboard, use
gtk_clipboard_wait_is_text_available () instead."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</method>
<method name="set_can_store"
c:identifier="gtk_clipboard_set_can_store"
doc="or %NULL to indicate that all forms should be stored.
Hints that the clipboard data should be stored somewhere when the
application exits or when gtk_clipboard_store () is called.
This value is reset when the clipboard owner changes.
Where the clipboard data is stored is platform dependent,
see gdk_display_store_clipboard () for more information."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="store"
c:identifier="gtk_clipboard_store"
doc="Stores the current clipboard data somewhere so that it will stay
around after the application has quit."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<glib:signal name="owner-change"
doc="The ::owner-change signal is emitted when GTK+ receives an
event that indicates that the ownership of the selection
associated with @clipboard has changed."
version="2.6">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
</class>
<callback name="ClipboardClearFunc" c:type="GtkClipboardClearFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="user_data_or_owner" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClipboardGetFunc" c:type="GtkClipboardGetFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="user_data_or_owner" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClipboardImageReceivedFunc"
c:type="GtkClipboardImageReceivedFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClipboardReceivedFunc" c:type="GtkClipboardReceivedFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClipboardRichTextReceivedFunc"
c:type="GtkClipboardRichTextReceivedFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClipboardTargetsReceivedFunc"
c:type="GtkClipboardTargetsReceivedFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="atoms" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</parameter>
<parameter name="n_atoms" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClipboardTextReceivedFunc"
c:type="GtkClipboardTextReceivedFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="ClipboardURIReceivedFunc"
c:type="GtkClipboardURIReceivedFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="uris" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="ColorButton"
c:type="GtkColorButton"
parent="Button"
glib:type-name="GtkColorButton"
glib:get-type="gtk_color_button_get_type"
glib:type-struct="ColorButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_color_button_new"
doc="Creates a new color button. This returns a widget in the form of
a small button containing a swatch representing the current selected
color. When the button is clicked, a color-selection dialog will open,
allowing the user to select a color. The swatch will be updated to reflect
the new color when the user finishes."
version="2.4">
<return-value transfer-ownership="full">
<type name="ColorButton" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_color"
c:identifier="gtk_color_button_new_with_color"
doc="Creates a new color button."
version="2.4">
<return-value transfer-ownership="full">
<type name="ColorButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</constructor>
<method name="set_color"
c:identifier="gtk_color_button_set_color"
doc="Sets the current color to be @color."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="set_alpha"
c:identifier="gtk_color_button_set_alpha"
doc="Sets the current opacity to be @alpha."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="alpha" transfer-ownership="none">
<type name="uint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<method name="get_color"
c:identifier="gtk_color_button_get_color"
doc="Sets @color to be the current color in the #GtkColorButton widget."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="get_alpha"
c:identifier="gtk_color_button_get_alpha"
doc="Returns the current alpha value."
version="2.4">
<return-value transfer-ownership="none">
<type name="uint16" c:type="guint16"/>
</return-value>
</method>
<method name="set_use_alpha"
c:identifier="gtk_color_button_set_use_alpha"
doc="Sets whether or not the color button should use the alpha channel."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_alpha" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_alpha"
c:identifier="gtk_color_button_get_use_alpha"
doc="Does the color selection dialog use the alpha channel?"
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_title"
c:identifier="gtk_color_button_set_title"
doc="Sets the title for the color selection dialog."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_title"
c:identifier="gtk_color_button_get_title"
doc="Gets the title of the color selection dialog."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<property name="alpha"
version="2.4"
writable="1"
doc="The selected opacity value (0 fully transparent, 65535 fully opaque).">
<type name="uint" c:type="guint"/>
</property>
<property name="color"
version="2.4"
writable="1"
doc="The selected color.">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="title"
version="2.4"
writable="1"
doc="The title of the color selection dialog">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="use-alpha"
version="2.4"
writable="1"
doc="If this property is set to %TRUE, the color swatch on the button is rendered against a
checkerboard background to show its opacity and the opacity slider is displayed in the
color selection dialog.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="button">
<type name="Button" c:type="GtkButton"/>
</field>
<field name="priv">
<type name="ColorButtonPrivate" c:type="GtkColorButtonPrivate*"/>
</field>
<glib:signal name="color-set"
doc="The ::color-set signal is emitted when the user selects a color.
When handling this signal, use gtk_color_button_get_color() and
gtk_color_button_get_alpha() to find out which color was just selected.
Note that this signal is only emitted when the &lt;emphasis&gt;user&lt;/emphasis&gt;
changes the color. If you need to react to programmatic color changes
as well, use the notify::color signal."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ColorButtonClass"
c:type="GtkColorButtonClass"
glib:is-gtype-struct-for="ColorButton">
<field name="parent_class">
<type name="ButtonClass" c:type="GtkButtonClass"/>
</field>
<field name="color_set">
<callback name="color_set" c:type="color_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cp" transfer-ownership="none">
<type name="ColorButton" c:type="GtkColorButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ColorButtonPrivate" c:type="GtkColorButtonPrivate">
</record>
<class name="ColorSelection"
c:type="GtkColorSelection"
parent="VBox"
glib:type-name="GtkColorSelection"
glib:get-type="gtk_color_selection_get_type"
glib:type-struct="ColorSelectionClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_color_selection_new"
doc="Creates a new GtkColorSelection.">
<return-value transfer-ownership="full">
<type name="ColorSelection" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="palette_from_string"
c:identifier="gtk_color_selection_palette_from_string"
doc="Parses a color palette string; the string is a colon-separated
list of color names readable by gdk_color_parse().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="colors" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor**"/>
</parameter>
<parameter name="n_colors" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</function>
<function name="palette_to_string"
c:identifier="gtk_color_selection_palette_to_string"
doc="Encodes a palette as a string, useful for persistent storage.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="colors" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
<parameter name="n_colors" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="set_change_palette_hook"
c:identifier="gtk_color_selection_set_change_palette_hook"
doc="Installs a global function to be called whenever the user tries to
modify the palette in a color selection. This function should save
the new palette contents, and update the GtkSettings property
&quot;gtk-color-palette&quot; so all GtkColorSelection widgets will be modified.
Use gtk_color_selection_set_change_palette_with_screen_hook() instead."
deprecated="This function does not work in multihead environments."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="ColorSelectionChangePaletteFunc"
c:type="GtkColorSelectionChangePaletteFunc"/>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" scope="call">
<type name="ColorSelectionChangePaletteFunc"
c:type="GtkColorSelectionChangePaletteFunc"/>
</parameter>
</parameters>
</function>
<function name="set_change_palette_with_screen_hook"
c:identifier="gtk_color_selection_set_change_palette_with_screen_hook"
doc="Installs a global function to be called whenever the user tries to
modify the palette in a color selection. This function should save
the new palette contents, and update the GtkSettings property
&quot;gtk-color-palette&quot; so all GtkColorSelection widgets will be modified."
version="2.2">
<return-value transfer-ownership="full">
<type name="ColorSelectionChangePaletteWithScreenFunc"
c:type="GtkColorSelectionChangePaletteWithScreenFunc"/>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" scope="call">
<type name="ColorSelectionChangePaletteWithScreenFunc"
c:type="GtkColorSelectionChangePaletteWithScreenFunc"/>
</parameter>
</parameters>
</function>
<method name="get_has_opacity_control"
c:identifier="gtk_color_selection_get_has_opacity_control"
doc="Determines whether the colorsel has an opacity control.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_has_opacity_control"
c:identifier="gtk_color_selection_set_has_opacity_control"
doc="Sets the @colorsel to use or not use opacity.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="has_opacity" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_palette"
c:identifier="gtk_color_selection_get_has_palette"
doc="Determines whether the color selector has a color palette.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_has_palette"
c:identifier="gtk_color_selection_set_has_palette"
doc="Shows and hides the palette based upon the value of @has_palette.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="has_palette" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_current_color"
c:identifier="gtk_color_selection_set_current_color"
doc="Sets the current color to be @color. The first time this is called, it will
also set the original color to be @color too.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="set_current_alpha"
c:identifier="gtk_color_selection_set_current_alpha"
doc="Sets the current opacity to be @alpha. The first time this is called, it will
also set the original opacity to be @alpha too.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="alpha" transfer-ownership="none">
<type name="uint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<method name="get_current_color"
c:identifier="gtk_color_selection_get_current_color"
doc="Sets @color to be the current color in the GtkColorSelection widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="get_current_alpha"
c:identifier="gtk_color_selection_get_current_alpha"
doc="Returns the current alpha value.">
<return-value transfer-ownership="none">
<type name="uint16" c:type="guint16"/>
</return-value>
</method>
<method name="set_previous_color"
c:identifier="gtk_color_selection_set_previous_color"
doc="Sets the &apos;previous&apos; color to be @color. This function should be called with
some hesitations, as it might seem confusing to have that color change.
Calling gtk_color_selection_set_current_color() will also set this color the first
time it is called.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="set_previous_alpha"
c:identifier="gtk_color_selection_set_previous_alpha"
doc="Sets the &apos;previous&apos; alpha to be @alpha. This function should be called with
some hesitations, as it might seem confusing to have that alpha change.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="alpha" transfer-ownership="none">
<type name="uint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<method name="get_previous_color"
c:identifier="gtk_color_selection_get_previous_color"
doc="Fills @color in with the original color value.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="get_previous_alpha"
c:identifier="gtk_color_selection_get_previous_alpha"
doc="Returns the previous alpha value.">
<return-value transfer-ownership="none">
<type name="uint16" c:type="guint16"/>
</return-value>
</method>
<method name="is_adjusting"
c:identifier="gtk_color_selection_is_adjusting"
doc="Gets the current state of the @colorsel.
if the selection has stopped.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_color"
c:identifier="gtk_color_selection_set_color"
doc="to set the current color to.
Sets the current color to be @color. The first time this is called, it will
also set the original color to be @color too."
deprecated="Use gtk_color_selection_set_current_color() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="get_color"
c:identifier="gtk_color_selection_get_color"
doc="Sets @color to be the current color in the GtkColorSelection widget."
deprecated="Use gtk_color_selection_get_current_color() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="set_update_policy"
c:identifier="gtk_color_selection_set_update_policy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="policy" transfer-ownership="none">
<type name="UpdateType" c:type="GtkUpdateType"/>
</parameter>
</parameters>
</method>
<property name="current-alpha" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="current-color" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="has-opacity-control" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="has-palette" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="VBox" c:type="GtkVBox"/>
</field>
<field name="private_data">
<type name="any" c:type="gpointer"/>
</field>
<glib:signal name="color-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<callback name="ColorSelectionChangePaletteFunc"
c:type="GtkColorSelectionChangePaletteFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="colors" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
<parameter name="n_colors" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
<callback name="ColorSelectionChangePaletteWithScreenFunc"
c:type="GtkColorSelectionChangePaletteWithScreenFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
<parameter name="colors" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
<parameter name="n_colors" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
<record name="ColorSelectionClass"
c:type="GtkColorSelectionClass"
glib:is-gtype-struct-for="ColorSelection">
<field name="parent_class">
<type name="VBoxClass" c:type="GtkVBoxClass"/>
</field>
<field name="color_changed">
<callback name="color_changed" c:type="color_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="color_selection" transfer-ownership="none">
<type name="ColorSelection" c:type="GtkColorSelection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="ColorSelectionDialog"
c:type="GtkColorSelectionDialog"
parent="Dialog"
glib:type-name="GtkColorSelectionDialog"
glib:get-type="gtk_color_selection_dialog_get_type"
glib:type-struct="ColorSelectionDialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_color_selection_dialog_new">
<return-value transfer-ownership="full">
<type name="ColorSelectionDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_color_selection"
c:identifier="gtk_color_selection_dialog_get_color_selection"
doc="Retrieves the #GtkColorSelection widget embedded in the dialog."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<property name="cancel-button">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="color-selection">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="help-button">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="ok-button">
<type name="Widget" c:type="GtkWidget"/>
</property>
<field name="parent_instance">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="colorsel">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="ok_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="cancel_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="help_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</class>
<record name="ColorSelectionDialogClass"
c:type="GtkColorSelectionDialogClass"
glib:is-gtype-struct-for="ColorSelectionDialog">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Combo"
c:type="GtkCombo"
parent="HBox"
glib:type-name="GtkCombo"
glib:get-type="gtk_combo_get_type"
glib:type-struct="ComboClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_combo_new">
<return-value transfer-ownership="full">
<type name="Combo" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="set_value_in_list"
c:identifier="gtk_combo_set_value_in_list">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="ok_if_empty" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_use_arrows" c:identifier="gtk_combo_set_use_arrows">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_use_arrows_always"
c:identifier="gtk_combo_set_use_arrows_always">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_case_sensitive"
c:identifier="gtk_combo_set_case_sensitive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_item_string" c:identifier="gtk_combo_set_item_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="Item" c:type="GtkItem*"/>
</parameter>
<parameter name="item_value" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_popdown_strings"
c:identifier="gtk_combo_set_popdown_strings">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="strings" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</method>
<method name="disable_activate"
c:identifier="gtk_combo_disable_activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="allow-empty" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="case-sensitive" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="enable-arrow-keys" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="enable-arrows-always" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="value-in-list" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="hbox">
<type name="HBox" c:type="GtkHBox"/>
</field>
<field name="entry">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="popup">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="popwin">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="entry_change_id">
<type name="uint" c:type="guint"/>
</field>
<field name="list_change_id">
<type name="uint" c:type="guint"/>
</field>
<field name="value_in_list" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="ok_if_empty" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="case_sensitive" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_arrows" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_arrows_always" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="current_button">
<type name="uint16" c:type="guint16"/>
</field>
<field name="activate_id">
<type name="uint" c:type="guint"/>
</field>
</class>
<class name="ComboBox"
c:type="GtkComboBox"
parent="Bin"
glib:type-name="GtkComboBox"
glib:get-type="gtk_combo_box_get_type"
glib:type-struct="ComboBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="CellEditable"/>
<implements name="CellLayout"/>
<constructor name="new"
c:identifier="gtk_combo_box_new"
doc="Creates a new empty #GtkComboBox."
version="2.4">
<return-value transfer-ownership="full">
<type name="ComboBox" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_model"
c:identifier="gtk_combo_box_new_with_model"
doc="Creates a new #GtkComboBox with the model initialized to @model."
version="2.4">
<return-value transfer-ownership="full">
<type name="ComboBox" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_text"
c:identifier="gtk_combo_box_new_text"
doc="Convenience function which constructs a new text combo box, which is a
#GtkComboBox just displaying strings. If you use this function to create
a text combo box, you should only manipulate its data source with the
gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and
gtk_combo_box_remove_text()."
version="2.4">
<return-value transfer-ownership="none" doc="A new text combo box.">
<type name="ComboBox" c:type="GtkWidget*"/>
</return-value>
</constructor>
<virtual-method name="get_active_text" invoker="get_active_text">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</virtual-method>
<method name="get_wrap_width"
c:identifier="gtk_combo_box_get_wrap_width"
doc="Returns the wrap width which is used to determine the number of columns
for the popup menu. If the wrap width is larger than 1, the combo box
is in table mode."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_wrap_width"
c:identifier="gtk_combo_box_set_wrap_width"
doc="Sets the wrap width of @combo_box to be @width. The wrap width is basically
the preferred number of columns when you want the popup to be layed out
in a table."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_row_span_column"
c:identifier="gtk_combo_box_get_row_span_column"
doc="Returns the column with row span information for @combo_box."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_row_span_column"
c:identifier="gtk_combo_box_set_row_span_column"
doc="Sets the column with row span information for @combo_box to be @row_span.
The row span column contains integers which indicate how many rows
an item should span."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row_span" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_column_span_column"
c:identifier="gtk_combo_box_get_column_span_column"
doc="Returns the column with column span information for @combo_box."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_column_span_column"
c:identifier="gtk_combo_box_set_column_span_column"
doc="Sets the column with column span information for @combo_box to be
how many columns an item should span."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column_span" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_add_tearoffs"
c:identifier="gtk_combo_box_get_add_tearoffs"
doc="Gets the current value of the :add-tearoffs property.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_add_tearoffs"
c:identifier="gtk_combo_box_set_add_tearoffs"
doc="Sets whether the popup menu should have a tearoff
menu item."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="add_tearoffs" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_title"
c:identifier="gtk_combo_box_get_title"
doc="Gets the current title of the menu in tearoff mode. See
gtk_combo_box_set_add_tearoffs().
string which must not be freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_title"
c:identifier="gtk_combo_box_set_title"
doc="Sets the menu&apos;s title in tearoff mode."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_focus_on_click"
c:identifier="gtk_combo_box_get_focus_on_click"
doc="Returns whether the combo box grabs focus when it is clicked
with the mouse. See gtk_combo_box_set_focus_on_click().
clicked with the mouse."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_focus_on_click"
c:identifier="gtk_combo_box_set_focus_on_click"
doc="with the mouse
Sets whether the combo box will grab focus when it is clicked with
the mouse. Making mouse clicks not grab focus is useful in places
like toolbars where you don&apos;t want the keyboard focus removed from
the main area of the application."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="focus_on_click" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_active"
c:identifier="gtk_combo_box_get_active"
doc="Returns the index of the currently active item, or -1 if there&apos;s no
active item. If the model is a non-flat treemodel, and the active item
is not an immediate child of the root of the tree, this function returns
&lt;literal&gt;gtk_tree_path_get_indices (path)[0]&lt;/literal&gt;, where
&lt;literal&gt;path&lt;/literal&gt; is the #GtkTreePath of the active item.
or -1 if there&apos;s no active item."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_active"
c:identifier="gtk_combo_box_set_active"
doc="no active item
Sets the active item of @combo_box to be the item at @index."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_active_iter"
c:identifier="gtk_combo_box_get_active_iter"
doc="Sets @iter to point to the current active item, if it exists."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="set_active_iter"
c:identifier="gtk_combo_box_set_active_iter"
doc="Sets the current active item to be the one referenced by @iter, or
unsets the active item if @iter is %NULL."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="set_model"
c:identifier="gtk_combo_box_set_model"
doc="Sets the model used by @combo_box to be @model. Will unset a previously set
model (if applicable). If model is %NULL, then it will unset the model.
Note that this function does not clear the cell renderers, you have to
call gtk_cell_layout_clear() yourself if you need to set up different
cell renderers for the new model."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreeModel">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</method>
<method name="get_model" c:identifier="gtk_combo_box_get_model">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="get_row_separator_func"
c:identifier="gtk_combo_box_get_row_separator_func"
doc="Returns the current row separator function."
version="2.6">
<return-value transfer-ownership="full">
<type name="TreeViewRowSeparatorFunc"
c:type="GtkTreeViewRowSeparatorFunc"/>
</return-value>
</method>
<method name="set_row_separator_func"
c:identifier="gtk_combo_box_set_row_separator_func"
doc="Sets the row separator function, which is used to determine
whether a row should be drawn as a separator. If the row separator
function is %NULL, no separators are drawn. This is the default value."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TreeViewRowSeparatorFunc"
c:type="GtkTreeViewRowSeparatorFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="user data to pass to @func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="destroy notifier for @data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_button_sensitivity"
c:identifier="gtk_combo_box_set_button_sensitivity"
doc="Sets whether the dropdown button of the combo box should be
always sensitive (%GTK_SENSITIVITY_ON), never sensitive (%GTK_SENSITIVITY_OFF)
or only if there is at least one item to display (%GTK_SENSITIVITY_AUTO)."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sensitivity" transfer-ownership="none">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</parameter>
</parameters>
</method>
<method name="get_button_sensitivity"
c:identifier="gtk_combo_box_get_button_sensitivity"
doc="Returns whether the combo box sets the dropdown button
sensitive or not when there are no items in the model.
is sensitive when the model is empty, %GTK_SENSITIVITY_OFF
if the button is always insensitive or
%GTK_SENSITIVITY_AUTO if it is only sensitive as long as
the model has one item to be selected."
version="2.14">
<return-value transfer-ownership="full">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</return-value>
</method>
<method name="append_text"
c:identifier="gtk_combo_box_append_text"
doc="Appends @string to the list of strings stored in @combo_box. Note that
you can only use this function with combo boxes constructed with
gtk_combo_box_new_text()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="insert_text"
c:identifier="gtk_combo_box_insert_text"
doc="Inserts @string at @position in the list of strings stored in @combo_box.
Note that you can only use this function with combo boxes constructed
with gtk_combo_box_new_text()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="prepend_text"
c:identifier="gtk_combo_box_prepend_text"
doc="Prepends @string to the list of strings stored in @combo_box. Note that
you can only use this function with combo boxes constructed with
gtk_combo_box_new_text()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="remove_text"
c:identifier="gtk_combo_box_remove_text"
doc="Removes the string at @position from @combo_box. Note that you can only use
this function with combo boxes constructed with gtk_combo_box_new_text()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_active_text"
c:identifier="gtk_combo_box_get_active_text"
doc="Returns the currently active string in @combo_box or %NULL if none
is selected. Note that you can only use this function with combo
boxes constructed with gtk_combo_box_new_text() and with
#GtkComboBoxEntry&lt;!-- --&gt;s.
Must be freed with g_free()."
version="2.6">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="popup"
c:identifier="gtk_combo_box_popup"
doc="Pops up the menu or dropdown list of @combo_box.
This function is mostly intended for use by accessibility technologies;
applications should have little use for it."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="popdown"
c:identifier="gtk_combo_box_popdown"
doc="Hides the menu or dropdown list of @combo_box.
This function is mostly intended for use by accessibility technologies;
applications should have little use for it."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_popup_accessible"
c:identifier="gtk_combo_box_get_popup_accessible"
doc="Gets the accessible object corresponding to the combo box&apos;s popup.
This function is mostly intended for use by accessibility technologies;
applications should have little use for it."
version="2.6">
<return-value transfer-ownership="full">
<type name="Atk.Object" c:type="AtkObject*"/>
</return-value>
</method>
<property name="active"
version="2.4"
writable="1"
doc="The item which is currently active. If the model is a non-flat treemodel,
and the active item is not an immediate child of the root of the tree,
this property has the value
&lt;literal&gt;gtk_tree_path_get_indices (path)[0]&lt;/literal&gt;,
where &lt;literal&gt;path&lt;/literal&gt; is the #GtkTreePath of the active item.">
<type name="int" c:type="gint"/>
</property>
<property name="add-tearoffs"
version="2.6"
writable="1"
doc="The add-tearoffs property controls whether generated menus
have tearoff menu items.
Note that this only affects menu style combo boxes.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="button-sensitivity"
version="2.14"
writable="1"
doc="Whether the dropdown button is sensitive when
the model is empty.">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</property>
<property name="column-span-column"
version="2.4"
writable="1"
doc="If this is set to a non-negative value, it must be the index of a column
of type %G_TYPE_INT in the model.
The values of that column are used to determine how many columns a value
in the list will span.">
<type name="int" c:type="gint"/>
</property>
<property name="focus-on-click" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="has-frame"
version="2.6"
writable="1"
doc="The has-frame property controls whether a frame
is drawn around the entry.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="model"
version="2.4"
writable="1"
doc="The model from which the combo box takes the values shown
in the list.">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<property name="popup-shown"
version="2.10"
doc="Whether the combo boxes dropdown is popped up.
Note that this property is mainly useful, because
it allows you to connect to notify::popup-shown.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="row-span-column"
version="2.4"
writable="1"
doc="If this is set to a non-negative value, it must be the index of a column
of type %G_TYPE_INT in the model.
The values of that column are used to determine how many rows a value in
the list will span. Therefore, the values in the model column pointed to
by this property must be greater than zero and not larger than wrap-width.">
<type name="int" c:type="gint"/>
</property>
<property name="tearoff-title"
version="2.10"
writable="1"
doc="A title that may be displayed by the window manager
when the popup is torn-off.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="wrap-width"
version="2.4"
writable="1"
doc="If wrap-width is set to a positive value, the list will be
displayed in multiple columns, the number of columns is
determined by wrap-width.">
<type name="int" c:type="gint"/>
</property>
<field name="parent_instance">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="priv">
<type name="ComboBoxPrivate" c:type="GtkComboBoxPrivate*"/>
</field>
<glib:signal name="changed"
doc="The changed signal is emitted when the active
item is changed. The can be due to the user selecting
a different item from the list, or due to a
call to gtk_combo_box_set_active_iter().
It will also be emitted while typing into a GtkComboBoxEntry,
as well as when selecting an item from the GtkComboBoxEntry&apos;s list."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="move-active"
doc="The ::move-active signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to move the active selection."
version="2.12">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="popdown"
doc="The ::popdown signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popdown the combo box list.
The default bindings for this signal are Alt+Up and Escape."
version="2.12">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="popup"
doc="The ::popup signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popup the combo box list.
The default binding for this signal is Alt+Down."
version="2.12">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ComboBoxClass"
c:type="GtkComboBoxClass"
glib:is-gtype-struct-for="ComboBox">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="combo_box" transfer-ownership="none">
<type name="ComboBox" c:type="GtkComboBox*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_active_text">
<callback name="get_active_text" c:type="get_active_text">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="combo_box" transfer-ownership="none">
<type name="ComboBox" c:type="GtkComboBox*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved0">
<callback name="gtk_reserved0" c:type="_gtk_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="ComboBoxEntry"
c:type="GtkComboBoxEntry"
parent="ComboBox"
glib:type-name="GtkComboBoxEntry"
glib:get-type="gtk_combo_box_entry_get_type"
glib:type-struct="ComboBoxEntryClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="CellEditable"/>
<implements name="CellLayout"/>
<constructor name="new"
c:identifier="gtk_combo_box_entry_new"
doc="Creates a new #GtkComboBoxEntry which has a #GtkEntry as child. After
construction, you should set a model using gtk_combo_box_set_model() and a
text column using gtk_combo_box_entry_set_text_column()."
version="2.4">
<return-value transfer-ownership="full">
<type name="ComboBoxEntry" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_model"
c:identifier="gtk_combo_box_entry_new_with_model"
doc="Creates a new #GtkComboBoxEntry which has a #GtkEntry as child and a list
of strings as popup. You can get the #GtkEntry from a #GtkComboBoxEntry
using GTK_ENTRY (GTK_BIN (combo_box_entry)-&gt;child). To add and remove
strings from the list, just modify @model using its data manipulation
API."
version="2.4">
<return-value transfer-ownership="full">
<type name="ComboBoxEntry" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="text_column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_text"
c:identifier="gtk_combo_box_entry_new_text"
doc="Convenience function which constructs a new editable text combo box, which
is a #GtkComboBoxEntry just displaying strings. If you use this function to
create a text combo box, you should only manipulate its data source with
gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and
gtk_combo_box_remove_text()."
version="2.4">
<return-value transfer-ownership="full">
<type name="ComboBoxEntry" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="set_text_column"
c:identifier="gtk_combo_box_entry_set_text_column"
doc="Sets the model column which @entry_box should use to get strings from
to be @text_column."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_text_column"
c:identifier="gtk_combo_box_entry_get_text_column"
doc="Returns the column which @entry_box is using to get the strings from."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<property name="text-column" writable="1">
<type name="int" c:type="gint"/>
</property>
<field name="parent_instance">
<type name="ComboBox" c:type="GtkComboBox"/>
</field>
<field name="priv">
<type name="ComboBoxEntryPrivate" c:type="GtkComboBoxEntryPrivate*"/>
</field>
</class>
<record name="ComboBoxEntryClass"
c:type="GtkComboBoxEntryClass"
glib:is-gtype-struct-for="ComboBoxEntry">
<field name="parent_class">
<type name="ComboBoxClass" c:type="GtkComboBoxClass"/>
</field>
<field name="gtk_reserved0">
<callback name="gtk_reserved0" c:type="_gtk_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ComboBoxEntryPrivate" c:type="GtkComboBoxEntryPrivate">
</record>
<record name="ComboBoxPrivate" c:type="GtkComboBoxPrivate">
</record>
<record name="ComboClass"
c:type="GtkComboClass"
glib:is-gtype-struct-for="Combo">
<field name="parent_class">
<type name="HBoxClass" c:type="GtkHBoxClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Container"
c:type="GtkContainer"
parent="Widget"
abstract="1"
glib:type-name="GtkContainer"
glib:get-type="gtk_container_get_type"
glib:type-struct="ContainerClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<function name="class_find_child_property"
c:identifier="gtk_container_class_find_child_property"
doc="child property with that name.
Finds a child property of a container class by name.">
<return-value transfer-ownership="full"
doc="the #GParamSpec of the child property or %NULL if @class has no">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="cclass" transfer-ownership="none">
<type name="GObject.ObjectClass" c:type="GObjectClass*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="class_list_child_properties"
c:identifier="gtk_container_class_list_child_properties"
doc="The array must be freed with g_free().
Returns all child properties of a container class.">
<return-value transfer-ownership="full">
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</return-value>
<parameters>
<parameter name="cclass" transfer-ownership="none">
<type name="GObject.ObjectClass" c:type="GObjectClass*"/>
</parameter>
<parameter name="n_properties"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<virtual-method name="forall">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="include_internals" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="callback" transfer-ownership="none">
<type name="Callback" c:type="GtkCallback"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="child_type" invoker="child_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</virtual-method>
<virtual-method name="composite_name">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_child_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_child_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_border_width"
c:identifier="gtk_container_set_border_width"
doc="the container. Valid values are in the range 0-65535 pixels.
Sets the border width of the container.
The border width of a container is the amount of space to leave
around the outside of the container. The only exception to this is
#GtkWindow; because toplevel windows can&apos;t leave space outside,
they leave the space inside. The border is added on all sides of
the container. To add space to only one side, one approach is to
create a #GtkAlignment widget, call gtk_widget_set_size_request()
to give it a size, and place it on the side of the container as
a spacer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="border_width" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_border_width"
c:identifier="gtk_container_get_border_width"
doc="Retrieves the border width of the container. See
gtk_container_set_border_width().">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="add"
c:identifier="gtk_container_add"
doc="Adds @widget to @container. Typically used for simple containers
such as #GtkWindow, #GtkFrame, or #GtkButton; for more complicated
layout containers such as #GtkBox or #GtkTable, this function will
pick default packing parameters that may not be correct. So
consider functions such as gtk_box_pack_start() and
gtk_table_attach() as an alternative to gtk_container_add() in
those cases. A widget may be added to only one container at a time;
you can&apos;t place the same widget inside two different containers.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="remove"
c:identifier="gtk_container_remove"
doc="Removes @widget from @container. @widget must be inside @container.
Note that @container will own a reference to @widget, and that this
may be the last reference held; so removing a widget from its
container can destroy that widget. If you want to use @widget
again, you need to add a reference to it while it&apos;s not inside
a container, using g_object_ref(). If you don&apos;t want to use @widget
again it&apos;s usually more efficient to simply destroy it directly
using gtk_widget_destroy() since this will remove it from the
container and help break any circular reference count cycles.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_resize_mode"
c:identifier="gtk_container_set_resize_mode"
doc="Sets the resize mode for the container.
The resize mode of a container determines whether a resize request
will be passed to the container&apos;s parent, queued for later execution
or executed immediately.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="resize_mode" transfer-ownership="none">
<type name="ResizeMode" c:type="GtkResizeMode"/>
</parameter>
</parameters>
</method>
<method name="get_resize_mode"
c:identifier="gtk_container_get_resize_mode"
doc="Returns the resize mode for the container. See
gtk_container_set_resize_mode ().">
<return-value transfer-ownership="full">
<type name="ResizeMode" c:type="GtkResizeMode"/>
</return-value>
</method>
<method name="check_resize" c:identifier="gtk_container_check_resize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="foreach"
c:identifier="gtk_container_foreach"
doc="Invokes @callback on each non-internal child of @container. See
gtk_container_forall() for details on what constitutes an
&quot;internal&quot; child. Most applications should use
gtk_container_foreach(), rather than gtk_container_forall().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="2">
<type name="Callback" c:type="GtkCallback"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="foreach_full" c:identifier="gtk_container_foreach_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback" transfer-ownership="none" scope="call">
<type name="Callback" c:type="GtkCallback"/>
</parameter>
<parameter name="marshal"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="CallbackMarshal" c:type="GtkCallbackMarshal"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_children"
c:identifier="gtk_container_get_children"
doc="Returns the container&apos;s non-internal children. See
gtk_container_forall() for details on what constitutes an &quot;internal&quot; child.">
<return-value transfer-ownership="container"
doc="a newly-allocated list of the container&apos;s non-internal children.">
<type name="GLib.List" c:type="GList*">
<type name="Widget"/>
</type>
</return-value>
</method>
<method name="propagate_expose"
c:identifier="gtk_container_propagate_expose"
doc="When a container receives an expose event, it must send synthetic
expose events to all children that don&apos;t have their own #GdkWindows.
This function provides a convenient way of doing this. A container,
when it receives an expose event, calls gtk_container_propagate_expose()
once for each child, passing in the event the container received.
gtk_container_propagate_expose() takes care of deciding whether
an expose event needs to be sent to the child, intersecting
the event&apos;s area with the child area, and sending the event.
In most cases, a container can simply either simply inherit the
#GtkWidget::expose implementation from #GtkContainer, or, do some drawing
and then chain to the ::expose implementation from #GtkContainer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventExpose" c:type="GdkEventExpose*"/>
</parameter>
</parameters>
</method>
<method name="set_focus_chain"
c:identifier="gtk_container_set_focus_chain"
doc="Sets a focus chain, overriding the one computed automatically by GTK+.
In principle each widget in the chain should be a descendant of the
container, but this is not enforced by this method, since it&apos;s allowed
to set the focus chain before you pack the widgets, or have a widget
in the chain that isn&apos;t always packed. The necessary checks are done
when the focus chain is actually traversed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="focusable_widgets" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</method>
<method name="get_focus_chain"
c:identifier="gtk_container_get_focus_chain"
doc="to store the focus chain of the
container, or %NULL. You should free this list
using g_list_free() when you are done with it, however
no additional reference count is added to the
individual widgets in the focus chain.
Retrieves the focus chain of the container, if one has been
set explicitly. If no focus chain has been explicitly
set, GTK+ computes the focus chain based on the positions
of the children. In that case, GTK+ stores %NULL in
has been set explicitly.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="focusable_widgets"
direction="out"
transfer-ownership="container"
doc="location">
<type name="GLib.List" c:type="GList**">
<type name="Widget"/>
</type>
</parameter>
</parameters>
</method>
<method name="unset_focus_chain"
c:identifier="gtk_container_unset_focus_chain"
doc="Removes a focus chain explicitly set with gtk_container_set_focus_chain().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_reallocate_redraws"
c:identifier="gtk_container_set_reallocate_redraws"
doc="Sets the @reallocate_redraws flag of the container to the given value.
Containers requesting reallocation redraws get automatically
redrawn if any of their children changed allocation.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="needs_redraws" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_focus_child"
c:identifier="gtk_container_set_focus_child"
doc="Sets, or unsets if @child is %NULL, the focused child of @container.
This function emits the GtkContainer::set_focus_child signal of
default behaviour by overriding the class closure of this signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child"
transfer-ownership="none"
allow-none="1"
doc="a #GtkWidget, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_focus_child"
c:identifier="gtk_container_get_focus_child"
doc="Returns the current focus child widget inside @container.
inside @container, or %NULL if none is set."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_focus_vadjustment"
c:identifier="gtk_container_set_focus_vadjustment"
doc="is moved among the descendents of @container
Hooks up an adjustment to focus handling in a container, so when a
child of the container is focused, the adjustment is scrolled to
show that widget. This function sets the vertical alignment. See
gtk_scrolled_window_get_vadjustment() for a typical way of obtaining
the adjustment and gtk_container_set_focus_hadjustment() for setting
the horizontal adjustment.
The adjustments have to be in pixel units and in the same coordinate
system as the allocation for immediate children of the container.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_focus_vadjustment"
c:identifier="gtk_container_get_focus_vadjustment"
doc="Retrieves the vertical focus adjustment for the container. See
gtk_container_set_focus_vadjustment().
none has been set.">
<return-value transfer-ownership="none"
doc="the vertical focus adjustment, or %NULL if">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_focus_hadjustment"
c:identifier="gtk_container_set_focus_hadjustment"
doc="moved among the descendents of @container
Hooks up an adjustment to focus handling in a container, so when a child
of the container is focused, the adjustment is scrolled to show that
widget. This function sets the horizontal alignment.
See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining
the adjustment and gtk_container_set_focus_vadjustment() for setting
the vertical adjustment.
The adjustments have to be in pixel units and in the same coordinate
system as the allocation for immediate children of the container.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_focus_hadjustment"
c:identifier="gtk_container_get_focus_hadjustment"
doc="Retrieves the horizontal focus adjustment for the container. See
gtk_container_set_focus_hadjustment ().
none has been set.">
<return-value transfer-ownership="none"
doc="the horizontal focus adjustment, or %NULL if">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="resize_children"
c:identifier="gtk_container_resize_children">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="child_type"
c:identifier="gtk_container_child_type"
doc="Returns the type of the children supported by the container.
Note that this may return %G_TYPE_NONE to indicate that no more
children can be added, e.g. for a #GtkPaned which already has two
children.">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</method>
<method name="add_with_properties"
c:identifier="gtk_container_add_with_properties"
doc="with @first_prop_name
Adds @widget to @container, setting child properties at the same time.
See gtk_container_add() and gtk_container_child_set() for more details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="first_prop_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="child_set"
c:identifier="gtk_container_child_set"
doc="with @first_prop_name
Sets one or more child properties for @child and @container.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="first_prop_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="child_get"
c:identifier="gtk_container_child_get"
doc="optionally by more name/return location pairs, followed by %NULL
Gets the values of one or more child properties for @child and @container.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="first_prop_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="child_set_property"
c:identifier="gtk_container_child_set_property"
doc="Sets a child property for @child and @container.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="child_get_property"
c:identifier="gtk_container_child_get_property"
doc="Gets the value of a child property for @child and @container.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="forall"
c:identifier="gtk_container_forall"
doc="Invokes @callback on each child of @container, including children
that are considered &quot;internal&quot; (implementation details of the
container). &quot;Internal&quot; children generally weren&apos;t added by the user
of the container, but were added by the container implementation
itself. Most applications should use gtk_container_foreach(),
rather than gtk_container_forall().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="2">
<type name="Callback" c:type="GtkCallback"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<property name="border-width" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="child" readable="0" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="resize-mode" writable="1">
<type name="ResizeMode" c:type="GtkResizeMode"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="focus_child">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="border_width" bits="16">
<type name="uint" c:type="guint"/>
</field>
<field name="need_resize" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="resize_mode" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="reallocate_redraws" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_focus_chain" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="add">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="check-resize">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="remove">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-focus-child">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ContainerClass"
c:type="GtkContainerClass"
glib:is-gtype-struct-for="Container">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="add">
<callback name="add" c:type="add">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove">
<callback name="remove" c:type="remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="check_resize">
<callback name="check_resize" c:type="check_resize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="forall">
<callback name="forall" c:type="forall">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
<parameter name="include_internals" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="callback" transfer-ownership="none">
<type name="Callback" c:type="GtkCallback"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_focus_child">
<callback name="set_focus_child" c:type="set_focus_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="child_type">
<callback name="child_type" c:type="child_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="composite_name">
<callback name="composite_name" c:type="composite_name">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_child_property">
<callback name="set_child_property" c:type="set_child_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_child_property">
<callback name="get_child_property" c:type="get_child_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
<type name="Container" c:type="GtkContainer*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<method name="install_child_property"
c:identifier="gtk_container_class_install_child_property"
doc="Installs a child property on a container class.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
</record>
<enumeration name="CornerType"
glib:type-name="GtkCornerType"
glib:get-type="gtk_corner_type_get_type"
c:type="GtkCornerType">
<member name="top_left"
value="0"
c:identifier="GTK_CORNER_TOP_LEFT"
glib:nick="top-left"/>
<member name="bottom_left"
value="1"
c:identifier="GTK_CORNER_BOTTOM_LEFT"
glib:nick="bottom-left"/>
<member name="top_right"
value="2"
c:identifier="GTK_CORNER_TOP_RIGHT"
glib:nick="top-right"/>
<member name="bottom_right"
value="3"
c:identifier="GTK_CORNER_BOTTOM_RIGHT"
glib:nick="bottom-right"/>
</enumeration>
<class name="Curve"
c:type="GtkCurve"
parent="DrawingArea"
glib:type-name="GtkCurve"
glib:get-type="gtk_curve_get_type"
glib:type-struct="CurveClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_curve_new">
<return-value transfer-ownership="full">
<type name="Curve" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="reset" c:identifier="gtk_curve_reset">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_gamma" c:identifier="gtk_curve_set_gamma">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gamma_" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="set_range" c:identifier="gtk_curve_set_range">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min_x" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="max_x" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="min_y" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="max_y" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_vector" c:identifier="gtk_curve_get_vector">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="veclen" transfer-ownership="none">
<type name="int" c:type="int"/>
</parameter>
<parameter name="vector" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="set_vector" c:identifier="gtk_curve_set_vector">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="veclen" transfer-ownership="none">
<type name="int" c:type="int"/>
</parameter>
<parameter name="vector" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="set_curve_type" c:identifier="gtk_curve_set_curve_type">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="CurveType" c:type="GtkCurveType"/>
</parameter>
</parameters>
</method>
<property name="curve-type" writable="1">
<type name="CurveType" c:type="GtkCurveType"/>
</property>
<property name="max-x" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="max-y" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="min-x" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="min-y" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<field name="graph">
<type name="DrawingArea" c:type="GtkDrawingArea"/>
</field>
<field name="cursor_type">
<type name="int" c:type="gint"/>
</field>
<field name="min_x">
<type name="float" c:type="gfloat"/>
</field>
<field name="max_x">
<type name="float" c:type="gfloat"/>
</field>
<field name="min_y">
<type name="float" c:type="gfloat"/>
</field>
<field name="max_y">
<type name="float" c:type="gfloat"/>
</field>
<field name="pixmap">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="curve_type">
<type name="CurveType" c:type="GtkCurveType"/>
</field>
<field name="height">
<type name="int" c:type="gint"/>
</field>
<field name="grab_point">
<type name="int" c:type="gint"/>
</field>
<field name="last">
<type name="int" c:type="gint"/>
</field>
<field name="num_points">
<type name="int" c:type="gint"/>
</field>
<field name="point">
<type name="Gdk.Point" c:type="GdkPoint*"/>
</field>
<field name="num_ctlpoints">
<type name="int" c:type="gint"/>
</field>
<field name="ctlpoint">
<type name="any" c:type="gfloat*"/>
</field>
<glib:signal name="curve-type-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="CurveClass"
c:type="GtkCurveClass"
glib:is-gtype-struct-for="Curve">
<field name="parent_class">
<type name="DrawingAreaClass" c:type="GtkDrawingAreaClass"/>
</field>
<field name="curve_type_changed">
<callback name="curve_type_changed" c:type="curve_type_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="curve" transfer-ownership="none">
<type name="Curve" c:type="GtkCurve*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="CurveType"
glib:type-name="GtkCurveType"
glib:get-type="gtk_curve_type_get_type"
c:type="GtkCurveType">
<member name="linear"
value="0"
c:identifier="GTK_CURVE_TYPE_LINEAR"
glib:nick="linear"/>
<member name="spline"
value="1"
c:identifier="GTK_CURVE_TYPE_SPLINE"
glib:nick="spline"/>
<member name="free"
value="2"
c:identifier="GTK_CURVE_TYPE_FREE"
glib:nick="free"/>
</enumeration>
<bitfield name="DebugFlag"
glib:type-name="GtkDebugFlag"
glib:get-type="gtk_debug_flag_get_type"
c:type="GtkDebugFlag">
<member name="misc"
value="1"
c:identifier="GTK_DEBUG_MISC"
glib:nick="misc"/>
<member name="plugsocket"
value="2"
c:identifier="GTK_DEBUG_PLUGSOCKET"
glib:nick="plugsocket"/>
<member name="text"
value="4"
c:identifier="GTK_DEBUG_TEXT"
glib:nick="text"/>
<member name="tree"
value="8"
c:identifier="GTK_DEBUG_TREE"
glib:nick="tree"/>
<member name="updates"
value="16"
c:identifier="GTK_DEBUG_UPDATES"
glib:nick="updates"/>
<member name="keybindings"
value="32"
c:identifier="GTK_DEBUG_KEYBINDINGS"
glib:nick="keybindings"/>
<member name="multihead"
value="64"
c:identifier="GTK_DEBUG_MULTIHEAD"
glib:nick="multihead"/>
<member name="modules"
value="128"
c:identifier="GTK_DEBUG_MODULES"
glib:nick="modules"/>
<member name="geometry"
value="256"
c:identifier="GTK_DEBUG_GEOMETRY"
glib:nick="geometry"/>
<member name="icontheme"
value="512"
c:identifier="GTK_DEBUG_ICONTHEME"
glib:nick="icontheme"/>
<member name="printing"
value="1024"
c:identifier="GTK_DEBUG_PRINTING"
glib:nick="printing"/>
<member name="builder"
value="2048"
c:identifier="GTK_DEBUG_BUILDER"
glib:nick="builder"/>
</bitfield>
<enumeration name="DeleteType"
glib:type-name="GtkDeleteType"
glib:get-type="gtk_delete_type_get_type"
c:type="GtkDeleteType">
<member name="chars"
value="0"
c:identifier="GTK_DELETE_CHARS"
glib:nick="chars"/>
<member name="word_ends"
value="1"
c:identifier="GTK_DELETE_WORD_ENDS"
glib:nick="word-ends"/>
<member name="words"
value="2"
c:identifier="GTK_DELETE_WORDS"
glib:nick="words"/>
<member name="display_lines"
value="3"
c:identifier="GTK_DELETE_DISPLAY_LINES"
glib:nick="display-lines"/>
<member name="display_line_ends"
value="4"
c:identifier="GTK_DELETE_DISPLAY_LINE_ENDS"
glib:nick="display-line-ends"/>
<member name="paragraph_ends"
value="5"
c:identifier="GTK_DELETE_PARAGRAPH_ENDS"
glib:nick="paragraph-ends"/>
<member name="paragraphs"
value="6"
c:identifier="GTK_DELETE_PARAGRAPHS"
glib:nick="paragraphs"/>
<member name="whitespace"
value="7"
c:identifier="GTK_DELETE_WHITESPACE"
glib:nick="whitespace"/>
</enumeration>
<bitfield name="DestDefaults"
glib:type-name="GtkDestDefaults"
glib:get-type="gtk_dest_defaults_get_type"
c:type="GtkDestDefaults">
<member name="motion"
value="1"
c:identifier="GTK_DEST_DEFAULT_MOTION"
glib:nick="motion"/>
<member name="highlight"
value="2"
c:identifier="GTK_DEST_DEFAULT_HIGHLIGHT"
glib:nick="highlight"/>
<member name="drop"
value="4"
c:identifier="GTK_DEST_DEFAULT_DROP"
glib:nick="drop"/>
<member name="all"
value="7"
c:identifier="GTK_DEST_DEFAULT_ALL"
glib:nick="all"/>
</bitfield>
<callback name="DestroyNotify" c:type="GtkDestroyNotify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="Dialog"
c:type="GtkDialog"
parent="Window"
glib:type-name="GtkDialog"
glib:get-type="gtk_dialog_get_type"
glib:type-struct="DialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_dialog_new">
<return-value transfer-ownership="full">
<type name="Dialog" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_buttons"
c:identifier="gtk_dialog_new_with_buttons"
doc="Creates a new #GtkDialog with title @title (or %NULL for the default
title; see gtk_window_set_title()) and transient parent @parent (or
%NULL for none; see gtk_window_set_transient_for()). The @flags
argument can be used to make the dialog modal (#GTK_DIALOG_MODAL)
and/or to have it destroyed along with its transient parent
(#GTK_DIALOG_DESTROY_WITH_PARENT). After @flags, button
text/response ID pairs should be listed, with a %NULL pointer ending
the list. Button text can be either a stock ID such as
#GTK_STOCK_OK, or some arbitrary text. A response ID can be
any positive number, or one of the values in the #GtkResponseType
enumeration. If the user clicks one of these dialog buttons,
#GtkDialog will emit the #GtkDialog::response signal with the corresponding
response ID. If a #GtkDialog receives the #GtkWidget::delete-event signal,
it will emit ::response with a response ID of #GTK_RESPONSE_DELETE_EVENT.
However, destroying a dialog does not emit the ::response signal;
so be careful relying on ::response when using the
#GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right,
so the first button in the list will be the leftmost button in the dialog.
Here&apos;s a simple example:
|[
GtkWidget *dialog = gtk_dialog_new_with_buttons (&quot;My dialog&quot;,
main_app_window,
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_OK,
GTK_RESPONSE_ACCEPT,
GTK_STOCK_CANCEL,
GTK_RESPONSE_REJECT,
NULL);
]|">
<return-value transfer-ownership="full">
<type name="Dialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title"
transfer-ownership="none"
allow-none="1"
doc="Title of the dialog, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="Transient parent of the dialog, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="DialogFlags" c:type="GtkDialogFlags"/>
</parameter>
<parameter name="first_button_text"
transfer-ownership="none"
allow-none="1"
doc="stock ID or text to go in first button, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<method name="add_action_widget"
c:identifier="gtk_dialog_add_action_widget"
doc="Adds an activatable widget to the action area of a #GtkDialog,
connecting a signal handler that will emit the #GtkDialog::response
signal on the dialog when the widget is activated. The widget is
appended to the end of the dialog&apos;s action area. If you want to add a
non-activatable widget, simply pack it into the @action_area field
of the #GtkDialog struct.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_button"
c:identifier="gtk_dialog_add_button"
doc="Adds a button with the given text (or a stock button, if @button_text is a
stock ID) and sets things up so that clicking the button will emit the
#GtkDialog::response signal with the given @response_id. The button is
appended to the end of the dialog&apos;s action area. The button widget is
returned, but usually you don&apos;t need it.">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="button_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_buttons"
c:identifier="gtk_dialog_add_buttons"
doc="Adds more buttons, same as calling gtk_dialog_add_button()
repeatedly. The variable argument list should be %NULL-terminated
as with gtk_dialog_new_with_buttons(). Each button must have both
text and response ID.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="first_button_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set_response_sensitive"
c:identifier="gtk_dialog_set_response_sensitive"
doc="Calls &lt;literal&gt;gtk_widget_set_sensitive (widget, @setting)&lt;/literal&gt;
for each widget in the dialog&apos;s action area with the given @response_id.
A convenient way to sensitize/desensitize dialog buttons.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_default_response"
c:identifier="gtk_dialog_set_default_response"
doc="Sets the last widget in the dialog&apos;s action area with the given @response_id
as the default widget for the dialog. Pressing &quot;Enter&quot; normally activates
the default widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_widget_for_response"
c:identifier="gtk_dialog_get_widget_for_response"
doc="Gets the widget button that uses the given response ID in the action area
of a dialog."
version="2.20">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_response_for_widget"
c:identifier="gtk_dialog_get_response_for_widget"
doc="Gets the response id of a widget in the action area
of a dialog.
if @widget doesn&apos;t have a response id set."
version="2.8">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_has_separator"
c:identifier="gtk_dialog_set_has_separator"
doc="Sets whether the dialog has a separator above the buttons.
%TRUE by default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_separator"
c:identifier="gtk_dialog_get_has_separator"
doc="Accessor for whether the dialog has a separator.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_alternative_button_order"
c:identifier="gtk_dialog_set_alternative_button_order"
doc="Sets an alternative button order. If the
#GtkSettings:gtk-alternative-button-order setting is set to %TRUE,
the dialog buttons are reordered according to the order of the
response ids passed to this function.
By default, GTK+ dialogs use the button order advocated by the Gnome
&lt;ulink url=&quot;http://developer.gnome.org/projects/gup/hig/2.0/&quot;&gt;Human
Interface Guidelines&lt;/ulink&gt; with the affirmative button at the far
right, and the cancel button left of it. But the builtin GTK+ dialogs
and #GtkMessageDialog&lt;!-- --&gt;s do provide an alternative button order,
which is more suitable on some platforms, e.g. Windows.
Use this function after adding all the buttons to your dialog, as the
following example shows:
|[
cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
GTK_STOCK_CANCEL,
GTK_RESPONSE_CANCEL);
ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
GTK_STOCK_OK,
GTK_RESPONSE_OK);
gtk_widget_grab_default (ok_button);
help_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
GTK_STOCK_HELP,
GTK_RESPONSE_HELP);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
GTK_RESPONSE_HELP,
-1);
]|"
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="first_response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set_alternative_button_order_from_array"
c:identifier="gtk_dialog_set_alternative_button_order_from_array"
doc="Sets an alternative button order. If the
#GtkSettings:gtk-alternative-button-order setting is set to %TRUE,
the dialog buttons are reordered according to the order of the
response ids in @new_order.
See gtk_dialog_set_alternative_button_order() for more information.
This function is for use by language bindings."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_params" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="new_order"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="response"
c:identifier="gtk_dialog_response"
doc="Emits the #GtkDialog::response signal with the given response ID.
Used to indicate that the user has responded to the dialog in some way;
typically either you or gtk_dialog_run() will be monitoring the
::response signal and take appropriate action.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="run"
c:identifier="gtk_dialog_run"
doc="Blocks in a recursive main loop until the @dialog either emits the
#GtkDialog::response signal, or is destroyed. If the dialog is
destroyed during the call to gtk_dialog_run(), gtk_dialog_run() returns
#GTK_RESPONSE_NONE. Otherwise, it returns the response ID from the
::response signal emission.
Before entering the recursive main loop, gtk_dialog_run() calls
gtk_widget_show() on the dialog for you. Note that you still
need to show any children of the dialog yourself.
During gtk_dialog_run(), the default behavior of #GtkWidget::delete-event
is disabled; if the dialog receives ::delete_event, it will not be
destroyed as windows usually are, and gtk_dialog_run() will return
#GTK_RESPONSE_DELETE_EVENT. Also, during gtk_dialog_run() the dialog
will be modal. You can force gtk_dialog_run() to return at any time by
calling gtk_dialog_response() to emit the ::response signal. Destroying
the dialog during gtk_dialog_run() is a very bad idea, because your
post-run code won&apos;t know whether the dialog was destroyed or not.
After gtk_dialog_run() returns, you are responsible for hiding or
destroying the dialog if you wish to do so.
Typical usage of this function might be:
|[
gint result = gtk_dialog_run (GTK_DIALOG (dialog));
switch (result)
{
case GTK_RESPONSE_ACCEPT:
do_application_specific_something ();
break;
default:
do_nothing_since_dialog_was_cancelled ();
break;
}
gtk_widget_destroy (dialog);
]|
Note that even though the recursive main loop gives the effect of a
modal dialog (it prevents the user from interacting with other
windows in the same window group while the dialog is run), callbacks
such as timeouts, IO channel watches, DND drops, etc, &lt;emphasis&gt;will&lt;/emphasis&gt;
be triggered during a gtk_dialog_run() call.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_action_area"
c:identifier="gtk_dialog_get_action_area"
doc="Returns the action area of @dialog."
version="2.14">
<return-value transfer-ownership="none" doc="the action area.">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_content_area"
c:identifier="gtk_dialog_get_content_area"
doc="Returns the content area of @dialog."
version="2.14">
<return-value transfer-ownership="none"
doc="the content area #GtkVBox.">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<property name="has-separator"
writable="1"
doc="When %TRUE, the dialog has a separator bar above its buttons.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="window">
<type name="Window" c:type="GtkWindow"/>
</field>
<field name="vbox">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="action_area">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="separator">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<glib:signal name="close"
doc="The ::close signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user uses a keybinding to close
the dialog.
The default binding for this signal is the Escape key.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="response"
doc="Emitted when an action widget is clicked, the dialog receives a
delete event, or the application programmer calls gtk_dialog_response().
On a delete event, the response ID is #GTK_RESPONSE_DELETE_EVENT.
Otherwise, it depends on which action widget was clicked.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="DialogClass"
c:type="GtkDialogClass"
glib:is-gtype-struct-for="Dialog">
<field name="parent_class">
<type name="WindowClass" c:type="GtkWindowClass"/>
</field>
<field name="response">
<callback name="response" c:type="response">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dialog" transfer-ownership="none">
<type name="Dialog" c:type="GtkDialog*"/>
</parameter>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="close">
<callback name="close" c:type="close">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dialog" transfer-ownership="none">
<type name="Dialog" c:type="GtkDialog*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<bitfield name="DialogFlags"
glib:type-name="GtkDialogFlags"
glib:get-type="gtk_dialog_flags_get_type"
c:type="GtkDialogFlags">
<member name="modal"
value="1"
c:identifier="GTK_DIALOG_MODAL"
glib:nick="modal"/>
<member name="destroy_with_parent"
value="2"
c:identifier="GTK_DIALOG_DESTROY_WITH_PARENT"
glib:nick="destroy-with-parent"/>
<member name="no_separator"
value="4"
c:identifier="GTK_DIALOG_NO_SEPARATOR"
glib:nick="no-separator"/>
</bitfield>
<enumeration name="DirectionType"
glib:type-name="GtkDirectionType"
glib:get-type="gtk_direction_type_get_type"
c:type="GtkDirectionType">
<member name="tab_forward"
value="0"
c:identifier="GTK_DIR_TAB_FORWARD"
glib:nick="tab-forward"/>
<member name="tab_backward"
value="1"
c:identifier="GTK_DIR_TAB_BACKWARD"
glib:nick="tab-backward"/>
<member name="up" value="2" c:identifier="GTK_DIR_UP" glib:nick="up"/>
<member name="down"
value="3"
c:identifier="GTK_DIR_DOWN"
glib:nick="down"/>
<member name="left"
value="4"
c:identifier="GTK_DIR_LEFT"
glib:nick="left"/>
<member name="right"
value="5"
c:identifier="GTK_DIR_RIGHT"
glib:nick="right"/>
</enumeration>
<union name="DitherInfo" c:type="GtkDitherInfo">
<field name="s" writable="1">
<array zero-terminated="0" c:type="gushort" fixed-size="2">
<type name="ushort"/>
</array>
</field>
<field name="c" writable="1">
<array zero-terminated="0" c:type="guchar" fixed-size="4">
<type name="uint8"/>
</array>
</field>
</union>
<enumeration name="DragResult"
glib:type-name="GtkDragResult"
glib:get-type="gtk_drag_result_get_type"
c:type="GtkDragResult">
<member name="success"
value="0"
c:identifier="GTK_DRAG_RESULT_SUCCESS"
glib:nick="success"/>
<member name="no_target"
value="1"
c:identifier="GTK_DRAG_RESULT_NO_TARGET"
glib:nick="no-target"/>
<member name="user_cancelled"
value="2"
c:identifier="GTK_DRAG_RESULT_USER_CANCELLED"
glib:nick="user-cancelled"/>
<member name="timeout_expired"
value="3"
c:identifier="GTK_DRAG_RESULT_TIMEOUT_EXPIRED"
glib:nick="timeout-expired"/>
<member name="grab_broken"
value="4"
c:identifier="GTK_DRAG_RESULT_GRAB_BROKEN"
glib:nick="grab-broken"/>
<member name="error"
value="5"
c:identifier="GTK_DRAG_RESULT_ERROR"
glib:nick="error"/>
</enumeration>
<class name="DrawingArea"
c:type="GtkDrawingArea"
parent="Widget"
glib:type-name="GtkDrawingArea"
glib:get-type="gtk_drawing_area_get_type"
glib:type-struct="DrawingAreaClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_drawing_area_new">
<return-value transfer-ownership="full">
<type name="DrawingArea" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="size" c:identifier="gtk_drawing_area_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="draw_data">
<type name="any" c:type="gpointer"/>
</field>
</class>
<record name="DrawingAreaClass"
c:type="GtkDrawingAreaClass"
glib:is-gtype-struct-for="DrawingArea">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<interface name="Editable"
c:type="GtkEditable"
glib:type-name="GtkEditable"
glib:get-type="gtk_editable_get_type"
glib:type-struct="EditableClass">
<virtual-method name="do_insert_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="position" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="do_delete_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_chars" invoker="get_chars">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_selection_bounds">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_selection_bounds"
invoker="get_selection_bounds">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start_pos"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="end_pos" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_position" invoker="set_position">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_position" invoker="get_position">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</virtual-method>
<method name="select_region"
c:identifier="gtk_editable_select_region"
doc="Selects a region of text. The characters that are selected are
those characters at positions from @start_pos up to, but not
including @end_pos. If @end_pos is negative, then the the
characters selected are those characters from @start_pos to
the end of the text.
Note that positions are specified in characters, not bytes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_selection_bounds"
c:identifier="gtk_editable_get_selection_bounds"
doc="Retrieves the selection bound of the editable. start_pos will be filled
with the start of the selection and @end_pos with end. If no text was
selected both will be identical and %FALSE will be returned.
Note that positions are specified in characters, not bytes.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start_pos"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the starting position, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="end_pos"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the end position, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="insert_text"
c:identifier="gtk_editable_insert_text"
doc="Inserts @new_text_length bytes of @new_text into the contents of the
widget, at position @position.
Note that the position is in characters, not in bytes.
The function updates @position to point after the newly inserted text.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="new_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="new_text_length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="position"
direction="inout"
transfer-ownership="full"
doc="location of the position text will be inserted at">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="delete_text"
c:identifier="gtk_editable_delete_text"
doc="Deletes a sequence of characters. The characters that are deleted are
those characters at positions from @start_pos up to, but not including
are those from @start_pos to the end of the text.
Note that the positions are specified in characters, not bytes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_chars"
c:identifier="gtk_editable_get_chars"
doc="Retrieves a sequence of characters. The characters that are retrieved
are those characters at positions from @start_pos up to, but not
including @end_pos. If @end_pos is negative, then the the characters
retrieved are those characters from @start_pos to the end of the text.
Note that positions are specified in characters, not bytes.
string. This string is allocated by the #GtkEditable
implementation and should be freed by the caller.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="cut_clipboard"
c:identifier="gtk_editable_cut_clipboard"
doc="Removes the contents of the currently selected content in the editable and
puts it on the clipboard.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="copy_clipboard"
c:identifier="gtk_editable_copy_clipboard"
doc="Copies the contents of the currently selected content in the editable and
puts it on the clipboard.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="paste_clipboard"
c:identifier="gtk_editable_paste_clipboard"
doc="Pastes the content of the clipboard to the current position of the
cursor in the editable.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="delete_selection"
c:identifier="gtk_editable_delete_selection"
doc="Deletes the currently selected text of the editable.
This call doesn&apos;t do anything if there is no selected text.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_position"
c:identifier="gtk_editable_set_position"
doc="Sets the cursor position in the editable to the given value.
The cursor is displayed before the character with the given (base 0)
index in the contents of the editable. The value must be less than or
equal to the number of characters in the editable. A value of -1
indicates that the position should be set after the last character
of the editable. Note that @position is in characters, not in bytes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_position"
c:identifier="gtk_editable_get_position"
doc="Retrieves the current position of the cursor relative to the start
of the content of the editable.
Note that this position is in characters, not in bytes.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_editable"
c:identifier="gtk_editable_set_editable"
doc="in the widget
Determines if the user can edit the text in the editable
widget or not.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_editable"
c:identifier="gtk_editable_get_editable"
doc="Retrieves whether @editable is editable. See
gtk_editable_set_editable().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<glib:signal name="changed"
doc="The ::changed signal is emitted at the end of a single
user-visible operation on the contents of the #GtkEditable.
E.g., a paste operation that replaces the contents of the
selection will cause only one signal emission (even though it
is implemented by first deleting the selection, then inserting
the new content, and may cause multiple ::notify::text signals
to be emitted).">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="delete-text"
doc="This signal is emitted when text is deleted from
the widget by the user. The default handler for
this signal will normally be responsible for deleting
the text, so by connecting to this signal and then
stopping the signal with g_signal_stop_emission(), it
is possible to modify the range of deleted text, or
prevent it from being deleted entirely. The @start_pos
and @end_pos parameters are interpreted as for
gtk_editable_delete_text().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="insert-text"
doc="or -1 if new_text is nul-terminated
the new text. this is an in-out parameter.
After the signal emission is finished, it should
point after the newly inserted text.
This signal is emitted when text is inserted into
the widget by the user. The default handler for
this signal will normally be responsible for inserting
the text, so by connecting to this signal and then
stopping the signal with g_signal_stop_emission(), it
is possible to modify the inserted text, or prevent
it from being inserted entirely.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="new_text" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="new_text_length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
</interface>
<record name="EditableClass"
c:type="GtkEditableClass"
glib:is-gtype-struct-for="Editable">
<field name="base_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="insert_text">
<callback name="insert_text" c:type="insert_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="position"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="delete_text">
<callback name="delete_text" c:type="delete_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="do_insert_text">
<callback name="do_insert_text" c:type="do_insert_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="position"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="do_delete_text">
<callback name="do_delete_text" c:type="do_delete_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_chars">
<callback name="get_chars" c:type="get_chars">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_selection_bounds">
<callback name="set_selection_bounds" c:type="set_selection_bounds">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_selection_bounds">
<callback name="get_selection_bounds" c:type="get_selection_bounds">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="start_pos"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="end_pos"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_position">
<callback name="set_position" c:type="set_position">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_position">
<callback name="get_position" c:type="get_position">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="Editable" c:type="GtkEditable*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="Entry"
c:type="GtkEntry"
parent="Widget"
glib:type-name="GtkEntry"
glib:get-type="gtk_entry_get_type"
glib:type-struct="EntryClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="CellEditable"/>
<implements name="Editable"/>
<constructor name="new"
c:identifier="gtk_entry_new"
doc="Creates a new entry.">
<return-value transfer-ownership="full">
<type name="Entry" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_buffer"
c:identifier="gtk_entry_new_with_buffer"
doc="Creates a new entry with the specified text buffer."
version="2.18">
<return-value transfer-ownership="full">
<type name="Entry" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_max_length"
c:identifier="gtk_entry_new_with_max_length"
doc="(other than the maximum length of entries.) The value passed in will
be clamped to the range 0-65536.
Creates a new #GtkEntry widget with the given maximum length."
deprecated="Use gtk_entry_set_max_length() instead."
deprecated-version="2.0">
<return-value transfer-ownership="full">
<type name="Entry" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="max" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="get_text_area_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_buffer"
c:identifier="gtk_entry_get_buffer"
doc="Get the #GtkEntryBuffer object which holds the text for
this widget."
version="2.18">
<return-value transfer-ownership="full">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</return-value>
</method>
<method name="set_buffer"
c:identifier="gtk_entry_set_buffer"
doc="Set the #GtkEntryBuffer object which holds the text for
this widget."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
</parameters>
</method>
<method name="get_text_window"
c:identifier="gtk_entry_get_text_window"
doc="Returns the #GdkWindow which contains the text. This function is
useful when drawing something to the entry in an expose-event
callback because it enables the callback to distinguish between
the text window and entry&apos;s icon windows.
See also gtk_entry_get_icon_window()."
version="2.20">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="set_visibility"
c:identifier="gtk_entry_set_visibility"
doc="as plaintext
Sets whether the contents of the entry are visible or not.
When visibility is set to %FALSE, characters are displayed
as the invisible char, and will also appear that way when
the text in the entry widget is copied elsewhere.
By default, GTK+ picks the best invisible character available
in the current font, but it can be changed with
gtk_entry_set_invisible_char().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visibility"
c:identifier="gtk_entry_get_visibility"
doc="Retrieves whether the text in @entry is visible. See
gtk_entry_set_visibility().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_invisible_char"
c:identifier="gtk_entry_set_invisible_char"
doc="Sets the character to use in place of the actual text when
gtk_entry_set_visibility() has been called to set text visibility
to %FALSE. i.e. this is the character used in &quot;password mode&quot; to
show the user how many characters have been typed. By default, GTK+
picks the best invisible char available in the current font. If you
set the invisible char to 0, then the user will get no feedback
at all; there will be no text on the screen as they type.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ch" transfer-ownership="none">
<type name="GLib.unichar" c:type="gunichar"/>
</parameter>
</parameters>
</method>
<method name="get_invisible_char"
c:identifier="gtk_entry_get_invisible_char"
doc="Retrieves the character displayed in place of the real characters
for entries with visibility set to false. See gtk_entry_set_invisible_char().
show invisible text at all.">
<return-value transfer-ownership="full">
<type name="GLib.unichar" c:type="gunichar"/>
</return-value>
</method>
<method name="unset_invisible_char"
c:identifier="gtk_entry_unset_invisible_char"
doc="Unsets the invisible char previously set with
gtk_entry_set_invisible_char(). So that the
default invisible char is used again."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_has_frame"
c:identifier="gtk_entry_set_has_frame"
doc="Sets whether the entry has a beveled frame around it.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_frame"
c:identifier="gtk_entry_get_has_frame"
doc="Gets the value set by gtk_entry_set_has_frame().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_inner_border"
c:identifier="gtk_entry_set_inner_border"
doc="Sets %entry&apos;s inner-border property to %border, or clears it if %NULL
is passed. The inner-border is the area around the entry&apos;s text, but
inside its frame.
If set, this property overrides the inner-border style property.
Overriding the style-provided border is useful when you want to do
in-place editing of some text in a canvas or list widget, where
pixel-exact positioning of the entry is important."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="border"
transfer-ownership="none"
allow-none="1"
doc="a #GtkBorder, or %NULL">
<type name="Border" c:type="GtkBorder*"/>
</parameter>
</parameters>
</method>
<method name="get_inner_border"
c:identifier="gtk_entry_get_inner_border"
doc="This function returns the entry&apos;s #GtkEntry:inner-border property. See
gtk_entry_set_inner_border() for more information."
version="2.10">
<return-value transfer-ownership="none"
doc="the entry&apos;s #GtkBorder, or %NULL if none was set.">
<type name="Border" c:type="GtkBorder*"/>
</return-value>
</method>
<method name="set_overwrite_mode"
c:identifier="gtk_entry_set_overwrite_mode"
doc="Sets whether the text is overwritten when typing in the #GtkEntry."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="overwrite" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_overwrite_mode"
c:identifier="gtk_entry_get_overwrite_mode"
doc="Gets the value set by gtk_entry_set_overwrite_mode()."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_max_length"
c:identifier="gtk_entry_set_max_length"
doc="(other than the maximum length of entries.) The value passed in will
be clamped to the range 0-65536.
Sets the maximum allowed length of the contents of the widget. If
the current contents are longer than the given length, then they
will be truncated to fit.
This is equivalent to:
&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_set_max_length (gtk_entry_get_buffer (entry), max);
&lt;/programlisting&gt;&lt;/informalexample&gt;">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="max" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_max_length"
c:identifier="gtk_entry_get_max_length"
doc="Retrieves the maximum allowed length of the text in
This is equivalent to:
&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_get_max_length (gtk_entry_get_buffer (entry));
&lt;/programlisting&gt;&lt;/informalexample&gt;
in #GtkEntry, or 0 if there is no maximum.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_text_length"
c:identifier="gtk_entry_get_text_length"
doc="Retrieves the current length of the text in
This is equivalent to:
&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_get_length (gtk_entry_get_buffer (entry));
&lt;/programlisting&gt;&lt;/informalexample&gt;
in #GtkEntry, or 0 if there are none."
version="2.14">
<return-value transfer-ownership="none">
<type name="uint16" c:type="guint16"/>
</return-value>
</method>
<method name="set_activates_default"
c:identifier="gtk_entry_set_activates_default"
doc="If @setting is %TRUE, pressing Enter in the @entry will activate the default
widget for the window containing the entry. This usually means that
the dialog box containing the entry will be closed, since the default
widget is usually one of the dialog buttons.
gtk_window_activate_default() on the window containing the entry, in
the default handler for the #GtkWidget::activate signal.)">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_activates_default"
c:identifier="gtk_entry_get_activates_default"
doc="Retrieves the value set by gtk_entry_set_activates_default().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_width_chars"
c:identifier="gtk_entry_set_width_chars"
doc="Changes the size request of the entry to be about the right size
for @n_chars characters. Note that it changes the size
&lt;emphasis&gt;request&lt;/emphasis&gt;, the size can still be affected by
how you pack the widget into containers. If @n_chars is -1, the
size reverts to the default entry size.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_width_chars"
c:identifier="gtk_entry_get_width_chars"
doc="Gets the value set by gtk_entry_set_width_chars().">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_text"
c:identifier="gtk_entry_set_text"
doc="Sets the text in the widget to the given
value, replacing the current contents.
See gtk_entry_buffer_set_text().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_text"
c:identifier="gtk_entry_get_text"
doc="Retrieves the contents of the entry widget.
See also gtk_editable_get_chars().
This is equivalent to:
&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_get_text (gtk_entry_get_buffer (entry));
&lt;/programlisting&gt;&lt;/informalexample&gt;
string. This string points to internally allocated
storage in the widget and must not be freed, modified or
stored.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_layout"
c:identifier="gtk_entry_get_layout"
doc="Gets the #PangoLayout used to display the entry.
The layout is useful to e.g. convert text positions to
pixel positions, in combination with gtk_entry_get_layout_offsets().
The returned layout is owned by the entry and must not be
modified or freed by the caller.
Keep in mind that the layout text may contain a preedit string, so
gtk_entry_layout_index_to_text_index() and
gtk_entry_text_index_to_layout_index() are needed to convert byte
indices in the layout to byte indices in the entry contents.">
<return-value transfer-ownership="none"
doc="the #PangoLayout for this entry">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</return-value>
</method>
<method name="get_layout_offsets"
c:identifier="gtk_entry_get_layout_offsets"
doc="Obtains the position of the #PangoLayout used to render text
in the entry, in widget coordinates. Useful if you want to line
up the text in an entry with some other text, e.g. when using the
entry to implement editable cells in a sheet widget.
Also useful to convert mouse events into coordinates inside the
#PangoLayout, e.g. to take some action if some part of the entry text
is clicked.
Note that as the user scrolls around in the entry the offsets will
change; you&apos;ll need to connect to the &quot;notify::scroll-offset&quot;
signal to track this. Remember when using the #PangoLayout
functions you need to convert to and from pixels using
PANGO_PIXELS() or #PANGO_SCALE.
Keep in mind that the layout text may contain a preedit string, so
gtk_entry_layout_index_to_text_index() and
gtk_entry_text_index_to_layout_index() are needed to convert byte
indices in the layout to byte indices in the entry contents.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store X offset of layout, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store Y offset of layout, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_alignment"
c:identifier="gtk_entry_set_alignment"
doc="Reversed for RTL layouts
Sets the alignment for the contents of the entry. This controls
the horizontal positioning of the contents when the displayed
text is shorter than the width of the entry."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_alignment"
c:identifier="gtk_entry_get_alignment"
doc="Gets the value set by gtk_entry_set_alignment()."
version="2.4">
<return-value transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</return-value>
</method>
<method name="set_completion"
c:identifier="gtk_entry_set_completion"
doc="Sets @completion to be the auxiliary completion object to use with @entry.
All further configuration of the completion mechanism is done on"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="completion"
transfer-ownership="none"
allow-none="1"
doc="The #GtkEntryCompletion or %NULL">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</parameter>
</parameters>
</method>
<method name="get_completion"
c:identifier="gtk_entry_get_completion"
doc="Returns the auxiliary completion object currently in use by @entry."
version="2.4">
<return-value transfer-ownership="full">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</return-value>
</method>
<method name="layout_index_to_text_index"
c:identifier="gtk_entry_layout_index_to_text_index"
doc="Converts from a position in the entry contents (returned
by gtk_entry_get_text()) to a position in the
entry&apos;s #PangoLayout (returned by gtk_entry_get_layout(),
with text retrieved via pango_layout_get_text()).">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="layout_index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="text_index_to_layout_index"
c:identifier="gtk_entry_text_index_to_layout_index"
doc="Converts from a position in the entry&apos;s #PangoLayout (returned by
gtk_entry_get_layout()) to a position in the entry contents
(returned by gtk_entry_get_text()).">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="text_index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_hadjustment"
c:identifier="gtk_entry_set_cursor_hadjustment"
doc="is moved, or %NULL
Hooks up an adjustment to the cursor position in an entry, so that when
the cursor is moved, the adjustment is scrolled to show that position.
See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining
the adjustment.
The adjustment has to be in pixel units and in the same coordinate system
as the entry."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_cursor_hadjustment"
c:identifier="gtk_entry_get_cursor_hadjustment"
doc="Retrieves the horizontal cursor adjustment for the entry.
See gtk_entry_set_cursor_hadjustment().
if none has been set."
version="2.12">
<return-value transfer-ownership="none"
doc="the horizontal cursor adjustment, or %NULL">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_progress_fraction"
c:identifier="gtk_entry_set_progress_fraction"
doc="Causes the entry&apos;s progress indicator to &quot;fill in&quot; the given
fraction of the bar. The fraction should be between 0.0 and 1.0,
inclusive."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fraction" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_progress_fraction"
c:identifier="gtk_entry_get_progress_fraction"
doc="Returns the current fraction of the task that&apos;s been completed.
See gtk_entry_set_progress_fraction()."
version="2.16">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_progress_pulse_step"
c:identifier="gtk_entry_set_progress_pulse_step"
doc="Sets the fraction of total entry width to move the progress
bouncing block for each call to gtk_entry_progress_pulse()."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fraction" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_progress_pulse_step"
c:identifier="gtk_entry_get_progress_pulse_step"
doc="Retrieves the pulse step set with gtk_entry_set_progress_pulse_step()."
version="2.16">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="progress_pulse"
c:identifier="gtk_entry_progress_pulse"
doc="Indicates that some progress is made, but you don&apos;t know how much.
Causes the entry&apos;s progress indicator to enter &quot;activity mode,&quot;
where a block bounces back and forth. Each call to
gtk_entry_progress_pulse() causes the block to move by a little bit
(the amount of movement per pulse is determined by
gtk_entry_set_progress_pulse_step())."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_icon_from_pixbuf"
c:identifier="gtk_entry_set_icon_from_pixbuf"
doc="Sets the icon shown in the specified position using a pixbuf.
If @pixbuf is %NULL, no icon will be shown in the specified position."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="pixbuf"
transfer-ownership="none"
allow-none="1"
doc="A #GdkPixbuf, or %NULL">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_from_stock"
c:identifier="gtk_entry_set_icon_from_stock"
doc="Sets the icon shown in the entry at the specified position from
a stock image.
If @stock_id is %NULL, no icon will be shown in the specified position."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="stock_id"
transfer-ownership="none"
allow-none="1"
doc="The name of the stock item, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_from_icon_name"
c:identifier="gtk_entry_set_icon_from_icon_name"
doc="Sets the icon shown in the entry at the specified position
from the current icon theme.
If the icon name isn&apos;t known, a &quot;broken image&quot; icon will be displayed
instead.
If @icon_name is %NULL, no icon will be shown in the specified position."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="icon_name"
transfer-ownership="none"
allow-none="1"
doc="An icon name, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_from_gicon"
c:identifier="gtk_entry_set_icon_from_gicon"
doc="Sets the icon shown in the entry at the specified position
from the current icon theme.
If the icon isn&apos;t known, a &quot;broken image&quot; icon will be displayed
instead.
If @icon is %NULL, no icon will be shown in the specified position."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="icon"
transfer-ownership="none"
allow-none="1"
doc="The icon to set, or %NULL">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_storage_type"
c:identifier="gtk_entry_get_icon_storage_type"
doc="Gets the type of representation being used by the icon
to store image data. If the icon has no image data,
the return value will be %GTK_IMAGE_EMPTY."
version="2.16">
<return-value transfer-ownership="full">
<type name="ImageType" c:type="GtkImageType"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="get_icon_pixbuf"
c:identifier="gtk_entry_get_icon_pixbuf"
doc="Retrieves the image used for the icon.
Unlike the other methods of setting and getting icon data, this
method will work regardless of whether the icon was set using a
#GdkPixbuf, a #GIcon, a stock item, or an icon name."
version="2.16">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="get_icon_stock"
c:identifier="gtk_entry_get_icon_stock"
doc="Retrieves the stock id used for the icon, or %NULL if there is
no icon or if the icon was set by some other method (e.g., by
pixbuf, icon name or gicon).
wasn&apos;t set from a stock id"
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="get_icon_name"
c:identifier="gtk_entry_get_icon_name"
doc="Retrieves the icon name used for the icon, or %NULL if there is
no icon or if the icon was set by some other method (e.g., by
pixbuf, stock or gicon).
wasn&apos;t set from an icon name"
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="get_icon_gicon"
c:identifier="gtk_entry_get_icon_gicon"
doc="Retrieves the #GIcon used for the icon, or %NULL if there is
no icon or if the icon was set by some other method (e.g., by
stock, pixbuf, or icon name).
is not a #GIcon"
version="2.16">
<return-value transfer-ownership="full">
<type name="Gio.Icon" c:type="GIcon*"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="set_icon_activatable"
c:identifier="gtk_entry_set_icon_activatable"
doc="Sets whether the icon is activatable."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="activatable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_icon_activatable"
c:identifier="gtk_entry_get_icon_activatable"
doc="Returns whether the icon is activatable."
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="set_icon_sensitive"
c:identifier="gtk_entry_set_icon_sensitive"
doc="sensitive or insensitive
Sets the sensitivity for the specified icon."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="sensitive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_icon_sensitive"
c:identifier="gtk_entry_get_icon_sensitive"
doc="Returns whether the icon appears sensitive or insensitive."
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="get_icon_at_pos"
c:identifier="gtk_entry_get_icon_at_pos"
doc="Finds the icon at the given position and return its index.
If @x, @y doesn&apos;t lie inside an icon, -1 is returned.
This function is intended for use in a #GtkWidget::query-tooltip
signal handler."
version="2.16">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_icon_tooltip_text"
c:identifier="gtk_entry_set_icon_tooltip_text"
doc="Sets @tooltip as the contents of the tooltip for the icon
at the specified position.
Use %NULL for @tooltip to remove an existing tooltip.
See also gtk_widget_set_tooltip_text() and
gtk_entry_set_icon_tooltip_markup()."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="tooltip"
transfer-ownership="none"
allow-none="1"
doc="the contents of the tooltip for the icon, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_tooltip_text"
c:identifier="gtk_entry_get_icon_tooltip_text"
doc="Gets the contents of the tooltip on the icon at the specified
position in @entry.
with g_free() when done."
version="2.16">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="set_icon_tooltip_markup"
c:identifier="gtk_entry_set_icon_tooltip_markup"
doc="Sets @tooltip as the contents of the tooltip for the icon at
the specified position. @tooltip is assumed to be marked up with
the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
Use %NULL for @tooltip to remove an existing tooltip.
See also gtk_widget_set_tooltip_markup() and
gtk_enty_set_icon_tooltip_text()."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="tooltip"
transfer-ownership="none"
allow-none="1"
doc="the contents of the tooltip for the icon, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_tooltip_markup"
c:identifier="gtk_entry_get_icon_tooltip_markup"
doc="Gets the contents of the tooltip on the icon at the specified
position in @entry.
with g_free() when done."
version="2.16">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="set_icon_drag_source"
c:identifier="gtk_entry_set_icon_drag_source"
doc="Sets up the icon at the given position so that GTK+ will start a drag
operation when the user clicks and drags the icon.
To handle the drag operation, you need to connect to the usual
#GtkWidget::drag-data-get (or possibly #GtkWidget::drag-data-delete)
signal, and use gtk_entry_get_current_icon_drag_source() in
your signal handler to find out if the drag was started from
an icon.
By default, GTK+ uses the icon as the drag icon. You can use the
#GtkWidget::drag-begin signal to set a different icon. Note that you
have to use g_signal_connect_after() to ensure that your signal handler
gets executed after the default handler."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="target_list"
transfer-ownership="none"
doc="in which the data can be provided">
<type name="TargetList" c:type="GtkTargetList*"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</method>
<method name="get_current_icon_drag_source"
c:identifier="gtk_entry_get_current_icon_drag_source"
doc="Returns the index of the icon which is the source of the current
DND operation, or -1.
This function is meant to be used in a #GtkWidget::drag-data-get
callback.
DND operation, or -1."
version="2.16">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_icon_window"
c:identifier="gtk_entry_get_icon_window"
doc="Returns the #GdkWindow which contains the entry&apos;s icon at
entry in an expose-event callback because it enables the callback
to distinguish between the text window and entry&apos;s icon windows.
See also gtk_entry_get_text_window()."
version="2.20">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
</parameters>
</method>
<method name="append_text"
c:identifier="gtk_entry_append_text"
doc="Appends the given text to the contents of the widget."
deprecated="Use gtk_editable_insert_text() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="prepend_text"
c:identifier="gtk_entry_prepend_text"
doc="Prepends the given text to the contents of the widget."
deprecated="Use gtk_editable_insert_text() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_position"
c:identifier="gtk_entry_set_position"
doc="before the character with the given (base 0) index in the widget.
The value must be less than or equal to the number of characters
in the widget. A value of -1 indicates that the position should
be set after the last character in the entry. Note that this
position is in characters, not in bytes.
Sets the cursor position in an entry to the given value."
deprecated="Use gtk_editable_set_position() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="select_region"
c:identifier="gtk_entry_select_region"
doc="Selects a region of text. The characters that are selected are
those characters at positions from @start_pos up to, but not
including @end_pos. If @end_pos is negative, then the the characters
selected will be those characters from @start_pos to the end of
the text."
deprecated="Use gtk_editable_select_region() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_editable"
c:identifier="gtk_entry_set_editable"
doc="in the widget
Determines if the user can edit the text in the editable
widget or not."
deprecated="Use gtk_editable_set_editable() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="activates-default" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="buffer" writable="1" construct="1">
<type name="EntryBuffer" c:type="GtkEntryBuffer"/>
</property>
<property name="caps-lock-warning" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="cursor-position">
<type name="int" c:type="gint"/>
</property>
<property name="editable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="has-frame" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="im-module"
version="2.16"
writable="1"
doc="Which IM (input method) module should be used for this entry.
See #GtkIMContext.
Setting this to a non-%NULL value overrides the
system-wide IM module setting. See the GtkSettings
#GtkSettings:gtk-im-module property.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="inner-border"
version="2.10"
writable="1"
doc="Sets the text area&apos;s border between the text and the frame.">
<type name="Border" c:type="GtkBorder"/>
</property>
<property name="invisible-char"
version="2.18"
writable="1"
doc="The invisible character is used when masking entry contents (in
\&quot;password mode\&quot;)&quot;). When it is not explicitly set with the
#GtkEntry::invisible-char property, GTK+ determines the character
to use from a list of possible candidates, depending on availability
in the current font.
This style property allows the theme to prepend a character
to the list of candidates.">
<type name="uint" c:type="guint"/>
</property>
<property name="invisible-char-set"
version="2.16"
writable="1"
doc="Whether the invisible char has been set for the #GtkEntry.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="max-length" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="overwrite-mode"
version="2.14"
writable="1"
doc="If text is overwritten when typing in the #GtkEntry.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="primary-icon-activatable"
version="2.16"
writable="1"
doc="Whether the primary icon is activatable.
GTK+ emits the #GtkEntry::icon-press and #GtkEntry::icon-release
signals only on sensitive, activatable icons.
Sensitive, but non-activatable icons can be used for purely
informational purposes.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="primary-icon-gicon"
version="2.16"
writable="1"
doc="The #GIcon to use for the primary icon for the entry.">
<type name="Gio.Icon" c:type="GIcon"/>
</property>
<property name="primary-icon-name"
version="2.16"
writable="1"
doc="The icon name to use for the primary icon for the entry.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="primary-icon-pixbuf"
version="2.16"
writable="1"
doc="A pixbuf to use as the primary icon for the entry.">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="primary-icon-sensitive"
version="2.16"
writable="1"
doc="Whether the primary icon is sensitive.
An insensitive icon appears grayed out. GTK+ does not emit the
#GtkEntry::icon-press and #GtkEntry::icon-release signals and
does not allow DND from insensitive icons.
An icon should be set insensitive if the action that would trigger
when clicked is currently not available.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="primary-icon-stock"
version="2.16"
writable="1"
doc="The stock id to use for the primary icon for the entry.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="primary-icon-storage-type"
version="2.16"
doc="The representation which is used for the primary icon of the entry.">
<type name="ImageType" c:type="GtkImageType"/>
</property>
<property name="primary-icon-tooltip-markup"
version="2.16"
writable="1"
doc="The contents of the tooltip on the primary icon, which is marked up
with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;.
Also see gtk_entry_set_icon_tooltip_markup().">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="primary-icon-tooltip-text"
version="2.16"
writable="1"
doc="The contents of the tooltip on the primary icon.
Also see gtk_entry_set_icon_tooltip_text().">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="progress-fraction"
version="2.16"
writable="1"
doc="The current fraction of the task that&apos;s been completed.">
<type name="double" c:type="gdouble"/>
</property>
<property name="progress-pulse-step"
version="2.16"
writable="1"
doc="The fraction of total entry width to move the progress
bouncing block for each call to gtk_entry_progress_pulse().">
<type name="double" c:type="gdouble"/>
</property>
<property name="scroll-offset">
<type name="int" c:type="gint"/>
</property>
<property name="secondary-icon-activatable"
version="2.16"
writable="1"
doc="Whether the secondary icon is activatable.
GTK+ emits the #GtkEntry::icon-press and #GtkEntry::icon-release
signals only on sensitive, activatable icons.
Sensitive, but non-activatable icons can be used for purely
informational purposes.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="secondary-icon-gicon"
version="2.16"
writable="1"
doc="The #GIcon to use for the secondary icon for the entry.">
<type name="Gio.Icon" c:type="GIcon"/>
</property>
<property name="secondary-icon-name"
version="2.16"
writable="1"
doc="The icon name to use for the secondary icon for the entry.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="secondary-icon-pixbuf"
version="2.16"
writable="1"
doc="An pixbuf to use as the secondary icon for the entry.">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="secondary-icon-sensitive"
version="2.16"
writable="1"
doc="Whether the secondary icon is sensitive.
An insensitive icon appears grayed out. GTK+ does not emit the
#GtkEntry::icon-press and #GtkEntry::icon-release signals and
does not allow DND from insensitive icons.
An icon should be set insensitive if the action that would trigger
when clicked is currently not available.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="secondary-icon-stock"
version="2.16"
writable="1"
doc="The stock id to use for the secondary icon for the entry.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="secondary-icon-storage-type"
version="2.16"
doc="The representation which is used for the secondary icon of the entry.">
<type name="ImageType" c:type="GtkImageType"/>
</property>
<property name="secondary-icon-tooltip-markup"
version="2.16"
writable="1"
doc="The contents of the tooltip on the secondary icon, which is marked up
with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;.
Also see gtk_entry_set_icon_tooltip_markup().">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="secondary-icon-tooltip-text"
version="2.16"
writable="1"
doc="The contents of the tooltip on the secondary icon.
Also see gtk_entry_set_icon_tooltip_text().">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="selection-bound">
<type name="int" c:type="gint"/>
</property>
<property name="shadow-type"
version="2.12"
writable="1"
doc="Which kind of shadow to draw around the entry when
#GtkEntry:has-frame is set to %TRUE.">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<property name="text" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="text-length"
version="2.14"
doc="The length of the text in the #GtkEntry.">
<type name="uint" c:type="guint"/>
</property>
<property name="truncate-multiline"
version="2.10"
writable="1"
doc="When %TRUE, pasted multi-line text is truncated to the first line.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visibility" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="width-chars" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="xalign"
version="2.4"
writable="1"
doc="The horizontal alignment, from 0 (left) to 1 (right).
Reversed for RTL layouts.">
<type name="float" c:type="gfloat"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="text">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="editable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="overwrite_mode" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_drag" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="text_length">
<type name="uint16" c:type="guint16"/>
</field>
<field name="text_max_length">
<type name="uint16" c:type="guint16"/>
</field>
<field name="text_area">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="im_context">
<type name="IMContext" c:type="GtkIMContext*"/>
</field>
<field name="popup_menu">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="current_pos">
<type name="int" c:type="gint"/>
</field>
<field name="selection_bound">
<type name="int" c:type="gint"/>
</field>
<field name="cached_layout">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</field>
<field name="cache_includes_preedit" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="need_im_reset" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_frame" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="activates_default" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="cursor_visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_click" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_cell_renderer" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="editing_canceled" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="mouse_cursor_obscured" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="select_words" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="select_lines" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="resolved_dir" bits="4">
<type name="uint" c:type="guint"/>
</field>
<field name="truncate_multiline" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="button">
<type name="uint" c:type="guint"/>
</field>
<field name="blink_timeout">
<type name="uint" c:type="guint"/>
</field>
<field name="recompute_idle">
<type name="uint" c:type="guint"/>
</field>
<field name="scroll_offset">
<type name="int" c:type="gint"/>
</field>
<field name="ascent">
<type name="int" c:type="gint"/>
</field>
<field name="descent">
<type name="int" c:type="gint"/>
</field>
<field name="x_text_size">
<type name="uint16" c:type="guint16"/>
</field>
<field name="x_n_bytes">
<type name="uint16" c:type="guint16"/>
</field>
<field name="preedit_length">
<type name="uint16" c:type="guint16"/>
</field>
<field name="preedit_cursor">
<type name="uint16" c:type="guint16"/>
</field>
<field name="dnd_position">
<type name="int" c:type="gint"/>
</field>
<field name="drag_start_x">
<type name="int" c:type="gint"/>
</field>
<field name="drag_start_y">
<type name="int" c:type="gint"/>
</field>
<field name="invisible_char">
<type name="GLib.unichar" c:type="gunichar"/>
</field>
<field name="width_chars">
<type name="int" c:type="gint"/>
</field>
<glib:signal name="activate"
doc="A &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates the entry.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control activation
programmatically.
The default bindings for this signal are all forms of the Enter key.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="backspace"
doc="The ::backspace signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user asks for it.
The default bindings for this signal are
Backspace and Shift-Backspace.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="copy-clipboard"
doc="The ::copy-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to copy the selection to the clipboard.
The default bindings for this signal are
Ctrl-c and Ctrl-Insert.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cut-clipboard"
doc="The ::cut-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cut the selection to the clipboard.
The default bindings for this signal are
Ctrl-x and Shift-Delete.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="delete-from-cursor"
doc="The ::delete-from-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a text deletion.
If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection
if there is one, otherwise it deletes the requested number
of characters.
The default bindings for this signal are
Delete for deleting a character and Ctrl-Delete for
deleting a word.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="DeleteType" c:type="GtkDeleteType"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="icon-press"
doc="The ::icon-press signal is emitted when an activatable icon
is clicked."
version="2.16">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="icon-release"
doc="The ::icon-release signal is emitted on the button release from a
mouse click over an activatable icon."
version="2.16">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_pos" transfer-ownership="none">
<type name="EntryIconPosition" c:type="GtkEntryIconPosition"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="insert-at-cursor"
doc="The ::insert-at-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates the insertion of a
fixed string at the cursor.
This signal has no default bindings.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-cursor"
doc="The ::move-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in @entry, this signal causes
the viewport to be moved instead.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.
The default bindings for this signal come in two variants,
the variant with the Shift modifier extends the selection,
the variant without the Shift modifer does not.
There are too many key combinations to list them all here.
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys move by individual characters/lines&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-arrow key combinations move by words/paragraphs&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys move to the ends of the buffer&lt;/listitem&gt;
&lt;/itemizedlist&gt;">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="paste-clipboard"
doc="The ::paste-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to paste the contents of the clipboard
into the text view.
The default bindings for this signal are
Ctrl-v and Shift-Insert.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="populate-popup"
doc="The ::populate-popup signal gets emitted before showing the
context menu of the entry.
If you need to add items to the context menu, connect
to this signal and append your menuitems to the @menu.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="preedit-changed"
doc="If an input method is used, the typed text will not immediately
be committed to the buffer. So if you are interested in the text,
connect to this signal."
version="2.20">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preedit" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="toggle-overwrite"
doc="The ::toggle-overwrite signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to toggle the overwrite mode of the entry.
The default bindings for this signal is Insert.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<class name="EntryBuffer"
c:type="GtkEntryBuffer"
parent="GObject.Object"
glib:type-name="GtkEntryBuffer"
glib:get-type="gtk_entry_buffer_get_type"
glib:type-struct="EntryBufferClass">
<constructor name="new"
c:identifier="gtk_entry_buffer_new"
doc="Create a new GtkEntryBuffer object.
Optionally, specify initial text to set in the buffer."
version="2.18">
<return-value transfer-ownership="full">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</return-value>
<parameters>
<parameter name="initial_chars"
transfer-ownership="none"
allow-none="1"
doc="initial buffer text, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_initial_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="get_text">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="n_bytes" direction="out" transfer-ownership="full">
<type name="size_t" c:type="gsize*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_length" invoker="get_length">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</virtual-method>
<virtual-method name="insert_text" invoker="insert_text">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="chars" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="delete_text" invoker="delete_text">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_bytes"
c:identifier="gtk_entry_buffer_get_bytes"
doc="Retrieves the length in bytes of the buffer.
See gtk_entry_buffer_get_length()."
version="2.18">
<return-value transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</return-value>
</method>
<method name="get_length"
c:identifier="gtk_entry_buffer_get_length"
doc="Retrieves the length in characters of the buffer."
version="2.18">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="get_text"
c:identifier="gtk_entry_buffer_get_text"
doc="Retrieves the contents of the buffer.
The memory pointer returned by this call will not change
unless this object emits a signal, or is finalized.
string. This string points to internally allocated
storage in the buffer and must not be freed, modified or
stored."
version="2.18">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_text"
c:identifier="gtk_entry_buffer_set_text"
doc="Sets the text in the buffer.
This is roughly equivalent to calling gtk_entry_buffer_delete_text()
and gtk_entry_buffer_insert_text().
Note that @n_chars is in characters, not in bytes."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chars" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_max_length"
c:identifier="gtk_entry_buffer_set_max_length"
doc="(other than the maximum length of entries.) The value passed in will
be clamped to the range 0-65536.
Sets the maximum allowed length of the contents of the buffer. If
the current contents are longer than the given length, then they
will be truncated to fit."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="max_length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_max_length"
c:identifier="gtk_entry_buffer_get_max_length"
doc="Retrieves the maximum allowed length of the text in
in #GtkEntryBuffer, or 0 if there is no maximum."
version="2.18">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="insert_text"
c:identifier="gtk_entry_buffer_insert_text"
doc="Inserts @n_chars characters of @chars into the contents of the
buffer, at position @position.
If @n_chars is negative, then characters from chars will be inserted
until a null-terminator is found. If @position or @n_chars are out of
bounds, or the maximum buffer text length is exceeded, then they are
coerced to sane values.
Note that the position and length are in characters, not in bytes."
version="2.18">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="chars" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="delete_text"
c:identifier="gtk_entry_buffer_delete_text"
doc="Deletes a sequence of characters from the buffer. @n_chars characters are
deleted starting at @position. If @n_chars is negative, then all characters
until the end of the text are deleted.
If @position or @n_chars are out of bounds, then they are coerced to sane
values.
Note that the positions are specified in characters, not bytes."
version="2.18">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="emit_inserted_text"
c:identifier="gtk_entry_buffer_emit_inserted_text"
doc="Used when subclassing #GtkEntryBuffer"
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="chars" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="emit_deleted_text"
c:identifier="gtk_entry_buffer_emit_deleted_text"
doc="Used when subclassing #GtkEntryBuffer"
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<property name="length"
version="2.18"
doc="The length (in characters) of the text in buffer.">
<type name="uint" c:type="guint"/>
</property>
<property name="max-length"
version="2.18"
writable="1"
doc="The maximum length (in characters) of the text in the buffer.">
<type name="int" c:type="gint"/>
</property>
<property name="text"
version="2.18"
writable="1"
doc="The contents of the buffer.">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="EntryBufferPrivate" c:type="GtkEntryBufferPrivate*"/>
</field>
<glib:signal name="deleted-text">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="inserted-text">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="EntryBufferClass"
c:type="GtkEntryBufferClass"
glib:is-gtype-struct-for="EntryBuffer">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="inserted_text">
<callback name="inserted_text" c:type="inserted_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="chars" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="deleted_text">
<callback name="deleted_text" c:type="deleted_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_text">
<callback name="get_text" c:type="get_text">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
<parameter name="n_bytes"
direction="out"
transfer-ownership="full">
<type name="size_t" c:type="gsize*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_length">
<callback name="get_length" c:type="get_length">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_text">
<callback name="insert_text" c:type="insert_text">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="chars" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="delete_text">
<callback name="delete_text" c:type="delete_text">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="EntryBuffer" c:type="GtkEntryBuffer*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved0">
<callback name="gtk_reserved0" c:type="_gtk_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="EntryBufferPrivate" c:type="GtkEntryBufferPrivate">
</record>
<record name="EntryClass"
c:type="GtkEntryClass"
glib:is-gtype-struct-for="Entry">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="populate_popup">
<callback name="populate_popup" c:type="populate_popup">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_cursor">
<callback name="move_cursor" c:type="move_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_at_cursor">
<callback name="insert_at_cursor" c:type="insert_at_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="delete_from_cursor">
<callback name="delete_from_cursor" c:type="delete_from_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="DeleteType" c:type="GtkDeleteType"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="backspace">
<callback name="backspace" c:type="backspace">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cut_clipboard">
<callback name="cut_clipboard" c:type="cut_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="copy_clipboard">
<callback name="copy_clipboard" c:type="copy_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="paste_clipboard">
<callback name="paste_clipboard" c:type="paste_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_overwrite">
<callback name="toggle_overwrite" c:type="toggle_overwrite">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_text_area_size">
<callback name="get_text_area_size" c:type="get_text_area_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="EntryCompletion"
c:type="GtkEntryCompletion"
parent="GObject.Object"
glib:type-name="GtkEntryCompletion"
glib:get-type="gtk_entry_completion_get_type"
glib:type-struct="EntryCompletionClass">
<implements name="Buildable"/>
<implements name="CellLayout"/>
<constructor name="new"
c:identifier="gtk_entry_completion_new"
doc="Creates a new #GtkEntryCompletion object."
version="2.4">
<return-value transfer-ownership="full">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</return-value>
</constructor>
<method name="get_entry"
c:identifier="gtk_entry_completion_get_entry"
doc="Gets the entry @completion has been attached to."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_model"
c:identifier="gtk_entry_completion_set_model"
doc="Sets the model for a #GtkEntryCompletion. If @completion already has
a model set, it will remove it before setting the new model.
If model is %NULL, then it will unset the model."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeModel.">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</method>
<method name="get_model"
c:identifier="gtk_entry_completion_get_model"
doc="Returns the model the #GtkEntryCompletion is using as data source.
Returns %NULL if the model is unset."
version="2.4">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="set_match_func"
c:identifier="gtk_entry_completion_set_match_func"
doc="Sets the match function for @completion to be @func. The match function
is used to determine if a row should or should not be in the completion
list."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="EntryCompletionMatchFunc"
c:type="GtkEntryCompletionMatchFunc"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="func_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_minimum_key_length"
c:identifier="gtk_entry_completion_set_minimum_key_length"
doc="Requires the length of the search key for @completion to be at least
key takes a lot of time and will come up with meaningless results anyway
(ie, a too large dataset)."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_minimum_key_length"
c:identifier="gtk_entry_completion_get_minimum_key_length"
doc="Returns the minimum key length as set for @completion."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="complete"
c:identifier="gtk_entry_completion_complete"
doc="Requests a completion operation, or in other words a refiltering of the
current list with completions, using the current key. The completion list
view will be updated accordingly."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="insert_prefix"
c:identifier="gtk_entry_completion_insert_prefix"
doc="Requests a prefix insertion."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="insert_action_text"
c:identifier="gtk_entry_completion_insert_action_text"
doc="Inserts an action in @completion&apos;s action item list at position @index_
with text @text. If you want the action item to have markup, use
gtk_entry_completion_insert_action_markup()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="insert_action_markup"
c:identifier="gtk_entry_completion_insert_action_markup"
doc="Inserts an action in @completion&apos;s action item list at position @index_
with markup @markup."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="markup" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="delete_action"
c:identifier="gtk_entry_completion_delete_action"
doc="Deletes the action at @index_ from @completion&apos;s action list."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_inline_completion"
c:identifier="gtk_entry_completion_set_inline_completion"
doc="Sets whether the common prefix of the possible completions should
be automatically inserted in the entry."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="inline_completion" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_inline_completion"
c:identifier="gtk_entry_completion_get_inline_completion"
doc="Returns whether the common prefix of the possible completions should
be automatically inserted in the entry."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_inline_selection"
c:identifier="gtk_entry_completion_set_inline_selection"
doc="Sets whether it is possible to cycle through the possible completions
inside the entry."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="inline_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_inline_selection"
c:identifier="gtk_entry_completion_get_inline_selection"
doc="Returns %TRUE if inline-selection mode is turned on."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_popup_completion"
c:identifier="gtk_entry_completion_set_popup_completion"
doc="Sets whether the completions should be presented in a popup window."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="popup_completion" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_popup_completion"
c:identifier="gtk_entry_completion_get_popup_completion"
doc="Returns whether the completions should be presented in a popup window."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_popup_set_width"
c:identifier="gtk_entry_completion_set_popup_set_width"
doc="Sets whether the completion popup window will be resized to be the same
width as the entry."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="popup_set_width" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_popup_set_width"
c:identifier="gtk_entry_completion_get_popup_set_width"
doc="Returns whether the completion popup window will be resized to the
width of the entry.
the entry"
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_popup_single_match"
c:identifier="gtk_entry_completion_set_popup_single_match"
doc="match
Sets whether the completion popup window will appear even if there is
only a single match. You may want to set this to %FALSE if you
are using &lt;link linkend=&quot;GtkEntryCompletion--inline-completion&quot;&gt;inline
completion&lt;/link&gt;."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="popup_single_match" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_popup_single_match"
c:identifier="gtk_entry_completion_get_popup_single_match"
doc="Returns whether the completion popup window will appear even if there is
only a single match.
number of matches."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_completion_prefix"
c:identifier="gtk_entry_completion_get_completion_prefix"
doc="Get the original text entered by the user that triggered
the completion or %NULL if there&apos;s no completion ongoing."
version="2.12">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_text_column"
c:identifier="gtk_entry_completion_set_text_column"
doc="completion list with just strings. This function will set up @completion
to have a list displaying all (and just) strings in the completion list,
and to get those strings from @column in the model of @completion.
This functions creates and adds a #GtkCellRendererText for the selected
column. If you need to set the text column, but don&apos;t want the cell
renderer, use g_object_set() to set the ::text_column property directly."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_text_column"
c:identifier="gtk_entry_completion_get_text_column"
doc="Returns the column in the model of @completion to get strings from."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<property name="inline-completion"
version="2.6"
writable="1"
doc="Determines whether the common prefix of the possible completions
should be inserted automatically in the entry. Note that this
requires text-column to be set, even if you are using a custom
match function.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="inline-selection"
version="2.12"
writable="1"
doc="Determines whether the possible completions on the popup
will appear in the entry as you navigate through them.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="minimum-key-length" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="model" writable="1">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<property name="popup-completion"
version="2.6"
writable="1"
doc="Determines whether the possible completions should be
shown in a popup window.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="popup-set-width"
version="2.8"
writable="1"
doc="Determines whether the completions popup window will be
resized to the width of the entry.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="popup-single-match"
version="2.8"
writable="1"
doc="Determines whether the completions popup window will shown
for a single possible completion. You probably want to set
this to %FALSE if you are using
&lt;link linkend=&quot;GtkEntryCompletion--inline-completion&quot;&gt;inline
completion&lt;/link&gt;.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="text-column"
version="2.6"
writable="1"
doc="The column of the model containing the strings.
Note that the strings must be UTF-8.">
<type name="int" c:type="gint"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="EntryCompletionPrivate"
c:type="GtkEntryCompletionPrivate*"/>
</field>
<glib:signal name="action-activated"
doc="Gets emitted when an action is activated."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="cursor-on-match"
doc="Gets emitted when a match from the cursor is on a match
of the list.The default behaviour is to replace the contents
of the entry with the contents of the text column in the row
pointed to by @iter."
version="2.12">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="insert-prefix"
doc="Gets emitted when the inline autocompletion is triggered.
The default behaviour is to make the entry display the
whole prefix and select the newly inserted part.
Applications may connect to this signal in order to insert only a
smaller part of the @prefix into the entry - e.g. the entry used in
the #GtkFileChooser inserts only the part of the prefix up to the
next &apos;/&apos;."
version="2.6">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="prefix" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="match-selected"
doc="Gets emitted when a match from the list is selected.
The default behaviour is to replace the contents of the
entry with the contents of the text column in the row
pointed to by @iter."
version="2.4">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="EntryCompletionClass"
c:type="GtkEntryCompletionClass"
glib:is-gtype-struct-for="EntryCompletion">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="match_selected">
<callback name="match_selected" c:type="match_selected">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="completion" transfer-ownership="none">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</parameter>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="action_activated">
<callback name="action_activated" c:type="action_activated">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="completion" transfer-ownership="none">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</parameter>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_prefix">
<callback name="insert_prefix" c:type="insert_prefix">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="completion" transfer-ownership="none">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</parameter>
<parameter name="prefix" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cursor_on_match">
<callback name="cursor_on_match" c:type="cursor_on_match">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="completion" transfer-ownership="none">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</parameter>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved0">
<callback name="gtk_reserved0" c:type="_gtk_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="EntryCompletionMatchFunc"
c:type="GtkEntryCompletionMatchFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="completion" transfer-ownership="none">
<type name="EntryCompletion" c:type="GtkEntryCompletion*"/>
</parameter>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="3">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="EntryCompletionPrivate" c:type="GtkEntryCompletionPrivate">
</record>
<enumeration name="EntryIconPosition"
glib:type-name="GtkEntryIconPosition"
glib:get-type="gtk_entry_icon_position_get_type"
c:type="GtkEntryIconPosition">
<member name="primary"
value="0"
c:identifier="GTK_ENTRY_ICON_PRIMARY"
glib:nick="primary"/>
<member name="secondary"
value="1"
c:identifier="GTK_ENTRY_ICON_SECONDARY"
glib:nick="secondary"/>
</enumeration>
<class name="EventBox"
c:type="GtkEventBox"
parent="Bin"
glib:type-name="GtkEventBox"
glib:get-type="gtk_event_box_get_type"
glib:type-struct="EventBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_event_box_new">
<return-value transfer-ownership="full">
<type name="EventBox" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_visible_window"
c:identifier="gtk_event_box_get_visible_window"
doc="Returns whether the event box has a visible window.
See gtk_event_box_set_visible_window() for details."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible_window"
c:identifier="gtk_event_box_set_visible_window"
doc="Set whether the event box uses a visible or invisible child
window. The default is to use visible windows.
In an invisible window event box, the window that the
event box creates is a %GDK_INPUT_ONLY window, which
means that it is invisible and only serves to receive
events.
A visible window event box creates a visible (%GDK_INPUT_OUTPUT)
window that acts as the parent window for all the widgets
contained in the event box.
You should generally make your event box invisible if
you just want to trap events. Creating a visible window
may cause artifacts that are visible to the user, especially
if the user is using a theme with gradients or pixmaps.
The main reason to create a non input-only event box is if
you want to set the background to a different color or
draw on it.
&lt;note&gt;&lt;para&gt;
There is one unexpected issue for an invisible event box that has its
window below the child. (See gtk_event_box_set_above_child().)
Since the input-only window is not an ancestor window of any windows
that descendent widgets of the event box create, events on these
windows aren&apos;t propagated up by the windowing system, but only by GTK+.
The practical effect of this is if an event isn&apos;t in the event
mask for the descendant window (see gtk_widget_add_events()),
it won&apos;t be received by the event box.
&lt;/para&gt;&lt;para&gt;
This problem doesn&apos;t occur for visible event boxes, because in
that case, the event box window is actually the ancestor of the
descendant windows, not just at the same place on the screen.
&lt;/para&gt;&lt;/note&gt;"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible_window" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_above_child"
c:identifier="gtk_event_box_get_above_child"
doc="Returns whether the event box window is above or below the
windows of its child. See gtk_event_box_set_above_child() for
details.
of its child."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_above_child"
c:identifier="gtk_event_box_set_above_child"
doc="Set whether the event box window is positioned above the windows of its child,
as opposed to below it. If the window is above, all events inside the
event box will go to the event box. If the window is below, events
in windows of child widgets will first got to that widget, and then
to its parents.
The default is to keep the window below the child."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="above_child" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="above-child" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible-window" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
</class>
<record name="EventBoxClass"
c:type="GtkEventBoxClass"
glib:is-gtype-struct-for="EventBox">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
</record>
<class name="Expander"
c:type="GtkExpander"
parent="Bin"
glib:type-name="GtkExpander"
glib:get-type="gtk_expander_get_type"
glib:type-struct="ExpanderClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_expander_new"
doc="Creates a new expander using @label as the text of the label."
version="2.4">
<return-value transfer-ownership="full">
<type name="Expander" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_expander_new_with_mnemonic"
doc="mnemonic character
Creates a new expander using @label as the text of the label.
If characters in @label are preceded by an underscore, they are underlined.
If you need a literal underscore character in a label, use &apos;__&apos; (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button."
version="2.4">
<return-value transfer-ownership="full">
<type name="Expander" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="the text of the label with an underscore in front of the">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_expanded"
c:identifier="gtk_expander_set_expanded"
doc="Sets the state of the expander. Set to %TRUE, if you want
the child widget to be revealed, and %FALSE if you want the
child widget to be hidden."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="expanded" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_expanded"
c:identifier="gtk_expander_get_expanded"
doc="Queries a #GtkExpander and returns its current state. Returns %TRUE
if the child widget is revealed.
See gtk_expander_set_expanded()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_spacing"
c:identifier="gtk_expander_set_spacing"
doc="Sets the spacing field of @expander, which is the number of pixels to
place between expander and the child."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_spacing"
c:identifier="gtk_expander_get_spacing"
doc="Gets the value set by gtk_expander_set_spacing()."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_label"
c:identifier="gtk_expander_set_label"
doc="Sets the text of the label of the expander to @label.
This will also clear any previously set labels."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="a string">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_expander_get_label"
doc="Fetches the text from a label widget including any embedded
underlines indicating mnemonics and Pango markup, as set by
gtk_expander_set_label(). If the label text has not been set the
return value will be %NULL. This will be the case if you create an
empty button with gtk_button_new() to use as a container.
Note that this function behaved differently in versions prior to
2.14 and used to return the label text stripped of embedded
underlines indicating mnemonics and Pango markup. This problem can
be avoided by fetching the label text directly from the label
widget.
by the widget and must not be modified or freed."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_use_underline"
c:identifier="gtk_expander_set_use_underline"
doc="If true, an underline in the text of the expander label indicates
the next character should be used for the mnemonic accelerator key."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_underline" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_underline"
c:identifier="gtk_expander_get_use_underline"
doc="Returns whether an embedded underline in the expander label indicates a
mnemonic. See gtk_expander_set_use_underline().
indicates the mnemonic accelerator keys."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_use_markup"
c:identifier="gtk_expander_set_use_markup"
doc="Sets whether the text of the label contains markup in &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango&apos;s text markup
language&lt;/link&gt;. See gtk_label_set_markup()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_markup" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_markup"
c:identifier="gtk_expander_get_use_markup"
doc="Returns whether the label&apos;s text is interpreted as marked up with
the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;. See gtk_expander_set_use_markup ()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_label_widget"
c:identifier="gtk_expander_set_label_widget"
doc="Set the label widget for the expander. This is the widget
that will appear embedded alongside the expander arrow."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label_widget"
transfer-ownership="none"
allow-none="1"
doc="the new label widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_label_widget"
c:identifier="gtk_expander_get_label_widget"
doc="Retrieves the label widget for the frame. See
gtk_expander_set_label_widget()."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<property name="expanded" writable="1" construct="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="label" writable="1" construct="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="label-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="spacing" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="use-markup" writable="1" construct="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="use-underline" writable="1" construct="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="priv">
<type name="ExpanderPrivate" c:type="GtkExpanderPrivate*"/>
</field>
<glib:signal name="activate">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ExpanderClass"
c:type="GtkExpanderClass"
glib:is-gtype-struct-for="Expander">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="expander" transfer-ownership="none">
<type name="Expander" c:type="GtkExpander*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="ExpanderPrivate" c:type="GtkExpanderPrivate">
</record>
<enumeration name="ExpanderStyle"
glib:type-name="GtkExpanderStyle"
glib:get-type="gtk_expander_style_get_type"
c:type="GtkExpanderStyle">
<member name="collapsed"
value="0"
c:identifier="GTK_EXPANDER_COLLAPSED"
glib:nick="collapsed"/>
<member name="semi_collapsed"
value="1"
c:identifier="GTK_EXPANDER_SEMI_COLLAPSED"
glib:nick="semi-collapsed"/>
<member name="semi_expanded"
value="2"
c:identifier="GTK_EXPANDER_SEMI_EXPANDED"
glib:nick="semi-expanded"/>
<member name="expanded"
value="3"
c:identifier="GTK_EXPANDER_EXPANDED"
glib:nick="expanded"/>
</enumeration>
<interface name="FileChooser"
c:type="GtkFileChooser"
glib:type-name="GtkFileChooser"
glib:get-type="gtk_file_chooser_get_type">
<prerequisite name="Widget"/>
<method name="set_action"
c:identifier="gtk_file_chooser_set_action"
doc="Sets the type of operation that the chooser is performing; the
user interface is adapted to suit the selected action. For example,
an option to create a new folder might be shown if the action is
%GTK_FILE_CHOOSER_ACTION_SAVE but not if the action is
%GTK_FILE_CHOOSER_ACTION_OPEN."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</parameter>
</parameters>
</method>
<method name="get_action"
c:identifier="gtk_file_chooser_get_action"
doc="Gets the type of operation that the file chooser is performing; see
gtk_file_chooser_set_action()."
version="2.4">
<return-value transfer-ownership="full">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</return-value>
</method>
<method name="set_local_only"
c:identifier="gtk_file_chooser_set_local_only"
doc="Sets whether only local files can be selected in the
file selector. If @local_only is %TRUE (the default),
then the selected file are files are guaranteed to be
accessible through the operating systems native file
file system and therefore the application only
needs to worry about the filename functions in
#GtkFileChooser, like gtk_file_chooser_get_filename(),
rather than the URI functions like
gtk_file_chooser_get_uri(),"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="local_only" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_local_only"
c:identifier="gtk_file_chooser_get_local_only"
doc="Gets whether only local files can be selected in the
file selector. See gtk_file_chooser_set_local_only()"
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_select_multiple"
c:identifier="gtk_file_chooser_set_select_multiple"
doc="Sets whether multiple files can be selected in the file selector. This is
only relevant if the action is set to be %GTK_FILE_CHOOSER_ACTION_OPEN or
%GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="select_multiple" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_select_multiple"
c:identifier="gtk_file_chooser_get_select_multiple"
doc="Gets whether multiple files can be selected in the file
selector. See gtk_file_chooser_set_select_multiple()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_hidden"
c:identifier="gtk_file_chooser_set_show_hidden"
doc="Sets whether hidden files and folders are displayed in the file selector."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_hidden" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_hidden"
c:identifier="gtk_file_chooser_get_show_hidden"
doc="Gets whether hidden files and folders are displayed in the file selector.
See gtk_file_chooser_set_show_hidden()."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_do_overwrite_confirmation"
c:identifier="gtk_file_chooser_set_do_overwrite_confirmation"
doc="Sets whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode will present
a confirmation dialog if the user types a file name that already exists. This
is %FALSE by default.
Regardless of this setting, the @chooser will emit the
#GtkFileChooser::confirm-overwrite signal when appropriate.
If all you need is the stock confirmation dialog, set this property to %TRUE.
You can override the way confirmation is done by actually handling the
#GtkFileChooser::confirm-overwrite signal; please refer to its documentation
for the details."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="do_overwrite_confirmation"
transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_do_overwrite_confirmation"
c:identifier="gtk_file_chooser_get_do_overwrite_confirmation"
doc="Queries whether a file chooser is set to confirm for overwriting when the user
types a file name that already exists.
%FALSE otherwise."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_create_folders"
c:identifier="gtk_file_chooser_set_create_folders"
doc="Sets whether file choser will offer to create new folders.
This is only relevant if the action is not set to be
%GTK_FILE_CHOOSER_ACTION_OPEN."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="create_folders" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_create_folders"
c:identifier="gtk_file_chooser_get_create_folders"
doc="Gets whether file choser will offer to create new folders.
See gtk_file_chooser_set_create_folders()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_current_name"
c:identifier="gtk_file_chooser_set_current_name"
doc="Sets the current name in the file selector, as if entered
by the user. Note that the name passed in here is a UTF-8
string rather than a filename. This function is meant for
such uses as a suggested name in a &quot;Save As...&quot; dialog.
If you want to preselect a particular existing file, you should use
gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead.
Please see the documentation for those functions for an example of using
gtk_file_chooser_set_current_name() as well."
version="2.4">
<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_filename"
c:identifier="gtk_file_chooser_get_filename"
doc="Gets the filename for the currently selected file in
the file selector. If multiple files are selected,
one of the filenames will be returned at random.
If the file chooser is in folder mode, this function returns the selected
folder.
if no file is selected, or the selected file can&apos;t
be represented with a local filename. Free with g_free()."
version="2.4">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_filename"
c:identifier="gtk_file_chooser_set_filename"
doc="Sets @filename as the current filename for the file chooser, by changing
to the file&apos;s parent folder and actually selecting the file in list. If
the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file&apos;s base name
will also appear in the dialog&apos;s file name entry.
If the file name isn&apos;t in the current folder of @chooser, then the current
folder of @chooser will be changed to the folder containing @filename. This
is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by
gtk_file_chooser_select_filename().
Note that the file must exist, or nothing will be done except
for the directory change.
If you are implementing a &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; dialog,
you should use this function if you already have a file name to which the
user may save; for example, when the user opens an existing file and then
does &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; on it. If you don&apos;t have
a file name already &amp;mdash; for example, if the user just created a new
file and is saving it for the first time, do not call this function.
Instead, use something similar to this:
|[
if (document_is_new)
{
/&amp;ast; the user just created a new document &amp;ast;/
gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving);
gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
}
else
{
/&amp;ast; the user edited an existing document &amp;ast;/
gtk_file_chooser_set_filename (chooser, existing_filename);
}
]|
selected successfully, %FALSE otherwise."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="select_filename"
c:identifier="gtk_file_chooser_select_filename"
doc="Selects a filename. If the file name isn&apos;t in the current
folder of @chooser, then the current folder of @chooser will
be changed to the folder containing @filename.
selected successfully, %FALSE otherwise."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="unselect_filename"
c:identifier="gtk_file_chooser_unselect_filename"
doc="Unselects a currently selected filename. If the filename
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="select_all"
c:identifier="gtk_file_chooser_select_all"
doc="Selects all the files in the current folder of a file chooser."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unselect_all"
c:identifier="gtk_file_chooser_unselect_all"
doc="Unselects all the files in the current folder of a file chooser."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_filenames"
c:identifier="gtk_file_chooser_get_filenames"
doc="Lists all the selected files and subfolders in the current folder of
folder cannot be represented as local filenames they will be ignored. (See
gtk_file_chooser_get_uris())
files and subfolders in the current folder. Free the returned list
with g_slist_free(), and the filenames with g_free()."
version="2.4">
<return-value transfer-ownership="full"
doc="a #GSList containing the filenames of all selected">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
</method>
<method name="set_current_folder"
c:identifier="gtk_file_chooser_set_current_folder"
doc="Sets the current folder for @chooser from a local filename.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.
otherwise."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_current_folder"
c:identifier="gtk_file_chooser_get_current_folder"
doc="Gets the current folder of @chooser as a local filename.
See gtk_file_chooser_set_current_folder().
Note that this is the folder that the file chooser is currently displaying
(e.g. &quot;/home/username/Documents&quot;), which is &lt;emphasis&gt;not the same&lt;/emphasis&gt;
as the currently-selected folder if the chooser is in
%GTK_FILE_CHOOSER_SELECT_FOLDER mode
(e.g. &quot;/home/username/Documents/selected-folder/&quot;. To get the
currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the
usual way to get the selection.
path cannot be represented as a local filename. Free with g_free(). This
function will also return %NULL if the file chooser was unable to load the
last folder that was requested from it; for example, as would be for calling
gtk_file_chooser_set_current_folder() on a nonexistent folder."
version="2.4">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_uri"
c:identifier="gtk_file_chooser_get_uri"
doc="Gets the URI for the currently selected file in
the file selector. If multiple files are selected,
one of the filenames will be returned at random.
If the file chooser is in folder mode, this function returns the selected
folder.
if no file is selected. Free with g_free()"
version="2.4">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_uri"
c:identifier="gtk_file_chooser_set_uri"
doc="Sets the file referred to by @uri as the current file for the file chooser,
by changing to the URI&apos;s parent folder and actually selecting the URI in the
list. If the @chooser is %GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI&apos;s base
name will also appear in the dialog&apos;s file name entry.
If the URI isn&apos;t in the current folder of @chooser, then the current folder
of @chooser will be changed to the folder containing @uri. This is equivalent
to a sequence of gtk_file_chooser_unselect_all() followed by
gtk_file_chooser_select_uri().
Note that the URI must exist, or nothing will be done except for the
directory change.
If you are implementing a &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; dialog,
you should use this function if you already have a file name to which the
user may save; for example, when the user opens an existing file and then
does &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; on it. If you don&apos;t have
a file name already &amp;mdash; for example, if the user just created a new
file and is saving it for the first time, do not call this function.
Instead, use something similar to this:
|[
if (document_is_new)
{
/&amp;ast; the user just created a new document &amp;ast;/
gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving);
gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
}
else
{
/&amp;ast; the user edited an existing document &amp;ast;/
gtk_file_chooser_set_uri (chooser, existing_uri);
}
]|
selected successfully, %FALSE otherwise."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="select_uri"
c:identifier="gtk_file_chooser_select_uri"
doc="Selects the file to by @uri. If the URI doesn&apos;t refer to a
file in the current folder of @chooser, then the current folder of
selected successfully, %FALSE otherwise."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="unselect_uri"
c:identifier="gtk_file_chooser_unselect_uri"
doc="Unselects the file referred to by @uri. If the file
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="get_uris"
c:identifier="gtk_file_chooser_get_uris"
doc="Lists all the selected files and subfolders in the current folder of
files and subfolders in the current folder. Free the returned list
with g_slist_free(), and the filenames with g_free()."
version="2.4">
<return-value transfer-ownership="full"
doc="a #GSList containing the URIs of all selected">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
</method>
<method name="set_current_folder_uri"
c:identifier="gtk_file_chooser_set_current_folder_uri"
doc="Sets the current folder for @chooser from an URI.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.
otherwise."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_current_folder_uri"
c:identifier="gtk_file_chooser_get_current_folder_uri"
doc="Gets the current folder of @chooser as an URI.
See gtk_file_chooser_set_current_folder_uri().
Note that this is the folder that the file chooser is currently displaying
(e.g. &quot;file:///home/username/Documents&quot;), which is &lt;emphasis&gt;not the same&lt;/emphasis&gt;
as the currently-selected folder if the chooser is in
%GTK_FILE_CHOOSER_SELECT_FOLDER mode
(e.g. &quot;file:///home/username/Documents/selected-folder/&quot;. To get the
currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the
usual way to get the selection.
function will also return %NULL if the file chooser was unable to load the
last folder that was requested from it; for example, as would be for calling
gtk_file_chooser_set_current_folder_uri() on a nonexistent folder."
version="2.4">
<return-value transfer-ownership="full" doc="This">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_file"
c:identifier="gtk_file_chooser_get_file"
doc="Gets the #GFile for the currently selected file in
the file selector. If multiple files are selected,
one of the files will be returned at random.
If the file chooser is in folder mode, this function returns the selected
folder.
g_object_unref() to release it."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gio.File" c:type="GFile*"/>
</return-value>
</method>
<method name="set_file"
c:identifier="gtk_file_chooser_set_file"
doc="Sets @file as the current filename for the file chooser, by changing
to the file&apos;s parent folder and actually selecting the file in list. If
the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file&apos;s base name
will also appear in the dialog&apos;s file name entry.
If the file name isn&apos;t in the current folder of @chooser, then the current
folder of @chooser will be changed to the folder containing @filename. This
is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by
gtk_file_chooser_select_filename().
Note that the file must exist, or nothing will be done except
for the directory change.
If you are implementing a &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; dialog,
you should use this function if you already have a file name to which the
user may save; for example, when the user opens an existing file and then
does &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; on it. If you don&apos;t have
a file name already &amp;mdash; for example, if the user just created a new
file and is saving it for the first time, do not call this function.
Instead, use something similar to this:
|[
if (document_is_new)
{
/&amp;ast; the user just created a new document &amp;ast;/
gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving);
gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
}
else
{
/&amp;ast; the user edited an existing document &amp;ast;/
gtk_file_chooser_set_file (chooser, existing_file);
}
]|
selected successfully, %FALSE otherwise."
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="file" transfer-ownership="none">
<type name="Gio.File" c:type="GFile*"/>
</parameter>
</parameters>
</method>
<method name="select_file"
c:identifier="gtk_file_chooser_select_file"
doc="Selects the file referred to by @file. An internal function. See
_gtk_file_chooser_select_uri().
selected successfully, %FALSE otherwise."
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="file" transfer-ownership="none">
<type name="Gio.File" c:type="GFile*"/>
</parameter>
</parameters>
</method>
<method name="unselect_file"
c:identifier="gtk_file_chooser_unselect_file"
doc="Unselects the file referred to by @file. If the file is not in the current
directory, does not exist, or is otherwise not currently selected, does nothing."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="file" transfer-ownership="none">
<type name="Gio.File" c:type="GFile*"/>
</parameter>
</parameters>
</method>
<method name="get_files"
c:identifier="gtk_file_chooser_get_files"
doc="Lists all the selected files and subfolders in the current folder of @chooser
as #GFile. An internal function, see gtk_file_chooser_get_uris().
file and subfolder in the current folder. Free the returned list
with g_slist_free(), and the files with g_object_unref()."
version="2.14">
<return-value transfer-ownership="full"
doc="a #GSList containing a #GFile for each selected">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
</method>
<method name="set_current_folder_file"
c:identifier="gtk_file_chooser_set_current_folder_file"
doc="Sets the current folder for @chooser from a #GFile.
Internal function, see gtk_file_chooser_set_current_folder_uri().
otherwise."
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="file" transfer-ownership="none">
<type name="Gio.File" c:type="GFile*"/>
</parameter>
</parameters>
</method>
<method name="get_current_folder_file"
c:identifier="gtk_file_chooser_get_current_folder_file"
doc="Gets the current folder of @chooser as #GFile.
See gtk_file_chooser_get_current_folder_uri()."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gio.File" c:type="GFile*"/>
</return-value>
</method>
<method name="set_preview_widget"
c:identifier="gtk_file_chooser_set_preview_widget"
doc="Sets an application-supplied widget to use to display a custom preview
of the currently selected file. To implement a preview, after setting the
preview widget, you connect to the #GtkFileChooser::update-preview
signal, and call gtk_file_chooser_get_preview_filename() or
gtk_file_chooser_get_preview_uri() on each change. If you can
display a preview of the new file, update your widget and
set the preview active using gtk_file_chooser_set_preview_widget_active().
Otherwise, set the preview inactive.
When there is no application-supplied preview widget, or the
application-supplied preview widget is not active, the file chooser
may display an internally generated preview of the current file or
it may display no preview at all."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preview_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_preview_widget"
c:identifier="gtk_file_chooser_get_preview_widget"
doc="Gets the current preview widget; see
gtk_file_chooser_set_preview_widget()."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_preview_widget_active"
c:identifier="gtk_file_chooser_set_preview_widget_active"
doc="Sets whether the preview widget set by
gtk_file_chooser_set_preview_widget() should be shown for the
current filename. When @active is set to false, the file chooser
may display an internally generated preview of the current file
or it may display no preview at all. See
gtk_file_chooser_set_preview_widget() for more details."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="active" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_preview_widget_active"
c:identifier="gtk_file_chooser_get_preview_widget_active"
doc="Gets whether the preview widget set by gtk_file_chooser_set_preview_widget()
should be shown for the current filename. See
gtk_file_chooser_set_preview_widget_active()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_use_preview_label"
c:identifier="gtk_file_chooser_set_use_preview_label"
doc="Sets whether the file chooser should display a stock label with the name of
the file that is being previewed; the default is %TRUE. Applications that
want to draw the whole preview area themselves should set this to %FALSE and
display the name themselves in their preview widget."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_label" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_preview_label"
c:identifier="gtk_file_chooser_get_use_preview_label"
doc="Gets whether a stock label should be drawn with the name of the previewed
file. See gtk_file_chooser_set_use_preview_label().
name of the previewed file, %FALSE otherwise.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_preview_filename"
c:identifier="gtk_file_chooser_get_preview_filename"
doc="Gets the filename that should be previewed in a custom preview
widget. See gtk_file_chooser_set_preview_widget().
is selected, or if the selected file cannot be represented
as a local filename. Free with g_free()"
version="2.4">
<return-value transfer-ownership="full">
<type name="utf8" c:type="char*"/>
</return-value>
</method>
<method name="get_preview_uri"
c:identifier="gtk_file_chooser_get_preview_uri"
doc="Gets the URI that should be previewed in a custom preview
widget. See gtk_file_chooser_set_preview_widget().
selected. Free with g_free()."
version="2.4">
<return-value transfer-ownership="full">
<type name="utf8" c:type="char*"/>
</return-value>
</method>
<method name="get_preview_file"
c:identifier="gtk_file_chooser_get_preview_file"
doc="Gets the #GFile that should be previewed in a custom preview
Internal function, see gtk_file_chooser_get_preview_uri().
is selected. Free with g_object_unref()."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gio.File" c:type="GFile*"/>
</return-value>
</method>
<method name="set_extra_widget"
c:identifier="gtk_file_chooser_set_extra_widget"
doc="Sets an application-supplied widget to provide extra options to the user."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="extra_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_extra_widget"
c:identifier="gtk_file_chooser_get_extra_widget"
doc="Gets the current preview widget; see
gtk_file_chooser_set_extra_widget()."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="add_filter"
c:identifier="gtk_file_chooser_add_filter"
doc="Adds @filter to the list of filters that the user can select between.
When a filter is selected, only files that are passed by that
filter are displayed.
Note that the @chooser takes ownership of the filter, so you have to
ref and sink it if you want to keep a reference."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="FileFilter" c:type="GtkFileFilter*"/>
</parameter>
</parameters>
</method>
<method name="remove_filter"
c:identifier="gtk_file_chooser_remove_filter"
doc="Removes @filter from the list of filters that the user can select between."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="FileFilter" c:type="GtkFileFilter*"/>
</parameter>
</parameters>
</method>
<method name="list_filters"
c:identifier="gtk_file_chooser_list_filters"
doc="Lists the current set of user-selectable filters; see
gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter().
user selectable filters. The contents of the list are
owned by GTK+, but you must free the list itself with
g_slist_free() when you are done with it."
version="2.4">
<return-value transfer-ownership="container"
doc="a #GSList containing the current set of">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
</method>
<method name="set_filter"
c:identifier="gtk_file_chooser_set_filter"
doc="Sets the current filter; only the files that pass the
filter will be displayed. If the user-selectable list of filters
is non-empty, then the filter should be one of the filters
in that list. Setting the current filter when the list of
filters is empty is useful if you want to restrict the displayed
set of files without letting the user change it."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="FileFilter" c:type="GtkFileFilter*"/>
</parameter>
</parameters>
</method>
<method name="get_filter"
c:identifier="gtk_file_chooser_get_filter"
doc="Gets the current filter; see gtk_file_chooser_set_filter()."
version="2.4">
<return-value transfer-ownership="full">
<type name="FileFilter" c:type="GtkFileFilter*"/>
</return-value>
</method>
<method name="add_shortcut_folder"
c:identifier="gtk_file_chooser_add_shortcut_folder"
doc="Adds a folder to be displayed with the shortcut folders in a file chooser.
Note that shortcut folders do not get saved, as they are provided by the
application. For example, you can use this to add a
&quot;/usr/share/mydrawprogram/Clipart&quot; folder to the volume list.
otherwise. In the latter case, the @error will be set as appropriate."
version="2.4"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="folder" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="remove_shortcut_folder"
c:identifier="gtk_file_chooser_remove_shortcut_folder"
doc="Removes a folder from a file chooser&apos;s list of shortcut folders.
In the latter case, the @error will be set as appropriate."
version="2.4"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="folder" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="list_shortcut_folders"
c:identifier="gtk_file_chooser_list_shortcut_folders"
doc="Queries the list of shortcut folders in the file chooser, as set by
gtk_file_chooser_add_shortcut_folder().
folders. Free the returned list with g_slist_free(), and the filenames with
g_free()."
version="2.4">
<return-value transfer-ownership="full"
doc="A list of folder filenames, or %NULL if there are no shortcut">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
</method>
<method name="add_shortcut_folder_uri"
c:identifier="gtk_file_chooser_add_shortcut_folder_uri"
doc="Adds a folder URI to be displayed with the shortcut folders in a file
chooser. Note that shortcut folders do not get saved, as they are provided
by the application. For example, you can use this to add a
&quot;file:///usr/share/mydrawprogram/Clipart&quot; folder to the volume list.
otherwise. In the latter case, the @error will be set as appropriate."
version="2.4"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="remove_shortcut_folder_uri"
c:identifier="gtk_file_chooser_remove_shortcut_folder_uri"
doc="Removes a folder URI from a file chooser&apos;s list of shortcut folders.
In the latter case, the @error will be set as appropriate."
version="2.4"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="list_shortcut_folder_uris"
c:identifier="gtk_file_chooser_list_shortcut_folder_uris"
doc="Queries the list of shortcut folders in the file chooser, as set by
gtk_file_chooser_add_shortcut_folder_uri().
folders. Free the returned list with g_slist_free(), and the URIs with
g_free()."
version="2.4">
<return-value transfer-ownership="full"
doc="A list of folder URIs, or %NULL if there are no shortcut">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
</method>
<property name="action" writable="1">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</property>
<property name="create-folders"
version="2.18"
writable="1"
doc="Whether a file chooser not in %GTK_FILE_CHOOSER_ACTION_OPEN mode
will offer the user to create new folders.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="do-overwrite-confirmation"
version="2.8"
writable="1"
doc="Whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode
will present an overwrite confirmation dialog if the user
selects a file name that already exists.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="extra-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="file-system-backend"
readable="0"
writable="1"
construct-only="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="filter" writable="1">
<type name="FileFilter" c:type="GtkFileFilter"/>
</property>
<property name="local-only" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="preview-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="preview-widget-active" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="select-multiple" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-hidden" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="use-preview-label" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<glib:signal name="confirm-overwrite"
doc="This signal gets emitted whenever it is appropriate to present a
confirmation dialog when the user has selected a file name that
already exists. The signal only gets emitted when the file
chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode.
Most applications just need to turn on the
#GtkFileChooser:do-overwrite-confirmation property (or call the
gtk_file_chooser_set_do_overwrite_confirmation() function), and
they will automatically get a stock confirmation dialog.
Applications which need to customize this behavior should do
that, and also connect to the #GtkFileChooser::confirm-overwrite
signal.
A signal handler for this signal must return a
#GtkFileChooserConfirmation value, which indicates the action to
take. If the handler determines that the user wants to select a
different filename, it should return
%GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN. If it determines
that the user is satisfied with his choice of file name, it
should return %GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME.
On the other hand, if it determines that the stock confirmation
dialog should be used, it should return
%GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example
illustrates this.
&lt;example id=&quot;gtkfilechooser-confirmation&quot;&gt;
&lt;title&gt;Custom confirmation&lt;/title&gt;
&lt;programlisting&gt;
static GtkFileChooserConfirmation
confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data)
{
char *uri;
uri = gtk_file_chooser_get_uri (chooser);
if (is_uri_read_only (uri))
{
if (user_wants_to_replace_read_only_file (uri))
return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME;
else
return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN;
} else
return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog
}
...
chooser = gtk_file_chooser_dialog_new (...);
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
g_signal_connect (chooser, &quot;confirm-overwrite&quot;,
G_CALLBACK (confirm_overwrite_callback), NULL);
if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT)
save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));
gtk_widget_destroy (chooser);
&lt;/programlisting&gt;
&lt;/example&gt;
action to take after emitting the signal."
version="2.8">
<return-value transfer-ownership="full">
<type name="FileChooserConfirmation"
c:type="GtkFileChooserConfirmation"/>
</return-value>
</glib:signal>
<glib:signal name="current-folder-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="file-activated">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="selection-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="update-preview">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</interface>
<enumeration name="FileChooserAction"
doc="will only let the user pick an existing file.
will let the user pick an existing file, or type in a new
filename.
selecting folders. The file chooser will let the user pick an
existing folder.
new folder. The file chooser will let the user name an existing or
new folder.
Describes whether a #GtkFileChooser is being used to open existing files
or to save to a possibly new file."
glib:type-name="GtkFileChooserAction"
glib:get-type="gtk_file_chooser_action_get_type"
c:type="GtkFileChooserAction">
<member name="open"
value="0"
c:identifier="GTK_FILE_CHOOSER_ACTION_OPEN"
glib:nick="open"/>
<member name="save"
value="1"
c:identifier="GTK_FILE_CHOOSER_ACTION_SAVE"
glib:nick="save"/>
<member name="select_folder"
value="2"
c:identifier="GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER"
glib:nick="select-folder"/>
<member name="create_folder"
value="3"
c:identifier="GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER"
glib:nick="create-folder"/>
</enumeration>
<class name="FileChooserButton"
c:type="GtkFileChooserButton"
parent="HBox"
glib:type-name="GtkFileChooserButton"
glib:get-type="gtk_file_chooser_button_get_type"
glib:type-struct="FileChooserButtonClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="FileChooser"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_file_chooser_button_new"
doc="Creates a new file-selecting button widget."
version="2.6">
<return-value transfer-ownership="full">
<type name="FileChooserButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_backend"
c:identifier="gtk_file_chooser_button_new_with_backend"
doc="Creates a new file-selecting button widget using @backend."
version="2.6"
deprecated="Use gtk_file_chooser_button_new() instead."
deprecated-version="2.14">
<return-value transfer-ownership="full">
<type name="FileChooserButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</parameter>
<parameter name="backend" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_dialog"
c:identifier="gtk_file_chooser_button_new_with_dialog"
doc="Creates a #GtkFileChooserButton widget which uses @dialog as its
file-picking window.
Note that @dialog must be a #GtkDialog (or subclass) which
implements the #GtkFileChooser interface and must not have
%GTK_DIALOG_DESTROY_WITH_PARENT set.
Also note that the dialog needs to have its confirmative button
added with response %GTK_RESPONSE_ACCEPT or %GTK_RESPONSE_OK in
order for the button to take over the file selected in the dialog."
version="2.6">
<return-value transfer-ownership="full">
<type name="FileChooserButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="dialog" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</constructor>
<method name="get_title"
c:identifier="gtk_file_chooser_button_get_title"
doc="Retrieves the title of the browse dialog used by @button. The returned value
should not be modified or freed."
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_title"
c:identifier="gtk_file_chooser_button_set_title"
doc="Modifies the @title of the browse dialog used by @button."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_width_chars"
c:identifier="gtk_file_chooser_button_get_width_chars"
doc="Retrieves the width in characters of the @button widget&apos;s entry and/or label."
version="2.6">
<return-value transfer-ownership="none"
doc="that the button will use to size itself.">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_width_chars"
c:identifier="gtk_file_chooser_button_set_width_chars"
doc="Sets the width (in characters) that @button will use to @n_chars."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_focus_on_click"
c:identifier="gtk_file_chooser_button_get_focus_on_click"
doc="Returns whether the button grabs focus when it is clicked with the mouse.
See gtk_file_chooser_button_set_focus_on_click().
the mouse."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_focus_on_click"
c:identifier="gtk_file_chooser_button_set_focus_on_click"
doc="Sets whether the button will grab focus when it is clicked with the mouse.
Making mouse clicks not grab focus is useful in places like toolbars where
you don&apos;t want the keyboard focus removed from the main area of the
application."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="focus_on_click" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="dialog"
version="2.6"
readable="0"
writable="1"
construct-only="1"
doc="Instance of the #GtkFileChooserDialog associated with the button.">
<type name="FileChooser" c:type="GtkFileChooser"/>
</property>
<property name="focus-on-click"
version="2.10"
writable="1"
doc="Whether the #GtkFileChooserButton button grabs focus when it is clicked
with the mouse.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="title"
version="2.6"
writable="1"
doc="Title to put on the #GtkFileChooserDialog associated with the button.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="width-chars"
version="2.6"
writable="1"
doc="The width of the entry and label inside the button, in characters.">
<type name="int" c:type="gint"/>
</property>
<field name="parent">
<type name="HBox" c:type="GtkHBox"/>
</field>
<field name="priv">
<type name="FileChooserButtonPrivate"
c:type="GtkFileChooserButtonPrivate*"/>
</field>
<glib:signal name="file-set"
doc="The ::file-set signal is emitted when the user selects a file.
Note that this signal is only emitted when the &lt;emphasis&gt;user&lt;/emphasis&gt;
changes the file."
version="2.12">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="FileChooserButtonClass"
c:type="GtkFileChooserButtonClass"
glib:is-gtype-struct-for="FileChooserButton">
<field name="parent_class">
<type name="HBoxClass" c:type="GtkHBoxClass"/>
</field>
<field name="file_set">
<callback name="file_set" c:type="file_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fc" transfer-ownership="none">
<type name="FileChooserButton" c:type="GtkFileChooserButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="__gtk_reserved1">
<type name="any" c:type="void*"/>
</field>
<field name="__gtk_reserved2">
<type name="any" c:type="void*"/>
</field>
<field name="__gtk_reserved3">
<type name="any" c:type="void*"/>
</field>
<field name="__gtk_reserved4">
<type name="any" c:type="void*"/>
</field>
<field name="__gtk_reserved5">
<type name="any" c:type="void*"/>
</field>
<field name="__gtk_reserved6">
<type name="any" c:type="void*"/>
</field>
<field name="__gtk_reserved7">
<type name="any" c:type="void*"/>
</field>
</record>
<record name="FileChooserButtonPrivate"
c:type="GtkFileChooserButtonPrivate">
</record>
<enumeration name="FileChooserConfirmation"
doc="its stock dialog to confirm about overwriting an existing file.
terminate and accept the user&apos;s choice of a file name.
continue running, so as to let the user select another file name.
Used as a return value of handlers for the
#GtkFileChooser::confirm-overwrite signal of a #GtkFileChooser. This
value determines whether the file chooser will present the stock
confirmation dialog, accept the user&apos;s choice of a filename, or
let the user choose another filename."
version="2.8"
glib:type-name="GtkFileChooserConfirmation"
glib:get-type="gtk_file_chooser_confirmation_get_type"
c:type="GtkFileChooserConfirmation">
<member name="confirm"
value="0"
c:identifier="GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM"
glib:nick="confirm"/>
<member name="accept_filename"
value="1"
c:identifier="GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME"
glib:nick="accept-filename"/>
<member name="select_again"
value="2"
c:identifier="GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN"
glib:nick="select-again"/>
</enumeration>
<class name="FileChooserDialog"
c:type="GtkFileChooserDialog"
parent="Dialog"
glib:type-name="GtkFileChooserDialog"
glib:get-type="gtk_file_chooser_dialog_get_type"
glib:type-struct="FileChooserDialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="FileChooser"/>
<constructor name="new"
c:identifier="gtk_file_chooser_dialog_new"
doc="Creates a new #GtkFileChooserDialog. This function is analogous to
gtk_dialog_new_with_buttons()."
version="2.4">
<return-value transfer-ownership="full">
<type name="FileChooserDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title"
transfer-ownership="none"
allow-none="1"
doc="Title of the dialog, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="Transient parent of the dialog, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</parameter>
<parameter name="first_button_text"
transfer-ownership="none"
allow-none="1"
doc="stock ID or text to go in the first button, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_backend"
c:identifier="gtk_file_chooser_dialog_new_with_backend"
doc="Creates a new #GtkFileChooserDialog with a specified backend. This is
especially useful if you use gtk_file_chooser_set_local_only() to allow
non-local files and you use a more expressive vfs, such as gnome-vfs,
to load files."
version="2.4"
deprecated="Use gtk_file_chooser_dialog_new() instead."
deprecated-version="2.14">
<return-value transfer-ownership="full">
<type name="FileChooserDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title"
transfer-ownership="none"
allow-none="1"
doc="Title of the dialog, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="Transient parent of the dialog, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</parameter>
<parameter name="backend" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="first_button_text"
transfer-ownership="none"
allow-none="1"
doc="stock ID or text to go in the first button, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<field name="parent_instance">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="priv">
<type name="FileChooserDialogPrivate"
c:type="GtkFileChooserDialogPrivate*"/>
</field>
</class>
<record name="FileChooserDialogClass"
c:type="GtkFileChooserDialogClass"
glib:is-gtype-struct-for="FileChooserDialog">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
</record>
<record name="FileChooserDialogPrivate"
c:type="GtkFileChooserDialogPrivate">
</record>
<enumeration name="FileChooserError"
doc="adding a bookmark).
These identify the various errors that can occur while calling
#GtkFileChooser functions."
glib:type-name="GtkFileChooserError"
glib:get-type="gtk_file_chooser_error_get_type"
c:type="GtkFileChooserError"
glib:error-quark="gtk_file_chooser_error_quark">
<member name="nonexistent"
value="0"
c:identifier="GTK_FILE_CHOOSER_ERROR_NONEXISTENT"
glib:nick="nonexistent"/>
<member name="bad_filename"
value="1"
c:identifier="GTK_FILE_CHOOSER_ERROR_BAD_FILENAME"
glib:nick="bad-filename"/>
<member name="already_exists"
value="2"
c:identifier="GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS"
glib:nick="already-exists"/>
<member name="incomplete_hostname"
value="3"
c:identifier="GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME"
glib:nick="incomplete-hostname"/>
</enumeration>
<class name="FileChooserWidget"
c:type="GtkFileChooserWidget"
parent="VBox"
glib:type-name="GtkFileChooserWidget"
glib:get-type="gtk_file_chooser_widget_get_type"
glib:type-struct="FileChooserWidgetClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="FileChooser"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_file_chooser_widget_new"
doc="Creates a new #GtkFileChooserWidget. This is a file chooser widget that can
be embedded in custom windows, and it is the same widget that is used by
#GtkFileChooserDialog."
version="2.4">
<return-value transfer-ownership="full">
<type name="FileChooserWidget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_backend"
c:identifier="gtk_file_chooser_widget_new_with_backend"
doc="Creates a new #GtkFileChooserWidget with a specified backend. This is
especially useful if you use gtk_file_chooser_set_local_only() to allow
non-local files. This is a file chooser widget that can be embedded in
custom windows and it is the same widget that is used by
#GtkFileChooserDialog."
version="2.4"
deprecated="Use gtk_file_chooser_widget_new() instead."
deprecated-version="2.14">
<return-value transfer-ownership="full">
<type name="FileChooserWidget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="FileChooserAction" c:type="GtkFileChooserAction"/>
</parameter>
<parameter name="backend" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<field name="parent_instance">
<type name="VBox" c:type="GtkVBox"/>
</field>
<field name="priv">
<type name="FileChooserWidgetPrivate"
c:type="GtkFileChooserWidgetPrivate*"/>
</field>
</class>
<record name="FileChooserWidgetClass"
c:type="GtkFileChooserWidgetClass"
glib:is-gtype-struct-for="FileChooserWidget">
<field name="parent_class">
<type name="VBoxClass" c:type="GtkVBoxClass"/>
</field>
</record>
<record name="FileChooserWidgetPrivate"
c:type="GtkFileChooserWidgetPrivate">
</record>
<class name="FileFilter"
c:type="GtkFileFilter"
parent="Object"
glib:type-name="GtkFileFilter"
glib:get-type="gtk_file_filter_get_type">
<constructor name="new"
c:identifier="gtk_file_filter_new"
doc="Creates a new #GtkFileFilter with no rules added to it.
Such a filter doesn&apos;t accept any files, so is not
particularly useful until you add rules with
gtk_file_filter_add_mime_type(), gtk_file_filter_add_pattern(),
or gtk_file_filter_add_custom(). To create a filter
that accepts any file, use:
|[
GtkFileFilter *filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, &quot;*&quot;);
]|"
version="2.4">
<return-value transfer-ownership="full">
<type name="FileFilter" c:type="GtkFileFilter*"/>
</return-value>
</constructor>
<method name="set_name"
c:identifier="gtk_file_filter_set_name"
doc="to remove any existing name.
Sets the human-readable name of the filter; this is the string
that will be displayed in the file selector user interface if
there is a selectable list of filters."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name"
transfer-ownership="none"
allow-none="1"
doc="the human-readable-name for the filter, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_name"
c:identifier="gtk_file_filter_get_name"
doc="Gets the human-readable name for the filter. See gtk_file_filter_set_name().
or %NULL. This value is owned by GTK+ and must not
be modified or freed."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="add_mime_type"
c:identifier="gtk_file_filter_add_mime_type"
doc="Adds a rule allowing a given mime type to @filter."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mime_type" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_pattern"
c:identifier="gtk_file_filter_add_pattern"
doc="Adds a rule allowing a shell style glob to a filter."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_pixbuf_formats"
c:identifier="gtk_file_filter_add_pixbuf_formats"
doc="Adds a rule allowing image files in the formats supported
by GdkPixbuf."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="add_custom"
c:identifier="gtk_file_filter_add_custom"
doc="filter function needs.
the file will be displayed.
Adds rule to a filter that allows files based on a custom callback
function. The bitfield @needed which is passed in provides information
about what sorts of information that the filter function needs;
this allows GTK+ to avoid retrieving expensive information when
it isn&apos;t needed by the filter."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="needed" transfer-ownership="none">
<type name="FileFilterFlags" c:type="GtkFileFilterFlags"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="FileFilterFunc" c:type="GtkFileFilterFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_needed"
c:identifier="gtk_file_filter_get_needed"
doc="Gets the fields that need to be filled in for the structure
passed to gtk_file_filter_filter()
This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkFileChooser.
calling gtk_file_filter_filter()"
version="2.4">
<return-value transfer-ownership="full">
<type name="FileFilterFlags" c:type="GtkFileFilterFlags"/>
</return-value>
</method>
<method name="filter"
c:identifier="gtk_file_filter_filter"
doc="about a file.
Tests whether a file should be displayed according to @filter.
The #GtkFileFilterInfo structure @filter_info should include
the fields returned from gtk_file_filter_get_needed().
This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkFileChooser."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter_info" transfer-ownership="none">
<type name="FileFilterInfo" c:type="GtkFileFilterInfo*"/>
</parameter>
</parameters>
</method>
</class>
<bitfield name="FileFilterFlags"
glib:type-name="GtkFileFilterFlags"
glib:get-type="gtk_file_filter_flags_get_type"
c:type="GtkFileFilterFlags">
<member name="filename"
value="1"
c:identifier="GTK_FILE_FILTER_FILENAME"
glib:nick="filename"/>
<member name="uri"
value="2"
c:identifier="GTK_FILE_FILTER_URI"
glib:nick="uri"/>
<member name="display_name"
value="4"
c:identifier="GTK_FILE_FILTER_DISPLAY_NAME"
glib:nick="display-name"/>
<member name="mime_type"
value="8"
c:identifier="GTK_FILE_FILTER_MIME_TYPE"
glib:nick="mime-type"/>
</bitfield>
<callback name="FileFilterFunc" c:type="GtkFileFilterFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter_info" transfer-ownership="none">
<type name="FileFilterInfo" c:type="GtkFileFilterInfo*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="FileFilterInfo" c:type="GtkFileFilterInfo">
<field name="contains" writable="1">
<type name="FileFilterFlags" c:type="GtkFileFilterFlags"/>
</field>
<field name="filename" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="uri" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="display_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mime_type" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<class name="FileSelection"
c:type="GtkFileSelection"
parent="Dialog"
glib:type-name="GtkFileSelection"
glib:get-type="gtk_file_selection_get_type"
glib:type-struct="FileSelectionClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_file_selection_new">
<return-value transfer-ownership="full">
<type name="FileSelection" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_filename"
c:identifier="gtk_file_selection_set_filename"
doc="Sets a default path for the file requestor. If @filename includes a
directory path, then the requestor will open with that path as its
current working directory.
This has the consequence that in order to open the requestor with a
working directory and an empty filename, @filename must have a trailing
directory separator.
The encoding of @filename is preferred GLib file name encoding, which
may not be UTF-8. See g_filename_from_utf8().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_filename"
c:identifier="gtk_file_selection_get_filename"
doc="This function returns the selected filename in the GLib file name
encoding. To convert to UTF-8, call g_filename_to_utf8(). The
returned string points to a statically allocated buffer and should
be copied if you plan to keep it around.
If no file is selected then the selected directory path is returned.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="complete" c:identifier="gtk_file_selection_complete">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="show_fileop_buttons"
c:identifier="gtk_file_selection_show_fileop_buttons">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="hide_fileop_buttons"
c:identifier="gtk_file_selection_hide_fileop_buttons">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_selections"
c:identifier="gtk_file_selection_get_selections"
doc="Retrieves the list of file selections the user has made in the dialog box.
This function is intended for use when the user can select multiple files
in the file list.
The filenames are in the GLib file name encoding. To convert to
UTF-8, call g_filename_to_utf8() on each string.
g_strfreev() to free it.">
<return-value transfer-ownership="full">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
</method>
<method name="set_select_multiple"
c:identifier="gtk_file_selection_set_select_multiple"
doc="files in the file list.
Sets whether the user is allowed to select multiple files in the file list.
Use gtk_file_selection_get_selections () to get the list of selected files.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="select_multiple" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_select_multiple"
c:identifier="gtk_file_selection_get_select_multiple"
doc="Determines whether or not the user is allowed to select multiple files in
the file list. See gtk_file_selection_set_select_multiple().
file list">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="filename" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="select-multiple" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-fileops" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="dir_list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="file_list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="selection_entry">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="selection_text">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="main_vbox">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="ok_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="cancel_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="help_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="history_pulldown">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="history_menu">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="history_list">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="fileop_dialog">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="fileop_entry">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="fileop_file">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="cmpl_state">
<type name="any" c:type="gpointer"/>
</field>
<field name="fileop_c_dir">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="fileop_del_file">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="fileop_ren_file">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="button_area">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="action_area">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="selected_names">
<type name="GLib.PtrArray" c:type="GPtrArray*"/>
</field>
<field name="last_selected">
<type name="utf8" c:type="gchar*"/>
</field>
</class>
<record name="FileSelectionClass"
c:type="GtkFileSelectionClass"
glib:is-gtype-struct-for="FileSelection">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Fixed"
c:type="GtkFixed"
parent="Container"
glib:type-name="GtkFixed"
glib:get-type="gtk_fixed_get_type"
glib:type-struct="FixedClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_fixed_new">
<return-value transfer-ownership="full">
<type name="Fixed" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="put" c:identifier="gtk_fixed_put">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="move" c:identifier="gtk_fixed_move">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_has_window"
c:identifier="gtk_fixed_set_has_window"
doc="Sets whether a #GtkFixed widget is created with a separate
#GdkWindow for @widget-&gt;window or not. (By default, it will be
created with no separate #GdkWindow). This function must be called
while the #GtkFixed is not realized, for instance, immediately after the
window is created.
This function was added to provide an easy migration path for
older applications which may expect #GtkFixed to have a separate window."
deprecated="Use gtk_widget_set_has_window() instead."
deprecated-version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="has_window" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_window"
c:identifier="gtk_fixed_get_has_window"
doc="Gets whether the #GtkFixed has its own #GdkWindow.
See gtk_fixed_set_has_window()."
deprecated="Use gtk_widget_get_has_window() instead."
deprecated-version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
</class>
<record name="FixedChild" c:type="GtkFixedChild">
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="x" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="y" writable="1">
<type name="int" c:type="gint"/>
</field>
</record>
<record name="FixedClass"
c:type="GtkFixedClass"
glib:is-gtype-struct-for="Fixed">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
</record>
<class name="FontButton"
c:type="GtkFontButton"
parent="Button"
glib:type-name="GtkFontButton"
glib:get-type="gtk_font_button_get_type"
glib:type-struct="FontButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_font_button_new"
doc="Creates a new font picker widget."
version="2.4">
<return-value transfer-ownership="full">
<type name="FontButton" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_font"
c:identifier="gtk_font_button_new_with_font"
doc="Creates a new font picker widget."
version="2.4">
<return-value transfer-ownership="full">
<type name="FontButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="fontname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_title"
c:identifier="gtk_font_button_get_title"
doc="Retrieves the title of the font selection dialog."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_title"
c:identifier="gtk_font_button_set_title"
doc="Sets the title for the font selection dialog."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_use_font"
c:identifier="gtk_font_button_get_use_font"
doc="Returns whether the selected font is used in the label."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_use_font"
c:identifier="gtk_font_button_set_use_font"
doc="If @use_font is %TRUE, the font name will be written using the selected font."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_font" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_size"
c:identifier="gtk_font_button_get_use_size"
doc="Returns whether the selected size is used in the label."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_use_size"
c:identifier="gtk_font_button_set_use_size"
doc="If @use_size is %TRUE, the font name will be written using the selected size."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_size" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_font_name"
c:identifier="gtk_font_button_get_font_name"
doc="Retrieves the name of the currently selected font. This name includes
style and size information as well. If you want to render something
with the font, use this string with pango_font_description_from_string() .
If you&apos;re interested in peeking certain values (family name,
style, size, weight) just query these properties from the
#PangoFontDescription object."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_font_name"
c:identifier="gtk_font_button_set_font_name"
doc="Sets or updates the currently-displayed font in font picker dialog.
font selection dialog exists, otherwise %FALSE."
version="2.4">
<return-value transfer-ownership="none" doc="if the">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="fontname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_show_style"
c:identifier="gtk_font_button_get_show_style"
doc="Returns whether the name of the font style will be shown in the label."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_style"
c:identifier="gtk_font_button_set_show_style"
doc="If @show_style is %TRUE, the font style will be displayed along with name of the selected font."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_style" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_size"
c:identifier="gtk_font_button_get_show_size"
doc="Returns whether the font size will be shown in the label."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_size"
c:identifier="gtk_font_button_set_show_size"
doc="If @show_size is %TRUE, the font size will be displayed along with the name of the selected font."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_size" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="font-name"
version="2.4"
writable="1"
doc="The name of the currently selected font.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="show-size"
version="2.4"
writable="1"
doc="If this property is set to %TRUE, the selected font size will be shown
in the label. For a more WYSIWYG way to show the selected size, see the
::use-size property.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-style"
version="2.4"
writable="1"
doc="If this property is set to %TRUE, the name of the selected font style
will be shown in the label. For a more WYSIWYG way to show the selected
style, see the ::use-font property.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="title"
version="2.4"
writable="1"
doc="The title of the font selection dialog.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="use-font"
version="2.4"
writable="1"
doc="If this property is set to %TRUE, the label will be drawn
in the selected font.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="use-size"
version="2.4"
writable="1"
doc="If this property is set to %TRUE, the label will be drawn
with the selected font size.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="button">
<type name="Button" c:type="GtkButton"/>
</field>
<field name="priv">
<type name="FontButtonPrivate" c:type="GtkFontButtonPrivate*"/>
</field>
<glib:signal name="font-set"
doc="The ::font-set signal is emitted when the user selects a font.
When handling this signal, use gtk_font_button_get_font_name()
to find out which font was just selected.
Note that this signal is only emitted when the &lt;emphasis&gt;user&lt;/emphasis&gt;
changes the font. If you need to react to programmatic font changes
as well, use the notify::font-name signal."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="FontButtonClass"
c:type="GtkFontButtonClass"
glib:is-gtype-struct-for="FontButton">
<field name="parent_class">
<type name="ButtonClass" c:type="GtkButtonClass"/>
</field>
<field name="font_set">
<callback name="font_set" c:type="font_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gfp" transfer-ownership="none">
<type name="FontButton" c:type="GtkFontButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="FontButtonPrivate" c:type="GtkFontButtonPrivate">
</record>
<class name="FontSelection"
c:type="GtkFontSelection"
parent="VBox"
glib:type-name="GtkFontSelection"
glib:get-type="gtk_font_selection_get_type"
glib:type-struct="FontSelectionClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_font_selection_new"
doc="Creates a new #GtkFontSelection.">
<return-value transfer-ownership="full">
<type name="FontSelection" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_family_list"
c:identifier="gtk_font_selection_get_family_list"
doc="This returns the #GtkTreeView that lists font families, for
example, &apos;Sans&apos;, &apos;Serif&apos;, etc."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_face_list"
c:identifier="gtk_font_selection_get_face_list"
doc="This returns the #GtkTreeView which lists all styles available for
the selected font. For example, &apos;Regular&apos;, &apos;Bold&apos;, etc."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_size_entry"
c:identifier="gtk_font_selection_get_size_entry"
doc="This returns the #GtkEntry used to allow the user to edit the font
number manually instead of selecting it from the list of font sizes."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_size_list"
c:identifier="gtk_font_selection_get_size_list"
doc="This returns the #GtkTreeeView used to list font sizes."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_preview_entry"
c:identifier="gtk_font_selection_get_preview_entry"
doc="This returns the #GtkEntry used to display the font as a preview."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_family"
c:identifier="gtk_font_selection_get_family"
doc="Gets the #PangoFontFamily representing the selected font family.
family. Font families are a collection of font faces. The
returned object is owned by @fontsel and must not be modified
or freed."
version="2.14">
<return-value transfer-ownership="full">
<type name="Pango.FontFamily" c:type="PangoFontFamily*"/>
</return-value>
</method>
<method name="get_face"
c:identifier="gtk_font_selection_get_face"
doc="Gets the #PangoFontFace representing the selected font group
details (i.e. family, slant, weight, width, etc).
group details. The returned object is owned by @fontsel and
must not be modified or freed."
version="2.14">
<return-value transfer-ownership="full">
<type name="Pango.FontFace" c:type="PangoFontFace*"/>
</return-value>
</method>
<method name="get_size"
c:identifier="gtk_font_selection_get_size"
doc="The selected font size.
or -1 if no font size is selected."
version="2.14">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_font_name"
c:identifier="gtk_font_selection_get_font_name"
doc="Gets the currently-selected font name.
Note that this can be a different string than what you set with
gtk_font_selection_set_font_name(), as the font selection widget may
normalize font names and thus return a string with a different structure.
For example, &quot;Helvetica Italic Bold 12&quot; could be normalized to
&quot;Helvetica Bold Italic 12&quot;. Use pango_font_description_equal()
if you want to compare two font descriptions.
no font is selected. You must free this string with g_free().">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_font"
c:identifier="gtk_font_selection_get_font"
doc="Gets the currently-selected font."
deprecated="Use gtk_font_selection_get_font_name() instead."
deprecated-version="2.0">
<return-value transfer-ownership="full">
<type name="Gdk.Font" c:type="GdkFont*"/>
</return-value>
</method>
<method name="set_font_name"
c:identifier="gtk_font_selection_set_font_name"
doc="Sets the currently-selected font.
Note that the @fontsel needs to know the screen in which it will appear
for this to work; this can be guaranteed by simply making sure that the
such font exists or if the @fontsel doesn&apos;t belong to a particular
screen yet.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="fontname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_preview_text"
c:identifier="gtk_font_selection_get_preview_text"
doc="Gets the text displayed in the preview area.
This string is owned by the widget and should not be
modified or freed">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_preview_text"
c:identifier="gtk_font_selection_set_preview_text"
doc="Sets the text displayed in the preview area.
The @text is used to show how the selected font looks.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<property name="font">
<type name="Gdk.Font" c:type="GdkFont"/>
</property>
<property name="font-name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="preview-text" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="parent_instance">
<type name="VBox" c:type="GtkVBox"/>
</field>
<field name="font_entry">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="family_list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="font_style_entry">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="face_list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="size_entry">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="size_list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="pixels_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="points_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="filter_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="preview_entry">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="family">
<type name="Pango.FontFamily" c:type="PangoFontFamily*"/>
</field>
<field name="face">
<type name="Pango.FontFace" c:type="PangoFontFace*"/>
</field>
<field name="size">
<type name="int" c:type="gint"/>
</field>
<field name="font">
<type name="Gdk.Font" c:type="GdkFont*"/>
</field>
</class>
<record name="FontSelectionClass"
c:type="GtkFontSelectionClass"
glib:is-gtype-struct-for="FontSelection">
<field name="parent_class">
<type name="VBoxClass" c:type="GtkVBoxClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="FontSelectionDialog"
c:type="GtkFontSelectionDialog"
parent="Dialog"
glib:type-name="GtkFontSelectionDialog"
glib:get-type="gtk_font_selection_dialog_get_type"
glib:type-struct="FontSelectionDialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_font_selection_dialog_new"
doc="Creates a new #GtkFontSelectionDialog.">
<return-value transfer-ownership="full">
<type name="FontSelectionDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_ok_button"
c:identifier="gtk_font_selection_dialog_get_ok_button"
doc="Gets the &apos;OK&apos; button."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_apply_button"
c:identifier="gtk_font_selection_dialog_get_apply_button"
doc="Obtains a button. The button doesn&apos;t have any function."
version="2.14"
deprecated="Don&apos;t use this function."
deprecated-version="2.16">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_cancel_button"
c:identifier="gtk_font_selection_dialog_get_cancel_button"
doc="Gets the &apos;Cancel&apos; button."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_font_name"
c:identifier="gtk_font_selection_dialog_get_font_name"
doc="Gets the currently-selected font name.
Note that this can be a different string than what you set with
gtk_font_selection_dialog_set_font_name(), as the font selection widget
may normalize font names and thus return a string with a different
structure. For example, &quot;Helvetica Italic Bold 12&quot; could be normalized
to &quot;Helvetica Bold Italic 12&quot;. Use pango_font_description_equal()
if you want to compare two font descriptions.
font is selected. You must free this string with g_free().">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_font"
c:identifier="gtk_font_selection_dialog_get_font"
doc="Gets the currently-selected font.
currently selected font in the dialog, or %NULL if no font is selected"
deprecated="Use gtk_font_selection_dialog_get_font_name() instead."
deprecated-version="2.0">
<return-value transfer-ownership="full">
<type name="Gdk.Font" c:type="GdkFont*"/>
</return-value>
</method>
<method name="set_font_name"
c:identifier="gtk_font_selection_dialog_set_font_name"
doc="Sets the currently selected font.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="fontname" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_preview_text"
c:identifier="gtk_font_selection_dialog_get_preview_text"
doc="Gets the text displayed in the preview area.
This string is owned by the widget and should not be
modified or freed">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_preview_text"
c:identifier="gtk_font_selection_dialog_set_preview_text"
doc="Sets the text displayed in the preview area.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="fontsel">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="main_vbox">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="action_area">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="ok_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="apply_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="cancel_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="dialog_width">
<type name="int" c:type="gint"/>
</field>
<field name="auto_resize">
<type name="boolean" c:type="gboolean"/>
</field>
</class>
<record name="FontSelectionDialogClass"
c:type="GtkFontSelectionDialogClass"
glib:is-gtype-struct-for="FontSelectionDialog">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Frame"
c:type="GtkFrame"
parent="Bin"
glib:type-name="GtkFrame"
glib:get-type="gtk_frame_get_type"
glib:type-struct="FrameClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_frame_new"
doc="Creates a new #GtkFrame, with optional label @label.
If @label is %NULL, the label is omitted.">
<return-value transfer-ownership="full">
<type name="Frame" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="compute_child_allocation">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allocation" transfer-ownership="none">
<type name="Allocation" c:type="GtkAllocation*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_label"
c:identifier="gtk_frame_set_label"
doc="Sets the text of the label. If @label is %NULL,
the current label is removed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="the text to use as the label of the frame">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_frame_get_label"
doc="If the frame&apos;s label widget is a #GtkLabel, returns the
text in the label widget. (The frame will have a #GtkLabel
for the label widget if a non-%NULL argument was passed
to gtk_frame_new().)
was no label widget or the lable widget was not
a #GtkLabel. This string is owned by GTK+ and
must not be modified or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_label_widget"
c:identifier="gtk_frame_set_label_widget"
doc="Sets the label widget for the frame. This is the widget that
will appear embedded in the top edge of the frame as a
title.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_label_widget"
c:identifier="gtk_frame_get_label_widget"
doc="Retrieves the label widget for the frame. See
gtk_frame_set_label_widget().">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_label_align"
c:identifier="gtk_frame_set_label_align"
doc="of the widget. A value of 0.0 represents left alignment;
1.0 represents right alignment.
the frame; 1.0 aligns above the frame. If the values are exactly
0.0 or 1.0 the gap in the frame won&apos;t be painted because the label
will be completely above or below the frame.
Sets the alignment of the frame widget&apos;s label. The
default values for a newly created frame are 0.0 and 0.5.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_label_align"
c:identifier="gtk_frame_get_label_align"
doc="Retrieves the X and Y alignment of the frame&apos;s label. See
gtk_frame_set_label_align().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store X alignment of frame&apos;s label, or %NULL">
<type name="float" c:type="gfloat*"/>
</parameter>
<parameter name="yalign"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store X alignment of frame&apos;s label, or %NULL">
<type name="float" c:type="gfloat*"/>
</parameter>
</parameters>
</method>
<method name="set_shadow_type"
c:identifier="gtk_frame_set_shadow_type"
doc="Sets the shadow type for @frame.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
</parameters>
</method>
<method name="get_shadow_type"
c:identifier="gtk_frame_get_shadow_type"
doc="Retrieves the shadow type of the frame. See
gtk_frame_set_shadow_type().">
<return-value transfer-ownership="full">
<type name="ShadowType" c:type="GtkShadowType"/>
</return-value>
</method>
<property name="label" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="label-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="label-xalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="label-yalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="shadow" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<property name="shadow-type" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="label_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="shadow_type">
<type name="int16" c:type="gint16"/>
</field>
<field name="label_xalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="label_yalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="child_allocation">
<type name="Allocation" c:type="GtkAllocation"/>
</field>
</class>
<record name="FrameClass"
c:type="GtkFrameClass"
glib:is-gtype-struct-for="Frame">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="compute_child_allocation">
<callback name="compute_child_allocation"
c:type="compute_child_allocation">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="frame" transfer-ownership="none">
<type name="Frame" c:type="GtkFrame*"/>
</parameter>
<parameter name="allocation" transfer-ownership="none">
<type name="Allocation" c:type="GtkAllocation*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<callback name="Function" c:type="GtkFunction">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="GammaCurve"
c:type="GtkGammaCurve"
parent="VBox"
glib:type-name="GtkGammaCurve"
glib:get-type="gtk_gamma_curve_get_type"
glib:type-struct="GammaCurveClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_gamma_curve_new">
<return-value transfer-ownership="full">
<type name="GammaCurve" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="vbox">
<type name="VBox" c:type="GtkVBox"/>
</field>
<field name="table">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="curve">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="button">
<array zero-terminated="0" c:type="GtkWidget*" fixed-size="5">
<type name="Widget"/>
</array>
</field>
<field name="gamma">
<type name="float" c:type="gfloat"/>
</field>
<field name="gamma_dialog">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="gamma_text">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</class>
<record name="GammaCurveClass"
c:type="GtkGammaCurveClass"
glib:is-gtype-struct-for="GammaCurve">
<field name="parent_class">
<type name="VBoxClass" c:type="GtkVBoxClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="HBox"
c:type="GtkHBox"
parent="Box"
glib:type-name="GtkHBox"
glib:get-type="gtk_hbox_get_type"
glib:type-struct="HBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_hbox_new">
<return-value transfer-ownership="full">
<type name="HBox" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="homogeneous" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<field name="box">
<type name="Box" c:type="GtkBox"/>
</field>
</class>
<record name="HBoxClass"
c:type="GtkHBoxClass"
glib:is-gtype-struct-for="HBox">
<field name="parent_class">
<type name="BoxClass" c:type="GtkBoxClass"/>
</field>
</record>
<class name="HButtonBox"
c:type="GtkHButtonBox"
parent="ButtonBox"
glib:type-name="GtkHButtonBox"
glib:get-type="gtk_hbutton_box_get_type"
glib:type-struct="HButtonBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_hbutton_box_new">
<return-value transfer-ownership="full">
<type name="HButtonBox" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="get_spacing_default"
c:identifier="gtk_hbutton_box_get_spacing_default">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</function>
<function name="get_layout_default"
c:identifier="gtk_hbutton_box_get_layout_default">
<return-value transfer-ownership="full">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</return-value>
</function>
<function name="set_spacing_default"
c:identifier="gtk_hbutton_box_set_spacing_default">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="set_layout_default"
c:identifier="gtk_hbutton_box_set_layout_default">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</parameter>
</parameters>
</function>
<field name="button_box">
<type name="ButtonBox" c:type="GtkButtonBox"/>
</field>
</class>
<record name="HButtonBoxClass"
c:type="GtkHButtonBoxClass"
glib:is-gtype-struct-for="HButtonBox">
<field name="parent_class">
<type name="ButtonBoxClass" c:type="GtkButtonBoxClass"/>
</field>
</record>
<class name="HPaned"
c:type="GtkHPaned"
parent="Paned"
glib:type-name="GtkHPaned"
glib:get-type="gtk_hpaned_get_type"
glib:type-struct="HPanedClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_hpaned_new">
<return-value transfer-ownership="full">
<type name="HPaned" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="paned">
<type name="Paned" c:type="GtkPaned"/>
</field>
</class>
<record name="HPanedClass"
c:type="GtkHPanedClass"
glib:is-gtype-struct-for="HPaned">
<field name="parent_class">
<type name="PanedClass" c:type="GtkPanedClass"/>
</field>
</record>
<class name="HRuler"
c:type="GtkHRuler"
parent="Ruler"
glib:type-name="GtkHRuler"
glib:get-type="gtk_hruler_get_type"
glib:type-struct="HRulerClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_hruler_new">
<return-value transfer-ownership="full">
<type name="HRuler" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="ruler">
<type name="Ruler" c:type="GtkRuler"/>
</field>
</class>
<record name="HRulerClass"
c:type="GtkHRulerClass"
glib:is-gtype-struct-for="HRuler">
<field name="parent_class">
<type name="RulerClass" c:type="GtkRulerClass"/>
</field>
</record>
<class name="HSV"
c:type="GtkHSV"
parent="Widget"
glib:type-name="GtkHSV"
glib:get-type="gtk_hsv_get_type"
glib:type-struct="HSVClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_hsv_new"
doc="Creates a new HSV color selector."
version="2.14">
<return-value transfer-ownership="full">
<type name="HSV" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="to_rgb"
c:identifier="gtk_hsv_to_rgb"
doc="Converts a color from HSV space to RGB.
Input values must be in the [0.0, 1.0] range;
output values will be in the same range."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="h" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="s" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="v" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="r" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="g" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="b" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</function>
<method name="set_color"
c:identifier="gtk_hsv_set_color"
doc="Sets the current color in an HSV color selector.
Color component values must be in the [0.0, 1.0] range."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="h" transfer-ownership="none">
<type name="double" c:type="double"/>
</parameter>
<parameter name="s" transfer-ownership="none">
<type name="double" c:type="double"/>
</parameter>
<parameter name="v" transfer-ownership="none">
<type name="double" c:type="double"/>
</parameter>
</parameters>
</method>
<method name="get_color"
c:identifier="gtk_hsv_get_color"
doc="Queries the current color in an HSV color selector.
Returned values will be in the [0.0, 1.0] range."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="h" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="s" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="v" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="set_metrics"
c:identifier="gtk_hsv_set_metrics"
doc="Sets the size and ring width of an HSV color selector."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ring_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_metrics"
c:identifier="gtk_hsv_get_metrics"
doc="Queries the size and ring width of an HSV color selector."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="size" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="ring_width"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="is_adjusting"
c:identifier="gtk_hsv_is_adjusting"
doc="An HSV color selector can be said to be adjusting if multiple rapid
changes are being made to its value, for example, when the user is
adjusting the value with the mouse. This function queries whether
the HSV color selector is being adjusted or not.
since they may be transitory, or %FALSE if they should consider
the color value status to be final."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<field name="parent_instance">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="priv">
<type name="any" c:type="gpointer"/>
</field>
<glib:signal name="changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="move">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="HSVClass"
c:type="GtkHSVClass"
glib:is-gtype-struct-for="HSV">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hsv" transfer-ownership="none">
<type name="HSV" c:type="GtkHSV*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move">
<callback name="move" c:type="move">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hsv" transfer-ownership="none">
<type name="HSV" c:type="GtkHSV*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="HScale"
c:type="GtkHScale"
parent="Scale"
glib:type-name="GtkHScale"
glib:get-type="gtk_hscale_get_type"
glib:type-struct="HScaleClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_hscale_new">
<return-value transfer-ownership="full">
<type name="HScale" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_range"
c:identifier="gtk_hscale_new_with_range"
doc="Creates a new horizontal scale widget that lets the user input a
number between @min and @max (including @min and @max) with the
increment @step. @step must be nonzero; it&apos;s the distance the
slider moves when using the arrow keys to adjust the scale value.
Note that the way in which the precision is derived works best if @step
is a power of ten. If the resulting precision is not suitable for your
needs, use gtk_scale_set_digits() to correct it.">
<return-value transfer-ownership="full">
<type name="HScale" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="min" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="step"
transfer-ownership="none"
doc="used with keyboard shortcuts">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</constructor>
<field name="scale">
<type name="Scale" c:type="GtkScale"/>
</field>
</class>
<record name="HScaleClass"
c:type="GtkHScaleClass"
glib:is-gtype-struct-for="HScale">
<field name="parent_class">
<type name="ScaleClass" c:type="GtkScaleClass"/>
</field>
</record>
<class name="HScrollbar"
c:type="GtkHScrollbar"
parent="Scrollbar"
glib:type-name="GtkHScrollbar"
glib:get-type="gtk_hscrollbar_get_type"
glib:type-struct="HScrollbarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_hscrollbar_new"
doc="Creates a new horizontal scrollbar.">
<return-value transfer-ownership="full">
<type name="HScrollbar" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="the #GtkAdjustment to use, or %NULL to create a new adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<field name="scrollbar">
<type name="Scrollbar" c:type="GtkScrollbar"/>
</field>
</class>
<record name="HScrollbarClass"
c:type="GtkHScrollbarClass"
glib:is-gtype-struct-for="HScrollbar">
<field name="parent_class">
<type name="ScrollbarClass" c:type="GtkScrollbarClass"/>
</field>
</record>
<class name="HSeparator"
c:type="GtkHSeparator"
parent="Separator"
glib:type-name="GtkHSeparator"
glib:get-type="gtk_hseparator_get_type"
glib:type-struct="HSeparatorClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_hseparator_new">
<return-value transfer-ownership="full">
<type name="HSeparator" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="separator">
<type name="Separator" c:type="GtkSeparator"/>
</field>
</class>
<record name="HSeparatorClass"
c:type="GtkHSeparatorClass"
glib:is-gtype-struct-for="HSeparator">
<field name="parent_class">
<type name="SeparatorClass" c:type="GtkSeparatorClass"/>
</field>
</record>
<class name="HandleBox"
c:type="GtkHandleBox"
parent="Bin"
glib:type-name="GtkHandleBox"
glib:get-type="gtk_handle_box_get_type"
glib:type-struct="HandleBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_handle_box_new">
<return-value transfer-ownership="full">
<type name="HandleBox" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="set_shadow_type"
c:identifier="gtk_handle_box_set_shadow_type">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
</parameters>
</method>
<method name="get_shadow_type"
c:identifier="gtk_handle_box_get_shadow_type"
doc="Gets the type of shadow drawn around the handle box. See
gtk_handle_box_set_shadow_type().">
<return-value transfer-ownership="full">
<type name="ShadowType" c:type="GtkShadowType"/>
</return-value>
</method>
<method name="set_handle_position"
c:identifier="gtk_handle_box_set_handle_position">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</method>
<method name="get_handle_position"
c:identifier="gtk_handle_box_get_handle_position"
doc="Gets the handle position of the handle box. See
gtk_handle_box_set_handle_position().">
<return-value transfer-ownership="full">
<type name="PositionType" c:type="GtkPositionType"/>
</return-value>
</method>
<method name="set_snap_edge" c:identifier="gtk_handle_box_set_snap_edge">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="edge" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</method>
<method name="get_snap_edge"
c:identifier="gtk_handle_box_get_snap_edge"
doc="Gets the edge used for determining reattachment of the handle box. See
gtk_handle_box_set_snap_edge().
is determined (as per default) from the handle position.">
<return-value transfer-ownership="full" doc="1 if this">
<type name="PositionType" c:type="GtkPositionType"/>
</return-value>
</method>
<method name="get_child_detached"
c:identifier="gtk_handle_box_get_child_detached"
doc="Whether the handlebox&apos;s child is currently detached."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="child-detached">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="handle-position" writable="1">
<type name="PositionType" c:type="GtkPositionType"/>
</property>
<property name="shadow" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<property name="shadow-type" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<property name="snap-edge" writable="1">
<type name="PositionType" c:type="GtkPositionType"/>
</property>
<property name="snap-edge-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="bin_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="float_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="shadow_type">
<type name="ShadowType" c:type="GtkShadowType"/>
</field>
<field name="handle_position" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="float_window_mapped" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="child_detached" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_drag" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="shrink_on_detach" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="snap_edge" bits="3">
<type name="int" c:type="signed"/>
</field>
<field name="deskoff_x">
<type name="int" c:type="gint"/>
</field>
<field name="deskoff_y">
<type name="int" c:type="gint"/>
</field>
<field name="attach_allocation">
<type name="Allocation" c:type="GtkAllocation"/>
</field>
<field name="float_allocation">
<type name="Allocation" c:type="GtkAllocation"/>
</field>
<glib:signal name="child-attached">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="child-detached">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="HandleBoxClass"
c:type="GtkHandleBoxClass"
glib:is-gtype-struct-for="HandleBox">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="child_attached">
<callback name="child_attached" c:type="child_attached">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="handle_box" transfer-ownership="none">
<type name="HandleBox" c:type="GtkHandleBox*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="child_detached">
<callback name="child_detached" c:type="child_detached">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="handle_box" transfer-ownership="none">
<type name="HandleBox" c:type="GtkHandleBox*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="IMContext"
c:type="GtkIMContext"
parent="GObject.Object"
abstract="1"
glib:type-name="GtkIMContext"
glib:get-type="gtk_im_context_get_type"
glib:type-struct="IMContextClass">
<virtual-method name="set_client_window" invoker="set_client_window">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_preedit_string" invoker="get_preedit_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="attrs" transfer-ownership="none">
<type name="Pango.AttrList" c:type="PangoAttrList**"/>
</parameter>
<parameter name="cursor_pos"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="filter_keypress" invoker="filter_keypress">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="focus_in" invoker="focus_in">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="focus_out" invoker="focus_out">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="reset" invoker="reset">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="set_cursor_location" invoker="set_cursor_location">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_use_preedit" invoker="set_use_preedit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_preedit" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_surrounding" invoker="set_surrounding">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="cursor_index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_surrounding" invoker="get_surrounding">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="cursor_index"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_client_window"
c:identifier="gtk_im_context_set_client_window"
doc="that the previous client window no longer exists.
Set the client window for the input context; this is the
#GdkWindow in which the input appears. This window is
used in order to correctly position status windows, and may
also be used for purposes internal to the input method.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window"
transfer-ownership="none"
allow-none="1"
doc="the client window. This may be %NULL to indicate">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
</parameters>
</method>
<method name="get_preedit_string"
c:identifier="gtk_im_context_get_preedit_string"
doc="string retrieved must be freed with g_free ().
When you are done with this list, you must
unreference it with pango_attr_list_unref().
within the preedit string.
Retrieve the current preedit string for the input context,
and a list of attributes to apply to the string.
This string should be displayed inserted at the insertion
point.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="attrs" transfer-ownership="none">
<type name="Pango.AttrList" c:type="PangoAttrList**"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="filter_keypress"
c:identifier="gtk_im_context_filter_keypress"
doc="Allow an input method to internally handle key press and release
events. If this function returns %TRUE, then no further processing
should be done for this key event.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</method>
<method name="focus_in"
c:identifier="gtk_im_context_focus_in"
doc="Notify the input method that the widget to which this
input context corresponds has gained focus. The input method
may, for example, change the displayed feedback to reflect
this change.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="focus_out"
c:identifier="gtk_im_context_focus_out"
doc="Notify the input method that the widget to which this
input context corresponds has lost focus. The input method
may, for example, change the displayed feedback or reset the contexts
state to reflect this change.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="reset"
c:identifier="gtk_im_context_reset"
doc="Notify the input method that a change such as a change in cursor
position has been made. This will typically cause the input
method to clear the preedit state.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_cursor_location"
c:identifier="gtk_im_context_set_cursor_location"
doc="Notify the input method that a change in cursor
position has been made. The location is relative to the client
window.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="set_use_preedit"
c:identifier="gtk_im_context_set_use_preedit"
doc="Sets whether the IM context should use the preedit string
to display feedback. If @use_preedit is FALSE (default
is TRUE), then the IM context may use some other method to display
feedback, such as displaying it in a child of the root window.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_preedit" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_surrounding"
c:identifier="gtk_im_context_set_surrounding"
doc="the preedit string should not be included within
Sets surrounding context around the insertion point and preedit
string. This function is expected to be called in response to the
GtkIMContext::retrieve_surrounding signal, and will likely have no
effect if called at other times.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="cursor_index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_surrounding"
c:identifier="gtk_im_context_get_surrounding"
doc="holding context around the insertion point.
If the function returns %TRUE, then you must free
the result stored in this location with g_free().
within @text.
Retrieves context around the insertion point. Input methods
typically want context in order to constrain input text based on
existing text; this is important for languages such as Thai where
only some sequences of characters are allowed.
This function is implemented by emitting the
GtkIMContext::retrieve_surrounding signal on the input method; in
response to this signal, a widget should provide as much context as
is available, up to an entire paragraph, by calling
gtk_im_context_set_surrounding(). Note that there is no obligation
for a widget to respond to the ::retrieve_surrounding signal, so input
methods must be prepared to function without context.
you must free the result stored in *text.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="cursor_index"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="delete_surrounding"
c:identifier="gtk_im_context_delete_surrounding"
doc="a negative value means start before the cursor.
Asks the widget that the input context is attached to to delete
characters around the cursor position by emitting the
GtkIMContext::delete_surrounding signal. Note that @offset and @n_chars
are in characters not in bytes which differs from the usage other
places in #GtkIMContext.
In order to use this function, you should first call
gtk_im_context_get_surrounding() to get the current context, and
call this function immediately afterwards to make sure that you
know what you are deleting. You should also account for the fact
that even if the signal was handled, the input context might not
have deleted all the characters that were requested to be deleted.
This function is used by an input method that wants to make
subsitutions in the existing text in response to new input. It is
not useful for applications.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<glib:signal name="commit"
doc="The ::commit signal is emitted when a complete input sequence
has been entered by the user. This can be a single character
immediately after a key press or the final result of preediting.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str"
transfer-ownership="none"
doc="entered by the user">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="delete-surrounding"
doc="to be deleted. A negative value indicates a position before
the cursor.
The ::delete-surrounding signal is emitted when the input method
needs to delete all or part of the context surrounding the cursor.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="preedit-changed"
doc="The ::preedit-changed signal is emitted whenever the preedit sequence
currently being entered has changed. It is also emitted at the end of
a preedit sequence, in which case
gtk_im_context_get_preedit_string() returns the empty string.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="preedit-end"
doc="The ::preedit-end signal is emitted when a preediting sequence
has been completed or canceled.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="preedit-start"
doc="The ::preedit-start signal is emitted when a new preediting sequence
starts.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="retrieve-surrounding"
doc="The ::retrieve-surrounding signal is emitted when the input method
requires the context surrounding the cursor. The callback should set
the input method surrounding context by calling the
gtk_im_context_set_surrounding() method.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
</class>
<record name="IMContextClass"
c:type="GtkIMContextClass"
glib:is-gtype-struct-for="IMContext"
doc="signal.
#GtkIMContext::retrieve-surrounding signal.
#GtkIMContext::delete-surrounding signal.
input window where the entered text will appear changes. Override this to
keep track of the current input window, for instance for the purpose of
positioning a status display of your input method.
retrieve the text currently being preedited for display at the cursor
position. Any input method which composes complex characters or any
other compositions from multiple sequential key presses should override
this method to provide feedback.
key press or release event. Every non-trivial input method needs to
override this in order to implement the mapping from key events to text.
A return value of %TRUE indicates to the caller that the event was
consumed by the input method. In that case, the #GtkIMContext::commit
signal should be emitted upon completion of a key sequence to pass the
resulting text back to the input widget. Alternatively, %FALSE may be
returned to indicate that the event wasn&apos;t handled by the input method.
If a builtin mapping exists for the key, it is used to produce a
character.
has gained focus. May be overridden to keep track of the current focus.
has lost focus. May be overridden to keep track of the current focus.
change in cursor position. An input method that implements preediting
should override this method to clear the preedit state on reset.
to inform the input method of the current cursor location relative to
the client window. May be overridden to implement the display of popup
windows at the cursor position.
the use of the preedit string. Override this to display feedback by some
other means if turned off.
to signal #GtkIMContext::retrieve-surrounding to update the input
method&apos;s idea of the context around the cursor. It is not necessary to
override this method even with input methods which implement
context-dependent behavior. The base implementation is sufficient for
gtk_im_context_get_surrounding() to work.
the context around the cursor location. It is not necessary to override
this method even with input methods which implement context-dependent
behavior. The base implementation emits
#GtkIMContext::retrieve-surrounding and records the context received
by the subsequent invocation of @get_surrounding.">
<field name="parent_class">
<type name="ObjectClass" c:type="GtkObjectClass"/>
</field>
<field name="preedit_start">
<callback name="preedit_start" c:type="preedit_start">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="preedit_end">
<callback name="preedit_end" c:type="preedit_end">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="preedit_changed">
<callback name="preedit_changed" c:type="preedit_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="commit">
<callback name="commit" c:type="commit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="retrieve_surrounding">
<callback name="retrieve_surrounding" c:type="retrieve_surrounding">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="delete_surrounding">
<callback name="delete_surrounding" c:type="delete_surrounding">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_client_window">
<callback name="set_client_window" c:type="set_client_window">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_preedit_string">
<callback name="get_preedit_string" c:type="get_preedit_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="str" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="attrs" transfer-ownership="none">
<type name="Pango.AttrList" c:type="PangoAttrList**"/>
</parameter>
<parameter name="cursor_pos"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="filter_keypress">
<callback name="filter_keypress" c:type="filter_keypress">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_in">
<callback name="focus_in" c:type="focus_in">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_out">
<callback name="focus_out" c:type="focus_out">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reset">
<callback name="reset" c:type="reset">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_cursor_location">
<callback name="set_cursor_location" c:type="set_cursor_location">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_use_preedit">
<callback name="set_use_preedit" c:type="set_use_preedit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="use_preedit" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_surrounding">
<callback name="set_surrounding" c:type="set_surrounding">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="cursor_index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_surrounding">
<callback name="get_surrounding" c:type="get_surrounding">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="IMContext" c:type="GtkIMContext*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="cursor_index"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="IMContextInfo"
c:type="GtkIMContextInfo"
doc="should be the default. The asterisk &quot;*&quot; sets the default for all locales.
Bookkeeping information about a loadable input method.">
<field name="context_id" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="context_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="domain" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="domain_dirname" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="default_locales" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<class name="IMContextSimple"
c:type="GtkIMContextSimple"
parent="IMContext"
glib:type-name="GtkIMContextSimple"
glib:get-type="gtk_im_context_simple_get_type"
glib:type-struct="IMContextSimpleClass">
<constructor name="new" c:identifier="gtk_im_context_simple_new">
<return-value transfer-ownership="full">
<type name="IMContextSimple" c:type="GtkIMContext*"/>
</return-value>
</constructor>
<method name="add_table"
c:identifier="gtk_im_context_simple_add_table"
doc="(cannot be greater than #GTK_MAX_COMPOSE_LEN)
Adds an additional table to search to the input context.
Each row of the table consists of @max_seq_len key symbols
followed by two #guint16 interpreted as the high and low
words of a #gunicode value. Tables are searched starting
from the last added.
The table must be sorted in dictionary order on the
numeric value of the key symbol fields. (Values beyond
the length of the sequence should be zero.)">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" direction="out" transfer-ownership="full">
<type name="uint16" c:type="guint16*"/>
</parameter>
<parameter name="max_seq_len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="n_seqs" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<field name="object">
<type name="IMContext" c:type="GtkIMContext"/>
</field>
<field name="tables">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="compose_buffer">
<array zero-terminated="0" c:type="guint" fixed-size="8">
<type name="uint"/>
</array>
</field>
<field name="tentative_match">
<type name="GLib.unichar" c:type="gunichar"/>
</field>
<field name="tentative_match_len">
<type name="int" c:type="gint"/>
</field>
<field name="in_hex_sequence" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="modifiers_dropped" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="IMContextSimpleClass"
c:type="GtkIMContextSimpleClass"
glib:is-gtype-struct-for="IMContextSimple">
<field name="parent_class">
<type name="IMContextClass" c:type="GtkIMContextClass"/>
</field>
</record>
<class name="IMMulticontext"
c:type="GtkIMMulticontext"
parent="IMContext"
glib:type-name="GtkIMMulticontext"
glib:get-type="gtk_im_multicontext_get_type"
glib:type-struct="IMMulticontextClass">
<constructor name="new"
c:identifier="gtk_im_multicontext_new"
doc="Creates a new #GtkIMMulticontext.">
<return-value transfer-ownership="full">
<type name="IMMulticontext" c:type="GtkIMContext*"/>
</return-value>
</constructor>
<method name="append_menuitems"
c:identifier="gtk_im_multicontext_append_menuitems"
doc="Add menuitems for various available input methods to a menu;
the menuitems, when selected, will switch the input method
for the context and the global default input method.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menushell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
</parameters>
</method>
<method name="get_context_id"
c:identifier="gtk_im_multicontext_get_context_id"
doc="Gets the id of the currently active slave of the @context."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</return-value>
</method>
<method name="set_context_id"
c:identifier="gtk_im_multicontext_set_context_id"
doc="Sets the context id for @context.
This causes the currently active slave of @context to be
replaced by the slave corresponding to the new context id."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context_id" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<field name="object">
<type name="IMContext" c:type="GtkIMContext"/>
</field>
<field name="slave">
<type name="IMContext" c:type="GtkIMContext*"/>
</field>
<field name="priv">
<type name="IMMulticontextPrivate" c:type="GtkIMMulticontextPrivate*"/>
</field>
<field name="context_id">
<type name="utf8" c:type="gchar*"/>
</field>
</class>
<record name="IMMulticontextClass"
c:type="GtkIMMulticontextClass"
glib:is-gtype-struct-for="IMMulticontext">
<field name="parent_class">
<type name="IMContextClass" c:type="GtkIMContextClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="IMMulticontextPrivate" c:type="GtkIMMulticontextPrivate">
</record>
<enumeration name="IMPreeditStyle"
glib:type-name="GtkIMPreeditStyle"
glib:get-type="gtk_im_preedit_style_get_type"
c:type="GtkIMPreeditStyle">
<member name="nothing"
value="0"
c:identifier="GTK_IM_PREEDIT_NOTHING"
glib:nick="nothing"/>
<member name="callback"
value="1"
c:identifier="GTK_IM_PREEDIT_CALLBACK"
glib:nick="callback"/>
<member name="none"
value="2"
c:identifier="GTK_IM_PREEDIT_NONE"
glib:nick="none"/>
</enumeration>
<enumeration name="IMStatusStyle"
glib:type-name="GtkIMStatusStyle"
glib:get-type="gtk_im_status_style_get_type"
c:type="GtkIMStatusStyle">
<member name="nothing"
value="0"
c:identifier="GTK_IM_STATUS_NOTHING"
glib:nick="nothing"/>
<member name="callback"
value="1"
c:identifier="GTK_IM_STATUS_CALLBACK"
glib:nick="callback"/>
<member name="none"
value="2"
c:identifier="GTK_IM_STATUS_NONE"
glib:nick="none"/>
</enumeration>
<constant name="INPUT_ERROR" value="-1">
<type name="int"/>
</constant>
<constant name="INTERFACE_AGE" value="1">
<type name="int"/>
</constant>
<class name="IconFactory"
c:type="GtkIconFactory"
parent="GObject.Object"
glib:type-name="GtkIconFactory"
glib:get-type="gtk_icon_factory_get_type"
glib:type-struct="IconFactoryClass">
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_icon_factory_new"
doc="Creates a new #GtkIconFactory. An icon factory manages a collection
of #GtkIconSet&lt;!-- --&gt;s; a #GtkIconSet manages a set of variants of a
particular icon (i.e. a #GtkIconSet contains variants for different
sizes and widget states). Icons in an icon factory are named by a
stock ID, which is a simple string identifying the icon. Each
#GtkStyle has a list of #GtkIconFactory&lt;!-- --&gt;s derived from the current
theme; those icon factories are consulted first when searching for
an icon. If the theme doesn&apos;t set a particular icon, GTK+ looks for
the icon in a list of default icon factories, maintained by
gtk_icon_factory_add_default() and
gtk_icon_factory_remove_default(). Applications with icons should
add a default icon factory with their icons, which will allow
themes to override the icons for the application.">
<return-value transfer-ownership="full">
<type name="IconFactory" c:type="GtkIconFactory*"/>
</return-value>
</constructor>
<function name="lookup_default"
c:identifier="gtk_icon_factory_lookup_default"
doc="Looks for an icon in the list of default icon factories. For
display to the user, you should use gtk_style_lookup_icon_set() on
the #GtkStyle for the widget that will display the icon, instead of
using this function directly, so that themes are taken into
account.">
<return-value transfer-ownership="full">
<type name="IconSet" c:type="GtkIconSet*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<method name="add"
c:identifier="gtk_icon_factory_add"
doc="Adds the given @icon_set to the icon factory, under the name
e.g. &quot;myapp-whatever-icon&quot;. Normally applications create a
#GtkIconFactory, then add it to the list of default factories with
gtk_icon_factory_add_default(). Then they pass the @stock_id to
widgets such as #GtkImage to display the icon. Themes can provide
an icon with the same name (such as &quot;myapp-whatever-icon&quot;) to
override your application&apos;s default icons. If an icon already
existed in @factory for @stock_id, it is unreferenced and replaced
with the new @icon_set.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="icon_set" transfer-ownership="none">
<type name="IconSet" c:type="GtkIconSet*"/>
</parameter>
</parameters>
</method>
<method name="lookup"
c:identifier="gtk_icon_factory_lookup"
doc="Looks up @stock_id in the icon factory, returning an icon set
if found, otherwise %NULL. For display to the user, you should
use gtk_style_lookup_icon_set() on the #GtkStyle for the
widget that will display the icon, instead of using this
function directly, so that themes are taken into account.">
<return-value transfer-ownership="full">
<type name="IconSet" c:type="GtkIconSet*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_default"
c:identifier="gtk_icon_factory_add_default"
doc="Adds an icon factory to the list of icon factories searched by
gtk_style_lookup_icon_set(). This means that, for example,
gtk_image_new_from_stock() will be able to find icons in @factory.
There will normally be an icon factory added for each library or
application that comes with icons. The default icon factories
can be overridden by themes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="remove_default"
c:identifier="gtk_icon_factory_remove_default"
doc="Removes an icon factory from the list of default icon
factories. Not normally used; you might use it for a library that
can be unloaded or shut down.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="icons">
<type name="GLib.HashTable" c:type="GHashTable*"/>
</field>
</class>
<record name="IconFactoryClass"
c:type="GtkIconFactoryClass"
glib:is-gtype-struct-for="IconFactory">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="IconInfo"
c:type="GtkIconInfo"
glib:type-name="GtkIconInfo"
glib:get-type="gtk_icon_info_get_type">
<constructor name="new_for_pixbuf"
c:identifier="gtk_icon_info_new_for_pixbuf"
doc="Creates a #GtkIconInfo for a #GdkPixbuf."
version="2.14">
<return-value transfer-ownership="full">
<type name="IconInfo" c:type="GtkIconInfo*"/>
</return-value>
<parameters>
<parameter name="icon_theme" transfer-ownership="none">
<type name="IconTheme" c:type="GtkIconTheme*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</constructor>
<method name="copy"
c:identifier="gtk_icon_info_copy"
doc="Make a copy of a #GtkIconInfo."
version="2.4">
<return-value transfer-ownership="full">
<type name="IconInfo" c:type="GtkIconInfo*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_icon_info_free"
doc="Free a #GtkIconInfo and associated information"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_base_size"
c:identifier="gtk_icon_info_get_base_size"
doc="Gets the base size for the icon. The base size
is a size for the icon that was specified by
the icon theme creator. This may be different
than the actual size of image; an example of
this is small emblem icons that can be attached
to a larger icon. These icons will be given
the same base size as the larger icons to which
they are attached.
size is known for the icon."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_filename"
c:identifier="gtk_icon_info_get_filename"
doc="Gets the filename for the icon. If the
%GTK_ICON_LOOKUP_USE_BUILTIN flag was passed
to gtk_icon_theme_lookup_icon(), there may be
no filename if a builtin icon is returned; in this
case, you should use gtk_icon_info_get_builtin_pixbuf().
if gtk_icon_info_get_builtin_pixbuf() should
be used instead. The return value is owned by
GTK+ and should not be modified or freed."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_builtin_pixbuf"
c:identifier="gtk_icon_info_get_builtin_pixbuf"
doc="Gets the built-in image for this icon, if any. To allow
GTK+ to use built in icon images, you must pass the
%GTK_ICON_LOOKUP_USE_BUILTIN to
gtk_icon_theme_lookup_icon().
extra reference is added to the returned pixbuf, so if
you want to keep it around, you must use g_object_ref().
The returned image must not be modified."
version="2.4">
<return-value transfer-ownership="none"
doc="the built-in image pixbuf, or %NULL. No">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="load_icon"
c:identifier="gtk_icon_info_load_icon"
doc="Renders an icon previously looked up in an icon theme using
gtk_icon_theme_lookup_icon(); the size will be based on the size
passed to gtk_icon_theme_lookup_icon(). Note that the resulting
pixbuf may not be exactly this size; an icon theme may have icons
that differ slightly from their nominal sizes, and in addition GTK+
will avoid scaling icons that it considers sufficiently close to the
requested size or for which the source image would have to be scaled
up too far. (This maintains sharpness.). This behaviour can be changed
by passing the %GTK_ICON_LOOKUP_FORCE_SIZE flag when obtaining
the #GtkIconInfo. If this flag has been specified, the pixbuf
returned by this function will be scaled to the exact size.
or a new reference to an internal icon, so you must not modify
the icon. Use g_object_unref() to release your reference to the
icon."
version="2.4"
throws="1">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="set_raw_coordinates"
c:identifier="gtk_icon_info_set_raw_coordinates"
doc="and attached points should be returned in their original
(unscaled) form.
Sets whether the coordinates returned by gtk_icon_info_get_embedded_rect()
and gtk_icon_info_get_attach_points() should be returned in their
original form as specified in the icon theme, instead of scaled
appropriately for the pixbuf returned by gtk_icon_info_load_icon().
Raw coordinates are somewhat strange; they are specified to be with
respect to the unscaled pixmap for PNG and XPM icons, but for SVG
icons, they are in a 1000x1000 coordinate space that is scaled
to the final size of the icon. You can determine if the icon is an SVG
icon by using gtk_icon_info_get_filename(), and seeing if it is non-%NULL
and ends in &apos;.svg&apos;.
This function is provided primarily to allow compatibility wrappers
for older API&apos;s, and is not expected to be useful for applications."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="raw_coordinates" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_embedded_rect"
c:identifier="gtk_icon_info_get_embedded_rect"
doc="rectangle coordinates; coordinates are only stored
when this function returns %TRUE.
Gets the coordinates of a rectangle within the icon
that can be used for display of information such
as a preview of the contents of a text file.
See gtk_icon_info_set_raw_coordinates() for further
information about the coordinate system."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="rectangle" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="get_attach_points"
c:identifier="gtk_icon_info_get_attach_points"
doc="free the array of points with g_free().
Fetches the set of attach points for an icon. An attach point
is a location in the icon that can be used as anchor points for attaching
emblems or overlays to the icon."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="points"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store pointer to an array of points, or %NULL">
<array length="2" c:type="GdkPoint**">
<type name="Gdk.Point"/>
</array>
</parameter>
<parameter name="n_points"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the number of points in @points, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_display_name"
c:identifier="gtk_icon_info_get_display_name"
doc="Gets the display name for an icon. A display name is a
string to be used in place of the icon name in a user
visible context like a list of icons.
the icon doesn&apos;t have a specified display name. This value
is owned @icon_info and must not be modified or free."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
</record>
<bitfield name="IconLookupFlags"
doc="supports them. Cannot be used together with %GTK_ICON_LOOKUP_FORCE_SVG.
doesn&apos;t support them.
Cannot be used together with %GTK_ICON_LOOKUP_NO_SVG.
gtk_icon_theme_lookup_icon() includes builtin icons
as well as files. For a builtin icon, gtk_icon_info_get_filename()
returns %NULL and you need to call gtk_icon_info_get_builtin_pixbuf().
characters before looking at inherited themes. For more general
fallback, see gtk_icon_theme_choose_icon(). Since 2.12.
requested size. Since 2.14.
Used to specify options for gtk_icon_theme_lookup_icon()"
glib:type-name="GtkIconLookupFlags"
glib:get-type="gtk_icon_lookup_flags_get_type"
c:type="GtkIconLookupFlags">
<member name="no_svg"
value="1"
c:identifier="GTK_ICON_LOOKUP_NO_SVG"
glib:nick="no-svg"/>
<member name="force_svg"
value="2"
c:identifier="GTK_ICON_LOOKUP_FORCE_SVG"
glib:nick="force-svg"/>
<member name="use_builtin"
value="4"
c:identifier="GTK_ICON_LOOKUP_USE_BUILTIN"
glib:nick="use-builtin"/>
<member name="generic_fallback"
value="8"
c:identifier="GTK_ICON_LOOKUP_GENERIC_FALLBACK"
glib:nick="generic-fallback"/>
<member name="force_size"
value="16"
c:identifier="GTK_ICON_LOOKUP_FORCE_SIZE"
glib:nick="force-size"/>
</bitfield>
<record name="IconSet"
c:type="GtkIconSet"
glib:type-name="GtkIconSet"
glib:get-type="gtk_icon_set_get_type">
<constructor name="new"
c:identifier="gtk_icon_set_new"
doc="Creates a new #GtkIconSet. A #GtkIconSet represents a single icon
in various sizes and widget states. It can provide a #GdkPixbuf
for a given size and state on request, and automatically caches
some of the rendered #GdkPixbuf objects.
Normally you would use gtk_widget_render_icon() instead of
using #GtkIconSet directly. The one case where you&apos;d use
#GtkIconSet is to create application-specific icon sets to place in
a #GtkIconFactory.">
<return-value transfer-ownership="full">
<type name="IconSet" c:type="GtkIconSet*"/>
</return-value>
</constructor>
<constructor name="new_from_pixbuf"
c:identifier="gtk_icon_set_new_from_pixbuf"
doc="Creates a new #GtkIconSet with @pixbuf as the default/fallback
source image. If you don&apos;t add any additional #GtkIconSource to the
icon set, all variants of the icon will be created from @pixbuf,
using scaling, pixelation, etc. as required to adjust the icon size
or make the icon look insensitive/prelighted.">
<return-value transfer-ownership="full">
<type name="IconSet" c:type="GtkIconSet*"/>
</return-value>
<parameters>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</constructor>
<method name="ref"
c:identifier="gtk_icon_set_ref"
doc="Increments the reference count on @icon_set.">
<return-value transfer-ownership="full">
<type name="IconSet" c:type="GtkIconSet*"/>
</return-value>
</method>
<method name="unref"
c:identifier="gtk_icon_set_unref"
doc="Decrements the reference count on @icon_set, and frees memory
if the reference count reaches 0.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="copy"
c:identifier="gtk_icon_set_copy"
doc="Copies @icon_set by value.">
<return-value transfer-ownership="full">
<type name="IconSet" c:type="GtkIconSet*"/>
</return-value>
</method>
<method name="render_icon"
c:identifier="gtk_icon_set_render_icon"
doc="means render at the size of the source and don&apos;t scale.
The only use that is typically made of this
is to determine the appropriate #GdkScreen.
Note that passing a detail of anything but %NULL
will disable caching.
Renders an icon using gtk_style_render_icon(). In most cases,
gtk_widget_render_icon() is better, since it automatically provides
most of the arguments from the current widget settings. This
function never returns %NULL; if the icon can&apos;t be rendered
(perhaps because an image file fails to load), a default &quot;missing
image&quot; icon will be returned instead.">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="style"
transfer-ownership="none"
allow-none="1"
doc="a #GtkStyle associated with @widget, or %NULL">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="size" transfer-ownership="none" doc="1">
<type name="int" c:type="GtkIconSize"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="widget that will display the icon, or %NULL.">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="detail to pass to the theme engine, or %NULL.">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="add_source"
c:identifier="gtk_icon_set_add_source"
doc="Icon sets have a list of #GtkIconSource, which they use as base
icons for rendering icons in different states and sizes. Icons are
scaled, made to look insensitive, etc. in
gtk_icon_set_render_icon(), but #GtkIconSet needs base images to
work with. The base images and when to use them are described by
a #GtkIconSource.
This function copies @source, so you can reuse the same source immediately
without affecting the icon set.
to Previous Page&quot; icon might point in a different direction in
Hebrew and in English; it might look different when insensitive;
and it might change size depending on toolbar mode (small/large
icons). So a single icon set would contain all those variants of
the icon, and you might add a separate source for each one.
You should nearly always add a &quot;default&quot; icon source with all
fields wildcarded, which will be used as a fallback if no more
specific source matches. #GtkIconSet always prefers more specific
icon sources to more generic icon sources. The order in which you
add the sources to the icon set does not matter.
gtk_icon_set_new_from_pixbuf() creates a new icon set with a
default icon source based on the given pixbuf.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="source" transfer-ownership="none">
<type name="IconSource" c:type="GtkIconSource*"/>
</parameter>
</parameters>
</method>
<method name="get_sizes"
c:identifier="gtk_icon_set_get_sizes"
doc="for array of sizes
Obtains a list of icon sizes this icon set can render. The returned
array must be freed with g_free().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sizes"
direction="out"
transfer-ownership="full"
doc="return location">
<array length="2" c:type="GtkIconSize**">
<type name="IconSize"/>
</array>
</parameter>
<parameter name="n_sizes" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
</record>
<enumeration name="IconSize"
glib:type-name="GtkIconSize"
glib:get-type="gtk_icon_size_get_type"
c:type="GtkIconSize">
<member name="invalid"
value="0"
c:identifier="GTK_ICON_SIZE_INVALID"
glib:nick="invalid"/>
<member name="menu"
value="1"
c:identifier="GTK_ICON_SIZE_MENU"
glib:nick="menu"/>
<member name="small_toolbar"
value="2"
c:identifier="GTK_ICON_SIZE_SMALL_TOOLBAR"
glib:nick="small-toolbar"/>
<member name="large_toolbar"
value="3"
c:identifier="GTK_ICON_SIZE_LARGE_TOOLBAR"
glib:nick="large-toolbar"/>
<member name="button"
value="4"
c:identifier="GTK_ICON_SIZE_BUTTON"
glib:nick="button"/>
<member name="dnd"
value="5"
c:identifier="GTK_ICON_SIZE_DND"
glib:nick="dnd"/>
<member name="dialog"
value="6"
c:identifier="GTK_ICON_SIZE_DIALOG"
glib:nick="dialog"/>
</enumeration>
<record name="IconSource"
c:type="GtkIconSource"
glib:type-name="GtkIconSource"
glib:get-type="gtk_icon_source_get_type">
<constructor name="new"
c:identifier="gtk_icon_source_new"
doc="Creates a new #GtkIconSource. A #GtkIconSource contains a #GdkPixbuf (or
image filename) that serves as the base image for one or more of the
icons in a #GtkIconSet, along with a specification for which icons in the
icon set will be based on that pixbuf or image file. An icon set contains
a set of icons that represent &quot;the same&quot; logical concept in different states,
different global text directions, and different sizes.
So for example a web browser&apos;s &quot;Back to Previous Page&quot; icon might
point in a different direction in Hebrew and in English; it might
look different when insensitive; and it might change size depending
on toolbar mode (small/large icons). So a single icon set would
contain all those variants of the icon. #GtkIconSet contains a list
of #GtkIconSource from which it can derive specific icon variants in
the set.
In the simplest case, #GtkIconSet contains one source pixbuf from
which it derives all variants. The convenience function
gtk_icon_set_new_from_pixbuf() handles this case; if you only have
one source pixbuf, just use that function.
If you want to use a different base pixbuf for different icon
variants, you create multiple icon sources, mark which variants
they&apos;ll be used to create, and add them to the icon set with
gtk_icon_set_add_source().
By default, the icon source has all parameters wildcarded. That is,
the icon source will be used as the base icon for any desired text
direction, widget state, or icon size.">
<return-value transfer-ownership="full">
<type name="IconSource" c:type="GtkIconSource*"/>
</return-value>
</constructor>
<method name="copy"
c:identifier="gtk_icon_source_copy"
doc="Creates a copy of @source; mostly useful for language bindings.">
<return-value transfer-ownership="full">
<type name="IconSource" c:type="GtkIconSource*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_icon_source_free"
doc="Frees a dynamically-allocated icon source, along with its
filename, size, and pixbuf fields if those are not %NULL.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_filename"
c:identifier="gtk_icon_source_set_filename"
doc="Sets the name of an image file to use as a base image when creating
icon variants for #GtkIconSet. The filename must be absolute.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_name"
c:identifier="gtk_icon_source_set_icon_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_pixbuf"
c:identifier="gtk_icon_source_set_pixbuf"
doc="Sets a pixbuf to use as a base image when creating icon variants
for #GtkIconSet.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="get_filename"
c:identifier="gtk_icon_source_get_filename"
doc="Retrieves the source filename, or %NULL if none is set. The
filename is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.
or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_icon_name"
c:identifier="gtk_icon_source_get_icon_name"
doc="Retrieves the source icon name, or %NULL if none is set. The
icon_name is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_pixbuf"
c:identifier="gtk_icon_source_get_pixbuf"
doc="Retrieves the source pixbuf, or %NULL if none is set.
In addition, if a filename source is in use, this
function in some cases will return the pixbuf from
loaded from the filename. This is, for example, true
for the GtkIconSource passed to the GtkStyle::render_icon()
virtual function. The reference count on the pixbuf is
not incremented.">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="set_direction_wildcarded"
c:identifier="gtk_icon_source_set_direction_wildcarded"
doc="If the text direction is wildcarded, this source can be used
as the base image for an icon in any #GtkTextDirection.
If the text direction is not wildcarded, then the
text direction the icon source applies to should be set
with gtk_icon_source_set_direction(), and the icon source
will only be used with that text direction.
#GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_state_wildcarded"
c:identifier="gtk_icon_source_set_state_wildcarded"
doc="If the widget state is wildcarded, this source can be used as the
base image for an icon in any #GtkStateType. If the widget state
is not wildcarded, then the state the source applies to should be
set with gtk_icon_source_set_state() and the icon source will
only be used with that specific state.
#GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.
#GtkIconSet will normally transform wildcarded source images to
produce an appropriate icon for a given state, for example
lightening an image on prelight, but will not modify source images
that match exactly.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_size_wildcarded"
c:identifier="gtk_icon_source_set_size_wildcarded"
doc="If the icon size is wildcarded, this source can be used as the base
image for an icon of any size. If the size is not wildcarded, then
the size the source applies to should be set with
gtk_icon_source_set_size() and the icon source will only be used
with that specific size.
#GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.
#GtkIconSet will normally scale wildcarded source images to produce
an appropriate icon at a given size, but will not change the size
of source images that match exactly.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_size_wildcarded"
c:identifier="gtk_icon_source_get_size_wildcarded"
doc="Gets the value set by gtk_icon_source_set_size_wildcarded().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_state_wildcarded"
c:identifier="gtk_icon_source_get_state_wildcarded"
doc="Gets the value set by gtk_icon_source_set_state_wildcarded().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_direction_wildcarded"
c:identifier="gtk_icon_source_get_direction_wildcarded"
doc="Gets the value set by gtk_icon_source_set_direction_wildcarded().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_direction"
c:identifier="gtk_icon_source_set_direction"
doc="Sets the text direction this icon source is intended to be used
with.
Setting the text direction on an icon source makes no difference
if the text direction is wildcarded. Therefore, you should usually
call gtk_icon_source_set_direction_wildcarded() to un-wildcard it
in addition to calling this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
</parameters>
</method>
<method name="set_state"
c:identifier="gtk_icon_source_set_state"
doc="Sets the widget state this icon source is intended to be used
with.
Setting the widget state on an icon source makes no difference
if the state is wildcarded. Therefore, you should usually
call gtk_icon_source_set_state_wildcarded() to un-wildcard it
in addition to calling this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
</parameters>
</method>
<method name="set_size"
c:identifier="gtk_icon_source_set_size"
doc="Sets the icon size this icon source is intended to be used
with.
Setting the icon size on an icon source makes no difference
if the size is wildcarded. Therefore, you should usually
call gtk_icon_source_set_size_wildcarded() to un-wildcard it
in addition to calling this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="size"
transfer-ownership="none"
doc="icon size this source applies to">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="get_direction"
c:identifier="gtk_icon_source_get_direction"
doc="Obtains the text direction this icon source applies to. The return
value is only useful/meaningful if the text direction is &lt;emphasis&gt;not&lt;/emphasis&gt;
wildcarded.">
<return-value transfer-ownership="full">
<type name="TextDirection" c:type="GtkTextDirection"/>
</return-value>
</method>
<method name="get_state"
c:identifier="gtk_icon_source_get_state"
doc="Obtains the widget state this icon source applies to. The return
value is only useful/meaningful if the widget state is &lt;emphasis&gt;not&lt;/emphasis&gt;
wildcarded.">
<return-value transfer-ownership="full">
<type name="StateType" c:type="GtkStateType"/>
</return-value>
</method>
<method name="get_size"
c:identifier="gtk_icon_source_get_size"
doc="Obtains the icon size this source applies to. The return value
is only useful/meaningful if the icon size is &lt;emphasis&gt;not&lt;/emphasis&gt; wildcarded.">
<return-value transfer-ownership="full"
doc="icon size this source matches.">
<type name="int" c:type="GtkIconSize"/>
</return-value>
</method>
</record>
<class name="IconTheme"
c:type="GtkIconTheme"
parent="GObject.Object"
glib:type-name="GtkIconTheme"
glib:get-type="gtk_icon_theme_get_type"
glib:type-struct="IconThemeClass">
<constructor name="new"
c:identifier="gtk_icon_theme_new"
doc="Creates a new icon theme object. Icon theme objects are used
to lookup up an icon by name in a particular icon theme.
Usually, you&apos;ll want to use gtk_icon_theme_get_default()
or gtk_icon_theme_get_for_screen() rather than creating
a new icon theme object for scratch."
version="2.4">
<return-value transfer-ownership="full">
<type name="IconTheme" c:type="GtkIconTheme*"/>
</return-value>
</constructor>
<function name="get_default"
c:identifier="gtk_icon_theme_get_default"
doc="Gets the icon theme for the default screen. See
gtk_icon_theme_get_for_screen().
the default screen. This icon theme is associated with
the screen and can be used as long as the screen
is open. Do not ref or unref it."
version="2.4">
<return-value transfer-ownership="none"
doc="A unique #GtkIconTheme associated with">
<type name="IconTheme" c:type="GtkIconTheme*"/>
</return-value>
</function>
<function name="get_for_screen"
c:identifier="gtk_icon_theme_get_for_screen"
doc="Gets the icon theme object associated with @screen; if this
function has not previously been called for the given
screen, a new icon theme object will be created and
associated with the screen. Icon theme objects are
fairly expensive to create, so using this function
is usually a better choice than calling than gtk_icon_theme_new()
and setting the screen yourself; by using this function
a single icon theme object will be shared between users.
the given screen. This icon theme is associated with
the screen and can be used as long as the screen
is open. Do not ref or unref it."
version="2.4">
<return-value transfer-ownership="none"
doc="A unique #GtkIconTheme associated with">
<type name="IconTheme" c:type="GtkIconTheme*"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</function>
<function name="add_builtin_icon"
c:identifier="gtk_icon_theme_add_builtin_icon"
doc="images can be registered for the same icon name
at different sizes.)
for @icon_name.
Registers a built-in icon for icon theme lookups. The idea
of built-in icons is to allow an application or library
that uses themed icons to function requiring files to
be present in the file system. For instance, the default
images for all of GTK+&apos;s stock icons are registered
as built-icons.
In general, if you use gtk_icon_theme_add_builtin_icon()
you should also install the icon in the icon theme, so
that the icon is generally available.
This function will generally be used with pixbufs loaded
via gdk_pixbuf_new_from_inline()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</function>
<method name="set_screen"
c:identifier="gtk_icon_theme_set_screen"
doc="Sets the screen for an icon theme; the screen is used
to track the user&apos;s currently configured icon theme,
which might be different for different screens."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</method>
<method name="set_search_path"
c:identifier="gtk_icon_theme_set_search_path"
doc="Sets the search path for the icon theme object. When looking
for an icon theme, GTK+ will search for a subdirectory of
one or more of the directories in @path with the same name
as the icon theme. (Themes from multiple of the path elements
are combined to allow themes to be extended by adding icons
in the user&apos;s home directory.)
In addition if an icon found isn&apos;t found either in the current
icon theme or the default icon theme, and an image file with
the right name is found directly in one of the elements of
(This is legacy feature, and new icons should be put
into the default icon theme, which is called DEFAULT_THEME_NAME,
rather than directly on the icon path.)"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_elements" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_search_path"
c:identifier="gtk_icon_theme_get_search_path"
doc="The stored value should be freed with g_strfreev().
in @path, or %NULL
Gets the current search path. See gtk_icon_theme_set_search_path()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store a list of icon theme path directories or %NULL">
<array length="2" c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
<parameter name="n_elements"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="append_search_path"
c:identifier="gtk_icon_theme_append_search_path"
doc="Appends a directory to the search path.
See gtk_icon_theme_set_search_path()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="prepend_search_path"
c:identifier="gtk_icon_theme_prepend_search_path"
doc="Prepends a directory to the search path.
See gtk_icon_theme_set_search_path()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_custom_theme"
c:identifier="gtk_icon_theme_set_custom_theme"
doc="or %NULL to unset a previously set custom theme
Sets the name of the icon theme that the #GtkIconTheme object uses
overriding system configuration. This function cannot be called
on the icon theme objects returned from gtk_icon_theme_get_default()
and gtk_icon_theme_get_for_screen()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="theme_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="has_icon"
c:identifier="gtk_icon_theme_has_icon"
doc="Checks whether an icon theme includes an icon
for a particular name.
icon for @icon_name."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_sizes"
c:identifier="gtk_icon_theme_get_icon_sizes"
doc="Returns an array of integers describing the sizes at which
the icon is available without scaling. A size of -1 means
that the icon is available in a scalable format. The array
is zero-terminated.
which the icon is available. The array should be freed with g_free()
when it is no longer needed."
version="2.6">
<return-value transfer-ownership="full">
<type name="int" c:type="gint*"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="lookup_icon"
c:identifier="gtk_icon_theme_lookup_icon"
doc="Looks up a named icon and returns a structure containing
information such as the filename of the icon. The icon
can then be rendered into a pixbuf using
gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
combines these two steps if all you need is the pixbuf.)
about the icon, or %NULL if the icon wasn&apos;t found. Free with
gtk_icon_info_free()"
version="2.4">
<return-value transfer-ownership="full">
<type name="IconInfo" c:type="GtkIconInfo*"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="IconLookupFlags" c:type="GtkIconLookupFlags"/>
</parameter>
</parameters>
</method>
<method name="choose_icon"
c:identifier="gtk_icon_theme_choose_icon"
doc="Looks up a named icon and returns a structure containing
information such as the filename of the icon. The icon
can then be rendered into a pixbuf using
gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
combines these two steps if all you need is the pixbuf.)
If @icon_names contains more than one name, this function
tries them all in the given order before falling back to
inherited icon themes.
about the icon, or %NULL if the icon wasn&apos;t found. Free with
gtk_icon_info_free()"
version="2.12">
<return-value transfer-ownership="full">
<type name="IconInfo" c:type="GtkIconInfo*"/>
</return-value>
<parameters>
<parameter name="icon_names" transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="IconLookupFlags" c:type="GtkIconLookupFlags"/>
</parameter>
</parameters>
</method>
<method name="load_icon"
c:identifier="gtk_icon_theme_load_icon"
doc="exactly this size; see gtk_icon_info_load_icon().
Looks up an icon in an icon theme, scales it to the given size
and renders it into a pixbuf. This is a convenience function;
if more details about the icon are needed, use
gtk_icon_theme_lookup_icon() followed by gtk_icon_info_load_icon().
Note that you probably want to listen for icon theme changes and
update the icon. This is usually done by connecting to the
GtkWidget::style-set signal. If for some reason you do not want to
update the icon when the icon theme changes, you should consider
using gdk_pixbuf_copy() to make a private copy of the pixbuf
returned by this function. Otherwise GTK+ may need to keep the old
icon theme loaded, which would be a waste of memory.
or a new reference to an internal icon, so you must not modify
the icon. Use g_object_unref() to release your reference to the
icon. %NULL if the icon isn&apos;t found."
version="2.4"
throws="1">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="IconLookupFlags" c:type="GtkIconLookupFlags"/>
</parameter>
</parameters>
</method>
<method name="lookup_by_gicon"
c:identifier="gtk_icon_theme_lookup_by_gicon"
doc="Looks up an icon and returns a structure containing
information such as the filename of the icon.
The icon can then be rendered into a pixbuf using
gtk_icon_info_load_icon().
information about the icon, or %NULL if the icon
wasn&apos;t found. Free with gtk_icon_info_free()"
version="2.14">
<return-value transfer-ownership="full">
<type name="IconInfo" c:type="GtkIconInfo*"/>
</return-value>
<parameters>
<parameter name="icon" transfer-ownership="none">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="IconLookupFlags" c:type="GtkIconLookupFlags"/>
</parameter>
</parameters>
</method>
<method name="list_icons"
c:identifier="gtk_icon_theme_list_icons"
doc="or %NULL to list all icons.
Lists the icons in the current icon theme. Only a subset
of the icons can be listed by providing a context string.
The set of values for the context string is system dependent,
but will typically include such values as &quot;Applications&quot; and
&quot;MimeTypes&quot;.
icons in the theme. You must first free each element
in the list with g_free(), then free the list itself
with g_list_free()."
version="2.4">
<return-value transfer-ownership="none"
doc="a #GList list holding the names of all the">
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</type>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="list_contexts"
c:identifier="gtk_icon_theme_list_contexts"
doc="Gets the list of contexts available within the current
hierarchy of icon themes
contexts in the theme. You must first free each element
in the list with g_free(), then free the list itself
with g_list_free()."
version="2.12">
<return-value transfer-ownership="full"
doc="a #GList list holding the names of all the">
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</type>
</return-value>
</method>
<method name="get_example_icon_name"
c:identifier="gtk_icon_theme_get_example_icon_name"
doc="Gets the name of an icon that is representative of the
current theme (for instance, to use when presenting
a list of themes to the user.)
Free with g_free()."
version="2.4">
<return-value transfer-ownership="full">
<type name="utf8" c:type="char*"/>
</return-value>
</method>
<method name="rescan_if_needed"
c:identifier="gtk_icon_theme_rescan_if_needed"
doc="Checks to see if the icon theme has changed; if it has, any
currently cached information is discarded and will be reloaded
next time @icon_theme is accessed.
to be reloaded."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="IconThemePrivate" c:type="GtkIconThemePrivate*"/>
</field>
<glib:signal name="changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="IconThemeClass"
c:type="GtkIconThemeClass"
glib:is-gtype-struct-for="IconTheme">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_theme" transfer-ownership="none">
<type name="IconTheme" c:type="GtkIconTheme*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<enumeration name="IconThemeError"
doc="Error codes for GtkIconTheme operations."
glib:type-name="GtkIconThemeError"
glib:get-type="gtk_icon_theme_error_get_type"
c:type="GtkIconThemeError"
glib:error-quark="gtk_icon_theme_error_quark">
<member name="not_found"
value="0"
c:identifier="GTK_ICON_THEME_NOT_FOUND"
glib:nick="not-found"/>
<member name="failed"
value="1"
c:identifier="GTK_ICON_THEME_FAILED"
glib:nick="failed"/>
</enumeration>
<record name="IconThemePrivate" c:type="GtkIconThemePrivate">
</record>
<class name="IconView"
c:type="GtkIconView"
parent="Container"
glib:type-name="GtkIconView"
glib:get-type="gtk_icon_view_get_type"
glib:type-struct="IconViewClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="CellLayout"/>
<constructor name="new"
c:identifier="gtk_icon_view_new"
doc="Creates a new #GtkIconView widget"
version="2.6">
<return-value transfer-ownership="full">
<type name="IconView" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_model"
c:identifier="gtk_icon_view_new_with_model"
doc="Creates a new #GtkIconView widget with the model @model."
version="2.6">
<return-value transfer-ownership="full">
<type name="IconView" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</constructor>
<method name="set_model"
c:identifier="gtk_icon_view_set_model"
doc="Sets the model for a #GtkIconView.
If the @icon_view already has a model set, it will remove
it before setting the new model. If @model is %NULL, then
it will unset the old model."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="The model.">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</method>
<method name="get_model"
c:identifier="gtk_icon_view_get_model"
doc="Returns the model the #GtkIconView is based on. Returns %NULL if the
model is unset."
version="2.6">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="set_text_column"
c:identifier="gtk_icon_view_set_text_column"
doc="Sets the column with text for @icon_view to be @column. The text
column must be of type #G_TYPE_STRING."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_text_column"
c:identifier="gtk_icon_view_get_text_column"
doc="Returns the column with text for @icon_view."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_markup_column"
c:identifier="gtk_icon_view_set_markup_column"
doc="Sets the column with markup information for @icon_view to be
If the markup column is set to something, it overrides
the text column set by gtk_icon_view_set_text_column()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_markup_column"
c:identifier="gtk_icon_view_get_markup_column"
doc="Returns the column with markup text for @icon_view."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_pixbuf_column"
c:identifier="gtk_icon_view_set_pixbuf_column"
doc="Sets the column with pixbufs for @icon_view to be @column. The pixbuf
column must be of type #GDK_TYPE_PIXBUF"
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_pixbuf_column"
c:identifier="gtk_icon_view_get_pixbuf_column"
doc="Returns the column with pixbufs for @icon_view."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_orientation"
c:identifier="gtk_icon_view_set_orientation"
doc="Sets the ::orientation property which determines whether the labels
are drawn beside the icons instead of below."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</method>
<method name="get_orientation"
c:identifier="gtk_icon_view_get_orientation"
doc="Returns the value of the ::orientation property which determines
whether the labels are drawn beside the icons instead of below."
version="2.6">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<method name="set_columns"
c:identifier="gtk_icon_view_set_columns"
doc="Sets the ::columns property which determines in how
many columns the icons are arranged. If @columns is
-1, the number of columns will be chosen automatically
to fill the available area."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_columns"
c:identifier="gtk_icon_view_get_columns"
doc="Returns the value of the ::columns property."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_item_width"
c:identifier="gtk_icon_view_set_item_width"
doc="Sets the ::item-width property which specifies the width
to use for each item. If it is set to -1, the icon view will
automatically determine a suitable item size."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_item_width"
c:identifier="gtk_icon_view_get_item_width"
doc="Returns the value of the ::item-width property."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_spacing"
c:identifier="gtk_icon_view_set_spacing"
doc="Sets the ::spacing property which specifies the space
which is inserted between the cells (i.e. the icon and
the text) of an item."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_spacing"
c:identifier="gtk_icon_view_get_spacing"
doc="Returns the value of the ::spacing property."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_row_spacing"
c:identifier="gtk_icon_view_set_row_spacing"
doc="Sets the ::row-spacing property which specifies the space
which is inserted between the rows of the icon view."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row_spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_row_spacing"
c:identifier="gtk_icon_view_get_row_spacing"
doc="Returns the value of the ::row-spacing property."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_column_spacing"
c:identifier="gtk_icon_view_set_column_spacing"
doc="Sets the ::column-spacing property which specifies the space
which is inserted between the columns of the icon view."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column_spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_column_spacing"
c:identifier="gtk_icon_view_get_column_spacing"
doc="Returns the value of the ::column-spacing property."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_margin"
c:identifier="gtk_icon_view_set_margin"
doc="Sets the ::margin property which specifies the space
which is inserted at the top, bottom, left and right
of the icon view."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="margin" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_margin"
c:identifier="gtk_icon_view_get_margin"
doc="Returns the value of the ::margin property."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_item_padding"
c:identifier="gtk_icon_view_set_item_padding"
doc="Sets the #GtkIconView:item-padding property which specifies the padding
around each of the icon view&apos;s items."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item_padding" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_item_padding"
c:identifier="gtk_icon_view_get_item_padding"
doc="Returns the value of the ::item-padding property."
version="2.18">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_path_at_pos"
c:identifier="gtk_icon_view_get_path_at_pos"
doc="Finds the path at the point (@x, @y), relative to bin_window coordinates.
See gtk_icon_view_get_item_at_pos(), if you are also interested in
the cell at the specified position.
See gtk_icon_view_convert_widget_to_bin_window_coords() for converting
widget coordinates to bin_window coordinates.
if no icon exists at that position."
version="2.6">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_item_at_pos"
c:identifier="gtk_icon_view_get_item_at_pos"
doc="at (@x, @y), or %NULL
Finds the path at the point (@x, @y), relative to bin_window coordinates.
In contrast to gtk_icon_view_get_path_at_pos(), this function also
obtains the cell at the specified position. The returned path should
be freed with gtk_tree_path_free().
See gtk_icon_view_convert_widget_to_bin_window_coords() for converting
widget coordinates to bin_window coordinates."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="Return location for the path, or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer**"/>
</parameter>
</parameters>
</method>
<method name="get_visible_range"
c:identifier="gtk_icon_view_get_visible_range"
doc="Sets @start_path and @end_path to be the first and last visible path.
Note that there may be invisible paths in between.
Both paths should be freed with gtk_tree_path_free() after use."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start_path"
transfer-ownership="none"
allow-none="1"
doc="Return location for start of region, or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="end_path"
transfer-ownership="none"
allow-none="1"
doc="Return location for end of region, or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
</parameters>
</method>
<method name="selected_foreach"
c:identifier="gtk_icon_view_selected_foreach"
doc="Calls a function for each selected icon. Note that the model or
selection cannot be modified from within this function."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="IconViewForeachFunc" c:type="GtkIconViewForeachFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_selection_mode"
c:identifier="gtk_icon_view_set_selection_mode"
doc="Sets the selection mode of the @icon_view."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</parameter>
</parameters>
</method>
<method name="get_selection_mode"
c:identifier="gtk_icon_view_get_selection_mode"
doc="Gets the selection mode of the @icon_view."
version="2.6">
<return-value transfer-ownership="full">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</return-value>
</method>
<method name="select_path"
c:identifier="gtk_icon_view_select_path"
doc="Selects the row at @path."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="unselect_path"
c:identifier="gtk_icon_view_unselect_path"
doc="Unselects the row at @path."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="path_is_selected"
c:identifier="gtk_icon_view_path_is_selected"
doc="Returns %TRUE if the icon pointed to by @path is currently
selected. If @path does not point to a valid location, %FALSE is returned."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="get_selected_items"
c:identifier="gtk_icon_view_get_selected_items"
doc="Creates a list of paths of all selected items. Additionally, if you are
planning on modifying the model after calling this function, you may
want to convert the returned list into a list of #GtkTreeRowReference&lt;!-- --&gt;s.
To do this, you can use gtk_tree_row_reference_new().
To free the return value, use:
|[
g_list_foreach (list, (GFunc)gtk_tree_path_free, NULL);
g_list_free (list);
]|"
version="2.6">
<return-value transfer-ownership="full"
doc="A #GList containing a #GtkTreePath for each selected row.">
<type name="GLib.List" c:type="GList*">
<type name="TreePath"/>
</type>
</return-value>
</method>
<method name="select_all"
c:identifier="gtk_icon_view_select_all"
doc="Selects all the icons. @icon_view must has its selection mode set
to #GTK_SELECTION_MULTIPLE."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unselect_all"
c:identifier="gtk_icon_view_unselect_all"
doc="Unselects all the icons."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="item_activated"
c:identifier="gtk_icon_view_item_activated"
doc="Activates the item determined by @path."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="set_cursor"
c:identifier="gtk_icon_view_set_cursor"
doc="Sets the current keyboard focus to be at @path, and selects it. This is
useful when you want to focus the user&apos;s attention on a particular item.
If @cell is not %NULL, then focus is given to the cell specified by
it. Additionally, if @start_editing is %TRUE, then editing should be
started in the specified cell.
This function is often followed by &lt;literal&gt;gtk_widget_grab_focus
(icon_view)&lt;/literal&gt; in order to give keyboard focus to the widget.
Please note that editing can only happen when the widget is realized."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="cell"
transfer-ownership="none"
allow-none="1"
doc="One of the cell renderers of @icon_view, or %NULL">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="start_editing" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_cursor"
c:identifier="gtk_icon_view_get_cursor"
doc="Fills in @path and @cell with the current cursor path and cell.
If the cursor isn&apos;t currently set, then *@path will be %NULL.
If no cell currently has focus, then *@cell will be %NULL.
The returned #GtkTreePath must be freed with gtk_tree_path_free()."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="Return location for the current cursor path, or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="cell"
transfer-ownership="none"
allow-none="1"
doc="Return location the current focus cell, or %NULL">
<type name="CellRenderer" c:type="GtkCellRenderer**"/>
</parameter>
</parameters>
</method>
<method name="scroll_to_path"
c:identifier="gtk_icon_view_scroll_to_path"
doc="Moves the alignments of @icon_view to the position specified by @path.
where @column is placed. Both are expected to be between 0.0 and 1.0.
0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means
center.
If @use_align is %FALSE, then the alignment arguments are ignored, and the
tree does the minimum amount of work to scroll the item onto the screen.
This means that the item will be scrolled to the edge closest to its current
position. If the item is currently visible on the screen, nothing is done.
This function only works if the model is set, and @path is a valid row on
the model. If the model changes before the @icon_view is realized, the
centered path will be modified to reflect this change."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="use_align" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="row_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="col_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="enable_model_drag_source"
c:identifier="gtk_icon_view_enable_model_drag_source"
doc="widget
Turns @icon_view into a drag source for automatic DND. Calling this
method sets #GtkIconView:reorderable to %FALSE."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_button_mask" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</method>
<method name="enable_model_drag_dest"
c:identifier="gtk_icon_view_enable_model_drag_dest"
doc="widget
Turns @icon_view into a drop destination for automatic DND. Calling this
method sets #GtkIconView:reorderable to %FALSE."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</method>
<method name="unset_model_drag_source"
c:identifier="gtk_icon_view_unset_model_drag_source"
doc="Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this
method sets #GtkIconView:reorderable to %FALSE."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unset_model_drag_dest"
c:identifier="gtk_icon_view_unset_model_drag_dest"
doc="Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this
method sets #GtkIconView:reorderable to %FALSE."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_reorderable"
c:identifier="gtk_icon_view_set_reorderable"
doc="This function is a convenience function to allow you to reorder models that
support the #GtkTreeDragSourceIface and the #GtkTreeDragDestIface. Both
#GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then
the user can reorder the model by dragging and dropping rows. The
developer can listen to these changes by connecting to the model&apos;s
row_inserted and row_deleted signals. The reordering is implemented by setting up
the icon view as a drag source and destination. Therefore, drag and
drop can not be used in a reorderable view for any other purpose.
This function does not give you any degree of control over the order -- any
reordering is allowed. If more control is needed, you should probably
handle drag and drop manually."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="reorderable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_reorderable"
c:identifier="gtk_icon_view_get_reorderable"
doc="Retrieves whether the user can reorder the list via drag-and-drop.
See gtk_icon_view_set_reorderable()."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_drag_dest_item"
c:identifier="gtk_icon_view_set_drag_dest_item"
doc="Sets the item that is highlighted for feedback."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="The path of the item to highlight, or %NULL.">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="pos" transfer-ownership="none">
<type name="IconViewDropPosition"
c:type="GtkIconViewDropPosition"/>
</parameter>
</parameters>
</method>
<method name="get_drag_dest_item"
c:identifier="gtk_icon_view_get_drag_dest_item"
doc="Gets information about the item that is highlighted for feedback."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="Return location for the path of the highlighted item, or %NULL.">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="pos"
transfer-ownership="none"
allow-none="1"
doc="Return location for the drop position, or %NULL">
<type name="IconViewDropPosition"
c:type="GtkIconViewDropPosition*"/>
</parameter>
</parameters>
</method>
<method name="get_dest_item_at_pos"
c:identifier="gtk_icon_view_get_dest_item_at_pos"
doc="Determines the destination item for a given position."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="drag_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="Return location for the path of the item, or %NULL.">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="pos"
transfer-ownership="none"
allow-none="1"
doc="Return location for the drop position, or %NULL">
<type name="IconViewDropPosition"
c:type="GtkIconViewDropPosition*"/>
</parameter>
</parameters>
</method>
<method name="create_drag_icon"
c:identifier="gtk_icon_view_create_drag_icon"
doc="Creates a #GdkPixmap representation of the item at @path.
This image is used for a drag icon."
version="2.8">
<return-value transfer-ownership="full">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="convert_widget_to_bin_window_coords"
c:identifier="gtk_icon_view_convert_widget_to_bin_window_coords"
doc="Converts widget coordinates to coordinates for the bin_window,
as expected by e.g. gtk_icon_view_get_path_at_pos()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="wy" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="bx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="by" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_item"
c:identifier="gtk_icon_view_set_tooltip_item"
doc="Sets the tip area of @tooltip to be the area covered by the item at @path.
See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
See also gtk_tooltip_set_tip_area()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_cell"
c:identifier="gtk_icon_view_set_tooltip_cell"
doc="Sets the tip area of @tooltip to the area which @cell occupies in
the item pointed to by @path. See also gtk_tooltip_set_tip_area().
See also gtk_icon_view_set_tooltip_column() for a simpler alternative."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="cell"
transfer-ownership="none"
allow-none="1"
doc="a #GtkCellRenderer or %NULL">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip_context"
c:identifier="gtk_icon_view_get_tooltip_context"
doc="This function is supposed to be used in a #GtkWidget::query-tooltip
signal handler for #GtkIconView. The @x, @y and @keyboard_tip values
which are received in the signal handler, should be passed to this
function without modification.
The return value indicates whether there is an icon view item at the given
coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard
tooltips the item returned will be the cursor item. When %TRUE, then any of
that row and the corresponding model. @x and @y will always be converted
to be relative to @icon_view&apos;s bin_window if @keyboard_tooltip is %FALSE."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="keyboard_tip" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="a pointer to receive a #GtkTreeModel or %NULL">
<type name="TreeModel" c:type="GtkTreeModel**"/>
</parameter>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="a pointer to receive a #GtkTreePath or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="a pointer to receive a #GtkTreeIter or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_column"
c:identifier="gtk_icon_view_set_tooltip_column"
doc="If you only plan to have simple (text-only) tooltips on full items, you
can use this function to have #GtkIconView handle these automatically
for you. @column should be set to the column in @icon_view&apos;s model
containing the tooltip texts, or -1 to disable this feature.
When enabled, #GtkWidget::has-tooltip will be set to %TRUE and"
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip_column"
c:identifier="gtk_icon_view_get_tooltip_column">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<property name="column-spacing"
version="2.6"
writable="1"
doc="The column-spacing property specifies the space which is inserted between
the columns of the icon view.">
<type name="int" c:type="gint"/>
</property>
<property name="columns"
version="2.6"
writable="1"
doc="The columns property contains the number of the columns in which the
items should be displayed. If it is -1, the number of columns will
be chosen automatically to fill the available area.">
<type name="int" c:type="gint"/>
</property>
<property name="item-padding"
version="2.18"
writable="1"
doc="The item-padding property specifies the padding around each
of the icon view&apos;s item.">
<type name="int" c:type="gint"/>
</property>
<property name="item-width"
version="2.6"
writable="1"
doc="The item-width property specifies the width to use for each item.
If it is set to -1, the icon view will automatically determine a
suitable item size.">
<type name="int" c:type="gint"/>
</property>
<property name="margin"
version="2.6"
writable="1"
doc="The margin property specifies the space which is inserted
at the edges of the icon view.">
<type name="int" c:type="gint"/>
</property>
<property name="markup-column"
version="2.6"
writable="1"
doc="The ::markup-column property contains the number of the model column
containing markup information to be displayed. The markup column must be
of type #G_TYPE_STRING. If this property and the :text-column property
are both set to column numbers, it overrides the text column.
If both are set to -1, no texts are displayed.">
<type name="int" c:type="gint"/>
</property>
<property name="model" writable="1">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<property name="orientation"
version="2.6"
writable="1"
doc="The orientation property specifies how the cells (i.e. the icon and
the text) of the item are positioned relative to each other.">
<type name="Orientation" c:type="GtkOrientation"/>
</property>
<property name="pixbuf-column"
version="2.6"
writable="1"
doc="The ::pixbuf-column property contains the number of the model column
containing the pixbufs which are displayed. The pixbuf column must be
of type #GDK_TYPE_PIXBUF. Setting this property to -1 turns off the
display of pixbufs.">
<type name="int" c:type="gint"/>
</property>
<property name="reorderable"
version="2.8"
writable="1"
doc="The reorderable property specifies if the items can be reordered
by DND.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="row-spacing"
version="2.6"
writable="1"
doc="The row-spacing property specifies the space which is inserted between
the rows of the icon view.">
<type name="int" c:type="gint"/>
</property>
<property name="selection-mode"
version="2.6"
writable="1"
doc="The ::selection-mode property specifies the selection mode of
icon view. If the mode is #GTK_SELECTION_MULTIPLE, rubberband selection
is enabled, for the other modes, only keyboard selection is possible.">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</property>
<property name="spacing"
version="2.6"
writable="1"
doc="The spacing property specifies the space which is inserted between
the cells (i.e. the icon and the text) of an item.">
<type name="int" c:type="gint"/>
</property>
<property name="text-column"
version="2.6"
writable="1"
doc="The ::text-column property contains the number of the model column
containing the texts which are displayed. The text column must be
of type #G_TYPE_STRING. If this property and the :markup-column
property are both set to -1, no texts are displayed.">
<type name="int" c:type="gint"/>
</property>
<property name="tooltip-column" writable="1">
<type name="int" c:type="gint"/>
</property>
<field name="parent">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="priv">
<type name="IconViewPrivate" c:type="GtkIconViewPrivate*"/>
</field>
<glib:signal name="activate-cursor-item"
doc="A &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates the currently
focused item.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control activation
programmatically.
The default bindings for this signal are Space, Return and Enter.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="item-activated"
doc="The ::item-activated signal is emitted when the method
gtk_icon_view_item_activated() is called or the user double
clicks an item. It is also emitted when a non-editable item
pressed.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-cursor"
doc="The ::move-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a cursor movement.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.
The default bindings for this signal include
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys which move by individual steps&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys which move to the first/last item&lt;/listitem&gt;
&lt;listitem&gt;PageUp/PageDown which move by &quot;pages&quot;&lt;/listitem&gt;
&lt;/itemizedlist&gt;
All of these will extend the selection when combined with
the Shift modifier.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="select-all"
doc="A &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user selects all items.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
The default binding for this signal is Ctrl-a.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="select-cursor-item"
doc="A &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user selects the item that is currently
focused.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
There is no default binding for this signal.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="selection-changed"
doc="The ::selection-changed signal is emitted when the selection
(i.e. the set of selected items) changes.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="set-scroll-adjustments">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="toggle-cursor-item"
doc="A &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user toggles whether the currently
focused item is selected or not. The exact effect of this
depend on the selection mode.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
There is no default binding for this signal is Ctrl-Space.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="unselect-all"
doc="A &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user unselects all items.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.
The default binding for this signal is Ctrl-Shift-a.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="IconViewClass"
c:type="GtkIconViewClass"
glib:is-gtype-struct-for="IconView">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="set_scroll_adjustments">
<callback name="set_scroll_adjustments"
c:type="set_scroll_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="item_activated">
<callback name="item_activated" c:type="item_activated">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_changed">
<callback name="selection_changed" c:type="selection_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_all">
<callback name="select_all" c:type="select_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_all">
<callback name="unselect_all" c:type="unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_cursor_item">
<callback name="select_cursor_item" c:type="select_cursor_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_cursor_item">
<callback name="toggle_cursor_item" c:type="toggle_cursor_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_cursor">
<callback name="move_cursor" c:type="move_cursor">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate_cursor_item">
<callback name="activate_cursor_item" c:type="activate_cursor_item">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<enumeration name="IconViewDropPosition"
glib:type-name="GtkIconViewDropPosition"
glib:get-type="gtk_icon_view_drop_position_get_type"
c:type="GtkIconViewDropPosition">
<member name="no_drop"
value="0"
c:identifier="GTK_ICON_VIEW_NO_DROP"
glib:nick="no-drop"/>
<member name="drop_into"
value="1"
c:identifier="GTK_ICON_VIEW_DROP_INTO"
glib:nick="drop-into"/>
<member name="drop_left"
value="2"
c:identifier="GTK_ICON_VIEW_DROP_LEFT"
glib:nick="drop-left"/>
<member name="drop_right"
value="3"
c:identifier="GTK_ICON_VIEW_DROP_RIGHT"
glib:nick="drop-right"/>
<member name="drop_above"
value="4"
c:identifier="GTK_ICON_VIEW_DROP_ABOVE"
glib:nick="drop-above"/>
<member name="drop_below"
value="5"
c:identifier="GTK_ICON_VIEW_DROP_BELOW"
glib:nick="drop-below"/>
</enumeration>
<callback name="IconViewForeachFunc" c:type="GtkIconViewForeachFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_view" transfer-ownership="none">
<type name="IconView" c:type="GtkIconView*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="IconViewPrivate" c:type="GtkIconViewPrivate">
</record>
<class name="Image"
c:type="GtkImage"
doc="This struct contain private data only and should be accessed by the functions
below."
parent="Misc"
glib:type-name="GtkImage"
glib:get-type="gtk_image_get_type"
glib:type-struct="ImageClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_image_new"
doc="Creates a new empty #GtkImage widget.">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_from_pixmap"
c:identifier="gtk_image_new_from_pixmap"
doc="Creates a #GtkImage widget displaying @pixmap with a @mask.
A #GdkPixmap is a server-side image buffer in the pixel format of the
current display. The #GtkImage does not assume a reference to the
pixmap or mask; you still need to unref them if you own references.
#GtkImage will add its own reference rather than adopting yours.">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="pixmap"
transfer-ownership="none"
allow-none="1"
doc="a #GdkPixmap, or %NULL">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask"
transfer-ownership="none"
allow-none="1"
doc="a #GdkBitmap, or %NULL">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_image"
c:identifier="gtk_image_new_from_image"
doc="Creates a #GtkImage widget displaying a @image with a @mask.
A #GdkImage is a client-side image buffer in the pixel format of the
current display. The #GtkImage does not assume a reference to the
image or mask; you still need to unref them if you own references.
#GtkImage will add its own reference rather than adopting yours.">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="image"
transfer-ownership="none"
allow-none="1"
doc="a #GdkImage, or %NULL">
<type name="Gdk.Image" c:type="GdkImage*"/>
</parameter>
<parameter name="mask"
transfer-ownership="none"
allow-none="1"
doc="a #GdkBitmap, or %NULL">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_file"
c:identifier="gtk_image_new_from_file"
doc="Creates a new #GtkImage displaying the file @filename. If the file
isn&apos;t found or can&apos;t be loaded, the resulting #GtkImage will
display a &quot;broken image&quot; icon. This function never returns %NULL,
it always returns a valid #GtkImage widget.
If the file contains an animation, the image will contain an
animation.
If you need to detect failures to load the file, use
gdk_pixbuf_new_from_file() to load the file yourself, then create
the #GtkImage from the pixbuf. (Or for animations, use
gdk_pixbuf_animation_new_from_file()).
The storage type (gtk_image_get_storage_type()) of the returned
image is not defined, it will be whatever is appropriate for
displaying the file.">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_pixbuf"
c:identifier="gtk_image_new_from_pixbuf"
doc="Creates a new #GtkImage displaying @pixbuf.
The #GtkImage does not assume a reference to the
pixbuf; you still need to unref it if you own references.
#GtkImage will add its own reference rather than adopting yours.
Note that this function just creates an #GtkImage from the pixbuf. The
#GtkImage created will not react to state changes. Should you want that,
you should use gtk_image_new_from_icon_set().">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="pixbuf"
transfer-ownership="none"
allow-none="1"
doc="a #GdkPixbuf, or %NULL">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_image_new_from_stock"
doc="Creates a #GtkImage displaying a stock icon. Sample stock icon
names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. Sample stock sizes
are #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. If the stock
icon name isn&apos;t known, the image will be empty.
You can register your own stock icon names, see
gtk_icon_factory_add_default() and gtk_icon_factory_add().">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_icon_set"
c:identifier="gtk_image_new_from_icon_set"
doc="Creates a #GtkImage displaying an icon set. Sample stock sizes are
#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. Instead of using
this function, usually it&apos;s better to create a #GtkIconFactory, put
your icon sets in the icon factory, add the icon factory to the
list of default factories with gtk_icon_factory_add_default(), and
then use gtk_image_new_from_stock(). This will allow themes to
override the icon you ship with your application.
The #GtkImage does not assume a reference to the
icon set; you still need to unref it if you own references.
#GtkImage will add its own reference rather than adopting yours.">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="icon_set" transfer-ownership="none">
<type name="IconSet" c:type="GtkIconSet*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_animation"
c:identifier="gtk_image_new_from_animation"
doc="Creates a #GtkImage displaying the given animation.
The #GtkImage does not assume a reference to the
animation; you still need to unref it if you own references.
#GtkImage will add its own reference rather than adopting yours.
Note that the animation frames are shown using a timeout with
#G_PRIORITY_DEFAULT. When using animations to indicate busyness,
keep in mind that the animation will only be shown if the main loop
is not busy with something that has a higher priority.">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="animation" transfer-ownership="none">
<type name="GdkPixbuf.PixbufAnimation"
c:type="GdkPixbufAnimation*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_icon_name"
c:identifier="gtk_image_new_from_icon_name"
doc="Creates a #GtkImage displaying an icon from the current icon theme.
If the icon name isn&apos;t known, a &quot;broken image&quot; icon will be
displayed instead. If the current icon theme is changed, the icon
will be updated appropriately."
version="2.6">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_gicon"
c:identifier="gtk_image_new_from_gicon"
doc="Creates a #GtkImage displaying an icon from the current icon theme.
If the icon name isn&apos;t known, a &quot;broken image&quot; icon will be
displayed instead. If the current icon theme is changed, the icon
will be updated appropriately."
version="2.14">
<return-value transfer-ownership="full">
<type name="Image" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="icon" transfer-ownership="none">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</constructor>
<method name="clear"
c:identifier="gtk_image_clear"
doc="Resets the image to be empty."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_from_pixmap"
c:identifier="gtk_image_set_from_pixmap"
doc="See gtk_image_new_from_pixmap() for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixmap"
transfer-ownership="none"
allow-none="1"
doc="a #GdkPixmap or %NULL">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask"
transfer-ownership="none"
allow-none="1"
doc="a #GdkBitmap or %NULL">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="set_from_image"
c:identifier="gtk_image_set_from_image"
doc="See gtk_image_new_from_image() for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gdk_image"
transfer-ownership="none"
allow-none="1"
doc="a #GdkImage or %NULL">
<type name="Gdk.Image" c:type="GdkImage*"/>
</parameter>
<parameter name="mask"
transfer-ownership="none"
allow-none="1"
doc="a #GdkBitmap or %NULL">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="set_from_file"
c:identifier="gtk_image_set_from_file"
doc="See gtk_image_new_from_file() for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename"
transfer-ownership="none"
allow-none="1"
doc="a filename or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_from_pixbuf"
c:identifier="gtk_image_set_from_pixbuf"
doc="See gtk_image_new_from_pixbuf() for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixbuf"
transfer-ownership="none"
allow-none="1"
doc="a #GdkPixbuf or %NULL">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="set_from_stock"
c:identifier="gtk_image_set_from_stock"
doc="See gtk_image_new_from_stock() for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="set_from_icon_set"
c:identifier="gtk_image_set_from_icon_set"
doc="See gtk_image_new_from_icon_set() for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_set" transfer-ownership="none">
<type name="IconSet" c:type="GtkIconSet*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="set_from_animation"
c:identifier="gtk_image_set_from_animation"
doc="Causes the #GtkImage to display the given animation (or display
nothing, if you set the animation to %NULL).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="animation" transfer-ownership="none">
<type name="GdkPixbuf.PixbufAnimation"
c:type="GdkPixbufAnimation*"/>
</parameter>
</parameters>
</method>
<method name="set_from_icon_name"
c:identifier="gtk_image_set_from_icon_name"
doc="See gtk_image_new_from_icon_name() for details."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none" doc="an icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="set_from_gicon"
c:identifier="gtk_image_set_from_gicon"
doc="See gtk_image_new_from_gicon() for details."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon" transfer-ownership="none">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
<parameter name="size" transfer-ownership="none" doc="an icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="set_pixel_size"
c:identifier="gtk_image_set_pixel_size"
doc="Sets the pixel size to use for named icons. If the pixel size is set
to a value != -1, it is used instead of the icon size set by
gtk_image_set_from_icon_name()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixel_size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_storage_type"
c:identifier="gtk_image_get_storage_type"
doc="Gets the type of representation being used by the #GtkImage
to store image data. If the #GtkImage has no image data,
the return value will be %GTK_IMAGE_EMPTY.">
<return-value transfer-ownership="full">
<type name="ImageType" c:type="GtkImageType"/>
</return-value>
</method>
<method name="get_pixmap"
c:identifier="gtk_image_get_pixmap"
doc="pixmap, or %NULL
mask, or %NULL
Gets the pixmap and mask being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_PIXMAP (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned pixmap and mask.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixmap"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="location to store the">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="location to store the">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<method name="get_image"
c:identifier="gtk_image_get_image"
doc="a #GtkImage, or %NULL
#GdkBitmap, or %NULL
Gets the #GdkImage and mask being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_IMAGE (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned image and mask.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gdk_image"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="return location for">
<type name="Gdk.Image" c:type="GdkImage**"/>
</parameter>
<parameter name="mask"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="return location for a">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<method name="get_pixbuf"
c:identifier="gtk_image_get_pixbuf"
doc="Gets the #GdkPixbuf being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_PIXBUF (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned pixbuf.
the image is empty">
<return-value transfer-ownership="none"
doc="the displayed pixbuf, or %NULL if">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="get_stock"
c:identifier="gtk_image_get_stock"
doc="stock icon name, or %NULL
size, or %NULL
Gets the stock icon name and size being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_STOCK (see gtk_image_get_storage_type()).
The returned string is owned by the #GtkImage and should not
be freed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="stock_id"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="place to store a">
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="size"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="place to store a stock icon">
<type name="int" c:type="GtkIconSize*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_set"
c:identifier="gtk_image_get_icon_set"
doc="#GtkIconSet, or %NULL
icon size, or %NULL
Gets the icon set and size being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_ICON_SET (see gtk_image_get_storage_type()).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_set"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="location to store a">
<type name="IconSet" c:type="GtkIconSet**"/>
</parameter>
<parameter name="size"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store a stock">
<type name="int" c:type="GtkIconSize*"/>
</parameter>
</parameters>
</method>
<method name="get_animation"
c:identifier="gtk_image_get_animation"
doc="Gets the #GdkPixbufAnimation being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_ANIMATION (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned animation.
the image is empty">
<return-value transfer-ownership="none"
doc="the displayed animation, or %NULL if">
<type name="GdkPixbuf.PixbufAnimation" c:type="GdkPixbufAnimation*"/>
</return-value>
</method>
<method name="get_icon_name"
c:identifier="gtk_image_get_icon_name"
doc="icon name, or %NULL
or %NULL
Gets the icon name and size being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_ICON_NAME (see gtk_image_get_storage_type()).
The returned string is owned by the #GtkImage and should not
be freed."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="place to store an">
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="size"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="place to store an icon size,">
<type name="int" c:type="GtkIconSize*"/>
</parameter>
</parameters>
</method>
<method name="get_gicon"
c:identifier="gtk_image_get_gicon"
doc="#GIcon, or %NULL
or %NULL
Gets the #GIcon and size being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_GICON (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned #GIcon."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gicon"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="place to store a">
<type name="Gio.Icon" c:type="GIcon**"/>
</parameter>
<parameter name="size"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="place to store an icon size,">
<type name="int" c:type="GtkIconSize*"/>
</parameter>
</parameters>
</method>
<method name="get_pixel_size"
c:identifier="gtk_image_get_pixel_size"
doc="Gets the pixel size used for named icons."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set"
c:identifier="gtk_image_set"
doc="Sets the #GtkImage."
deprecated="Use gtk_image_set_from_image() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="Gdk.Image" c:type="GdkImage*"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="get"
c:identifier="gtk_image_get"
doc="Gets the #GtkImage."
deprecated="Use gtk_image_get_image() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="Gdk.Image" c:type="GdkImage**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<property name="file" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gicon"
version="2.14"
writable="1"
doc="The GIcon displayed in the GtkImage. For themed icons,
If the icon theme is changed, the image will be updated
automatically.">
<type name="Gio.Icon" c:type="GIcon"/>
</property>
<property name="icon-name"
version="2.6"
writable="1"
doc="The name of the icon in the icon theme. If the icon theme is
changed, the image will be updated automatically.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="icon-set" writable="1">
<type name="IconSet" c:type="GtkIconSet"/>
</property>
<property name="icon-size" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="image" writable="1">
<type name="Gdk.Image" c:type="GdkImage"/>
</property>
<property name="mask" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap"/>
</property>
<property name="pixbuf" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="pixbuf-animation" writable="1">
<type name="GdkPixbuf.PixbufAnimation" c:type="GdkPixbufAnimation"/>
</property>
<property name="pixel-size"
version="2.6"
writable="1"
doc="The &quot;pixel-size&quot; property can be used to specify a fixed size
overriding the #GtkImage:icon-size property for images of type
%GTK_IMAGE_ICON_NAME.">
<type name="int" c:type="gint"/>
</property>
<property name="pixmap" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap"/>
</property>
<property name="stock" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="storage-type">
<type name="ImageType" c:type="GtkImageType"/>
</property>
<field name="misc">
<type name="Misc" c:type="GtkMisc"/>
</field>
<field name="storage_type">
<type name="ImageType" c:type="GtkImageType"/>
</field>
<union name="data" c:type="data">
<field name="pixmap" writable="1">
<type name="ImagePixmapData" c:type="GtkImagePixmapData"/>
</field>
<field name="image" writable="1">
<type name="ImageImageData" c:type="GtkImageImageData"/>
</field>
<field name="pixbuf" writable="1">
<type name="ImagePixbufData" c:type="GtkImagePixbufData"/>
</field>
<field name="stock" writable="1">
<type name="ImageStockData" c:type="GtkImageStockData"/>
</field>
<field name="icon_set" writable="1">
<type name="ImageIconSetData" c:type="GtkImageIconSetData"/>
</field>
<field name="anim" writable="1">
<type name="ImageAnimationData" c:type="GtkImageAnimationData"/>
</field>
<field name="name" writable="1">
<type name="ImageIconNameData" c:type="GtkImageIconNameData"/>
</field>
<field name="gicon" writable="1">
<type name="ImageGIconData" c:type="GtkImageGIconData"/>
</field>
</union>
<field name="mask">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
<field name="icon_size">
<type name="IconSize" c:type="GtkIconSize"/>
</field>
</class>
<record name="ImageAnimationData" c:type="GtkImageAnimationData">
<field name="anim" writable="1">
<type name="GdkPixbuf.PixbufAnimation" c:type="GdkPixbufAnimation*"/>
</field>
<field name="iter" writable="1">
<type name="GdkPixbuf.PixbufAnimationIter"
c:type="GdkPixbufAnimationIter*"/>
</field>
<field name="frame_timeout" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="ImageClass"
c:type="GtkImageClass"
glib:is-gtype-struct-for="Image">
<field name="parent_class">
<type name="MiscClass" c:type="GtkMiscClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ImageGIconData" c:type="GtkImageGIconData">
<field name="icon" writable="1">
<type name="Gio.Icon" c:type="GIcon*"/>
</field>
<field name="pixbuf" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</field>
<field name="theme_change_id" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="ImageIconNameData" c:type="GtkImageIconNameData">
<field name="icon_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="pixbuf" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</field>
<field name="theme_change_id" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="ImageIconSetData" c:type="GtkImageIconSetData">
<field name="icon_set" writable="1">
<type name="IconSet" c:type="GtkIconSet*"/>
</field>
</record>
<record name="ImageImageData" c:type="GtkImageImageData">
<field name="image" writable="1">
<type name="Gdk.Image" c:type="GdkImage*"/>
</field>
</record>
<class name="ImageMenuItem"
c:type="GtkImageMenuItem"
parent="MenuItem"
glib:type-name="GtkImageMenuItem"
glib:get-type="gtk_image_menu_item_get_type"
glib:type-struct="ImageMenuItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_image_menu_item_new"
doc="Creates a new #GtkImageMenuItem with an empty label.">
<return-value transfer-ownership="full">
<type name="ImageMenuItem" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_image_menu_item_new_with_label"
doc="Creates a new #GtkImageMenuItem containing a label.">
<return-value transfer-ownership="full">
<type name="ImageMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_image_menu_item_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkImageMenuItem containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the menu item.">
<return-value transfer-ownership="full">
<type name="ImageMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_image_menu_item_new_from_stock"
doc="or %NULL.
Creates a new #GtkImageMenuItem containing the image and text from a
stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
and #GTK_STOCK_APPLY.
If you want this menu item to have changeable accelerators, then pass in
%NULL for accel_group. Next call gtk_menu_item_set_accel_path() with an
appropriate path for the menu item, use gtk_stock_lookup() to look up the
standard accelerator for the stock item, and if one is found, call
gtk_accel_map_add_entry() to register it.">
<return-value transfer-ownership="full">
<type name="ImageMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</constructor>
<method name="set_always_show_image"
c:identifier="gtk_image_menu_item_set_always_show_image"
doc="If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images
setting and always show the image, if available.
Use this property if the menuitem would be useless or hard to use
without the image."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="always_show" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_always_show_image"
c:identifier="gtk_image_menu_item_get_always_show_image"
doc="Returns whether the menu item will ignore the #GtkSettings:gtk-menu-images
setting and always show the image, if available."
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_image" c:identifier="gtk_image_menu_item_set_image">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="image" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_image"
c:identifier="gtk_image_menu_item_get_image"
doc="Gets the widget that is currently set as the image of @image_menu_item.
See gtk_image_menu_item_set_image().">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_use_stock"
c:identifier="gtk_image_menu_item_set_use_stock"
doc="If %TRUE, the label set in the menuitem is used as a
stock id to select the stock item for the item."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_stock" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_stock"
c:identifier="gtk_image_menu_item_get_use_stock"
doc="Checks whether the label set in the menuitem is used as a
stock id to select the stock item for the item.
stock id to select the stock item for the item"
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_accel_group"
c:identifier="gtk_image_menu_item_set_accel_group"
doc="Specifies an @accel_group to add the menu items accelerator to
(this only applies to stock items so a stock item must already
be set, make sure to call gtk_image_menu_item_set_use_stock()
and gtk_menu_item_set_label() with a valid stock item first).
If you want this menu item to have changeable accelerators then
you shouldnt need this (see gtk_image_menu_item_new_from_stock())."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</method>
<property name="accel-group"
version="2.16"
readable="0"
writable="1"
doc="The Accel Group to use for stock accelerator keys">
<type name="AccelGroup" c:type="GtkAccelGroup"/>
</property>
<property name="always-show-image"
version="2.16"
writable="1"
construct="1"
doc="If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images
setting and always show the image, if available.
Use this property if the menuitem would be useless or hard to use
without the image.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="image" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="use-stock"
version="2.16"
writable="1"
construct="1"
doc="If %TRUE, the label set in the menuitem is used as a
stock id to select the stock item for the item.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="menu_item">
<type name="MenuItem" c:type="GtkMenuItem"/>
</field>
<field name="image">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</class>
<record name="ImageMenuItemClass"
c:type="GtkImageMenuItemClass"
glib:is-gtype-struct-for="ImageMenuItem">
<field name="parent_class">
<type name="MenuItemClass" c:type="GtkMenuItemClass"/>
</field>
</record>
<record name="ImagePixbufData" c:type="GtkImagePixbufData">
<field name="pixbuf" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</field>
</record>
<record name="ImagePixmapData" c:type="GtkImagePixmapData">
<field name="pixmap" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
</record>
<record name="ImageStockData" c:type="GtkImageStockData">
<field name="stock_id" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<enumeration name="ImageType"
doc="This image type was added in GTK+ 2.6
This image type was added in GTK+ 2.14
Describes the image data representation used by a #GtkImage. If you
want to get the image from the widget, you can only get the
currently-stored representation. e.g. if the
gtk_image_get_storage_type() returns #GTK_IMAGE_PIXBUF, then you can
call gtk_image_get_pixbuf() but not gtk_image_get_stock(). For empty
images, you can request any storage type (call any of the &quot;get&quot;
functions), but they will all return %NULL values."
glib:type-name="GtkImageType"
glib:get-type="gtk_image_type_get_type"
c:type="GtkImageType">
<member name="empty"
value="0"
c:identifier="GTK_IMAGE_EMPTY"
glib:nick="empty"/>
<member name="pixmap"
value="1"
c:identifier="GTK_IMAGE_PIXMAP"
glib:nick="pixmap"/>
<member name="image"
value="2"
c:identifier="GTK_IMAGE_IMAGE"
glib:nick="image"/>
<member name="pixbuf"
value="3"
c:identifier="GTK_IMAGE_PIXBUF"
glib:nick="pixbuf"/>
<member name="stock"
value="4"
c:identifier="GTK_IMAGE_STOCK"
glib:nick="stock"/>
<member name="icon_set"
value="5"
c:identifier="GTK_IMAGE_ICON_SET"
glib:nick="icon-set"/>
<member name="animation"
value="6"
c:identifier="GTK_IMAGE_ANIMATION"
glib:nick="animation"/>
<member name="icon_name"
value="7"
c:identifier="GTK_IMAGE_ICON_NAME"
glib:nick="icon-name"/>
<member name="gicon"
value="8"
c:identifier="GTK_IMAGE_GICON"
glib:nick="gicon"/>
</enumeration>
<class name="InfoBar"
c:type="GtkInfoBar"
parent="HBox"
glib:type-name="GtkInfoBar"
glib:get-type="gtk_info_bar_get_type"
glib:type-struct="InfoBarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_info_bar_new"
doc="Creates a new #GtkInfoBar object."
version="2.18">
<return-value transfer-ownership="full">
<type name="InfoBar" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_buttons"
c:identifier="gtk_info_bar_new_with_buttons"
doc="with %NULL
Creates a new #GtkInfoBar with buttons. Button text/response ID
pairs should be listed, with a %NULL pointer ending the list.
Button text can be either a stock ID such as %GTK_STOCK_OK, or
some arbitrary text. A response ID can be any positive number,
or one of the values in the #GtkResponseType enumeration. If the
user clicks one of these dialog buttons, GtkInfoBar will emit
the &quot;response&quot; signal with the corresponding response ID.">
<return-value transfer-ownership="full">
<type name="InfoBar" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="first_button_text"
transfer-ownership="none"
allow-none="1"
doc="stock ID or text to go in first button, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<method name="get_action_area"
c:identifier="gtk_info_bar_get_action_area"
doc="Returns the action area of @info_bar."
version="2.18">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_content_area"
c:identifier="gtk_info_bar_get_content_area"
doc="Returns the content area of @info_bar."
version="2.18">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="add_action_widget"
c:identifier="gtk_info_bar_add_action_widget"
doc="Add an activatable widget to the action area of a #GtkInfoBar,
connecting a signal handler that will emit the #GtkInfoBar::response
signal on the message area when the widget is activated. The widget
is appended to the end of the message areas action area."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_button"
c:identifier="gtk_info_bar_add_button"
doc="Adds a button with the given text (or a stock button, if button_text
is a stock ID) and sets things up so that clicking the button will emit
the &quot;response&quot; signal with the given response_id. The button is appended
to the end of the info bars&apos;s action area. The button widget is
returned, but usually you don&apos;t need it."
version="2.18">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="button_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_buttons"
c:identifier="gtk_info_bar_add_buttons"
doc="ending with %NULL
Adds more buttons, same as calling gtk_info_bar_add_button()
repeatedly. The variable argument list should be %NULL-terminated
as with gtk_info_bar_new_with_buttons(). Each button must have both
text and response ID."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="first_button_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set_response_sensitive"
c:identifier="gtk_info_bar_set_response_sensitive"
doc="Calls gtk_widget_set_sensitive (widget, setting) for each
widget in the info bars&apos;s action area with the given response_id.
A convenient way to sensitize/desensitize dialog buttons."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_default_response"
c:identifier="gtk_info_bar_set_default_response"
doc="Sets the last widget in the info bar&apos;s action area with
the given response_id as the default widget for the dialog.
Pressing &quot;Enter&quot; normally activates the default widget.
Note that this function currently requires @info_bar to
be added to a widget hierarchy."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="response"
c:identifier="gtk_info_bar_response"
doc="Emits the &apos;response&apos; signal with the given @response_id."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_message_type"
c:identifier="gtk_info_bar_set_message_type"
doc="Sets the message type of the message area.
GTK+ uses this type to determine what color to use
when drawing the message area."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="message_type" transfer-ownership="none">
<type name="MessageType" c:type="GtkMessageType"/>
</parameter>
</parameters>
</method>
<method name="get_message_type"
c:identifier="gtk_info_bar_get_message_type"
doc="Returns the message type of the message area."
version="2.18">
<return-value transfer-ownership="full">
<type name="MessageType" c:type="GtkMessageType"/>
</return-value>
</method>
<property name="message-type"
version="2.18"
writable="1"
construct="1"
doc="The type of the message.
The type is used to determine the colors to use in the info bar.
The following symbolic color names can by used to customize
these colors:
&quot;info_fg_color&quot;, &quot;info_bg_color&quot;,
&quot;warning_fg_color&quot;, &quot;warning_bg_color&quot;,
&quot;question_fg_color&quot;, &quot;question_bg_color&quot;,
&quot;error_fg_color&quot;, &quot;error_bg_color&quot;.
&quot;other_fg_color&quot;, &quot;other_bg_color&quot;.
If the type is #GTK_MESSAGE_OTHER, no info bar is painted but the
colors are still set.">
<type name="MessageType" c:type="GtkMessageType"/>
</property>
<field name="parent">
<type name="HBox" c:type="GtkHBox"/>
</field>
<field name="priv">
<type name="InfoBarPrivate" c:type="GtkInfoBarPrivate*"/>
</field>
<glib:signal name="close"
doc="The ::close signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user uses a keybinding to dismiss
the info bar.
The default binding for this signal is the Escape key."
version="2.18">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="response"
doc="Emitted when an action widget is clicked or the application programmer
calls gtk_dialog_response(). The @response_id depends on which action
widget was clicked."
version="2.18">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="InfoBarClass"
c:type="GtkInfoBarClass"
glib:is-gtype-struct-for="InfoBar">
<field name="parent_class">
<type name="HBoxClass" c:type="GtkHBoxClass"/>
</field>
<field name="response">
<callback name="response" c:type="response">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="info_bar" transfer-ownership="none">
<type name="InfoBar" c:type="GtkInfoBar*"/>
</parameter>
<parameter name="response_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="close">
<callback name="close" c:type="close">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="info_bar" transfer-ownership="none">
<type name="InfoBar" c:type="GtkInfoBar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="InfoBarPrivate" c:type="GtkInfoBarPrivate">
</record>
<class name="InputDialog"
c:type="GtkInputDialog"
parent="Dialog"
glib:type-name="GtkInputDialog"
glib:get-type="gtk_input_dialog_get_type"
glib:type-struct="InputDialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_input_dialog_new">
<return-value transfer-ownership="full">
<type name="InputDialog" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="dialog">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="axis_list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="axis_listbox">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="mode_optionmenu">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="close_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="save_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="axis_items">
<array zero-terminated="0" c:type="GtkWidget*">
<type name="Widget"/>
</array>
</field>
<field name="current_device">
<type name="Gdk.Device" c:type="GdkDevice*"/>
</field>
<field name="keys_list">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="keys_listbox">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<glib:signal name="disable-device">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Device" c:type="GdkDevice"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="enable-device">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Device" c:type="GdkDevice"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="InputDialogClass"
c:type="GtkInputDialogClass"
glib:is-gtype-struct-for="InputDialog">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
<field name="enable_device">
<callback name="enable_device" c:type="enable_device">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="inputd" transfer-ownership="none">
<type name="InputDialog" c:type="GtkInputDialog*"/>
</parameter>
<parameter name="device" transfer-ownership="none">
<type name="Gdk.Device" c:type="GdkDevice*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="disable_device">
<callback name="disable_device" c:type="disable_device">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="inputd" transfer-ownership="none">
<type name="InputDialog" c:type="GtkInputDialog*"/>
</parameter>
<parameter name="device" transfer-ownership="none">
<type name="Gdk.Device" c:type="GdkDevice*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Invisible"
c:type="GtkInvisible"
parent="Widget"
glib:type-name="GtkInvisible"
glib:get-type="gtk_invisible_get_type"
glib:type-struct="InvisibleClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_invisible_new"
doc="Creates a new #GtkInvisible.">
<return-value transfer-ownership="full">
<type name="Invisible" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_for_screen"
c:identifier="gtk_invisible_new_for_screen"
doc="the new #GtkInvisible will be created.
Creates a new #GtkInvisible object for a specified screen"
version="2.2">
<return-value transfer-ownership="full">
<type name="Invisible" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</constructor>
<method name="set_screen"
c:identifier="gtk_invisible_set_screen"
doc="Sets the #GdkScreen where the #GtkInvisible object will be displayed."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</method>
<method name="get_screen"
c:identifier="gtk_invisible_get_screen"
doc="Returns the #GdkScreen object associated with @invisible"
version="2.2">
<return-value transfer-ownership="full">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</return-value>
</method>
<property name="screen" writable="1">
<type name="Gdk.Screen" c:type="GdkScreen"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="has_user_ref_count">
<type name="boolean" c:type="gboolean"/>
</field>
<field name="screen">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</field>
</class>
<record name="InvisibleClass"
c:type="GtkInvisibleClass"
glib:is-gtype-struct-for="Invisible">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Item"
c:type="GtkItem"
parent="Bin"
abstract="1"
glib:type-name="GtkItem"
glib:get-type="gtk_item_get_type"
glib:type-struct="ItemClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<function name="factories_path_delete"
c:identifier="gtk_item_factories_path_delete"
doc="starts with a factory path
Deletes all widgets constructed from the specified path."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ifactory_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<method name="select" c:identifier="gtk_item_select">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="deselect" c:identifier="gtk_item_deselect">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="toggle" c:identifier="gtk_item_toggle">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<glib:signal name="deselect">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="select">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="toggle">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ItemClass"
c:type="GtkItemClass"
glib:is-gtype-struct-for="Item">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="select">
<callback name="select" c:type="select">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="Item" c:type="GtkItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="deselect">
<callback name="deselect" c:type="deselect">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="Item" c:type="GtkItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle">
<callback name="toggle" c:type="toggle">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="Item" c:type="GtkItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="ItemFactory"
c:type="GtkItemFactory"
parent="Object"
glib:type-name="GtkItemFactory"
glib:get-type="gtk_item_factory_get_type"
glib:type-struct="ItemFactoryClass">
<constructor name="new"
c:identifier="gtk_item_factory_new"
doc="#GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU
&lt;literal&gt;&quot;&amp;lt;name&amp;gt;&quot;&lt;/literal&gt;
menu items will be added, or %NULL to create a new one
Creates a new #GtkItemFactory.
Beware that the returned object does not have a floating reference."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="ItemFactory" c:type="GtkItemFactory*"/>
</return-value>
<parameters>
<parameter name="container_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_group"
transfer-ownership="none"
allow-none="1"
doc="a #GtkAccelGroup to which the accelerators for the">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</constructor>
<function name="add_foreign"
c:identifier="gtk_item_factory_add_foreign"
doc="Installs an accelerator for @accel_widget in @accel_group, that causes
the ::activate signal to be emitted if the accelerator is activated.
This function can be used to make widgets participate in the accel
saving/restoring functionality provided by gtk_accel_map_save() and
gtk_accel_map_load(), even if they haven&apos;t been created by an item
factory.
gtk_menu_item_set_accel_path() and gtk_widget_set_accel_path(); don&apos;t
use gtk_item_factory_add_foreign() in new code, since it is likely to
be removed in the future."
deprecated="The recommended API for this purpose are the functions"
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="full_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="from_widget"
c:identifier="gtk_item_factory_from_widget"
doc="Obtains the item factory from which a widget was created."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="full"
doc="the item factory from which @widget was created, or %NULL">
<type name="ItemFactory" c:type="GtkItemFactory*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="path_from_widget"
c:identifier="gtk_item_factory_path_from_widget"
doc="factory, %NULL otherwise. This value is owned by GTK+ and must not be
modified or freed.
If @widget has been created by an item factory, returns the full path
to it. (The full path of a widget is the concatenation of the factory
path specified in gtk_item_factory_new() with the path specified in the
#GtkItemFactoryEntry from which the widget was created.)"
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="popup_data_from_widget"
c:identifier="gtk_item_factory_popup_data_from_widget"
doc="which @widget was created, or %NULL if @widget wasn&apos;t created
by an item factory
Obtains the @popup_data which was passed to
gtk_item_factory_popup_with_data(). This data is available until the menu
is popped down again."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="from_path"
c:identifier="gtk_item_factory_from_path"
doc="&lt;literal&gt;&quot;&amp;lt;name&amp;gt;&quot;&lt;/literal&gt;
Finds an item factory which has been constructed using the
&lt;literal&gt;&quot;&amp;lt;name&amp;gt;&quot;&lt;/literal&gt; prefix of @path as the @path argument
for gtk_item_factory_new()."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="full"
doc="the #GtkItemFactory created for the given factory path, or %NULL">
<type name="ItemFactory" c:type="GtkItemFactory*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="create_menu_entries"
c:identifier="gtk_item_factory_create_menu_entries"
doc="Creates the menu items from the @entries."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="entries" transfer-ownership="none">
<type name="MenuEntry" c:type="GtkMenuEntry*"/>
</parameter>
</parameters>
</function>
<method name="construct"
c:identifier="gtk_item_factory_construct"
doc="#GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU
&lt;literal&gt;&quot;&amp;lt;name&amp;gt;&quot;&lt;/literal&gt;
menu items will be added, or %NULL to create a new one
Initializes an item factory."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</method>
<method name="get_item" c:identifier="gtk_item_factory_get_item">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_widget"
c:identifier="gtk_item_factory_get_widget"
doc="to a widget
Obtains the widget which corresponds to @path.
If the widget corresponding to @path is a menu item which opens a
submenu, then the submenu is returned. If you are interested in the menu
item, use gtk_item_factory_get_item() instead."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="full"
doc="the widget for the given path, or %NULL if @path doesn&apos;t lead">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_widget_by_action"
c:identifier="gtk_item_factory_get_widget_by_action"
doc="of #GtkItemFactoryEntry
if no widget was found
Obtains the widget which was constructed from the #GtkItemFactoryEntry
with the given @action.
If there are multiple items with the same action, the result is
undefined."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="full"
doc="the widget which corresponds to the given action, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_item_by_action"
c:identifier="gtk_item_factory_get_item_by_action"
doc="of #GtkItemFactoryEntry
if no menu item was found
Obtains the menu item which was constructed from the first
#GtkItemFactoryEntry with the given @action."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="full"
doc="the menu item which corresponds to the given action, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="create_item"
c:identifier="gtk_item_factory_create_item"
doc="#GtkItemFactoryCallback1, 2 if it is of type #GtkItemFactoryCallback2
Creates an item for @entry."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="ItemFactoryEntry" c:type="GtkItemFactoryEntry*"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="callback_type" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="create_items"
c:identifier="gtk_item_factory_create_items"
doc="must by of type #GtkItemFactoryCallback1
Creates the menu items from the @entries."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="entries" transfer-ownership="none">
<type name="ItemFactoryEntry" c:type="GtkItemFactoryEntry*"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="delete_item"
c:identifier="gtk_item_factory_delete_item"
doc="Deletes the menu item which was created for @path by the given
item factory."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="delete_entry"
c:identifier="gtk_item_factory_delete_entry"
doc="Deletes the menu item which was created from @entry by the given
item factory."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry" transfer-ownership="none">
<type name="ItemFactoryEntry" c:type="GtkItemFactoryEntry*"/>
</parameter>
</parameters>
</method>
<method name="delete_entries"
c:identifier="gtk_item_factory_delete_entries"
doc="Deletes the menu items which were created from the @entries by the given
item factory."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="entries" transfer-ownership="none">
<type name="ItemFactoryEntry" c:type="GtkItemFactoryEntry*"/>
</parameter>
</parameters>
</method>
<method name="popup"
c:identifier="gtk_item_factory_popup"
doc="Pops up the menu constructed from the item factory at (@x, @y).
The @mouse_button parameter should be the mouse button pressed to initiate
the menu popup. If the menu popup was initiated by something other than
a mouse button press, such as a mouse button release or a keypress,
The @time_ parameter should be the time stamp of the event that
initiated the popup. If such an event is not available, use
gtk_get_current_event_time() instead.
The operation of the @mouse_button and the @time_ parameter is the same
as the @button and @activation_time parameters for gtk_menu_popup()."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="mouse_button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="popup_with_data"
c:identifier="gtk_item_factory_popup_with_data"
doc="the menu is unposted
Pops up the menu constructed from the item factory at (@x, @y). Callbacks
can access the @popup_data while the menu is posted via
gtk_item_factory_popup_data() and gtk_item_factory_popup_data_from_widget().
The @mouse_button parameter should be the mouse button pressed to initiate
the menu popup. If the menu popup was initiated by something other than
a mouse button press, such as a mouse button release or a keypress,
The @time_ parameter should be the time stamp of the event that
initiated the popup. If such an event is not available, use
gtk_get_current_event_time() instead.
The operation of the @mouse_button and the @time_ parameters is the same
as the @button and @activation_time parameters for gtk_menu_popup()."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="popup_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="mouse_button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="popup_data"
c:identifier="gtk_item_factory_popup_data"
doc="Obtains the @popup_data which was passed to
gtk_item_factory_popup_with_data(). This data is available until the menu
is popped down again."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="set_translate_func"
c:identifier="gtk_item_factory_set_translate_func"
doc="destroyed and when the translation function is changed again
Sets a function to be used for translating the path elements before they
are displayed."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TranslateFunc" c:type="GtkTranslateFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="create_items_ac"
c:identifier="gtk_item_factory_create_items_ac"
doc="#GtkItemFactoryCallback1, 2 if they are of type #GtkItemFactoryCallback2
Creates the menu items from the @entries."
deprecated="Use #GtkUIManager instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_entries" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="entries" transfer-ownership="none">
<type name="ItemFactoryEntry" c:type="GtkItemFactoryEntry*"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="callback_type" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<field name="object">
<type name="Object" c:type="GtkObject"/>
</field>
<field name="path">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accel_group">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</field>
<field name="widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="items">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="translate_func">
<type name="TranslateFunc" c:type="GtkTranslateFunc"/>
</field>
<field name="translate_data">
<type name="any" c:type="gpointer"/>
</field>
<field name="translate_notify">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
</class>
<callback name="ItemFactoryCallback" c:type="GtkItemFactoryCallback">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="ItemFactoryCallback1" c:type="GtkItemFactoryCallback1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="callback_action" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
<callback name="ItemFactoryCallback2" c:type="GtkItemFactoryCallback2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="callback_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="callback_action" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
<record name="ItemFactoryClass"
c:type="GtkItemFactoryClass"
glib:is-gtype-struct-for="ItemFactory">
<field name="object_class">
<type name="ObjectClass" c:type="GtkObjectClass"/>
</field>
<field name="item_ht">
<type name="GLib.HashTable" c:type="GHashTable*"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ItemFactoryEntry" c:type="GtkItemFactoryEntry">
<field name="path" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accelerator" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="callback" writable="1">
<type name="ItemFactoryCallback" c:type="GtkItemFactoryCallback"/>
</field>
<field name="callback_action" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="item_type" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="extra_data" writable="1">
<type name="any" c:type="gconstpointer"/>
</field>
</record>
<record name="ItemFactoryItem" c:type="GtkItemFactoryItem">
<field name="path" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="widgets" writable="1">
<type name="GLib.SList" c:type="GSList*"/>
</field>
</record>
<enumeration name="Justification"
glib:type-name="GtkJustification"
glib:get-type="gtk_justification_get_type"
c:type="GtkJustification">
<member name="left"
value="0"
c:identifier="GTK_JUSTIFY_LEFT"
glib:nick="left"/>
<member name="right"
value="1"
c:identifier="GTK_JUSTIFY_RIGHT"
glib:nick="right"/>
<member name="center"
value="2"
c:identifier="GTK_JUSTIFY_CENTER"
glib:nick="center"/>
<member name="fill"
value="3"
c:identifier="GTK_JUSTIFY_FILL"
glib:nick="fill"/>
</enumeration>
<callback name="KeySnoopFunc" c:type="GtkKeySnoopFunc">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="grab_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="Label"
c:type="GtkLabel"
parent="Misc"
glib:type-name="GtkLabel"
glib:get-type="gtk_label_get_type"
glib:type-struct="LabelClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_label_new"
doc="Creates a new label with the given text inside it. You can
pass %NULL to get an empty label widget.">
<return-value transfer-ownership="full">
<type name="Label" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_label_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkLabel, containing the text in @str.
If characters in @str are preceded by an underscore, they are
underlined. If you need a literal underscore character in a label, use
&apos;__&apos; (two underscores). The first underlined character represents a
keyboard accelerator called a mnemonic. The mnemonic key can be used
to activate another widget, chosen automatically, or explicitly using
gtk_label_set_mnemonic_widget().
If gtk_label_set_mnemonic_widget() is not called, then the first
activatable ancestor of the #GtkLabel will be chosen as the mnemonic
widget. For instance, if the label is inside a button or menu item,
the button or menu item will automatically become the mnemonic widget
and be activated by the mnemonic.">
<return-value transfer-ownership="full">
<type name="Label" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_text"
c:identifier="gtk_label_set_text"
doc="Sets the text within the #GtkLabel widget. It overwrites any text that
was there before.
This will also clear any previously set mnemonic accelerators.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_text"
c:identifier="gtk_label_get_text"
doc="Fetches the text from a label widget, as displayed on the
screen. This does not include any embedded underlines
indicating mnemonics or Pango markup. (See gtk_label_get_label())
string used by the label, and must not be modified.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_attributes"
c:identifier="gtk_label_set_attributes"
doc="Sets a #PangoAttrList; the attributes in the list are applied to the
label text.
&lt;note&gt;&lt;para&gt;The attributes set with this function will be applied
and merged with any other attributes previously effected by way
of the #GtkLabel:use-underline or #GtkLabel:use-markup properties.
While it is not recommended to mix markup strings with manually set
attributes, if you must; know that the attributes will be applied
to the label after the markup string is parsed.&lt;/para&gt;&lt;/note&gt;">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="attrs" transfer-ownership="none">
<type name="Pango.AttrList" c:type="PangoAttrList*"/>
</parameter>
</parameters>
</method>
<method name="get_attributes"
c:identifier="gtk_label_get_attributes"
doc="Gets the attribute list that was set on the label using
gtk_label_set_attributes(), if any. This function does
not reflect attributes that come from the labels markup
(see gtk_label_set_markup()). If you want to get the
effective attributes for the label, use
pango_layout_get_attribute (gtk_label_get_layout (label)).">
<return-value transfer-ownership="full">
<type name="Pango.AttrList" c:type="PangoAttrList*"/>
</return-value>
</method>
<method name="set_label"
c:identifier="gtk_label_set_label"
doc="Sets the text of the label. The label is interpreted as
including embedded underlines and/or Pango markup depending
on the values of the #GtkLabel:use-underline&quot; and
#GtkLabel:use-markup properties.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_label_get_label"
doc="Fetches the text from a label widget including any embedded
underlines indicating mnemonics and Pango markup. (See
gtk_label_get_text()).
owned by the widget and must not be modified or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_markup"
c:identifier="gtk_label_set_markup"
doc="Parses @str which is marked up with the &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;, setting the
label&apos;s text and attribute list based on the parse results. If the @str is
external data, you may need to escape it with g_markup_escape_text() or
g_markup_printf_escaped()&lt;!-- --&gt;:
|[
char *markup;
markup = g_markup_printf_escaped (&quot;&amp;lt;span style=\&quot;italic\&quot;&amp;gt;&amp;percnt;s&amp;lt;/span&amp;gt;&quot;, str);
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
]|">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_use_markup"
c:identifier="gtk_label_set_use_markup"
doc="Sets whether the text of the label contains markup in &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango&apos;s text markup
language&lt;/link&gt;. See gtk_label_set_markup().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_markup"
c:identifier="gtk_label_get_use_markup"
doc="Returns whether the label&apos;s text is interpreted as marked up with
the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;. See gtk_label_set_use_markup ().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_use_underline"
c:identifier="gtk_label_set_use_underline"
doc="If true, an underline in the text indicates the next character should be
used for the mnemonic accelerator key.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_underline"
c:identifier="gtk_label_get_use_underline"
doc="Returns whether an embedded underline in the label indicates a
mnemonic. See gtk_label_set_use_underline().
the mnemonic accelerator keys.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_markup_with_mnemonic"
c:identifier="gtk_label_set_markup_with_mnemonic"
doc="Parses @str which is marked up with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;,
setting the label&apos;s text and attribute list based on the parse results.
If characters in @str are preceded by an underscore, they are underlined
indicating that they represent a keyboard accelerator called a mnemonic.
The mnemonic key can be used to activate another widget, chosen
automatically, or explicitly using gtk_label_set_mnemonic_widget().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_mnemonic_keyval"
c:identifier="gtk_label_get_mnemonic_keyval"
doc="If the label has been set so that it has an mnemonic key this function
returns the keyval used for the mnemonic accelerator. If there is no
mnemonic set up it returns #GDK_VoidSymbol.">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="set_mnemonic_widget"
c:identifier="gtk_label_set_mnemonic_widget"
doc="If the label has been set so that it has an mnemonic key (using
i.e. gtk_label_set_markup_with_mnemonic(),
gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic()
or the &quot;use_underline&quot; property) the label can be associated with a
widget that is the target of the mnemonic. When the label is inside
a widget (like a #GtkButton or a #GtkNotebook tab) it is
automatically associated with the correct widget, but sometimes
(i.e. when the target is a #GtkEntry next to the label) you need to
set it explicitly using this function.
The target widget will be accelerated by emitting the
GtkWidget::mnemonic-activate signal on it. The default handler for
this signal will activate the widget if there are no mnemonic collisions
and toggle focus between the colliding widgets otherwise.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the target #GtkWidget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_mnemonic_widget"
c:identifier="gtk_label_get_mnemonic_widget"
doc="Retrieves the target of the mnemonic (keyboard shortcut) of this
label. See gtk_label_set_mnemonic_widget().
has been set and the default algorithm will be used.">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_text_with_mnemonic"
c:identifier="gtk_label_set_text_with_mnemonic"
doc="Sets the label&apos;s text from the string @str.
If characters in @str are preceded by an underscore, they are underlined
indicating that they represent a keyboard accelerator called a mnemonic.
The mnemonic key can be used to activate another widget, chosen
automatically, or explicitly using gtk_label_set_mnemonic_widget().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_justify"
c:identifier="gtk_label_set_justify"
doc="Sets the alignment of the lines in the text of the label relative to
each other. %GTK_JUSTIFY_LEFT is the default value when the
widget is first created with gtk_label_new(). If you instead want
to set the alignment of the label as a whole, use
gtk_misc_set_alignment() instead. gtk_label_set_justify() has no
effect on labels containing only a single line.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="jtype" transfer-ownership="none">
<type name="Justification" c:type="GtkJustification"/>
</parameter>
</parameters>
</method>
<method name="get_justify"
c:identifier="gtk_label_get_justify"
doc="Returns the justification of the label. See gtk_label_set_justify().">
<return-value transfer-ownership="full">
<type name="Justification" c:type="GtkJustification"/>
</return-value>
</method>
<method name="set_ellipsize"
c:identifier="gtk_label_set_ellipsize"
doc="if there is not enough space to render the entire string."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</parameter>
</parameters>
</method>
<method name="get_ellipsize"
c:identifier="gtk_label_get_ellipsize"
doc="Returns the ellipsizing position of the label. See gtk_label_set_ellipsize()."
version="2.6">
<return-value transfer-ownership="full">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</return-value>
</method>
<method name="set_width_chars"
c:identifier="gtk_label_set_width_chars"
doc="Sets the desired width in characters of @label to @n_chars."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_width_chars"
c:identifier="gtk_label_get_width_chars"
doc="Retrieves the desired width of @label, in characters. See
gtk_label_set_width_chars()."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_max_width_chars"
c:identifier="gtk_label_set_max_width_chars"
doc="Sets the desired maximum width in characters of @label to @n_chars."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_chars" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_max_width_chars"
c:identifier="gtk_label_get_max_width_chars"
doc="Retrieves the desired maximum width of @label, in characters. See
gtk_label_set_width_chars()."
version="2.6">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_pattern" c:identifier="gtk_label_set_pattern">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_line_wrap"
c:identifier="gtk_label_set_line_wrap"
doc="Toggles line wrapping within the #GtkLabel widget. %TRUE makes it break
lines if text exceeds the widget&apos;s size. %FALSE lets the text get cut off
by the edge of the widget if it exceeds the widget size.
Note that setting line wrapping to %TRUE does not make the label
wrap at its parent container&apos;s width, because GTK+ widgets
conceptually can&apos;t make their requisition depend on the parent
container&apos;s size. For a label that wraps at a specific position,
set the label&apos;s width using gtk_widget_set_size_request().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wrap" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_line_wrap"
c:identifier="gtk_label_get_line_wrap"
doc="Returns whether lines in the label are automatically wrapped.
See gtk_label_set_line_wrap().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_line_wrap_mode"
c:identifier="gtk_label_set_line_wrap_mode"
doc="If line wrapping is on (see gtk_label_set_line_wrap()) this controls how
the line wrapping is done. The default is %PANGO_WRAP_WORD which means
wrap on word boundaries."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wrap_mode" transfer-ownership="none">
<type name="Pango.WrapMode" c:type="PangoWrapMode"/>
</parameter>
</parameters>
</method>
<method name="get_line_wrap_mode"
c:identifier="gtk_label_get_line_wrap_mode"
doc="Returns line wrap mode used by the label. See gtk_label_set_line_wrap_mode()."
version="2.10">
<return-value transfer-ownership="full">
<type name="Pango.WrapMode" c:type="PangoWrapMode"/>
</return-value>
</method>
<method name="set_selectable"
c:identifier="gtk_label_set_selectable"
doc="Selectable labels allow the user to select text from the label, for
copy-and-paste.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_selectable"
c:identifier="gtk_label_get_selectable"
doc="Gets the value set by gtk_label_set_selectable().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_angle"
c:identifier="gtk_label_set_angle"
doc="the horizontal, in degrees, measured counterclockwise
Sets the angle of rotation for the label. An angle of 90 reads from
from bottom to top, an angle of 270, from top to bottom. The angle
setting for the label is ignored if the label is selectable,
wrapped, or ellipsized."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="angle" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_angle"
c:identifier="gtk_label_get_angle"
doc="Gets the angle of rotation for the label. See
gtk_label_set_angle()."
version="2.6">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="select_region"
c:identifier="gtk_label_select_region"
doc="Selects a range of characters in the label, if the label is selectable.
See gtk_label_set_selectable(). If the label is not selectable,
this function has no effect. If @start_offset or">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_selection_bounds"
c:identifier="gtk_label_get_selection_bounds"
doc="Gets the selected range of characters in the label, returning %TRUE
if there&apos;s a selection.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="end" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_layout"
c:identifier="gtk_label_get_layout"
doc="Gets the #PangoLayout used to display the label.
The layout is useful to e.g. convert text positions to
pixel positions, in combination with gtk_label_get_layout_offsets().
The returned layout is owned by the label so need not be
freed by the caller.">
<return-value transfer-ownership="none"
doc="the #PangoLayout for this label">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</return-value>
</method>
<method name="get_layout_offsets"
c:identifier="gtk_label_get_layout_offsets"
doc="Obtains the coordinates where the label will draw the #PangoLayout
representing the text in the label; useful to convert mouse events
into coordinates inside the #PangoLayout, e.g. to take some action
if some part of the label is clicked. Of course you will need to
create a #GtkEventBox to receive the events, and pack the label
inside it, since labels are a #GTK_NO_WINDOW widget. Remember
when using the #PangoLayout functions you need to convert to
and from pixels using PANGO_PIXELS() or #PANGO_SCALE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store X offset of layout, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store Y offset of layout, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_single_line_mode"
c:identifier="gtk_label_set_single_line_mode"
doc="Sets whether the label is in single line mode."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="single_line_mode" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_single_line_mode"
c:identifier="gtk_label_get_single_line_mode"
doc="Returns whether the label is in single line mode."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_current_uri"
c:identifier="gtk_label_get_current_uri"
doc="Returns the URI for the currently active link in the label.
The active link is the one under the mouse pointer or, in a
selectable label, the link in which the text cursor is currently
positioned.
This function is intended for use in a #GtkLabel::activate-link handler
or for use in a #GtkWidget::query-tooltip handler.
not be freed or modified."
version="2.18">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_track_visited_links"
c:identifier="gtk_label_set_track_visited_links"
doc="Sets whether the label should keep track of clicked
links (and use a different color for them)."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="track_links" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_track_visited_links"
c:identifier="gtk_label_get_track_visited_links"
doc="Returns whether the label is currently keeping track
of clicked links."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get" c:identifier="gtk_label_get">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="parse_uline" c:identifier="gtk_label_parse_uline">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<property name="angle"
version="2.6"
writable="1"
doc="The angle that the baseline of the label makes with the horizontal,
in degrees, measured counterclockwise. An angle of 90 reads from
from bottom to top, an angle of 270, from top to bottom. Ignored
if the label is selectable, wrapped, or ellipsized.">
<type name="double" c:type="gdouble"/>
</property>
<property name="attributes" writable="1">
<type name="Pango.AttrList" c:type="PangoAttrList"/>
</property>
<property name="cursor-position">
<type name="int" c:type="gint"/>
</property>
<property name="ellipsize"
version="2.6"
writable="1"
doc="The preferred place to ellipsize the string, if the label does
not have enough room to display the entire string, specified as a
#PangoEllisizeMode.
Note that setting this property to a value other than
%PANGO_ELLIPSIZE_NONE has the side-effect that the label requests
only enough space to display the ellipsis &quot;...&quot;. In particular, this
means that ellipsizing labels do not work well in notebook tabs, unless
the tab&apos;s #GtkNotebook:tab-expand property is set to %TRUE. Other ways
to set a label&apos;s width are gtk_widget_set_size_request() and
gtk_label_set_width_chars().">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</property>
<property name="justify" writable="1">
<type name="Justification" c:type="GtkJustification"/>
</property>
<property name="label" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="max-width-chars"
version="2.6"
writable="1"
doc="The desired maximum width of the label, in characters. If this property
is set to -1, the width will be calculated automatically, otherwise the
label will request space for no more than the requested number of
characters. If the #GtkLabel:width-chars property is set to a positive
value, then the &quot;max-width-chars&quot; property is ignored.">
<type name="int" c:type="gint"/>
</property>
<property name="mnemonic-keyval">
<type name="uint" c:type="guint"/>
</property>
<property name="mnemonic-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="pattern" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="selectable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="selection-bound">
<type name="int" c:type="gint"/>
</property>
<property name="single-line-mode"
version="2.6"
writable="1"
doc="Whether the label is in single line mode. In single line mode,
the height of the label does not depend on the actual text, it
is always set to ascent + descent of the font. This can be an
advantage in situations where resizing the label because of text
changes would be distracting, e.g. in a statusbar.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="track-visited-links"
version="2.18"
writable="1"
doc="Set this property to %TRUE to make the label track which links
have been clicked. It will then apply the ::visited-link-color
color, instead of ::link-color.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="use-markup" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="use-underline" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="width-chars"
version="2.6"
writable="1"
doc="The desired width of the label, in characters. If this property is set to
-1, the width will be calculated automatically, otherwise the label will
request either 3 characters or the property value, whichever is greater.
If the &quot;width-chars&quot; property is set to a positive value, then the
#GtkLabel:max-width-chars property is ignored.">
<type name="int" c:type="gint"/>
</property>
<property name="wrap" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="wrap-mode"
version="2.10"
writable="1"
doc="If line wrapping is on (see the #GtkLabel:wrap property) this controls
how the line wrapping is done. The default is %PANGO_WRAP_WORD, which
means wrap on word boundaries.">
<type name="Pango.WrapMode" c:type="PangoWrapMode"/>
</property>
<field name="misc">
<type name="Misc" c:type="GtkMisc"/>
</field>
<field name="label">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="jtype" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="wrap" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_underline" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_markup" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="ellipsize" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="single_line_mode" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="have_transform" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_click" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="wrap_mode" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="pattern_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="track_links" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="mnemonic_keyval">
<type name="uint" c:type="guint"/>
</field>
<field name="text">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="attrs">
<type name="Pango.AttrList" c:type="PangoAttrList*"/>
</field>
<field name="effective_attrs">
<type name="Pango.AttrList" c:type="PangoAttrList*"/>
</field>
<field name="layout">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</field>
<field name="mnemonic_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="mnemonic_window">
<type name="Window" c:type="GtkWindow*"/>
</field>
<field name="select_info">
<type name="LabelSelectionInfo" c:type="GtkLabelSelectionInfo*"/>
</field>
<glib:signal name="activate-current-link"
doc="A &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates a link in the label.
Applications may also emit the signal with g_signal_emit_by_name()
if they need to control activation of URIs programmatically.
The default bindings for this signal are all forms of the Enter key."
version="2.18">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="activate-link"
doc="The signal which gets emitted to activate a URI.
Applications may connect to it to override the default behaviour,
which is to call gtk_show_uri()."
version="2.18">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="copy-clipboard"
doc="The ::copy-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to copy the selection to the clipboard.
The default binding for this signal is Ctrl-c.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="move-cursor"
doc="The ::move-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in @entry, this signal causes
the viewport to be moved instead.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.
The default bindings for this signal come in two variants,
the variant with the Shift modifier extends the selection,
the variant without the Shift modifer does not.
There are too many key combinations to list them all here.
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys move by individual characters/lines&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-arrow key combinations move by words/paragraphs&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys move to the ends of the buffer&lt;/listitem&gt;
&lt;/itemizedlist&gt;">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="populate-popup"
doc="The ::populate-popup signal gets emitted before showing the
context menu of the label. Note that only selectable labels
have context menus.
If you need to add items to the context menu, connect
to this signal and append your menuitems to the @menu.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="LabelClass"
c:type="GtkLabelClass"
glib:is-gtype-struct-for="Label">
<field name="parent_class">
<type name="MiscClass" c:type="GtkMiscClass"/>
</field>
<field name="move_cursor">
<callback name="move_cursor" c:type="move_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="Label" c:type="GtkLabel*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="copy_clipboard">
<callback name="copy_clipboard" c:type="copy_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="Label" c:type="GtkLabel*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="populate_popup">
<callback name="populate_popup" c:type="populate_popup">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="Label" c:type="GtkLabel*"/>
</parameter>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate_link">
<callback name="activate_link" c:type="activate_link">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="Label" c:type="GtkLabel*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="LabelSelectionInfo" c:type="GtkLabelSelectionInfo">
</record>
<class name="Layout"
c:type="GtkLayout"
parent="Container"
glib:type-name="GtkLayout"
glib:get-type="gtk_layout_get_type"
glib:type-struct="LayoutClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_layout_new"
doc="Creates a new #GtkLayout. Unless you have a specific adjustment
you&apos;d like the layout to use for scrolling, pass %NULL for">
<return-value transfer-ownership="full">
<type name="Layout" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="hadjustment"
transfer-ownership="none"
allow-none="1"
doc="horizontal scroll adjustment, or %NULL">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment"
transfer-ownership="none"
allow-none="1"
doc="vertical scroll adjustment, or %NULL">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<method name="get_bin_window"
c:identifier="gtk_layout_get_bin_window"
doc="Retrieve the bin window of the layout used for drawing operations."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="put"
c:identifier="gtk_layout_put"
doc="Adds @child_widget to @layout, at position (@x,@y).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="move"
c:identifier="gtk_layout_move"
doc="Moves a current child of @layout to a new position.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_size"
c:identifier="gtk_layout_set_size"
doc="Sets the size of the scrollable area of the layout.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_size"
c:identifier="gtk_layout_get_size"
doc="Gets the size that has been set on the layout, and that determines
the total extents of the layout&apos;s scrollbar area. See
gtk_layout_set_size ().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the width set on @layout, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="height"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the height set on @layout, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_hadjustment"
c:identifier="gtk_layout_get_hadjustment"
doc="This function should only be called after the layout has been
placed in a #GtkScrolledWindow or otherwise configured for
scrolling. It returns the #GtkAdjustment used for communication
between the horizontal scrollbar and @layout.
See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="get_vadjustment"
c:identifier="gtk_layout_get_vadjustment"
doc="This function should only be called after the layout has been
placed in a #GtkScrolledWindow or otherwise configured for
scrolling. It returns the #GtkAdjustment used for communication
between the vertical scrollbar and @layout.
See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_hadjustment"
c:identifier="gtk_layout_set_hadjustment"
doc="Sets the horizontal scroll adjustment for the layout.
See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="new scroll adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="set_vadjustment"
c:identifier="gtk_layout_set_vadjustment"
doc="Sets the vertical scroll adjustment for the layout.
See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="new scroll adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="freeze"
c:identifier="gtk_layout_freeze"
doc="This is a deprecated function, it doesn&apos;t do anything useful.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="thaw"
c:identifier="gtk_layout_thaw"
doc="This is a deprecated function, it doesn&apos;t do anything useful.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="hadjustment" writable="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="height" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="vadjustment" writable="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="width" writable="1">
<type name="uint" c:type="guint"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="width">
<type name="uint" c:type="guint"/>
</field>
<field name="height">
<type name="uint" c:type="guint"/>
</field>
<field name="hadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="vadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="bin_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="visibility">
<type name="Gdk.VisibilityState" c:type="GdkVisibilityState"/>
</field>
<field name="scroll_x">
<type name="int" c:type="gint"/>
</field>
<field name="scroll_y">
<type name="int" c:type="gint"/>
</field>
<field name="freeze_count">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="set-scroll-adjustments">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="LayoutClass"
c:type="GtkLayoutClass"
glib:is-gtype-struct-for="Layout">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="set_scroll_adjustments">
<callback name="set_scroll_adjustments"
c:type="set_scroll_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="Layout" c:type="GtkLayout*"/>
</parameter>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="LinkButton"
c:type="GtkLinkButton"
parent="Button"
glib:type-name="GtkLinkButton"
glib:get-type="gtk_link_button_get_type"
glib:type-struct="LinkButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_link_button_new"
doc="Creates a new #GtkLinkButton with the URI as its text."
version="2.10">
<return-value transfer-ownership="full">
<type name="LinkButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_link_button_new_with_label"
doc="Creates a new #GtkLinkButton containing a label."
version="2.10">
<return-value transfer-ownership="none"
doc="a new link button widget.">
<type name="LinkButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="the text of the button">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<function name="set_uri_hook"
c:identifier="gtk_link_button_set_uri_hook"
doc="Sets @func as the function that should be invoked every time a user clicks
a #GtkLinkButton. This function is called before every callback registered
for the &quot;clicked&quot; signal.
If no uri hook has been set, GTK+ defaults to calling gtk_show_uri()."
version="2.10">
<return-value transfer-ownership="full">
<type name="LinkButtonUriFunc" c:type="GtkLinkButtonUriFunc"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
allow-none="1"
scope="notified"
closure="1"
destroy="2"
doc="a function called each time a #GtkLinkButton is clicked, or %NULL">
<type name="LinkButtonUriFunc" c:type="GtkLinkButtonUriFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="user data to be passed to @func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="a #GDestroyNotify that gets called when @data is no longer needed, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<method name="get_uri"
c:identifier="gtk_link_button_get_uri"
doc="Retrieves the URI set using gtk_link_button_set_uri().
and should not be modified or freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_uri"
c:identifier="gtk_link_button_set_uri"
doc="Sets @uri as the URI where the #GtkLinkButton points. As a side-effect
this unsets the &apos;visited&apos; state of the button."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_visited"
c:identifier="gtk_link_button_get_visited"
doc="Retrieves the &apos;visited&apos; state of the URI where the #GtkLinkButton
points. The button becomes visited when it is clicked. If the URI
is changed on the button, the &apos;visited&apos; state is unset again.
The state may also be changed using gtk_link_button_set_visited()."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visited"
c:identifier="gtk_link_button_set_visited"
doc="Sets the &apos;visited&apos; state of the URI where the #GtkLinkButton
points. See gtk_link_button_get_visited() for more details."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visited" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="uri" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="visited" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="Button" c:type="GtkButton"/>
</field>
<field name="priv">
<type name="LinkButtonPrivate" c:type="GtkLinkButtonPrivate*"/>
</field>
</class>
<record name="LinkButtonClass"
c:type="GtkLinkButtonClass"
glib:is-gtype-struct-for="LinkButton">
<field name="parent_class">
<type name="ButtonClass" c:type="GtkButtonClass"/>
</field>
<field name="gtk_padding1">
<callback name="gtk_padding1" c:type="_gtk_padding1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_padding2">
<callback name="gtk_padding2" c:type="_gtk_padding2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_padding3">
<callback name="gtk_padding3" c:type="_gtk_padding3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_padding4">
<callback name="gtk_padding4" c:type="_gtk_padding4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="LinkButtonPrivate" c:type="GtkLinkButtonPrivate">
</record>
<callback name="LinkButtonUriFunc" c:type="GtkLinkButtonUriFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="LinkButton" c:type="GtkLinkButton*"/>
</parameter>
<parameter name="link_" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="List"
c:type="GtkList"
parent="Container"
glib:type-name="GtkList"
glib:get-type="gtk_list_get_type"
glib:type-struct="ListClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_list_new">
<return-value transfer-ownership="full">
<type name="List" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="insert_items" c:identifier="gtk_list_insert_items">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="append_items" c:identifier="gtk_list_append_items">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</method>
<method name="prepend_items" c:identifier="gtk_list_prepend_items">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</method>
<method name="remove_items" c:identifier="gtk_list_remove_items">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</method>
<method name="remove_items_no_unref"
c:identifier="gtk_list_remove_items_no_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</method>
<method name="clear_items" c:identifier="gtk_list_clear_items">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="select_item" c:identifier="gtk_list_select_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="unselect_item" c:identifier="gtk_list_unselect_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="select_child" c:identifier="gtk_list_select_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="unselect_child" c:identifier="gtk_list_unselect_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="child_position" c:identifier="gtk_list_child_position">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_selection_mode"
c:identifier="gtk_list_set_selection_mode">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</parameter>
</parameters>
</method>
<method name="extend_selection" c:identifier="gtk_list_extend_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="auto_start_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="start_selection" c:identifier="gtk_list_start_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="end_selection" c:identifier="gtk_list_end_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="select_all" c:identifier="gtk_list_select_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unselect_all" c:identifier="gtk_list_unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="scroll_horizontal"
c:identifier="gtk_list_scroll_horizontal">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="scroll_vertical" c:identifier="gtk_list_scroll_vertical">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="toggle_add_mode" c:identifier="gtk_list_toggle_add_mode">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="toggle_focus_row" c:identifier="gtk_list_toggle_focus_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="toggle_row" c:identifier="gtk_list_toggle_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="undo_selection" c:identifier="gtk_list_undo_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="end_drag_selection"
c:identifier="gtk_list_end_drag_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="selection-mode" writable="1">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="selection">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="undo_selection">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="undo_unselection">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="last_focus_child">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="undo_focus_child">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="htimer">
<type name="uint" c:type="guint"/>
</field>
<field name="vtimer">
<type name="uint" c:type="guint"/>
</field>
<field name="anchor">
<type name="int" c:type="gint"/>
</field>
<field name="drag_pos">
<type name="int" c:type="gint"/>
</field>
<field name="anchor_state">
<type name="StateType" c:type="GtkStateType"/>
</field>
<field name="selection_mode" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="drag_selection" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="add_mode" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="select-child">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="selection-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="unselect-child">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ListClass"
c:type="GtkListClass"
glib:is-gtype-struct-for="List">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="selection_changed">
<callback name="selection_changed" c:type="selection_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<type name="List" c:type="GtkList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_child">
<callback name="select_child" c:type="select_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<type name="List" c:type="GtkList*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_child">
<callback name="unselect_child" c:type="unselect_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<type name="List" c:type="GtkList*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="ListItem"
c:type="GtkListItem"
parent="Item"
glib:type-name="GtkListItem"
glib:get-type="gtk_list_item_get_type"
glib:type-struct="ListItemClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_list_item_new">
<return-value transfer-ownership="full">
<type name="ListItem" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_list_item_new_with_label">
<return-value transfer-ownership="full">
<type name="ListItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="select" c:identifier="gtk_list_item_select">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="deselect" c:identifier="gtk_list_item_deselect">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="item">
<type name="Item" c:type="GtkItem"/>
</field>
<glib:signal name="end-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="extend-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="scroll-horizontal">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="scroll-vertical">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="select-all">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="start-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="toggle-add-mode">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="toggle-focus-row">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="undo-selection">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="unselect-all">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ListItemClass"
c:type="GtkListItemClass"
glib:is-gtype-struct-for="ListItem">
<field name="parent_class">
<type name="ItemClass" c:type="GtkItemClass"/>
</field>
<field name="toggle_focus_row">
<callback name="toggle_focus_row" c:type="toggle_focus_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_all">
<callback name="select_all" c:type="select_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_all">
<callback name="unselect_all" c:type="unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="undo_selection">
<callback name="undo_selection" c:type="undo_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_selection">
<callback name="start_selection" c:type="start_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_selection">
<callback name="end_selection" c:type="end_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="extend_selection">
<callback name="extend_selection" c:type="extend_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="auto_start_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="scroll_horizontal">
<callback name="scroll_horizontal" c:type="scroll_horizontal">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</callback>
</field>
<field name="scroll_vertical">
<callback name="scroll_vertical" c:type="scroll_vertical">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_add_mode">
<callback name="toggle_add_mode" c:type="toggle_add_mode">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list_item" transfer-ownership="none">
<type name="ListItem" c:type="GtkListItem*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="ListStore"
c:type="GtkListStore"
parent="GObject.Object"
glib:type-name="GtkListStore"
glib:get-type="gtk_list_store_get_type"
glib:type-struct="ListStoreClass">
<implements name="Buildable"/>
<implements name="TreeDragDest"/>
<implements name="TreeDragSource"/>
<implements name="TreeModel"/>
<implements name="TreeSortable"/>
<constructor name="new"
c:identifier="gtk_list_store_new"
doc="Creates a new list store as with @n_columns columns each of the types passed
in. Note that only types derived from standard GObject fundamental types
are supported.
As an example, &lt;literal&gt;gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING,
GDK_TYPE_PIXBUF);&lt;/literal&gt; will create a new #GtkListStore with three columns, of type
int, string and #GdkPixbuf respectively.">
<return-value transfer-ownership="full">
<type name="ListStore" c:type="GtkListStore*"/>
</return-value>
<parameters>
<parameter name="n_columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<constructor name="newv"
c:identifier="gtk_list_store_newv"
doc="Non-vararg creation function. Used primarily by language bindings.">
<return-value transfer-ownership="none" doc="a new #GtkListStore">
<type name="ListStore" c:type="GtkListStore*"/>
</return-value>
<parameters>
<parameter name="n_columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="types"
transfer-ownership="none"
doc="an array of #GType types for the columns, from first to last">
<array length="0" c:type="GType*">
<type name="GType"/>
</array>
</parameter>
</parameters>
</constructor>
<method name="set_column_types"
c:identifier="gtk_list_store_set_column_types"
doc="This function is meant primarily for #GObjects that inherit from #GtkListStore,
and should only be used when constructing a new #GtkListStore. It will not
function after a row has been added, or a method on the #GtkTreeModel
interface is called.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="types"
transfer-ownership="none"
doc="An array length n of #GTypes">
<array length="1" c:type="GType*">
<type name="GType"/>
</array>
</parameter>
</parameters>
</method>
<method name="set_value"
c:identifier="gtk_list_store_set_value"
doc="Sets the data in the cell specified by @iter and @column.
The type of @value must be convertible to the type of the
column.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="set"
c:identifier="gtk_list_store_set"
doc="Sets the value of one or more cells in the row referenced by @iter.
The variable argument list should contain integer column numbers,
each column number followed by the value to be set.
The list is terminated by a -1. For example, to set column 0 with type
%G_TYPE_STRING to &quot;Foo&quot;, you would write &lt;literal&gt;gtk_list_store_set (store, iter,
0, &quot;Foo&quot;, -1)&lt;/literal&gt;.
The value will be copied or referenced by the store if appropriate.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set_valuesv"
c:identifier="gtk_list_store_set_valuesv"
doc="A variant of gtk_list_store_set_valist() which
takes the columns and values as two arrays, instead of
varargs. This function is mainly intended for
language-bindings and in case the number of columns to
change is not known until run-time."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="columns"
transfer-ownership="none"
doc="an array of column numbers">
<array length="4" c:type="gint*">
<type name="int"/>
</array>
</parameter>
<parameter name="values"
transfer-ownership="none"
doc="an array of GValues">
<array length="4" c:type="GValue*">
<type name="GObject.Value"/>
</array>
</parameter>
<parameter name="n_values" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="remove"
c:identifier="gtk_list_store_remove"
doc="Removes the given row from the list store. After being removed,
to the last row in @list_store.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="insert"
c:identifier="gtk_list_store_insert"
doc="Creates a new row at @position. @iter will be changed to point to this new
row. If @position is larger than the number of rows on the list, then the
new row will be appended to the list. The row will be empty after this
function is called. To fill in values, you need to call
gtk_list_store_set() or gtk_list_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert_before"
c:identifier="gtk_list_store_insert_before"
doc="Inserts a new row before @sibling. If @sibling is %NULL, then the row will
be appended to the end of the list. @iter will be changed to point to this
new row. The row will be empty after this function is called. To fill in
values, you need to call gtk_list_store_set() or gtk_list_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="sibling"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="insert_after"
c:identifier="gtk_list_store_insert_after"
doc="Inserts a new row after @sibling. If @sibling is %NULL, then the row will be
prepended to the beginning of the list. @iter will be changed to point to
this new row. The row will be empty after this function is called. To fill
in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="sibling"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="insert_with_values"
c:identifier="gtk_list_store_insert_with_values"
doc="Creates a new row at @position. @iter will be changed to point to this new
row. If @position is larger than the number of rows on the list, then the
new row will be appended to the list. The row will be filled with the
values given to this function.
Calling
&lt;literal&gt;gtk_list_store_insert_with_values(list_store, iter, position...)&lt;/literal&gt;
has the same effect as calling
|[
gtk_list_store_insert (list_store, iter, position);
gtk_list_store_set (list_store, iter, ...);
]|
with the difference that the former will only emit a row_inserted signal,
while the latter will emit row_inserted, row_changed and, if the list store
is sorted, rows_reordered. Since emitting the rows_reordered signal
repeatedly can affect the performance of the program,
gtk_list_store_insert_with_values() should generally be preferred when
inserting rows in a sorted list store."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="An unset #GtkTreeIter to set to the new row, or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="insert_with_valuesv"
c:identifier="gtk_list_store_insert_with_valuesv"
doc="A variant of gtk_list_store_insert_with_values() which
takes the columns and values as two arrays, instead of
varargs. This function is mainly intended for
language-bindings."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="An unset #GtkTreeIter to set to the new row, or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="columns" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="values" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="n_values" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="prepend"
c:identifier="gtk_list_store_prepend"
doc="Prepends a new row to @list_store. @iter will be changed to point to this new
row. The row will be empty after this function is called. To fill in
values, you need to call gtk_list_store_set() or gtk_list_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="append"
c:identifier="gtk_list_store_append"
doc="Appends a new row to @list_store. @iter will be changed to point to this new
row. The row will be empty after this function is called. To fill in
values, you need to call gtk_list_store_set() or gtk_list_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="clear"
c:identifier="gtk_list_store_clear"
doc="Removes all rows from the list store.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="iter_is_valid"
c:identifier="gtk_list_store_iter_is_valid"
doc="&lt;warning&gt;This function is slow. Only use it for debugging and/or testing
purposes.&lt;/warning&gt;
Checks if the given iter is a valid iter for this #GtkListStore."
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="reorder"
c:identifier="gtk_list_store_reorder"
doc="to its old position before the re-ordering,
i.e. @new_order&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;.
Reorders @store to follow the order indicated by @new_order. Note that
this function only works with unsorted stores."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="new_order"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="swap"
c:identifier="gtk_list_store_swap"
doc="Swaps @a and @b in @store. Note that this function only works with
unsorted stores."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="a" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="b" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="move_after"
c:identifier="gtk_list_store_move_after"
doc="Moves @iter in @store to the position after @position. Note that this
function only works with unsorted stores. If @position is %NULL, @iter
will be moved to the start of the list."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreeIter or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="move_before"
c:identifier="gtk_list_store_move_before"
doc="Moves @iter in @store to the position before @position. Note that this
function only works with unsorted stores. If @position is %NULL, @iter
will be moved to the end of the list."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreeIter, or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="stamp">
<type name="int" c:type="gint"/>
</field>
<field name="seq">
<type name="any" c:type="gpointer"/>
</field>
<field name="_gtk_reserved1">
<type name="any" c:type="gpointer"/>
</field>
<field name="sort_list">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="n_columns">
<type name="int" c:type="gint"/>
</field>
<field name="sort_column_id">
<type name="int" c:type="gint"/>
</field>
<field name="order">
<type name="SortType" c:type="GtkSortType"/>
</field>
<field name="column_headers">
<type name="any" c:type="GType*"/>
</field>
<field name="length">
<type name="int" c:type="gint"/>
</field>
<field name="default_sort_func">
<type name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc"/>
</field>
<field name="default_sort_data">
<type name="any" c:type="gpointer"/>
</field>
<field name="default_sort_destroy">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
<field name="columns_dirty" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="ListStoreClass"
c:type="GtkListStoreClass"
glib:is-gtype-struct-for="ListStore">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<constant name="MAJOR_VERSION" value="2">
<type name="int"/>
</constant>
<constant name="MAX_COMPOSE_LEN" value="7">
<type name="int"/>
</constant>
<constant name="MICRO_VERSION" value="1">
<type name="int"/>
</constant>
<constant name="MINOR_VERSION" value="20">
<type name="int"/>
</constant>
<enumeration name="MatchType"
glib:type-name="GtkMatchType"
glib:get-type="gtk_match_type_get_type"
c:type="GtkMatchType">
<member name="all"
value="0"
c:identifier="GTK_MATCH_ALL"
glib:nick="all"/>
<member name="all_tail"
value="1"
c:identifier="GTK_MATCH_ALL_TAIL"
glib:nick="all-tail"/>
<member name="head"
value="2"
c:identifier="GTK_MATCH_HEAD"
glib:nick="head"/>
<member name="tail"
value="3"
c:identifier="GTK_MATCH_TAIL"
glib:nick="tail"/>
<member name="exact"
value="4"
c:identifier="GTK_MATCH_EXACT"
glib:nick="exact"/>
<member name="last"
value="5"
c:identifier="GTK_MATCH_LAST"
glib:nick="last"/>
</enumeration>
<class name="Menu"
c:type="GtkMenu"
parent="MenuShell"
glib:type-name="GtkMenu"
glib:get-type="gtk_menu_get_type"
glib:type-struct="MenuClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_menu_new">
<return-value transfer-ownership="full">
<type name="Menu" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="get_for_attach_widget"
c:identifier="gtk_menu_get_for_attach_widget"
doc="Returns a list of the menus which are attached to this widget.
This list is owned by GTK+ and must not be modified."
version="2.6">
<return-value transfer-ownership="none"
doc="the list of menus attached to his widget.">
<type name="GLib.List" c:type="GList*">
<type name="Widget"/>
</type>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<method name="popup"
c:identifier="gtk_menu_popup"
doc="Displays a menu and makes it available for selection. Applications can use
this function to display context-sensitive menus, and will typically supply
%NULL for the @parent_menu_shell, @parent_menu_item, @func and @data
parameters. The default menu positioning function will position the menu
at the current mouse cursor position.
The @button parameter should be the mouse button pressed to initiate
the menu popup. If the menu popup was initiated by something other than
a mouse button press, such as a mouse button release or a keypress,
The @activate_time parameter is used to conflict-resolve initiation of
concurrent requests for mouse/keyboard grab requests. To function
properly, this needs to be the time stamp of the user event (such as
a mouse click or key press) that caused the initiation of the popup.
Only if no such event is available, gtk_get_current_event_time() can
be used instead.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent_menu_shell"
transfer-ownership="none"
allow-none="1"
doc="the menu shell containing the triggering menu item, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="parent_menu_item"
transfer-ownership="none"
allow-none="1"
doc="the menu item whose activation triggered the popup, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
allow-none="1"
scope="call"
closure="4"
doc="a user supplied function used to position the menu, or %NULL">
<type name="MenuPositionFunc" c:type="GtkMenuPositionFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="user supplied data to be passed to @func.">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="activate_time" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="reposition" c:identifier="gtk_menu_reposition">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="popdown" c:identifier="gtk_menu_popdown">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_active" c:identifier="gtk_menu_get_active">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_active" c:identifier="gtk_menu_set_active">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_accel_group" c:identifier="gtk_menu_set_accel_group">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_group"
transfer-ownership="none"
allow-none="1">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</method>
<method name="get_accel_group" c:identifier="gtk_menu_get_accel_group">
<return-value transfer-ownership="full">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</return-value>
</method>
<method name="set_accel_path" c:identifier="gtk_menu_set_accel_path">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_accel_path" c:identifier="gtk_menu_get_accel_path">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="attach_to_widget" c:identifier="gtk_menu_attach_to_widget">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="attach_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detacher" transfer-ownership="none" scope="call">
<type name="MenuDetachFunc" c:type="GtkMenuDetachFunc"/>
</parameter>
</parameters>
</method>
<method name="detach" c:identifier="gtk_menu_detach">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_attach_widget"
c:identifier="gtk_menu_get_attach_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_tearoff_state"
c:identifier="gtk_menu_set_tearoff_state">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="torn_off" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_tearoff_state"
c:identifier="gtk_menu_get_tearoff_state"
doc="Returns whether the menu is torn off. See
gtk_menu_set_tearoff_state ().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_title"
c:identifier="gtk_menu_set_title"
doc="Sets the title string for the menu. The title is displayed when the menu
is shown as a tearoff menu. If @title is %NULL, the menu will see if it is
attached to a parent menu item, and if so it will try to use the same text as
that menu item&apos;s label.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_title"
c:identifier="gtk_menu_get_title"
doc="Returns the title of the menu. See gtk_menu_set_title().
title set on it. This string is owned by the widget and should
not be modified or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="reorder_child" c:identifier="gtk_menu_reorder_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_screen"
c:identifier="gtk_menu_set_screen"
doc="determined by the widget the menu is attached to.
Sets the #GdkScreen on which the menu will be displayed."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen"
transfer-ownership="none"
allow-none="1"
doc="a #GdkScreen, or %NULL if the screen should be">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</method>
<method name="attach"
c:identifier="gtk_menu_attach"
doc="Adds a new #GtkMenuItem to a (table) menu. The number of &apos;cells&apos; that
an item will occupy is specified by @left_attach, @right_attach,
rightmost, uppermost and lower column and row numbers of the table.
(Columns and rows are indexed from zero).
Note that this function is not related to gtk_menu_detach()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="left_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="right_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="top_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="bottom_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_monitor"
c:identifier="gtk_menu_set_monitor"
doc="be popped up
Informs GTK+ on which monitor a menu should be popped up.
See gdk_screen_get_monitor_geometry().
This function should be called from a #GtkMenuPositionFunc if the
menu should not appear on the same monitor as the pointer. This
information can&apos;t be reliably inferred from the coordinates returned
by a #GtkMenuPositionFunc, since, for very long menus, these coordinates
may extend beyond the monitor boundaries or even the screen boundaries."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="monitor_num" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_monitor"
c:identifier="gtk_menu_get_monitor"
doc="Retrieves the number of the monitor on which to show the menu.
be popped up or -1, if no monitor has been set"
version="2.14">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_reserve_toggle_size"
c:identifier="gtk_menu_set_reserve_toggle_size"
doc="Sets whether the menu should reserve space for drawing toggles
or icons, regardless of their actual presence."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="reserve_toggle_size" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_reserve_toggle_size"
c:identifier="gtk_menu_get_reserve_toggle_size"
doc="Returns whether the menu reserves space for toggles and
icons, regardless of their actual presence."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="accel-group"
version="2.14"
writable="1"
doc="The accel group holding accelerators for the menu.">
<type name="AccelGroup" c:type="GtkAccelGroup"/>
</property>
<property name="accel-path"
version="2.14"
writable="1"
doc="An accel path used to conveniently construct accel paths of child items.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="active"
version="2.14"
writable="1"
doc="The index of the currently selected menu item, or -1 if no
menu item is selected.">
<type name="int" c:type="gint"/>
</property>
<property name="attach-widget"
version="2.14"
writable="1"
doc="The widget the menu is attached to. Setting this property attaches
the menu without a #GtkMenuDetachFunc. If you need to use a detacher,
use gtk_menu_attach_to_widget() directly.">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="monitor"
version="2.14"
writable="1"
doc="The monitor the menu will be popped up on.">
<type name="int" c:type="gint"/>
</property>
<property name="reserve-toggle-size"
version="2.18"
writable="1"
doc="A boolean that indicates whether the menu reserves space for
toggles and icons, regardless of their actual presence.
This property should only be changed from its default value
for special-purposes such as tabular menus. Regular menus that
are connected to a menu bar or context menus should reserve
toggle space for consistency.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="tearoff-state"
version="2.6"
writable="1"
doc="A boolean that indicates whether the menu is torn-off.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="tearoff-title" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="menu_shell">
<type name="MenuShell" c:type="GtkMenuShell"/>
</field>
<field name="parent_menu_item">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="old_active_menu_item">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="accel_group">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</field>
<field name="accel_path">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="position_func">
<type name="MenuPositionFunc" c:type="GtkMenuPositionFunc"/>
</field>
<field name="position_func_data">
<type name="any" c:type="gpointer"/>
</field>
<field name="toggle_size">
<type name="uint" c:type="guint"/>
</field>
<field name="toplevel">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="tearoff_window">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="tearoff_hbox">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="tearoff_scrollbar">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="tearoff_adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="view_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="bin_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="scroll_offset">
<type name="int" c:type="gint"/>
</field>
<field name="saved_scroll_offset">
<type name="int" c:type="gint"/>
</field>
<field name="scroll_step">
<type name="int" c:type="gint"/>
</field>
<field name="timeout_id">
<type name="uint" c:type="guint"/>
</field>
<field name="navigation_region">
<type name="Gdk.Region" c:type="GdkRegion*"/>
</field>
<field name="navigation_timeout">
<type name="uint" c:type="guint"/>
</field>
<field name="needs_destruction_ref_count" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="torn_off" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="tearoff_active" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="scroll_fast" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="upper_arrow_visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="lower_arrow_visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="upper_arrow_prelight" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="lower_arrow_prelight" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="move-scroll">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</glib:signal>
</class>
<class name="MenuBar"
c:type="GtkMenuBar"
parent="MenuShell"
glib:type-name="GtkMenuBar"
glib:get-type="gtk_menu_bar_get_type"
glib:type-struct="MenuBarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_menu_bar_new">
<return-value transfer-ownership="full">
<type name="MenuBar" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_pack_direction"
c:identifier="gtk_menu_bar_get_pack_direction"
doc="Retrieves the current pack direction of the menubar.
See gtk_menu_bar_set_pack_direction()."
version="2.8">
<return-value transfer-ownership="full">
<type name="PackDirection" c:type="GtkPackDirection"/>
</return-value>
</method>
<method name="set_pack_direction"
c:identifier="gtk_menu_bar_set_pack_direction"
doc="Sets how items should be packed inside a menubar."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pack_dir" transfer-ownership="none">
<type name="PackDirection" c:type="GtkPackDirection"/>
</parameter>
</parameters>
</method>
<method name="get_child_pack_direction"
c:identifier="gtk_menu_bar_get_child_pack_direction"
doc="Retrieves the current child pack direction of the menubar.
See gtk_menu_bar_set_child_pack_direction()."
version="2.8">
<return-value transfer-ownership="full">
<type name="PackDirection" c:type="GtkPackDirection"/>
</return-value>
</method>
<method name="set_child_pack_direction"
c:identifier="gtk_menu_bar_set_child_pack_direction"
doc="Sets how widgets should be packed inside the children of a menubar."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child_pack_dir" transfer-ownership="none">
<type name="PackDirection" c:type="GtkPackDirection"/>
</parameter>
</parameters>
</method>
<property name="child-pack-direction"
version="2.8"
writable="1"
doc="The child pack direction of the menubar. It determines how
the widgets contained in child menuitems are arranged.">
<type name="PackDirection" c:type="GtkPackDirection"/>
</property>
<property name="pack-direction"
version="2.8"
writable="1"
doc="The pack direction of the menubar. It determines how
menuitems are arranged in the menubar.">
<type name="PackDirection" c:type="GtkPackDirection"/>
</property>
<field name="menu_shell">
<type name="MenuShell" c:type="GtkMenuShell"/>
</field>
</class>
<record name="MenuBarClass"
c:type="GtkMenuBarClass"
glib:is-gtype-struct-for="MenuBar">
<field name="parent_class">
<type name="MenuShellClass" c:type="GtkMenuShellClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="MenuCallback" c:type="GtkMenuCallback">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="MenuClass"
c:type="GtkMenuClass"
glib:is-gtype-struct-for="Menu">
<field name="parent_class">
<type name="MenuShellClass" c:type="GtkMenuShellClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="MenuDetachFunc" c:type="GtkMenuDetachFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="attach_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu*"/>
</parameter>
</parameters>
</callback>
<enumeration name="MenuDirectionType"
glib:type-name="GtkMenuDirectionType"
glib:get-type="gtk_menu_direction_type_get_type"
c:type="GtkMenuDirectionType">
<member name="parent"
value="0"
c:identifier="GTK_MENU_DIR_PARENT"
glib:nick="parent"/>
<member name="child"
value="1"
c:identifier="GTK_MENU_DIR_CHILD"
glib:nick="child"/>
<member name="next"
value="2"
c:identifier="GTK_MENU_DIR_NEXT"
glib:nick="next"/>
<member name="prev"
value="3"
c:identifier="GTK_MENU_DIR_PREV"
glib:nick="prev"/>
</enumeration>
<record name="MenuEntry" c:type="GtkMenuEntry">
<field name="path" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accelerator" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="callback" writable="1">
<type name="MenuCallback" c:type="GtkMenuCallback"/>
</field>
<field name="callback_data" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</record>
<class name="MenuItem"
c:type="GtkMenuItem"
parent="Item"
glib:type-name="GtkMenuItem"
glib:get-type="gtk_menu_item_get_type"
glib:type-struct="MenuItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_menu_item_new">
<return-value transfer-ownership="full">
<type name="MenuItem" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_menu_item_new_with_label">
<return-value transfer-ownership="full">
<type name="MenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_menu_item_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkMenuItem containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the menu item.">
<return-value transfer-ownership="full">
<type name="MenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="set_label" invoker="set_label">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_label" invoker="get_label">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</virtual-method>
<method name="set_submenu"
c:identifier="gtk_menu_item_set_submenu"
doc="Sets or replaces the menu item&apos;s submenu, or removes it when a %NULL
submenu is passed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="submenu"
transfer-ownership="none"
allow-none="1"
doc="the submenu, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_submenu"
c:identifier="gtk_menu_item_get_submenu"
doc="Gets the submenu underneath this menu item, if any. See
gtk_menu_item_set_submenu().">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="select" c:identifier="gtk_menu_item_select">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="deselect" c:identifier="gtk_menu_item_deselect">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="activate" c:identifier="gtk_menu_item_activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="toggle_size_request"
c:identifier="gtk_menu_item_toggle_size_request">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="requisition"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="toggle_size_allocate"
c:identifier="gtk_menu_item_toggle_size_allocate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allocation" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_right_justified"
c:identifier="gtk_menu_item_set_right_justified"
doc="far right if added to a menu bar.
Sets whether the menu item appears justified at the right
side of a menu bar. This was traditionally done for &quot;Help&quot; menu
items, but is now considered a bad idea. (If the widget
layout is reversed for a right-to-left language like Hebrew
or Arabic, right-justified-menu-items appear at the left.)">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="right_justified" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_right_justified"
c:identifier="gtk_menu_item_get_right_justified"
doc="Gets whether the menu item appears justified at the right
side of the menu bar.
far right if added to a menu bar.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_accel_path"
c:identifier="gtk_menu_item_set_accel_path">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_accel_path"
c:identifier="gtk_menu_item_get_accel_path">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_label"
c:identifier="gtk_menu_item_set_label"
doc="Sets @text on the @menu_item label"
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_menu_item_get_label"
doc="Sets @text on the @menu_item label
string used by the label, and must not be modified."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_use_underline"
c:identifier="gtk_menu_item_set_use_underline"
doc="If true, an underline in the text indicates the next character should be
used for the mnemonic accelerator key."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_underline"
c:identifier="gtk_menu_item_get_use_underline"
doc="Checks if an underline in the text indicates the next character should be
used for the mnemonic accelerator key.
the mnemonic accelerator key."
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="remove_submenu"
c:identifier="gtk_menu_item_remove_submenu"
doc="Removes the widget&apos;s submenu.
should not be used in newly written code. Use
gtk_menu_item_set_submenu() instead."
deprecated="gtk_menu_item_remove_submenu() is deprecated and"
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="accel-path"
version="2.14"
writable="1"
doc="Sets the accelerator path of the menu item, through which runtime
changes of the menu item&apos;s accelerator caused by the user can be
identified and saved to persistant storage.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="label"
version="2.16"
writable="1"
doc="The text for the child label.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="right-justified"
version="2.14"
writable="1"
doc="Sets whether the menu item appears justified at the right side of a menu bar.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="submenu"
version="2.12"
writable="1"
doc="The submenu attached to the menu item, or NULL if it has none.">
<type name="Menu" c:type="GtkMenu"/>
</property>
<property name="use-underline"
version="2.16"
writable="1"
doc="%TRUE if underlines in the text indicate mnemonics">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="item">
<type name="Item" c:type="GtkItem"/>
</field>
<field name="submenu">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="event_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="toggle_size">
<type name="uint16" c:type="guint16"/>
</field>
<field name="accelerator_width">
<type name="uint16" c:type="guint16"/>
</field>
<field name="accel_path">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="show_submenu_indicator" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="submenu_placement" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="submenu_direction" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="right_justify" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="timer_from_keypress" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="from_menubar" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="timer">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="activate">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="activate-item">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="toggle-size-allocate">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="toggle-size-request">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="MenuItemClass"
c:type="GtkMenuItemClass"
glib:is-gtype-struct-for="MenuItem">
<field name="parent_class">
<type name="ItemClass" c:type="GtkItemClass"/>
</field>
<field name="hide_on_activate" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="MenuItem" c:type="GtkMenuItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate_item">
<callback name="activate_item" c:type="activate_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="MenuItem" c:type="GtkMenuItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_size_request">
<callback name="toggle_size_request" c:type="toggle_size_request">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="MenuItem" c:type="GtkMenuItem*"/>
</parameter>
<parameter name="requisition"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_size_allocate">
<callback name="toggle_size_allocate" c:type="toggle_size_allocate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="MenuItem" c:type="GtkMenuItem*"/>
</parameter>
<parameter name="allocation" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_label">
<callback name="set_label" c:type="set_label">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="MenuItem" c:type="GtkMenuItem*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_label">
<callback name="get_label" c:type="get_label">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="MenuItem" c:type="GtkMenuItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="MenuPositionFunc" c:type="GtkMenuPositionFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu*"/>
</parameter>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="push_in" direction="out" transfer-ownership="full">
<type name="boolean" c:type="gboolean*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="4">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="MenuShell"
c:type="GtkMenuShell"
parent="Container"
abstract="1"
glib:type-name="GtkMenuShell"
glib:get-type="gtk_menu_shell_get_type"
glib:type-struct="MenuShellClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<virtual-method name="select_item" invoker="select_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="insert" invoker="insert">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_popup_delay">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</virtual-method>
<method name="append" c:identifier="gtk_menu_shell_append">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="prepend" c:identifier="gtk_menu_shell_prepend">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="insert" c:identifier="gtk_menu_shell_insert">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="deactivate" c:identifier="gtk_menu_shell_deactivate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="select_item" c:identifier="gtk_menu_shell_select_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="deselect" c:identifier="gtk_menu_shell_deselect">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="activate_item" c:identifier="gtk_menu_shell_activate_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="force_deactivate" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="select_first"
c:identifier="gtk_menu_shell_select_first"
doc="menu item, otherwise select nothing if
the first item isn&apos;t sensitive. This
should be %FALSE if the menu is being
popped up initially.
Select the first visible or selectable child of the menu shell;
don&apos;t select tearoff items unless the only item is a tearoff
item."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="search_sensitive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="cancel"
c:identifier="gtk_menu_shell_cancel"
doc="Cancels the selection within the menu shell."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_take_focus"
c:identifier="gtk_menu_shell_get_take_focus"
doc="Returns %TRUE if the menu shell will take the keyboard focus on popup."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_take_focus"
c:identifier="gtk_menu_shell_set_take_focus"
doc="If @take_focus is %TRUE (the default) the menu shell will take the keyboard
focus so that it will receive all keyboard events which is needed to enable
keyboard navigation in menus.
Setting @take_focus to %FALSE is useful only for special applications
like virtual keyboard implementations which should not take keyboard
focus.
The @take_focus state of a menu or menu bar is automatically propagated
to submenus whenever a submenu is popped up, so you don&apos;t have to worry
about recursively setting it for your entire menu hierarchy. Only when
programmatically picking a submenu and popping it up manually, the
Note that setting it to %FALSE has side-effects:
If the focus is in some other app, it keeps the focus and keynav in
the menu doesn&apos;t work. Consequently, keynav on the menu will only
work if the focus is on some toplevel owned by the onscreen keyboard.
To avoid confusing the user, menus with @take_focus set to %FALSE
should not display mnemonics or accelerators, since it cannot be
guaranteed that they will work.
See also gdk_keyboard_grab()"
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="take_focus" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="take-focus"
version="2.8"
writable="1"
doc="A boolean that determines whether the menu and its submenus grab the
keyboard focus. See gtk_menu_shell_set_take_focus() and
gtk_menu_shell_get_take_focus().">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="active_menu_item">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="parent_menu_shell">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="button">
<type name="uint" c:type="guint"/>
</field>
<field name="activate_time">
<type name="uint32" c:type="guint32"/>
</field>
<field name="active" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="have_grab" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="have_xgrab" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="ignore_leave" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="menu_flag" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="ignore_enter" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="keyboard_mode" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="activate-current">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="cancel">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cycle-focus">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="deactivate">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="move-current">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="MenuDirectionType" c:type="GtkMenuDirectionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-selected"
doc="The ::move-selected signal is emitted to move the selection to
another item."
version="2.12">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="distance" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="selection-done">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="MenuShellClass"
c:type="GtkMenuShellClass"
glib:is-gtype-struct-for="MenuShell">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="submenu_placement" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="deactivate">
<callback name="deactivate" c:type="deactivate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_done">
<callback name="selection_done" c:type="selection_done">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_current">
<callback name="move_current" c:type="move_current">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="MenuDirectionType" c:type="GtkMenuDirectionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate_current">
<callback name="activate_current" c:type="activate_current">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
<parameter name="force_hide" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cancel">
<callback name="cancel" c:type="cancel">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_item">
<callback name="select_item" c:type="select_item">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
<parameter name="menu_item" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert">
<callback name="insert" c:type="insert">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_popup_delay">
<callback name="get_popup_delay" c:type="get_popup_delay">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_selected">
<callback name="move_selected" c:type="move_selected">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="menu_shell" transfer-ownership="none">
<type name="MenuShell" c:type="GtkMenuShell*"/>
</parameter>
<parameter name="distance" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="MenuToolButton"
c:type="GtkMenuToolButton"
parent="ToolButton"
glib:type-name="GtkMenuToolButton"
glib:get-type="gtk_menu_tool_button_get_type"
glib:type-struct="MenuToolButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_menu_tool_button_new"
doc="Creates a new #GtkMenuToolButton using @icon_widget as icon and"
version="2.6">
<return-value transfer-ownership="full">
<type name="MenuToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="icon_widget"
transfer-ownership="none"
allow-none="1"
doc="a widget that will be used as icon widget, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="a string that will be used as label, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_menu_tool_button_new_from_stock"
doc="Creates a new #GtkMenuToolButton.
The new #GtkMenuToolButton will contain an icon and label from
the stock item indicated by @stock_id."
version="2.6">
<return-value transfer-ownership="full">
<type name="MenuToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_menu"
c:identifier="gtk_menu_tool_button_set_menu"
doc="Sets the #GtkMenu that is popped up when the user clicks on the arrow.
If @menu is NULL, the arrow button becomes insensitive."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_menu"
c:identifier="gtk_menu_tool_button_get_menu"
doc="Gets the #GtkMenu associated with #GtkMenuToolButton."
version="2.6">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_arrow_tooltip"
c:identifier="gtk_menu_tool_button_set_arrow_tooltip"
doc="Sets the #GtkTooltips object to be used for arrow button which
pops up the menu. See gtk_tool_item_set_tooltip() for setting
a tooltip on the whole #GtkMenuToolButton.
instead."
version="2.6"
deprecated="Use gtk_menu_tool_button_set_arrow_tooltip_text()"
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltips" transfer-ownership="none">
<type name="Tooltips" c:type="GtkTooltips*"/>
</parameter>
<parameter name="tip_text"
transfer-ownership="none"
allow-none="1"
doc="text to be used as tooltip text for tool_item">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tip_private"
transfer-ownership="none"
allow-none="1"
doc="text to be used as private tooltip text">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_arrow_tooltip_text"
c:identifier="gtk_menu_tool_button_set_arrow_tooltip_text"
doc="Sets the tooltip text to be used as tooltip for the arrow button which
pops up the menu. See gtk_tool_item_set_tooltip() for setting a tooltip
on the whole #GtkMenuToolButton."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_arrow_tooltip_markup"
c:identifier="gtk_menu_tool_button_set_arrow_tooltip_markup"
doc="Sets the tooltip markup text to be used as tooltip for the arrow button
which pops up the menu. See gtk_tool_item_set_tooltip() for setting a
tooltip on the whole #GtkMenuToolButton."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="markup" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<property name="menu" writable="1">
<type name="Menu" c:type="GtkMenu"/>
</property>
<field name="parent">
<type name="ToolButton" c:type="GtkToolButton"/>
</field>
<field name="priv">
<type name="MenuToolButtonPrivate" c:type="GtkMenuToolButtonPrivate*"/>
</field>
<glib:signal name="show-menu"
doc="The ::show-menu signal is emitted before the menu is shown.
It can be used to populate the menu on demand, using
gtk_menu_tool_button_get_menu().
Note that even if you populate the menu dynamically in this way,
you must set an empty menu on the #GtkMenuToolButton beforehand,
since the arrow is made insensitive if the menu is not set.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="MenuToolButtonClass"
c:type="GtkMenuToolButtonClass"
glib:is-gtype-struct-for="MenuToolButton">
<field name="parent_class">
<type name="ToolButtonClass" c:type="GtkToolButtonClass"/>
</field>
<field name="show_menu">
<callback name="show_menu" c:type="show_menu">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="MenuToolButton" c:type="GtkMenuToolButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="MenuToolButtonPrivate" c:type="GtkMenuToolButtonPrivate">
</record>
<class name="MessageDialog"
c:type="GtkMessageDialog"
parent="Dialog"
glib:type-name="GtkMessageDialog"
glib:get-type="gtk_message_dialog_get_type"
glib:type-struct="MessageDialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_message_dialog_new"
doc="Creates a new message dialog, which is a simple dialog with an icon
indicating the dialog type (error, warning, etc.) and some text the
user may want to see. When the user clicks a button a &quot;response&quot;
signal is emitted with response IDs from #GtkResponseType. See
#GtkDialog for more details.">
<return-value transfer-ownership="none" doc="a new #GtkMessageDialog">
<type name="MessageDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="transient parent, or %NULL for none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="DialogFlags" c:type="GtkDialogFlags"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="MessageType" c:type="GtkMessageType"/>
</parameter>
<parameter name="buttons" transfer-ownership="none">
<type name="ButtonsType" c:type="GtkButtonsType"/>
</parameter>
<parameter name="message_format"
transfer-ownership="none"
allow-none="1"
doc="style format string, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_markup"
c:identifier="gtk_message_dialog_new_with_markup"
doc="Creates a new message dialog, which is a simple dialog with an icon
indicating the dialog type (error, warning, etc.) and some text which
is marked up with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
When the user clicks a button a &quot;response&quot; signal is emitted with
response IDs from #GtkResponseType. See #GtkDialog for more details.
Special XML characters in the printf() arguments passed to this
function will automatically be escaped as necessary.
(See g_markup_printf_escaped() for how this is implemented.)
Usually this is what you want, but if you have an existing
Pango markup string that you want to use literally as the
label, then you need to use gtk_message_dialog_set_markup()
instead, since you can&apos;t pass the markup string either
as the format (it might contain &apos;%&apos; characters) or as a string
argument.
|[
GtkWidget *dialog;
dialog = gtk_message_dialog_new (main_application_window,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
NULL);
gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog),
markup);
]|"
version="2.4">
<return-value transfer-ownership="full">
<type name="MessageDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="transient parent, or %NULL for none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="DialogFlags" c:type="GtkDialogFlags"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="MessageType" c:type="GtkMessageType"/>
</parameter>
<parameter name="buttons" transfer-ownership="none">
<type name="ButtonsType" c:type="GtkButtonsType"/>
</parameter>
<parameter name="message_format"
transfer-ownership="none"
allow-none="1"
doc="style format string, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<method name="set_image"
c:identifier="gtk_message_dialog_set_image"
doc="Sets the dialog&apos;s image to @image."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="image" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_image"
c:identifier="gtk_message_dialog_get_image"
doc="Gets the dialog&apos;s image."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_markup"
c:identifier="gtk_message_dialog_set_markup"
doc="Sets the text of the message dialog to be @str, which is marked
up with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="format_secondary_text"
c:identifier="gtk_message_dialog_format_secondary_text"
doc="Sets the secondary text of the message dialog to be @message_format
(with printf()-style).
Note that setting a secondary text makes the primary text become
bold, unless you have provided explicit markup."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="message_format"
transfer-ownership="none"
allow-none="1"
doc="style format string, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="format_secondary_markup"
c:identifier="gtk_message_dialog_format_secondary_markup"
doc="ink linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup format&lt;/link&gt;), or %NULL
Sets the secondary text of the message dialog to be @message_format (with
printf()-style), which is marked up with the
&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
Note that setting a secondary text makes the primary text become
bold, unless you have provided explicit markup.
Due to an oversight, this function does not escape special XML characters
like gtk_message_dialog_new_with_markup() does. Thus, if the arguments
may contain special XML characters, you should use g_markup_printf_escaped()
to escape it.
&lt;informalexample&gt;&lt;programlisting&gt;
gchar *msg;
msg = g_markup_printf_escaped (message_format, ...);
gtk_message_dialog_format_secondary_markup (message_dialog, &quot;&amp;percnt;s&quot;, msg);
g_free (msg);
&lt;/programlisting&gt;&lt;/informalexample&gt;"
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="message_format"
transfer-ownership="none"
doc="style markup string (see">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<property name="buttons" readable="0" writable="1" construct-only="1">
<type name="ButtonsType" c:type="GtkButtonsType"/>
</property>
<property name="image"
version="2.10"
writable="1"
doc="The image for this dialog.">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="message-type"
writable="1"
construct="1"
doc="The type of the message. The type is used to determine
the image that is shown in the dialog, unless the image is
explicitly set by the ::image property.">
<type name="MessageType" c:type="GtkMessageType"/>
</property>
<property name="secondary-text"
version="2.10"
writable="1"
doc="The secondary text of the message dialog.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="secondary-use-markup"
version="2.10"
writable="1"
doc="%TRUE if the secondary text of the dialog includes Pango markup.
See pango_parse_markup().">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="text"
version="2.10"
writable="1"
doc="The primary text of the message dialog. If the dialog has
a secondary text, this will appear as the title.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="use-markup"
version="2.10"
writable="1"
doc="%TRUE if the primary text of the dialog includes Pango markup.
See pango_parse_markup().">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="image">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="label">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</class>
<record name="MessageDialogClass"
c:type="GtkMessageDialogClass"
glib:is-gtype-struct-for="MessageDialog">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="MessageType"
glib:type-name="GtkMessageType"
glib:get-type="gtk_message_type_get_type"
c:type="GtkMessageType">
<member name="info"
value="0"
c:identifier="GTK_MESSAGE_INFO"
glib:nick="info"/>
<member name="warning"
value="1"
c:identifier="GTK_MESSAGE_WARNING"
glib:nick="warning"/>
<member name="question"
value="2"
c:identifier="GTK_MESSAGE_QUESTION"
glib:nick="question"/>
<member name="error"
value="3"
c:identifier="GTK_MESSAGE_ERROR"
glib:nick="error"/>
<member name="other"
value="4"
c:identifier="GTK_MESSAGE_OTHER"
glib:nick="other"/>
</enumeration>
<enumeration name="MetricType"
glib:type-name="GtkMetricType"
glib:get-type="gtk_metric_type_get_type"
c:type="GtkMetricType">
<member name="pixels"
value="0"
c:identifier="GTK_PIXELS"
glib:nick="pixels"/>
<member name="inches"
value="1"
c:identifier="GTK_INCHES"
glib:nick="inches"/>
<member name="centimeters"
value="2"
c:identifier="GTK_CENTIMETERS"
glib:nick="centimeters"/>
</enumeration>
<class name="Misc"
c:type="GtkMisc"
parent="Widget"
abstract="1"
glib:type-name="GtkMisc"
glib:get-type="gtk_misc_get_type"
glib:type-struct="MiscClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<method name="set_alignment" c:identifier="gtk_misc_set_alignment">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_alignment"
c:identifier="gtk_misc_get_alignment"
doc="Gets the X and Y alignment of the widget within its allocation.
See gtk_misc_set_alignment().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store X alignment of @misc, or %NULL">
<type name="float" c:type="gfloat*"/>
</parameter>
<parameter name="yalign"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store Y alignment of @misc, or %NULL">
<type name="float" c:type="gfloat*"/>
</parameter>
</parameters>
</method>
<method name="set_padding" c:identifier="gtk_misc_set_padding">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xpad" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ypad" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_padding"
c:identifier="gtk_misc_get_padding"
doc="Gets the padding in the X and Y directions of the widget.
See gtk_misc_set_padding().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xpad"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store padding in the X direction, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="ypad"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store padding in the Y direction, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<property name="xalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="xpad" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="yalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="ypad" writable="1">
<type name="int" c:type="gint"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="xalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="yalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="xpad">
<type name="uint16" c:type="guint16"/>
</field>
<field name="ypad">
<type name="uint16" c:type="guint16"/>
</field>
</class>
<record name="MiscClass"
c:type="GtkMiscClass"
glib:is-gtype-struct-for="Misc">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
</record>
<callback name="ModuleDisplayInitFunc" c:type="GtkModuleDisplayInitFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</parameter>
</parameters>
</callback>
<callback name="ModuleInitFunc" c:type="GtkModuleInitFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="argc" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="argv" transfer-ownership="none">
<type name="utf8" c:type="gchar***"/>
</parameter>
</parameters>
</callback>
<class name="MountOperation"
c:type="GtkMountOperation"
doc="This should not be accessed directly. Use the accessor functions below."
parent="Gio.MountOperation"
glib:type-name="GtkMountOperation"
glib:get-type="gtk_mount_operation_get_type"
glib:type-struct="MountOperationClass">
<constructor name="new"
c:identifier="gtk_mount_operation_new"
doc="Creates a new #GtkMountOperation"
version="2.14">
<return-value transfer-ownership="full">
<type name="MountOperation" c:type="GMountOperation*"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="transient parent of the window, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</constructor>
<method name="is_showing"
c:identifier="gtk_mount_operation_is_showing"
doc="Returns whether the #GtkMountOperation is currently displaying
a window."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_parent"
c:identifier="gtk_mount_operation_set_parent"
doc="Sets the transient parent for windows shown by the
#GtkMountOperation."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="transient parent of the window, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</method>
<method name="get_parent"
c:identifier="gtk_mount_operation_get_parent"
doc="Gets the transient parent used by the #GtkMountOperation"
version="2.14">
<return-value transfer-ownership="full">
<type name="Window" c:type="GtkWindow*"/>
</return-value>
</method>
<method name="set_screen"
c:identifier="gtk_mount_operation_set_screen"
doc="Sets the screen to show windows of the #GtkMountOperation on."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</method>
<method name="get_screen"
c:identifier="gtk_mount_operation_get_screen"
doc="Gets the screen on which windows of the #GtkMountOperation
will be shown."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</return-value>
</method>
<property name="is-showing">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="parent" writable="1">
<type name="Window" c:type="GtkWindow"/>
</property>
<property name="screen" writable="1">
<type name="Gdk.Screen" c:type="GdkScreen"/>
</property>
<field name="parent_instance">
<type name="Gio.MountOperation" c:type="GMountOperation"/>
</field>
<field name="priv">
<type name="MountOperationPrivate" c:type="GtkMountOperationPrivate*"/>
</field>
</class>
<record name="MountOperationClass"
c:type="GtkMountOperationClass"
glib:is-gtype-struct-for="MountOperation">
<field name="parent_class">
<type name="Gio.MountOperationClass" c:type="GMountOperationClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="MountOperationPrivate" c:type="GtkMountOperationPrivate">
</record>
<enumeration name="MovementStep"
glib:type-name="GtkMovementStep"
glib:get-type="gtk_movement_step_get_type"
c:type="GtkMovementStep">
<member name="logical_positions"
value="0"
c:identifier="GTK_MOVEMENT_LOGICAL_POSITIONS"
glib:nick="logical-positions"/>
<member name="visual_positions"
value="1"
c:identifier="GTK_MOVEMENT_VISUAL_POSITIONS"
glib:nick="visual-positions"/>
<member name="words"
value="2"
c:identifier="GTK_MOVEMENT_WORDS"
glib:nick="words"/>
<member name="display_lines"
value="3"
c:identifier="GTK_MOVEMENT_DISPLAY_LINES"
glib:nick="display-lines"/>
<member name="display_line_ends"
value="4"
c:identifier="GTK_MOVEMENT_DISPLAY_LINE_ENDS"
glib:nick="display-line-ends"/>
<member name="paragraphs"
value="5"
c:identifier="GTK_MOVEMENT_PARAGRAPHS"
glib:nick="paragraphs"/>
<member name="paragraph_ends"
value="6"
c:identifier="GTK_MOVEMENT_PARAGRAPH_ENDS"
glib:nick="paragraph-ends"/>
<member name="pages"
value="7"
c:identifier="GTK_MOVEMENT_PAGES"
glib:nick="pages"/>
<member name="buffer_ends"
value="8"
c:identifier="GTK_MOVEMENT_BUFFER_ENDS"
glib:nick="buffer-ends"/>
<member name="horizontal_pages"
value="9"
c:identifier="GTK_MOVEMENT_HORIZONTAL_PAGES"
glib:nick="horizontal-pages"/>
</enumeration>
<class name="Notebook"
c:type="GtkNotebook"
parent="Container"
glib:type-name="GtkNotebook"
glib:get-type="gtk_notebook_get_type"
glib:type-struct="NotebookClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_notebook_new"
doc="Creates a new #GtkNotebook widget with no pages.">
<return-value transfer-ownership="full">
<type name="Notebook" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="set_window_creation_hook"
c:identifier="gtk_notebook_set_window_creation_hook"
doc="Installs a global function used to create a window
when a detached tab is dropped in an empty area."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
allow-none="1"
scope="notified"
closure="1"
destroy="2"
doc="the #GtkNotebookWindowCreationFunc, or %NULL">
<type name="NotebookWindowCreationFunc"
c:type="GtkNotebookWindowCreationFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier for @data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<virtual-method name="insert_page">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu_label" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="append_page"
c:identifier="gtk_notebook_append_page"
doc="or %NULL to use the default label, &apos;page N&apos;.
Appends a page to @notebook.
page in the notebook, or -1 if function fails">
<return-value transfer-ownership="none" doc="of the appended">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label"
transfer-ownership="none"
allow-none="1"
doc="the #GtkWidget to be used as the label for the page,">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="append_page_menu"
c:identifier="gtk_notebook_append_page_menu"
doc="or %NULL to use the default label, &apos;page N&apos;.
menu, if that is enabled. If %NULL, and @tab_label
is a #GtkLabel or %NULL, then the menu label will be
a newly created label with the same text as @tab_label;
If @tab_label is not a #GtkLabel, @menu_label must be
specified if the page-switch menu is to be used.
Appends a page to @notebook, specifying the widget to use as the
label in the popup menu.
page in the notebook, or -1 if function fails">
<return-value transfer-ownership="none" doc="of the appended">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label"
transfer-ownership="none"
allow-none="1"
doc="the #GtkWidget to be used as the label for the page,">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu_label"
transfer-ownership="none"
allow-none="1"
doc="the widget to use as a label for the page-switch">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="prepend_page"
c:identifier="gtk_notebook_prepend_page"
doc="or %NULL to use the default label, &apos;page N&apos;.
Prepends a page to @notebook.
page in the notebook, or -1 if function fails">
<return-value transfer-ownership="none" doc="of the prepended">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label"
transfer-ownership="none"
allow-none="1"
doc="the #GtkWidget to be used as the label for the page,">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="prepend_page_menu"
c:identifier="gtk_notebook_prepend_page_menu"
doc="or %NULL to use the default label, &apos;page N&apos;.
menu, if that is enabled. If %NULL, and @tab_label
is a #GtkLabel or %NULL, then the menu label will be
a newly created label with the same text as @tab_label;
If @tab_label is not a #GtkLabel, @menu_label must be
specified if the page-switch menu is to be used.
Prepends a page to @notebook, specifying the widget to use as the
label in the popup menu.
page in the notebook, or -1 if function fails">
<return-value transfer-ownership="none" doc="of the prepended">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label"
transfer-ownership="none"
allow-none="1"
doc="the #GtkWidget to be used as the label for the page,">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu_label"
transfer-ownership="none"
allow-none="1"
doc="the widget to use as a label for the page-switch">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="insert_page"
c:identifier="gtk_notebook_insert_page"
doc="or %NULL to use the default label, &apos;page N&apos;.
or -1 to append the page after all other pages.
Insert a page into @notebook at the given position.
page in the notebook, or -1 if function fails">
<return-value transfer-ownership="none" doc="of the inserted">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label"
transfer-ownership="none"
allow-none="1"
doc="the #GtkWidget to be used as the label for the page,">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position"
transfer-ownership="none"
doc="at which to insert the page,">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert_page_menu"
c:identifier="gtk_notebook_insert_page_menu"
doc="or %NULL to use the default label, &apos;page N&apos;.
menu, if that is enabled. If %NULL, and @tab_label
is a #GtkLabel or %NULL, then the menu label will be
a newly created label with the same text as @tab_label;
If @tab_label is not a #GtkLabel, @menu_label must be
specified if the page-switch menu is to be used.
or -1 to append the page after all other pages.
Insert a page into @notebook at the given position, specifying
the widget to use as the label in the popup menu.
page in the notebook">
<return-value transfer-ownership="none" doc="of the inserted">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label"
transfer-ownership="none"
allow-none="1"
doc="the #GtkWidget to be used as the label for the page,">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu_label"
transfer-ownership="none"
allow-none="1"
doc="the widget to use as a label for the page-switch">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position"
transfer-ownership="none"
doc="at which to insert the page,">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="remove_page"
c:identifier="gtk_notebook_remove_page"
doc="from 0. If -1, the last page will
be removed.
Removes a page from the notebook given its index
in the notebook.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_num" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_group_id"
c:identifier="gtk_notebook_set_group_id"
doc="Sets an group identificator for @notebook, notebooks sharing
the same group identificator will be able to exchange tabs
via drag and drop. A notebook with group identificator -1 will
not be able to exchange tabs with any other notebook."
version="2.10"
deprecated="use gtk_notebook_set_group() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_group_id"
c:identifier="gtk_notebook_get_group_id"
doc="Gets the current group identificator for @notebook."
version="2.10"
deprecated="use gtk_notebook_get_group() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_group"
c:identifier="gtk_notebook_set_group"
doc="Sets a group identificator pointer for @notebook, notebooks sharing
the same group identificator pointer will be able to exchange tabs
via drag and drop. A notebook with a %NULL group identificator will
not be able to exchange tabs with any other notebook."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group"
transfer-ownership="none"
allow-none="1"
doc="a pointer to identify the notebook group, or %NULL to unset it">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_group"
c:identifier="gtk_notebook_get_group"
doc="Gets the current group identificator pointer for @notebook."
version="2.12">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="get_current_page"
c:identifier="gtk_notebook_get_current_page"
doc="Returns the page number of the current page.
page in the notebook. If the notebook has no pages, then
-1 will be returned.">
<return-value transfer-ownership="none" doc="of the current">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_nth_page"
c:identifier="gtk_notebook_get_nth_page"
doc="to get the last page.
Returns the child widget contained in page number @page_num.
out of bounds.">
<return-value transfer-ownership="none"
doc="the child widget, or %NULL if @page_num is">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="page_num" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_n_pages"
c:identifier="gtk_notebook_get_n_pages"
doc="Gets the number of pages in a notebook."
version="2.2">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="page_num"
c:identifier="gtk_notebook_page_num"
doc="Finds the index of the page which contains the given child
widget.
-1 if @child is not in the notebook.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_current_page"
c:identifier="gtk_notebook_set_current_page"
doc="If negative, the last page will be used. If greater
than the number of pages in the notebook, nothing
will be done.
Switches to the page number @page_num.
Note that due to historical reasons, GtkNotebook refuses
to switch to a page unless the child widget is visible.
Therefore, it is recommended to show child widgets before
adding them to a notebook.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_num" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="next_page"
c:identifier="gtk_notebook_next_page"
doc="Switches to the next page. Nothing happens if the current page is
the last page.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="prev_page"
c:identifier="gtk_notebook_prev_page"
doc="Switches to the previous page. Nothing happens if the current page
is the first page.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_show_border"
c:identifier="gtk_notebook_set_show_border"
doc="Sets whether a bevel will be drawn around the notebook pages.
This only has a visual effect when the tabs are not shown.
See gtk_notebook_set_show_tabs().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_border" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_border"
c:identifier="gtk_notebook_get_show_border"
doc="Returns whether a bevel will be drawn around the notebook pages. See
gtk_notebook_set_show_border().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_tabs"
c:identifier="gtk_notebook_set_show_tabs"
doc="Sets whether to show the tabs for the notebook or not.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_tabs" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_tabs"
c:identifier="gtk_notebook_get_show_tabs"
doc="Returns whether the tabs of the notebook are shown. See
gtk_notebook_set_show_tabs().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_tab_pos"
c:identifier="gtk_notebook_set_tab_pos"
doc="Sets the edge at which the tabs for switching pages in the
notebook are drawn.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pos" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</method>
<method name="get_tab_pos"
c:identifier="gtk_notebook_get_tab_pos"
doc="Gets the edge at which the tabs for switching pages in the
notebook are drawn.">
<return-value transfer-ownership="full">
<type name="PositionType" c:type="GtkPositionType"/>
</return-value>
</method>
<method name="set_homogeneous_tabs"
c:identifier="gtk_notebook_set_homogeneous_tabs"
doc="Sets whether the tabs must have all the same size or not.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="homogeneous" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_tab_border"
c:identifier="gtk_notebook_set_tab_border"
doc="Sets the width the border around the tab labels
in a notebook. This is equivalent to calling
gtk_notebook_set_tab_hborder (@notebook, @border_width) followed
by gtk_notebook_set_tab_vborder (@notebook, @border_width).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="border_width" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_tab_hborder"
c:identifier="gtk_notebook_set_tab_hborder"
doc="Sets the width of the horizontal border of tab labels.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tab_hborder" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_tab_vborder"
c:identifier="gtk_notebook_set_tab_vborder"
doc="Sets the width of the vertical border of tab labels.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tab_vborder" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_scrollable"
c:identifier="gtk_notebook_set_scrollable"
doc="Sets whether the tab label area will have arrows for scrolling if
there are too many tabs to fit in the area.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scrollable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_scrollable"
c:identifier="gtk_notebook_get_scrollable"
doc="Returns whether the tab label area has arrows for scrolling. See
gtk_notebook_set_scrollable().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="popup_enable"
c:identifier="gtk_notebook_popup_enable"
doc="the tab labels, a menu with all the pages will be popped up.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="popup_disable"
c:identifier="gtk_notebook_popup_disable"
doc="Disables the popup menu.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_tab_label"
c:identifier="gtk_notebook_get_tab_label"
doc="Returns the tab label widget for the page @child. %NULL is returned
if @child is not in @notebook or if no tab label has specifically
been set for @child.">
<return-value transfer-ownership="none" doc="the tab label">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_tab_label"
c:identifier="gtk_notebook_set_tab_label"
doc="label.
Changes the tab label for @child. If %NULL is specified
for @tab_label, then the page will have the label &apos;page N&apos;.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label"
transfer-ownership="none"
allow-none="1"
doc="the tab label widget to use, or %NULL for default tab">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_tab_label_text"
c:identifier="gtk_notebook_set_tab_label_text"
doc="Creates a new label and sets it as the tab label for the page
containing @child.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_tab_label_text"
c:identifier="gtk_notebook_get_tab_label_text"
doc="Retrieves the text of the tab label for the page containing
tab label widget is not a #GtkLabel. The
string is owned by the widget and must not
be freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_menu_label"
c:identifier="gtk_notebook_get_menu_label"
doc="Retrieves the menu label widget of the page containing @child.
notebook page does not have a menu label other
than the default (the tab label).">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_menu_label"
c:identifier="gtk_notebook_set_menu_label"
doc="Changes the menu label for the page containing @child.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu_label"
transfer-ownership="none"
allow-none="1"
doc="the menu label, or NULL for default">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_menu_label_text"
c:identifier="gtk_notebook_set_menu_label_text"
doc="Creates a new label and sets it as the menu label of @child.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_menu_label_text"
c:identifier="gtk_notebook_get_menu_label_text"
doc="Retrieves the text of the menu label for the page containing
widget does not have a menu label other than
the default menu label, or the menu label widget
is not a #GtkLabel. The string is owned by
the widget and must not be freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="query_tab_label_packing"
c:identifier="gtk_notebook_query_tab_label_packing"
doc="Query the packing attributes for the tab label of the page
containing @child.
#GtkNotebook:tab-fill child properties instead."
deprecated="Modify the #GtkNotebook:tab-expand and"
deprecated-version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="expand" direction="out" transfer-ownership="full">
<type name="boolean" c:type="gboolean*"/>
</parameter>
<parameter name="fill" direction="out" transfer-ownership="full">
<type name="boolean" c:type="gboolean*"/>
</parameter>
<parameter name="pack_type" transfer-ownership="none">
<type name="PackType" c:type="GtkPackType*"/>
</parameter>
</parameters>
</method>
<method name="set_tab_label_packing"
c:identifier="gtk_notebook_set_tab_label_packing"
doc="Sets the packing parameters for the tab label of the page
containing @child. See gtk_box_pack_start() for the exact meaning
of the parameters.
#GtkNotebook:tab-fill child properties instead.
Modifying the packing of the tab label is a deprecated feature and
shouldn&apos;t be done anymore."
deprecated="Modify the #GtkNotebook:tab-expand and"
deprecated-version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="pack_type" transfer-ownership="none">
<type name="PackType" c:type="GtkPackType"/>
</parameter>
</parameters>
</method>
<method name="reorder_child"
c:identifier="gtk_notebook_reorder_child"
doc="Reorders the page containing @child, so that it appears in position
children in the list or negative, @child will be moved to the end
of the list.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_tab_reorderable"
c:identifier="gtk_notebook_get_tab_reorderable"
doc="Gets whether the tab can be reordered via drag and drop or not."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_tab_reorderable"
c:identifier="gtk_notebook_set_tab_reorderable"
doc="Sets whether the notebook tab can be reordered
via drag and drop or not."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="reorderable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_tab_detachable"
c:identifier="gtk_notebook_get_tab_detachable"
doc="Returns whether the tab contents can be detached from @notebook."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_tab_detachable"
c:identifier="gtk_notebook_set_tab_detachable"
doc="Sets whether the tab can be detached from @notebook to another
notebook or widget.
Note that 2 notebooks must share a common group identificator
(see gtk_notebook_set_group_id ()) to allow automatic tabs
interchange between them.
If you want a widget to interact with a notebook through DnD
destination and accept the target &quot;GTK_NOTEBOOK_TAB&quot;. The notebook
will fill the selection with a GtkWidget** pointing to the child
widget that corresponds to the dropped tab.
|[
static void
on_drop_zone_drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection_data,
guint info,
guint time,
gpointer user_data)
{
GtkWidget *notebook;
GtkWidget **child;
notebook = gtk_drag_get_source_widget (context);
child = (void*) selection_data-&gt;data;
process_widget (*child);
gtk_container_remove (GTK_CONTAINER (notebook), *child);
}
]|
If you want a notebook to accept drags from other widgets,
you will have to set your own DnD code to do it."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detachable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_action_widget"
c:identifier="gtk_notebook_get_action_widget"
doc="Gets one of the action widgets. See gtk_notebook_set_action_widget().
%NULL when this action widget has not been set"
version="2.20">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="pack_type" transfer-ownership="none">
<type name="PackType" c:type="GtkPackType"/>
</parameter>
</parameters>
</method>
<method name="set_action_widget"
c:identifier="gtk_notebook_set_action_widget"
doc="Sets @widget as one of the action widgets. Depending on the pack type
the widget will be placed before or after the tabs. You can use
a #GtkBox if you need to pack more than one widget on the same side.
Note that action widgets are &quot;internal&quot; children of the notebook and thus
not included in the list returned from gtk_container_foreach()."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="pack_type" transfer-ownership="none">
<type name="PackType" c:type="GtkPackType"/>
</parameter>
</parameters>
</method>
<property name="enable-popup" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="group"
version="2.12"
writable="1"
doc="Group for tabs drag and drop.">
<type name="any" c:type="gpointer"/>
</property>
<property name="group-id" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="homogeneous" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="page" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="scrollable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-border" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-tabs" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="tab-border" readable="0" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="tab-hborder" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="tab-pos" writable="1">
<type name="PositionType" c:type="GtkPositionType"/>
</property>
<property name="tab-vborder" writable="1">
<type name="uint" c:type="guint"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="cur_page">
<type name="NotebookPage" c:type="GtkNotebookPage*"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="first_tab">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="focus_tab">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="menu">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="event_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="timer">
<type name="uint32" c:type="guint32"/>
</field>
<field name="tab_hborder">
<type name="uint16" c:type="guint16"/>
</field>
<field name="tab_vborder">
<type name="uint16" c:type="guint16"/>
</field>
<field name="show_tabs" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="homogeneous" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="show_border" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="tab_pos" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="scrollable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_child" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="click_child" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="button" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="need_timer" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="child_has_focus" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="have_visible_child" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="focus_out" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_before_previous" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_before_next" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_after_previous" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_after_next" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="change-current-page">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="create-window"
doc="The ::create-window signal is emitted when a detachable
tab is dropped on the root window.
A handler for this signal can create a window containing
a notebook where the tab will be attached. It is also
responsible for moving/resizing the window and adding the
necessary properties to the notebook (e.g. the
#GtkNotebook:group-id ).
The default handler uses the global window creation hook,
if one has been set with gtk_notebook_set_window_creation_hook()."
version="2.12">
<return-value transfer-ownership="full">
<type name="Notebook" c:type="GtkNotebook"/>
</return-value>
<parameters>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="focus-tab">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="NotebookTab" c:type="GtkNotebookTab"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-focus-out">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="page-added"
doc="the ::page-added signal is emitted in the notebook
right after a page is added to the notebook."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
<parameter name="page_num" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="page-removed"
doc="the ::page-removed signal is emitted in the notebook
right after a page is removed from the notebook."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
<parameter name="page_num" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="page-reordered"
doc="the ::page-reordered signal is emitted in the notebook
right after a page has been reordered."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
<parameter name="page_num" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="reorder-tab">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="select-page">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="switch-page">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="NotebookClass"
c:type="GtkNotebookClass"
glib:is-gtype-struct-for="Notebook">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="switch_page">
<callback name="switch_page" c:type="switch_page">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="page" transfer-ownership="none">
<type name="NotebookPage" c:type="GtkNotebookPage*"/>
</parameter>
<parameter name="page_num" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_page">
<callback name="select_page" c:type="select_page">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="move_focus" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_tab">
<callback name="focus_tab" c:type="focus_tab">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="NotebookTab" c:type="GtkNotebookTab"/>
</parameter>
</parameters>
</callback>
</field>
<field name="change_current_page">
<callback name="change_current_page" c:type="change_current_page">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_focus_out">
<callback name="move_focus_out" c:type="move_focus_out">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reorder_tab">
<callback name="reorder_tab" c:type="reorder_tab">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
<parameter name="move_to_last" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_page">
<callback name="insert_page" c:type="insert_page">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tab_label" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="menu_label" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_window">
<callback name="create_window" c:type="create_window">
<return-value transfer-ownership="full">
<type name="Notebook" c:type="GtkNotebook*"/>
</return-value>
<parameters>
<parameter name="notebook" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="NotebookPage" c:type="GtkNotebookPage">
</record>
<enumeration name="NotebookTab"
glib:type-name="GtkNotebookTab"
glib:get-type="gtk_notebook_tab_get_type"
c:type="GtkNotebookTab">
<member name="first"
value="0"
c:identifier="GTK_NOTEBOOK_TAB_FIRST"
glib:nick="first"/>
<member name="last"
value="1"
c:identifier="GTK_NOTEBOOK_TAB_LAST"
glib:nick="last"/>
</enumeration>
<callback name="NotebookWindowCreationFunc"
c:type="GtkNotebookWindowCreationFunc">
<return-value transfer-ownership="full">
<type name="Notebook" c:type="GtkNotebook*"/>
</return-value>
<parameters>
<parameter name="source" transfer-ownership="none">
<type name="Notebook" c:type="GtkNotebook*"/>
</parameter>
<parameter name="page" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="NumberUpLayout"
glib:type-name="GtkNumberUpLayout"
glib:get-type="gtk_number_up_layout_get_type"
c:type="GtkNumberUpLayout">
<member name="lrtb"
value="0"
c:identifier="GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM"
glib:nick="lrtb"/>
<member name="lrbt"
value="1"
c:identifier="GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP"
glib:nick="lrbt"/>
<member name="rltb"
value="2"
c:identifier="GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM"
glib:nick="rltb"/>
<member name="rlbt"
value="3"
c:identifier="GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP"
glib:nick="rlbt"/>
<member name="tblr"
value="4"
c:identifier="GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT"
glib:nick="tblr"/>
<member name="tbrl"
value="5"
c:identifier="GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT"
glib:nick="tbrl"/>
<member name="btlr"
value="6"
c:identifier="GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT"
glib:nick="btlr"/>
<member name="btrl"
value="7"
c:identifier="GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT"
glib:nick="btrl"/>
</enumeration>
<class name="Object"
c:type="GtkObject"
parent="GObject.InitiallyUnowned"
abstract="1"
glib:type-name="GtkObject"
glib:get-type="gtk_object_get_type"
glib:type-struct="ObjectClass">
<constructor name="new" c:identifier="gtk_object_new">
<return-value transfer-ownership="full">
<type name="Object" c:type="GtkObject*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<function name="add_arg_type" c:identifier="gtk_object_add_arg_type">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="arg_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="arg_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="arg_flags" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="arg_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<virtual-method name="set_arg">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="arg" transfer-ownership="none">
<type name="Arg" c:type="GtkArg*"/>
</parameter>
<parameter name="arg_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_arg">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="arg" transfer-ownership="none">
<type name="Arg" c:type="GtkArg*"/>
</parameter>
<parameter name="arg_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<method name="sink" c:identifier="gtk_object_sink">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="destroy" c:identifier="gtk_object_destroy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ref" c:identifier="gtk_object_ref">
<return-value transfer-ownership="full">
<type name="Object" c:type="GtkObject*"/>
</return-value>
</method>
<method name="unref" c:identifier="gtk_object_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="weakref" c:identifier="gtk_object_weakref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify"
transfer-ownership="none"
scope="call"
closure="2">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="weakunref" c:identifier="gtk_object_weakunref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="notify"
transfer-ownership="none"
scope="call"
closure="2">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_data" c:identifier="gtk_object_set_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_data_full" c:identifier="gtk_object_set_data_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="remove_data" c:identifier="gtk_object_remove_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_data" c:identifier="gtk_object_get_data">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="remove_no_notify"
c:identifier="gtk_object_remove_no_notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_user_data" c:identifier="gtk_object_set_user_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_user_data" c:identifier="gtk_object_get_user_data">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="set_data_by_id" c:identifier="gtk_object_set_data_by_id">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data_id" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_data_by_id_full"
c:identifier="gtk_object_set_data_by_id_full">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data_id" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_data_by_id" c:identifier="gtk_object_get_data_by_id">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="data_id" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="remove_data_by_id"
c:identifier="gtk_object_remove_data_by_id">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data_id" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="remove_no_notify_by_id"
c:identifier="gtk_object_remove_no_notify_by_id">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key_id" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="get" c:identifier="gtk_object_get">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set" c:identifier="gtk_object_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<property name="user-data" writable="1">
<type name="any" c:type="gpointer"/>
</property>
<field name="parent_instance">
<type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
</field>
<field name="flags">
<type name="uint32" c:type="guint32"/>
</field>
<glib:signal name="destroy">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ObjectClass"
c:type="GtkObjectClass"
glib:is-gtype-struct-for="Object">
<field name="parent_class">
<type name="GObject.InitiallyUnownedClass"
c:type="GInitiallyUnownedClass"/>
</field>
<field name="set_arg">
<callback name="set_arg" c:type="set_arg">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="arg" transfer-ownership="none">
<type name="Arg" c:type="GtkArg*"/>
</parameter>
<parameter name="arg_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_arg">
<callback name="get_arg" c:type="get_arg">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="arg" transfer-ownership="none">
<type name="Arg" c:type="GtkArg*"/>
</parameter>
<parameter name="arg_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="destroy">
<callback name="destroy" c:type="destroy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<bitfield name="ObjectFlags"
glib:type-name="GtkObjectFlags"
glib:get-type="gtk_object_flags_get_type"
c:type="GtkObjectFlags">
<member name="in_destruction"
value="1"
c:identifier="GTK_IN_DESTRUCTION"
glib:nick="in-destruction"/>
<member name="floating"
value="2"
c:identifier="GTK_FLOATING"
glib:nick="floating"/>
<member name="reserved_1"
value="4"
c:identifier="GTK_RESERVED_1"
glib:nick="reserved-1"/>
<member name="reserved_2"
value="8"
c:identifier="GTK_RESERVED_2"
glib:nick="reserved-2"/>
</bitfield>
<class name="OffscreenWindow"
c:type="GtkOffscreenWindow"
parent="Window"
glib:type-name="GtkOffscreenWindow"
glib:get-type="gtk_offscreen_window_get_type"
glib:type-struct="OffscreenWindowClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_offscreen_window_new"
doc="Creates a toplevel container widget that is used to retrieve
snapshots of widgets without showing them on the screen. For
widgets that are on the screen and part of a normal widget
hierarchy, gtk_widget_get_snapshot() can be used instead."
version="2.20">
<return-value transfer-ownership="full">
<type name="OffscreenWindow" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_pixmap"
c:identifier="gtk_offscreen_window_get_pixmap"
doc="Retrieves a snapshot of the contained widget in the form of
a #GdkPixmap. If you need to keep this around over window
resizes then you should add a reference to it."
version="2.20">
<return-value transfer-ownership="full">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</return-value>
</method>
<method name="get_pixbuf"
c:identifier="gtk_offscreen_window_get_pixbuf"
doc="Retrieves a snapshot of the contained widget in the form of
a #GdkPixbuf. This is a new pixbuf with a reference count of 1,
and the application should unreference it once it is no longer
needed."
version="2.20">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<field name="parent_object">
<type name="Window" c:type="GtkWindow"/>
</field>
</class>
<record name="OffscreenWindowClass"
c:type="GtkOffscreenWindowClass"
glib:is-gtype-struct-for="OffscreenWindow">
<field name="parent_class">
<type name="WindowClass" c:type="GtkWindowClass"/>
</field>
</record>
<class name="OldEditable"
c:type="GtkOldEditable"
parent="Widget"
abstract="1"
glib:type-name="GtkOldEditable"
glib:get-type="gtk_old_editable_get_type"
glib:type-struct="OldEditableClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Editable"/>
<virtual-method name="update_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_chars">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_position">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="claim_selection"
c:identifier="gtk_old_editable_claim_selection"
doc="up ownership
Claims or gives up ownership of the selection.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="claim" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="changed"
c:identifier="gtk_old_editable_changed"
doc="Emits the ::changed signal on @old_editable.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="editable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="text-position" writable="1">
<type name="int" c:type="gint"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="current_pos">
<type name="uint" c:type="guint"/>
</field>
<field name="selection_start_pos">
<type name="uint" c:type="guint"/>
</field>
<field name="selection_end_pos">
<type name="uint" c:type="guint"/>
</field>
<field name="has_selection" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="editable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="clipboard_text">
<type name="utf8" c:type="gchar*"/>
</field>
<glib:signal name="activate">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="copy-clipboard">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cut-clipboard">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="kill-char">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="kill-line">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="kill-word">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-cursor">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-page">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-to-column">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-to-row">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-word">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="paste-clipboard">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="set-editable">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="OldEditableClass"
c:type="GtkOldEditableClass"
glib:is-gtype-struct-for="OldEditable">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_editable">
<callback name="set_editable" c:type="set_editable">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="is_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_cursor">
<callback name="move_cursor" c:type="move_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_word">
<callback name="move_word" c:type="move_word">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="n" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_page">
<callback name="move_page" c:type="move_page">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_to_row">
<callback name="move_to_row" c:type="move_to_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_to_column">
<callback name="move_to_column" c:type="move_to_column">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="row" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="kill_char">
<callback name="kill_char" c:type="kill_char">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="kill_word">
<callback name="kill_word" c:type="kill_word">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="kill_line">
<callback name="kill_line" c:type="kill_line">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cut_clipboard">
<callback name="cut_clipboard" c:type="cut_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="copy_clipboard">
<callback name="copy_clipboard" c:type="copy_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="paste_clipboard">
<callback name="paste_clipboard" c:type="paste_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update_text">
<callback name="update_text" c:type="update_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_chars">
<callback name="get_chars" c:type="get_chars">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_selection">
<callback name="set_selection" c:type="set_selection">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="start_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="end_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_position">
<callback name="set_position" c:type="set_position">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="OptionMenu"
c:type="GtkOptionMenu"
parent="Button"
glib:type-name="GtkOptionMenu"
glib:get-type="gtk_option_menu_get_type"
glib:type-struct="OptionMenuClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_option_menu_new">
<return-value transfer-ownership="full">
<type name="OptionMenu" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_menu" c:identifier="gtk_option_menu_get_menu">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_menu" c:identifier="gtk_option_menu_set_menu">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="remove_menu" c:identifier="gtk_option_menu_remove_menu">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_history"
c:identifier="gtk_option_menu_get_history"
doc="Retrieves the index of the currently selected menu item. The menu
items are numbered from top to bottom, starting with 0."
deprecated="Use #GtkComboBox instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_history" c:identifier="gtk_option_menu_set_history">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<property name="menu" writable="1">
<type name="Menu" c:type="GtkMenu"/>
</property>
<field name="button">
<type name="Button" c:type="GtkButton"/>
</field>
<field name="menu">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="menu_item">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="width">
<type name="uint16" c:type="guint16"/>
</field>
<field name="height">
<type name="uint16" c:type="guint16"/>
</field>
<glib:signal name="changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="OptionMenuClass"
c:type="GtkOptionMenuClass"
glib:is-gtype-struct-for="OptionMenu">
<field name="parent_class">
<type name="ButtonClass" c:type="GtkButtonClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="option_menu" transfer-ownership="none">
<type name="OptionMenu" c:type="GtkOptionMenu*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<interface name="Orientable"
c:type="GtkOrientable"
glib:type-name="GtkOrientable"
glib:get-type="gtk_orientable_get_type"
glib:type-struct="OrientableIface">
<method name="set_orientation"
c:identifier="gtk_orientable_set_orientation"
doc="Sets the orientation of the @orientable."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</method>
<method name="get_orientation"
c:identifier="gtk_orientable_get_orientation"
doc="Retrieves the orientation of the @orientable."
version="2.16">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<property name="orientation"
version="2.16"
writable="1"
doc="The orientation of the orientable.">
<type name="Orientation" c:type="GtkOrientation"/>
</property>
</interface>
<record name="OrientableIface"
c:type="GtkOrientableIface"
glib:is-gtype-struct-for="Orientable">
<field name="base_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
</record>
<enumeration name="Orientation"
glib:type-name="GtkOrientation"
glib:get-type="gtk_orientation_get_type"
c:type="GtkOrientation">
<member name="horizontal"
value="0"
c:identifier="GTK_ORIENTATION_HORIZONTAL"
glib:nick="horizontal"/>
<member name="vertical"
value="1"
c:identifier="GTK_ORIENTATION_VERTICAL"
glib:nick="vertical"/>
</enumeration>
<constant name="PAPER_NAME_A3" value="iso_a3">
<type name="utf8"/>
</constant>
<constant name="PAPER_NAME_A4" value="iso_a4">
<type name="utf8"/>
</constant>
<constant name="PAPER_NAME_A5" value="iso_a5">
<type name="utf8"/>
</constant>
<constant name="PAPER_NAME_B5" value="iso_b5">
<type name="utf8"/>
</constant>
<constant name="PAPER_NAME_EXECUTIVE" value="na_executive">
<type name="utf8"/>
</constant>
<constant name="PAPER_NAME_LEGAL" value="na_legal">
<type name="utf8"/>
</constant>
<constant name="PAPER_NAME_LETTER" value="na_letter">
<type name="utf8"/>
</constant>
<constant name="PARAM_READABLE" value="0">
<type name="int"/>
</constant>
<constant name="PARAM_READWRITE" value="0">
<type name="int"/>
</constant>
<constant name="PARAM_WRITABLE" value="0">
<type name="int"/>
</constant>
<constant name="PATH_PRIO_MASK" value="15">
<type name="int"/>
</constant>
<constant name="PRINT_SETTINGS_COLLATE" value="collate">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_DEFAULT_SOURCE" value="default-source">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_DITHER" value="dither">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_DUPLEX" value="duplex">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_FINISHINGS" value="finishings">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_MEDIA_TYPE" value="media-type">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_NUMBER_UP" value="number-up">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_NUMBER_UP_LAYOUT" value="number-up-layout">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_N_COPIES" value="n-copies">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_ORIENTATION" value="orientation">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_OUTPUT_BIN" value="output-bin">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_OUTPUT_FILE_FORMAT"
value="output-file-format">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_OUTPUT_URI" value="output-uri">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PAGE_RANGES" value="page-ranges">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PAGE_SET" value="page-set">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PAPER_FORMAT" value="paper-format">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PAPER_HEIGHT" value="paper-height">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PAPER_WIDTH" value="paper-width">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PRINTER" value="printer">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PRINTER_LPI" value="printer-lpi">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_PRINT_PAGES" value="print-pages">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_QUALITY" value="quality">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_RESOLUTION" value="resolution">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_RESOLUTION_X" value="resolution-x">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_RESOLUTION_Y" value="resolution-y">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_REVERSE" value="reverse">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_SCALE" value="scale">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_USE_COLOR" value="use-color">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_WIN32_DRIVER_EXTRA"
value="win32-driver-extra">
<type name="utf8"/>
</constant>
<constant name="PRINT_SETTINGS_WIN32_DRIVER_VERSION"
value="win32-driver-version">
<type name="utf8"/>
</constant>
<constant name="PRIORITY_REDRAW" value="20">
<type name="int"/>
</constant>
<constant name="PRIORITY_RESIZE" value="10">
<type name="int"/>
</constant>
<enumeration name="PackDirection"
glib:type-name="GtkPackDirection"
glib:get-type="gtk_pack_direction_get_type"
c:type="GtkPackDirection">
<member name="ltr"
value="0"
c:identifier="GTK_PACK_DIRECTION_LTR"
glib:nick="ltr"/>
<member name="rtl"
value="1"
c:identifier="GTK_PACK_DIRECTION_RTL"
glib:nick="rtl"/>
<member name="ttb"
value="2"
c:identifier="GTK_PACK_DIRECTION_TTB"
glib:nick="ttb"/>
<member name="btt"
value="3"
c:identifier="GTK_PACK_DIRECTION_BTT"
glib:nick="btt"/>
</enumeration>
<enumeration name="PackType"
glib:type-name="GtkPackType"
glib:get-type="gtk_pack_type_get_type"
c:type="GtkPackType">
<member name="start"
value="0"
c:identifier="GTK_PACK_START"
glib:nick="start"/>
<member name="end"
value="1"
c:identifier="GTK_PACK_END"
glib:nick="end"/>
</enumeration>
<enumeration name="PageOrientation"
glib:type-name="GtkPageOrientation"
glib:get-type="gtk_page_orientation_get_type"
c:type="GtkPageOrientation">
<member name="portrait"
value="0"
c:identifier="GTK_PAGE_ORIENTATION_PORTRAIT"
glib:nick="portrait"/>
<member name="landscape"
value="1"
c:identifier="GTK_PAGE_ORIENTATION_LANDSCAPE"
glib:nick="landscape"/>
<member name="reverse_portrait"
value="2"
c:identifier="GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT"
glib:nick="reverse-portrait"/>
<member name="reverse_landscape"
value="3"
c:identifier="GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE"
glib:nick="reverse-landscape"/>
</enumeration>
<record name="PageRange" c:type="GtkPageRange">
<field name="start" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="end" writable="1">
<type name="int" c:type="gint"/>
</field>
</record>
<enumeration name="PageSet"
glib:type-name="GtkPageSet"
glib:get-type="gtk_page_set_get_type"
c:type="GtkPageSet">
<member name="all"
value="0"
c:identifier="GTK_PAGE_SET_ALL"
glib:nick="all"/>
<member name="even"
value="1"
c:identifier="GTK_PAGE_SET_EVEN"
glib:nick="even"/>
<member name="odd"
value="2"
c:identifier="GTK_PAGE_SET_ODD"
glib:nick="odd"/>
</enumeration>
<class name="PageSetup"
c:type="GtkPageSetup"
parent="GObject.Object"
glib:type-name="GtkPageSetup"
glib:get-type="gtk_page_setup_get_type">
<constructor name="new"
c:identifier="gtk_page_setup_new"
doc="Creates a new #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</return-value>
</constructor>
<constructor name="new_from_file"
c:identifier="gtk_page_setup_new_from_file"
doc="Reads the page setup from the file @file_name. Returns a
new #GtkPageSetup object with the restored page setup,
or %NULL if an error occurred. See gtk_page_setup_to_file()."
version="2.12"
throws="1">
<return-value transfer-ownership="full">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_key_file"
c:identifier="gtk_page_setup_new_from_key_file"
doc="to use the default name &quot;Page Setup&quot;
Reads the page setup from the group @group_name in the key file
page setup, or %NULL if an error occurred."
version="2.12"
throws="1">
<return-value transfer-ownership="full">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name"
transfer-ownership="none"
allow-none="1"
doc="the name of the group in the key_file to read, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="copy"
c:identifier="gtk_page_setup_copy"
doc="Copies a #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</return-value>
</method>
<method name="get_orientation"
c:identifier="gtk_page_setup_get_orientation"
doc="Gets the page orientation of the #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageOrientation" c:type="GtkPageOrientation"/>
</return-value>
</method>
<method name="set_orientation"
c:identifier="gtk_page_setup_set_orientation"
doc="Sets the page orientation of the #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="PageOrientation" c:type="GtkPageOrientation"/>
</parameter>
</parameters>
</method>
<method name="get_paper_size"
c:identifier="gtk_page_setup_get_paper_size"
doc="Gets the paper size of the #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="full">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</return-value>
</method>
<method name="set_paper_size"
c:identifier="gtk_page_setup_set_paper_size"
doc="Sets the paper size of the #GtkPageSetup without
changing the margins. See
gtk_page_setup_set_paper_size_and_default_margins()."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="size" transfer-ownership="none">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</parameter>
</parameters>
</method>
<method name="get_top_margin"
c:identifier="gtk_page_setup_get_top_margin"
doc="Gets the top margin in units of @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_top_margin"
c:identifier="gtk_page_setup_set_top_margin"
doc="Sets the top margin of the #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="margin" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_bottom_margin"
c:identifier="gtk_page_setup_get_bottom_margin"
doc="Gets the bottom margin in units of @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_bottom_margin"
c:identifier="gtk_page_setup_set_bottom_margin"
doc="Sets the bottom margin of the #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="margin" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_left_margin"
c:identifier="gtk_page_setup_get_left_margin"
doc="Gets the left margin in units of @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_left_margin"
c:identifier="gtk_page_setup_set_left_margin"
doc="Sets the left margin of the #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="margin" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_right_margin"
c:identifier="gtk_page_setup_get_right_margin"
doc="Gets the right margin in units of @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_right_margin"
c:identifier="gtk_page_setup_set_right_margin"
doc="Sets the right margin of the #GtkPageSetup."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="margin" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_paper_size_and_default_margins"
c:identifier="gtk_page_setup_set_paper_size_and_default_margins"
doc="Sets the paper size of the #GtkPageSetup and modifies
the margins according to the new paper size."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="size" transfer-ownership="none">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</parameter>
</parameters>
</method>
<method name="get_paper_width"
c:identifier="gtk_page_setup_get_paper_width"
doc="Returns the paper width in units of @unit.
Note that this function takes orientation, but
not margins into consideration.
See gtk_page_setup_get_page_width()."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_paper_height"
c:identifier="gtk_page_setup_get_paper_height"
doc="Returns the paper height in units of @unit.
Note that this function takes orientation, but
not margins into consideration.
See gtk_page_setup_get_page_height()."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_page_width"
c:identifier="gtk_page_setup_get_page_width"
doc="Returns the page width in units of @unit.
Note that this function takes orientation and
margins into consideration.
See gtk_page_setup_get_paper_width()."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_page_height"
c:identifier="gtk_page_setup_get_page_height"
doc="Returns the page height in units of @unit.
Note that this function takes orientation and
margins into consideration.
See gtk_page_setup_get_paper_height()."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="load_file"
c:identifier="gtk_page_setup_load_file"
doc="Reads the page setup from the file @file_name.
See gtk_page_setup_to_file()."
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="to_file"
c:identifier="gtk_page_setup_to_file"
doc="This function saves the information from @setup to @file_name."
version="2.12"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="load_key_file"
c:identifier="gtk_page_setup_load_key_file"
doc="to use the default name &quot;Page Setup&quot;
Reads the page setup from the group @group_name in the key file"
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name"
transfer-ownership="none"
allow-none="1"
doc="the name of the group in the key_file to read, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="to_key_file"
c:identifier="gtk_page_setup_to_key_file"
doc="or %NULL to use the default name &quot;Page Setup&quot;
This function adds the page setup from @setup to @key_file."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
</class>
<callback name="PageSetupDoneFunc" c:type="GtkPageSetupDoneFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_setup" transfer-ownership="none">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="Paned"
c:type="GtkPaned"
parent="Container"
abstract="1"
glib:type-name="GtkPaned"
glib:get-type="gtk_paned_get_type"
glib:type-struct="PanedClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<method name="add1" c:identifier="gtk_paned_add1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="add2" c:identifier="gtk_paned_add2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="pack1" c:identifier="gtk_paned_pack1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="resize" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="shrink" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="pack2" c:identifier="gtk_paned_pack2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="resize" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="shrink" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_position"
c:identifier="gtk_paned_get_position"
doc="Obtains the position of the divider between the two panes.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_position"
c:identifier="gtk_paned_set_position"
doc="is unset.
Sets the position of the divider between the two panes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_child1"
c:identifier="gtk_paned_get_child1"
doc="Obtains the first child of the paned widget."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_child2"
c:identifier="gtk_paned_get_child2"
doc="Obtains the second child of the paned widget."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_handle_window"
c:identifier="gtk_paned_get_handle_window"
doc="Returns the #GdkWindow of the handle. This function is
useful when handling button or motion events because it
enables the callback to distinguish between the window
of the paned, a child and the handle."
version="2.20">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="compute_position"
c:identifier="gtk_paned_compute_position">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allocation" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="child1_req" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="child2_req" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="max-position"
version="2.4"
doc="The largest possible value for the position property. This property is derived from the
size and shrinkability of the widget&apos;s children.">
<type name="int" c:type="gint"/>
</property>
<property name="min-position"
version="2.4"
doc="The smallest possible value for the position property. This property is derived from the
size and shrinkability of the widget&apos;s children.">
<type name="int" c:type="gint"/>
</property>
<property name="position" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="position-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="child1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="child2">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="handle">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="xor_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="cursor_type">
<type name="Gdk.CursorType" c:type="GdkCursorType"/>
</field>
<field name="handle_pos">
<type name="Gdk.Rectangle" c:type="GdkRectangle"/>
</field>
<field name="child1_size">
<type name="int" c:type="gint"/>
</field>
<field name="last_allocation">
<type name="int" c:type="gint"/>
</field>
<field name="min_position">
<type name="int" c:type="gint"/>
</field>
<field name="max_position">
<type name="int" c:type="gint"/>
</field>
<field name="position_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_drag" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="child1_shrink" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="child1_resize" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="child2_shrink" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="child2_resize" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="orientation" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_recursion" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="handle_prelit" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="last_child1_focus">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="last_child2_focus">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="priv">
<type name="PanedPrivate" c:type="GtkPanedPrivate*"/>
</field>
<field name="drag_pos">
<type name="int" c:type="gint"/>
</field>
<field name="original_position">
<type name="int" c:type="gint"/>
</field>
<glib:signal name="accept-position"
doc="The ::accept-position signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to accept the current position of the handle when
moving it using key bindings.
The default binding for this signal is Return or Space."
version="2.0">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="cancel-position"
doc="The ::cancel-position signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cancel moving the position of the handle using key
bindings. The position of the handle will be reset to the value prior to
moving it.
The default binding for this signal is Escape."
version="2.0">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="cycle-child-focus"
doc="The ::cycle-child-focus signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cycle the focus between the children of the paned.
The default binding is f6."
version="2.0">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="reversed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="cycle-handle-focus"
doc="The ::cycle-handle-focus signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cycle whether the paned should grab focus to allow
the user to change position of the handle by using key bindings.
The default binding for this signal is f8."
version="2.0">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="reversed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-handle"
doc="The ::move-handle signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to move the handle when the user is using key bindings
to move it."
version="2.0">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="scroll_type" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="toggle-handle-focus"
doc="The ::toggle-handle-focus is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to accept the current position of the handle and then
move focus to the next widget in the focus chain.
The default binding is Tab."
version="2.0">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
</class>
<record name="PanedClass"
c:type="GtkPanedClass"
glib:is-gtype-struct-for="Paned">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="cycle_child_focus">
<callback name="cycle_child_focus" c:type="cycle_child_focus">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="paned" transfer-ownership="none">
<type name="Paned" c:type="GtkPaned*"/>
</parameter>
<parameter name="reverse" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_handle_focus">
<callback name="toggle_handle_focus" c:type="toggle_handle_focus">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="paned" transfer-ownership="none">
<type name="Paned" c:type="GtkPaned*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_handle">
<callback name="move_handle" c:type="move_handle">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="paned" transfer-ownership="none">
<type name="Paned" c:type="GtkPaned*"/>
</parameter>
<parameter name="scroll" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cycle_handle_focus">
<callback name="cycle_handle_focus" c:type="cycle_handle_focus">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="paned" transfer-ownership="none">
<type name="Paned" c:type="GtkPaned*"/>
</parameter>
<parameter name="reverse" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="accept_position">
<callback name="accept_position" c:type="accept_position">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="paned" transfer-ownership="none">
<type name="Paned" c:type="GtkPaned*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cancel_position">
<callback name="cancel_position" c:type="cancel_position">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="paned" transfer-ownership="none">
<type name="Paned" c:type="GtkPaned*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="PanedPrivate" c:type="GtkPanedPrivate">
</record>
<record name="PaperSize"
c:type="GtkPaperSize"
glib:type-name="GtkPaperSize"
glib:get-type="gtk_paper_size_get_type">
<constructor name="new"
c:identifier="gtk_paper_size_new"
doc="Creates a new #GtkPaperSize object by parsing a
&lt;ulink url=&quot;ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf&quot;&gt;PWG 5101.1-2002&lt;/ulink&gt;
paper name.
If @name is %NULL, the default paper size is returned,
see gtk_paper_size_get_default().
to free it"
version="2.10">
<return-value transfer-ownership="full">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</return-value>
<parameters>
<parameter name="name"
transfer-ownership="none"
allow-none="1"
doc="a paper size name, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_ppd"
c:identifier="gtk_paper_size_new_from_ppd"
doc="Creates a new #GtkPaperSize object by using
PPD information.
If @ppd_name is not a recognized PPD paper name,
construct a custom #GtkPaperSize object.
to free it"
version="2.10">
<return-value transfer-ownership="full">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</return-value>
<parameters>
<parameter name="ppd_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="ppd_display_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_custom"
c:identifier="gtk_paper_size_new_custom"
doc="Creates a new #GtkPaperSize object with the
given parameters.
to free it"
version="2.10">
<return-value transfer-ownership="full">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="display_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_key_file"
c:identifier="gtk_paper_size_new_from_key_file"
doc="or %NULL to read the first group
Reads a paper size from the group @group_name in the key file
paper size, or %NULL if an error occurred."
version="2.12"
throws="1">
<return-value transfer-ownership="full">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="copy"
c:identifier="gtk_paper_size_copy"
doc="Copies an existing #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="full">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_paper_size_free"
doc="Free the given #GtkPaperSize object."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="is_equal"
c:identifier="gtk_paper_size_is_equal"
doc="Compares two #GtkPaperSize objects.
represent the same paper size"
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="size2" transfer-ownership="none">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</parameter>
</parameters>
</method>
<method name="get_name"
c:identifier="gtk_paper_size_get_name"
doc="Gets the name of the #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_display_name"
c:identifier="gtk_paper_size_get_display_name"
doc="Gets the human-readable name of the #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_ppd_name"
c:identifier="gtk_paper_size_get_ppd_name"
doc="Gets the PPD name of the #GtkPaperSize, which
may be %NULL."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_width"
c:identifier="gtk_paper_size_get_width"
doc="Gets the paper width of the #GtkPaperSize, in
units of @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_height"
c:identifier="gtk_paper_size_get_height"
doc="Gets the paper height of the #GtkPaperSize, in
units of @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="is_custom"
c:identifier="gtk_paper_size_is_custom"
doc="Returns %TRUE if @size is not a standard paper size.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_size"
c:identifier="gtk_paper_size_set_size"
doc="Changes the dimensions of a @size to @width x @height."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_default_top_margin"
c:identifier="gtk_paper_size_get_default_top_margin"
doc="Gets the default top margin for the #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_default_bottom_margin"
c:identifier="gtk_paper_size_get_default_bottom_margin"
doc="Gets the default bottom margin for the #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_default_left_margin"
c:identifier="gtk_paper_size_get_default_left_margin"
doc="Gets the default left margin for the #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_default_right_margin"
c:identifier="gtk_paper_size_get_default_right_margin"
doc="Gets the default right margin for the #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="to_key_file"
c:identifier="gtk_paper_size_to_key_file"
doc="This function adds the paper size from @size to @key_file."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
</record>
<enumeration name="PathPriorityType"
glib:type-name="GtkPathPriorityType"
glib:get-type="gtk_path_priority_type_get_type"
c:type="GtkPathPriorityType">
<member name="lowest"
value="0"
c:identifier="GTK_PATH_PRIO_LOWEST"
glib:nick="lowest"/>
<member name="gtk"
value="4"
c:identifier="GTK_PATH_PRIO_GTK"
glib:nick="gtk"/>
<member name="application"
value="8"
c:identifier="GTK_PATH_PRIO_APPLICATION"
glib:nick="application"/>
<member name="theme"
value="10"
c:identifier="GTK_PATH_PRIO_THEME"
glib:nick="theme"/>
<member name="rc"
value="12"
c:identifier="GTK_PATH_PRIO_RC"
glib:nick="rc"/>
<member name="highest"
value="15"
c:identifier="GTK_PATH_PRIO_HIGHEST"
glib:nick="highest"/>
</enumeration>
<enumeration name="PathType"
glib:type-name="GtkPathType"
glib:get-type="gtk_path_type_get_type"
c:type="GtkPathType">
<member name="widget"
value="0"
c:identifier="GTK_PATH_WIDGET"
glib:nick="widget"/>
<member name="widget_class"
value="1"
c:identifier="GTK_PATH_WIDGET_CLASS"
glib:nick="widget-class"/>
<member name="class"
value="2"
c:identifier="GTK_PATH_CLASS"
glib:nick="class"/>
</enumeration>
<class name="Pixmap"
c:type="GtkPixmap"
parent="Misc"
glib:type-name="GtkPixmap"
glib:get-type="gtk_pixmap_get_type"
glib:type-struct="PixmapClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_pixmap_new">
<return-value transfer-ownership="full">
<type name="Pixmap" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none" allow-none="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</constructor>
<method name="set" c:identifier="gtk_pixmap_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</method>
<method name="get" c:identifier="gtk_pixmap_get">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="val" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="Gdk.Bitmap" c:type="GdkBitmap**"/>
</parameter>
</parameters>
</method>
<method name="set_build_insensitive"
c:identifier="gtk_pixmap_set_build_insensitive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="build" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<field name="misc">
<type name="Misc" c:type="GtkMisc"/>
</field>
<field name="pixmap">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="mask">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
<field name="pixmap_insensitive">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="build_insensitive" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="PixmapClass"
c:type="GtkPixmapClass"
glib:is-gtype-struct-for="Pixmap">
<field name="parent_class">
<type name="MiscClass" c:type="GtkMiscClass"/>
</field>
</record>
<class name="Plug"
c:type="GtkPlug"
parent="Window"
glib:type-name="GtkPlug"
glib:get-type="gtk_plug_get_type"
glib:type-struct="PlugClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_plug_new"
doc="Creates a new plug widget inside the #GtkSocket identified
by @socket_id. If @socket_id is 0, the plug is left &quot;unplugged&quot; and
can later be plugged into a #GtkSocket by gtk_socket_add_id().">
<return-value transfer-ownership="full">
<type name="Plug" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="socket_id" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_for_display"
c:identifier="gtk_plug_new_for_display"
doc="Create a new plug widget inside the #GtkSocket identified by socket_id."
version="2.2">
<return-value transfer-ownership="full">
<type name="Plug" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</parameter>
<parameter name="socket_id" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</constructor>
<method name="construct"
c:identifier="gtk_plug_construct"
doc="Finish the initialization of @plug for a given #GtkSocket identified by">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="socket_id" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</method>
<method name="construct_for_display"
c:identifier="gtk_plug_construct_for_display"
doc="#GtkSocket.
Finish the initialization of @plug for a given #GtkSocket identified by
This function will generally only be used by classes deriving from #GtkPlug."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</parameter>
<parameter name="socket_id" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</method>
<method name="get_id"
c:identifier="gtk_plug_get_id"
doc="Gets the window ID of a #GtkPlug widget, which can then
be used to embed this window inside another window, for
instance with gtk_socket_add_id().">
<return-value transfer-ownership="full">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</return-value>
</method>
<method name="get_embedded"
c:identifier="gtk_plug_get_embedded"
doc="Determines whether the plug is embedded in a socket."
version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_socket_window"
c:identifier="gtk_plug_get_socket_window"
doc="Retrieves the socket the plug is embedded in."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<property name="embedded"
version="2.12"
doc="%TRUE if the plug is embedded in a socket.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="socket-window"
version="2.14"
doc="The window of the socket the plug is embedded in.">
<type name="Gdk.Window" c:type="GdkWindow"/>
</property>
<field name="window">
<type name="Window" c:type="GtkWindow"/>
</field>
<field name="socket_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="modality_window">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="modality_group">
<type name="WindowGroup" c:type="GtkWindowGroup*"/>
</field>
<field name="grabbed_keys">
<type name="GLib.HashTable" c:type="GHashTable*"/>
</field>
<field name="same_app" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="embedded"
doc="Gets emitted when the plug becomes embedded in a socket.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="PlugClass"
c:type="GtkPlugClass"
glib:is-gtype-struct-for="Plug">
<field name="parent_class">
<type name="WindowClass" c:type="GtkWindowClass"/>
</field>
<field name="embedded">
<callback name="embedded" c:type="embedded">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="plug" transfer-ownership="none">
<type name="Plug" c:type="GtkPlug*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="PolicyType"
glib:type-name="GtkPolicyType"
glib:get-type="gtk_policy_type_get_type"
c:type="GtkPolicyType">
<member name="always"
value="0"
c:identifier="GTK_POLICY_ALWAYS"
glib:nick="always"/>
<member name="automatic"
value="1"
c:identifier="GTK_POLICY_AUTOMATIC"
glib:nick="automatic"/>
<member name="never"
value="2"
c:identifier="GTK_POLICY_NEVER"
glib:nick="never"/>
</enumeration>
<enumeration name="PositionType"
glib:type-name="GtkPositionType"
glib:get-type="gtk_position_type_get_type"
c:type="GtkPositionType">
<member name="left"
value="0"
c:identifier="GTK_POS_LEFT"
glib:nick="left"/>
<member name="right"
value="1"
c:identifier="GTK_POS_RIGHT"
glib:nick="right"/>
<member name="top" value="2" c:identifier="GTK_POS_TOP" glib:nick="top"/>
<member name="bottom"
value="3"
c:identifier="GTK_POS_BOTTOM"
glib:nick="bottom"/>
</enumeration>
<class name="Preview"
c:type="GtkPreview"
parent="Widget"
glib:type-name="GtkPreview"
glib:get-type="gtk_preview_get_type"
glib:type-struct="PreviewClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_preview_new">
<return-value transfer-ownership="full">
<type name="Preview" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="PreviewType" c:type="GtkPreviewType"/>
</parameter>
</parameters>
</constructor>
<function name="uninit" c:identifier="gtk_preview_uninit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="set_gamma" c:identifier="gtk_preview_set_gamma">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gamma_" transfer-ownership="none">
<type name="double" c:type="double"/>
</parameter>
</parameters>
</function>
<function name="set_color_cube"
c:identifier="gtk_preview_set_color_cube">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="nred_shades" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="ngreen_shades" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="nblue_shades" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="ngray_shades" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="set_install_cmap"
c:identifier="gtk_preview_set_install_cmap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="install_cmap" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="set_reserved" c:identifier="gtk_preview_set_reserved">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="nreserved" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="get_visual" c:identifier="gtk_preview_get_visual">
<return-value transfer-ownership="full">
<type name="Gdk.Visual" c:type="GdkVisual*"/>
</return-value>
</function>
<function name="get_cmap" c:identifier="gtk_preview_get_cmap">
<return-value transfer-ownership="full">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</return-value>
</function>
<function name="get_info" c:identifier="gtk_preview_get_info">
<return-value transfer-ownership="full">
<type name="PreviewInfo" c:type="GtkPreviewInfo*"/>
</return-value>
</function>
<function name="reset" c:identifier="gtk_preview_reset">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<method name="size" c:identifier="gtk_preview_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="put" c:identifier="gtk_preview_put">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="gc" transfer-ownership="none">
<type name="Gdk.GC" c:type="GdkGC*"/>
</parameter>
<parameter name="srcx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="srcy" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="destx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="desty" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="draw_row" c:identifier="gtk_preview_draw_row">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<array c:type="guchar*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_expand" c:identifier="gtk_preview_set_expand">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_dither" c:identifier="gtk_preview_set_dither">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dither" transfer-ownership="none">
<type name="Gdk.RgbDither" c:type="GdkRgbDither"/>
</parameter>
</parameters>
</method>
<property name="expand" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="buffer">
<type name="any" c:type="guchar*"/>
</field>
<field name="buffer_width">
<type name="uint16" c:type="guint16"/>
</field>
<field name="buffer_height">
<type name="uint16" c:type="guint16"/>
</field>
<field name="bpp">
<type name="uint16" c:type="guint16"/>
</field>
<field name="rowstride">
<type name="uint16" c:type="guint16"/>
</field>
<field name="dither">
<type name="Gdk.RgbDither" c:type="GdkRgbDither"/>
</field>
<field name="type" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="expand" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="PreviewClass"
c:type="GtkPreviewClass"
glib:is-gtype-struct-for="Preview">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="info">
<type name="PreviewInfo" c:type="GtkPreviewInfo"/>
</field>
</record>
<record name="PreviewInfo" c:type="GtkPreviewInfo">
<field name="lookup" writable="1">
<type name="any" c:type="guchar*"/>
</field>
<field name="gamma" writable="1">
<type name="double" c:type="gdouble"/>
</field>
</record>
<enumeration name="PreviewType"
glib:type-name="GtkPreviewType"
glib:get-type="gtk_preview_type_get_type"
c:type="GtkPreviewType">
<member name="color"
value="0"
c:identifier="GTK_PREVIEW_COLOR"
glib:nick="color"/>
<member name="grayscale"
value="1"
c:identifier="GTK_PREVIEW_GRAYSCALE"
glib:nick="grayscale"/>
</enumeration>
<class name="PrintContext"
c:type="GtkPrintContext"
parent="GObject.Object"
glib:type-name="GtkPrintContext"
glib:get-type="gtk_print_context_get_type">
<method name="get_cairo_context"
c:identifier="gtk_print_context_get_cairo_context"
doc="Obtains the cairo context that is associated with the
#GtkPrintContext."
version="2.10">
<return-value transfer-ownership="full">
<type name="cairo.Context" c:type="cairo_t*"/>
</return-value>
</method>
<method name="get_page_setup"
c:identifier="gtk_print_context_get_page_setup"
doc="Obtains the #GtkPageSetup that determines the page
dimensions of the #GtkPrintContext."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</return-value>
</method>
<method name="get_width"
c:identifier="gtk_print_context_get_width"
doc="Obtains the width of the #GtkPrintContext, in pixels."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_height"
c:identifier="gtk_print_context_get_height"
doc="Obtains the height of the #GtkPrintContext, in pixels."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_dpi_x"
c:identifier="gtk_print_context_get_dpi_x"
doc="Obtains the horizontal resolution of the #GtkPrintContext,
in dots per inch."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_dpi_y"
c:identifier="gtk_print_context_get_dpi_y"
doc="Obtains the vertical resolution of the #GtkPrintContext,
in dots per inch."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_hard_margins"
c:identifier="gtk_print_context_get_hard_margins"
doc="Obtains the hardware printer margins of the #GtkPrintContext, in units."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="top" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="bottom" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="left" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="right" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="get_pango_fontmap"
c:identifier="gtk_print_context_get_pango_fontmap"
doc="Returns a #PangoFontMap that is suitable for use
with the #GtkPrintContext."
version="2.10">
<return-value transfer-ownership="full">
<type name="Pango.FontMap" c:type="PangoFontMap*"/>
</return-value>
</method>
<method name="create_pango_context"
c:identifier="gtk_print_context_create_pango_context"
doc="Creates a new #PangoContext that can be used with the
#GtkPrintContext."
version="2.10">
<return-value transfer-ownership="full">
<type name="Pango.Context" c:type="PangoContext*"/>
</return-value>
</method>
<method name="create_pango_layout"
c:identifier="gtk_print_context_create_pango_layout"
doc="Creates a new #PangoLayout that is suitable for use
with the #GtkPrintContext."
version="2.10">
<return-value transfer-ownership="full">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</return-value>
</method>
<method name="set_cairo_context"
c:identifier="gtk_print_context_set_cairo_context"
doc="Sets a new cairo context on a print context.
This function is intended to be used when implementing
an internal print preview, it is not needed for printing,
since GTK+ itself creates a suitable cairo context in that
case."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cr" transfer-ownership="none">
<type name="cairo.Context" c:type="cairo_t*"/>
</parameter>
<parameter name="dpi_x" transfer-ownership="none">
<type name="double" c:type="double"/>
</parameter>
<parameter name="dpi_y" transfer-ownership="none">
<type name="double" c:type="double"/>
</parameter>
</parameters>
</method>
</class>
<enumeration name="PrintDuplex"
glib:type-name="GtkPrintDuplex"
glib:get-type="gtk_print_duplex_get_type"
c:type="GtkPrintDuplex">
<member name="simplex"
value="0"
c:identifier="GTK_PRINT_DUPLEX_SIMPLEX"
glib:nick="simplex"/>
<member name="horizontal"
value="1"
c:identifier="GTK_PRINT_DUPLEX_HORIZONTAL"
glib:nick="horizontal"/>
<member name="vertical"
value="2"
c:identifier="GTK_PRINT_DUPLEX_VERTICAL"
glib:nick="vertical"/>
</enumeration>
<enumeration name="PrintError"
glib:type-name="GtkPrintError"
glib:get-type="gtk_print_error_get_type"
c:type="GtkPrintError"
glib:error-quark="gtk_print_error_quark">
<member name="general"
value="0"
c:identifier="GTK_PRINT_ERROR_GENERAL"
glib:nick="general"/>
<member name="internal_error"
value="1"
c:identifier="GTK_PRINT_ERROR_INTERNAL_ERROR"
glib:nick="internal-error"/>
<member name="nomem"
value="2"
c:identifier="GTK_PRINT_ERROR_NOMEM"
glib:nick="nomem"/>
<member name="invalid_file"
value="3"
c:identifier="GTK_PRINT_ERROR_INVALID_FILE"
glib:nick="invalid-file"/>
</enumeration>
<callback name="PrintFunc" c:type="GtkPrintFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
<class name="PrintOperation"
c:type="GtkPrintOperation"
parent="GObject.Object"
glib:type-name="GtkPrintOperation"
glib:get-type="gtk_print_operation_get_type"
glib:type-struct="PrintOperationClass">
<implements name="PrintOperationPreview"/>
<constructor name="new"
c:identifier="gtk_print_operation_new"
doc="Creates a new #GtkPrintOperation."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</return-value>
</constructor>
<method name="set_default_page_setup"
c:identifier="gtk_print_operation_set_default_page_setup"
doc="Makes @default_page_setup the default page setup for @op.
This page setup will be used by gtk_print_operation_run(),
but it can be overridden on a per-page basis by connecting
to the #GtkPrintOperation::request-page-setup signal."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="default_page_setup"
transfer-ownership="none"
allow-none="1"
doc="a #GtkPageSetup, or %NULL">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</parameter>
</parameters>
</method>
<method name="get_default_page_setup"
c:identifier="gtk_print_operation_get_default_page_setup"
doc="Returns the default page setup, see
gtk_print_operation_set_default_page_setup()."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</return-value>
</method>
<method name="set_print_settings"
c:identifier="gtk_print_operation_set_print_settings"
doc="Sets the print settings for @op. This is typically used to
re-establish print settings from a previous print operation,
see gtk_print_operation_run()."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="print_settings"
transfer-ownership="none"
allow-none="1"
doc="#GtkPrintSettings">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</parameter>
</parameters>
</method>
<method name="get_print_settings"
c:identifier="gtk_print_operation_get_print_settings"
doc="Returns the current print settings.
Note that the return value is %NULL until either
gtk_print_operation_set_print_settings() or
gtk_print_operation_run() have been called."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</return-value>
</method>
<method name="set_job_name"
c:identifier="gtk_print_operation_set_job_name"
doc="Sets the name of the print job. The name is used to identify
the job (e.g. in monitoring applications like eggcups).
If you don&apos;t set a job name, GTK+ picks a default one by
numbering successive print jobs."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="job_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_n_pages"
c:identifier="gtk_print_operation_set_n_pages"
doc="Sets the number of pages in the document.
This &lt;emphasis&gt;must&lt;/emphasis&gt; be set to a positive number
before the rendering starts. It may be set in a
#GtkPrintOperation::begin-print signal hander.
Note that the page numbers passed to the
#GtkPrintOperation::request-page-setup
and #GtkPrintOperation::draw-page signals are 0-based, i.e. if
the user chooses to print all pages, the last ::draw-page signal
will be for page @n_pages - 1."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_pages" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_current_page"
c:identifier="gtk_print_operation_set_current_page"
doc="Sets the current page.
If this is called before gtk_print_operation_run(),
the user will be able to select to print only the current page.
Note that this only makes sense for pre-paginated documents."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="current_page" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_use_full_page"
c:identifier="gtk_print_operation_set_use_full_page"
doc="If @full_page is %TRUE, the transformation for the cairo context
obtained from #GtkPrintContext puts the origin at the top left
corner of the page (which may not be the top left corner of the
sheet, depending on page orientation and the number of pages per
sheet). Otherwise, the origin is at the top left corner of the
imageable area (i.e. inside the margins)."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="full_page" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_unit"
c:identifier="gtk_print_operation_set_unit"
doc="Sets up the transformation for the cairo context obtained from
#GtkPrintContext in such a way that distances are measured in
units of @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_export_filename"
c:identifier="gtk_print_operation_set_export_filename"
doc="Sets up the #GtkPrintOperation to generate a file instead
of showing the print dialog. The indended use of this function
is for implementing &quot;Export to PDF&quot; actions. Currently, PDF
is the only supported format.
&quot;Print to PDF&quot; support is independent of this and is done
by letting the user pick the &quot;Print to PDF&quot; item from the list
of printers in the print dialog."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_track_print_status"
c:identifier="gtk_print_operation_set_track_print_status"
doc="If track_status is %TRUE, the print operation will try to continue report
on the status of the print job in the printer queues and printer. This
can allow your application to show things like &quot;out of paper&quot; issues,
and when the print job actually reaches the printer.
This function is often implemented using some form of polling, so it should
not be enabled unless needed."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="track_status" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_show_progress"
c:identifier="gtk_print_operation_set_show_progress"
doc="If @show_progress is %TRUE, the print operation will show a
progress dialog during the print operation."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_progress" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_allow_async"
c:identifier="gtk_print_operation_set_allow_async"
doc="Sets whether the gtk_print_operation_run() may return
before the print operation is completed. Note that
some platforms may not allow asynchronous operation."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allow_async" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_custom_tab_label"
c:identifier="gtk_print_operation_set_custom_tab_label"
doc="Sets the label for the tab holding custom widgets."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="the label to use, or %NULL to use the default label">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="run"
c:identifier="gtk_print_operation_run"
doc="Runs the print operation, by first letting the user modify
print settings in the print dialog, and then print the document.
Normally that this function does not return until the rendering of all
pages is complete. You can connect to the
#GtkPrintOperation::status-changed signal on @op to obtain some
information about the progress of the print operation.
Furthermore, it may use a recursive mainloop to show the print dialog.
If you call gtk_print_operation_set_allow_async() or set the
#GtkPrintOperation:allow-async property the operation will run
asynchronously if this is supported on the platform. The
#GtkPrintOperation::done signal will be emitted with the result of the
operation when the it is done (i.e. when the dialog is canceled, or when
the print succeeds or fails).
|[
if (settings != NULL)
gtk_print_operation_set_print_settings (print, settings);
if (page_setup != NULL)
gtk_print_operation_set_default_page_setup (print, page_setup);
g_signal_connect (print, &quot;begin-print&quot;,
G_CALLBACK (begin_print), &amp;data);
g_signal_connect (print, &quot;draw-page&quot;,
G_CALLBACK (draw_page), &amp;data);
res = gtk_print_operation_run (print,
GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
parent,
&amp;error);
if (res == GTK_PRINT_OPERATION_RESULT_ERROR)
{
error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
&quot;Error printing file:\n%s&quot;,
error-&gt;message);
g_signal_connect (error_dialog, &quot;response&quot;,
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (error_dialog);
g_error_free (error);
}
else if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
{
if (settings != NULL)
g_object_unref (settings);
settings = g_object_ref (gtk_print_operation_get_print_settings (print));
}
]|
Note that gtk_print_operation_run() can only be called once on a
given #GtkPrintOperation.
%GTK_PRINT_OPERATION_RESULT_APPLY indicates that the printing was
completed successfully. In this case, it is a good idea to obtain
the used print settings with gtk_print_operation_get_print_settings()
and store them for reuse with the next print operation. A value of
%GTK_PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running
asynchronously, and will emit the #GtkPrintOperation::done signal when
done."
version="2.10"
throws="1">
<return-value transfer-ownership="full">
<type name="PrintOperationResult" c:type="GtkPrintOperationResult"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="PrintOperationAction"
c:type="GtkPrintOperationAction"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="Transient parent of the dialog">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</method>
<method name="get_status"
c:identifier="gtk_print_operation_get_status"
doc="Returns the status of the print operation.
Also see gtk_print_operation_get_status_string()."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintStatus" c:type="GtkPrintStatus"/>
</return-value>
</method>
<method name="get_status_string"
c:identifier="gtk_print_operation_get_status_string"
doc="Returns a string representation of the status of the
print operation. The string is translated and suitable
for displaying the print status e.g. in a #GtkStatusbar.
Use gtk_print_operation_get_status() to obtain a status
value that is suitable for programmatic use.
of the print operation"
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="is_finished"
c:identifier="gtk_print_operation_is_finished"
doc="A convenience function to find out if the print operation
is finished, either successfully (%GTK_PRINT_STATUS_FINISHED)
or unsuccessfully (%GTK_PRINT_STATUS_FINISHED_ABORTED).
can be in a non-finished state even after done has been called, as
the operation status then tracks the print job status on the printer."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="cancel"
c:identifier="gtk_print_operation_cancel"
doc="Cancels a running print operation. This function may
be called from a #GtkPrintOperation::begin-print,
#GtkPrintOperation::paginate or #GtkPrintOperation::draw-page
signal handler to stop the currently running print
operation."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="draw_page_finish"
c:identifier="gtk_print_operation_draw_page_finish"
doc="Signalize that drawing of particular page is complete.
It is called after completion of page drawing (e.g. drawing in another
thread).
If gtk_print_operation_set_defer_drawing() was called before, then this function
has to be called by application. In another case it is called by the library
itself."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_defer_drawing"
c:identifier="gtk_print_operation_set_defer_drawing"
doc="Sets up the #GtkPrintOperation to wait for calling of
gtk_print_operation_draw_page_finish() from application. It can
be used for drawing page in another thread.
This function must be called in the callback of &quot;draw-page&quot; signal."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_support_selection"
c:identifier="gtk_print_operation_set_support_selection"
doc="Sets whether selection is supported by #GtkPrintOperation."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="support_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_support_selection"
c:identifier="gtk_print_operation_get_support_selection"
doc="Gets the value of #GtkPrintOperation::support-selection property."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_has_selection"
c:identifier="gtk_print_operation_set_has_selection"
doc="Sets whether there is a selection to print.
Application has to set number of pages to which the selection
will draw by gtk_print_operation_set_n_pages() in a callback of
#GtkPrintOperation::begin-print."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="has_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_selection"
c:identifier="gtk_print_operation_get_has_selection"
doc="Gets the value of #GtkPrintOperation::has-selection property."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_embed_page_setup"
c:identifier="gtk_print_operation_set_embed_page_setup"
doc="Embed page size combo box and orientation combo box into page setup page.
Selected page setup is stored as default page setup in #GtkPrintOperation."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="embed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_embed_page_setup"
c:identifier="gtk_print_operation_get_embed_page_setup"
doc="Gets the value of #GtkPrintOperation::embed-page-setup property."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_n_pages_to_print"
c:identifier="gtk_print_operation_get_n_pages_to_print"
doc="Returns the number of pages that will be printed.
Note that this value is set during print preparation phase
(%GTK_PRINT_STATUS_PREPARING), so this function should never be
called before the data generation phase (%GTK_PRINT_STATUS_GENERATING_DATA).
You can connect to the #GtkPrintOperation::status-changed signal
and call gtk_print_operation_get_n_pages_to_print() when
print status is %GTK_PRINT_STATUS_GENERATING_DATA.
This is typically used to track the progress of print operation."
version="2.18">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<property name="allow-async"
version="2.10"
writable="1"
doc="Determines whether the print operation may run asynchronously or not.
Some systems don&apos;t support asynchronous printing, but those that do
will return %GTK_PRINT_OPERATION_RESULT_IN_PROGRESS as the status, and
emit the #GtkPrintOperation::done signal when the operation is actually
done.
The Windows port does not support asynchronous operation at all (this
is unlikely to change). On other platforms, all actions except for
%GTK_PRINT_OPERATION_ACTION_EXPORT support asynchronous operation.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="current-page"
version="2.10"
writable="1"
doc="The current page in the document.
If this is set before gtk_print_operation_run(),
the user will be able to select to print only the current page.
Note that this only makes sense for pre-paginated documents.">
<type name="int" c:type="gint"/>
</property>
<property name="custom-tab-label"
version="2.10"
writable="1"
doc="Used as the label of the tab containing custom widgets.
Note that this property may be ignored on some platforms.
If this is %NULL, GTK+ uses a default label.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="default-page-setup"
version="2.10"
writable="1"
doc="The #GtkPageSetup used by default.
This page setup will be used by gtk_print_operation_run(),
but it can be overridden on a per-page basis by connecting
to the #GtkPrintOperation::request-page-setup signal.">
<type name="PageSetup" c:type="GtkPageSetup"/>
</property>
<property name="embed-page-setup"
version="2.18"
writable="1"
doc="If %TRUE, page size combo box and orientation combo box are embedded into page setup page.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="export-filename"
version="2.10"
writable="1"
doc="The name of a file to generate instead of showing the print dialog.
Currently, PDF is the only supported format.
The intended use of this property is for implementing
&quot;Export to PDF&quot; actions.
&quot;Print to PDF&quot; support is independent of this and is done
by letting the user pick the &quot;Print to PDF&quot; item from the
list of printers in the print dialog.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="has-selection"
version="2.18"
writable="1"
doc="Determines whether there is a selection in your application.
This can allow your application to print the selection.
This is typically used to make a &quot;Selection&quot; button sensitive.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="job-name"
version="2.10"
writable="1"
doc="A string used to identify the job (e.g. in monitoring
applications like eggcups).
If you don&apos;t set a job name, GTK+ picks a default one
by numbering successive print jobs.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="n-pages"
version="2.10"
writable="1"
doc="The number of pages in the document.
This &lt;emphasis&gt;must&lt;/emphasis&gt; be set to a positive number
before the rendering starts. It may be set in a
#GtkPrintOperation::begin-print signal hander.
Note that the page numbers passed to the
#GtkPrintOperation::request-page-setup and
#GtkPrintOperation::draw-page signals are 0-based, i.e. if
the user chooses to print all pages, the last ::draw-page signal
will be for page @n_pages - 1.">
<type name="int" c:type="gint"/>
</property>
<property name="n-pages-to-print"
version="2.18"
doc="The number of pages that will be printed.
Note that this value is set during print preparation phase
(%GTK_PRINT_STATUS_PREPARING), so this value should never be
get before the data generation phase (%GTK_PRINT_STATUS_GENERATING_DATA).
You can connect to the #GtkPrintOperation::status-changed signal
and call gtk_print_operation_get_n_pages_to_print() when
print status is %GTK_PRINT_STATUS_GENERATING_DATA.
This is typically used to track the progress of print operation.">
<type name="int" c:type="gint"/>
</property>
<property name="print-settings"
version="2.10"
writable="1"
doc="The #GtkPrintSettings used for initializing the dialog.
Setting this property is typically used to re-establish
print settings from a previous print operation, see
gtk_print_operation_run().">
<type name="PrintSettings" c:type="GtkPrintSettings"/>
</property>
<property name="show-progress"
version="2.10"
writable="1"
doc="Determines whether to show a progress dialog during the
print operation.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="status"
version="2.10"
doc="The status of the print operation.">
<type name="PrintStatus" c:type="GtkPrintStatus"/>
</property>
<property name="status-string"
version="2.10"
doc="A string representation of the status of the print operation.
The string is translated and suitable for displaying the print
status e.g. in a #GtkStatusbar.
See the #GtkPrintOperation:status property for a status value that
is suitable for programmatic use.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="support-selection"
version="2.18"
writable="1"
doc="If %TRUE, the print operation will support print of selection.
This allows the print dialog to show a &quot;Selection&quot; button.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="track-print-status"
version="2.10"
writable="1"
doc="If %TRUE, the print operation will try to continue report on
the status of the print job in the printer queues and printer.
This can allow your application to show things like &quot;out of paper&quot;
issues, and when the print job actually reaches the printer.
However, this is often implemented using polling, and should
not be enabled unless needed.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="unit"
version="2.10"
writable="1"
doc="The transformation for the cairo context obtained from
#GtkPrintContext is set up in such a way that distances
are measured in units of @unit.">
<type name="Unit" c:type="GtkUnit"/>
</property>
<property name="use-full-page"
version="2.10"
writable="1"
doc="If %TRUE, the transformation for the cairo context obtained
from #GtkPrintContext puts the origin at the top left corner
of the page (which may not be the top left corner of the sheet,
depending on page orientation and the number of pages per sheet).
Otherwise, the origin is at the top left corner of the imageable
area (i.e. inside the margins).">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="PrintOperationPrivate" c:type="GtkPrintOperationPrivate*"/>
</field>
<glib:signal name="begin-print"
doc="Emitted after the user has finished changing print settings
in the dialog, before the actual rendering starts.
A typical use for ::begin-print is to use the parameters from the
#GtkPrintContext and paginate the document accordingly, and then
set the number of pages with gtk_print_operation_set_n_pages()."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="create-custom-widget"
doc="Emitted when displaying the print dialog. If you return a
widget in a handler for this signal it will be added to a custom
tab in the print dialog. You typically return a container widget
with multiple widgets in it.
The print dialog owns the returned widget, and its lifetime is not
controlled by the application. However, the widget is guaranteed
to stay around until the #GtkPrintOperation::custom-widget-apply
signal is emitted on the operation. Then you can read out any
information you need from the widgets.
or %NULL"
version="2.10">
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject"/>
</return-value>
</glib:signal>
<glib:signal name="custom-widget-apply"
doc="Emitted right before #GtkPrintOperation::begin-print if you added
a custom widget in the #GtkPrintOperation::create-custom-widget handler.
When you get this signal you should read the information from the
custom widgets, as the widgets are not guaraneed to be around at a
later time."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="done"
doc="Emitted when the print operation run has finished doing
everything required for printing.
If @result is %GTK_PRINT_OPERATION_RESULT_ERROR then you can call
gtk_print_operation_get_error() for more information.
If you enabled print status tracking then
gtk_print_operation_is_finished() may still return %FALSE
after #GtkPrintOperation::done was emitted."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="result" transfer-ownership="none">
<type name="PrintOperationResult"
c:type="GtkPrintOperationResult"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="draw-page"
doc="Emitted for every page that is printed. The signal handler
must render the @page_nr&apos;s page onto the cairo context obtained
from @context using gtk_print_context_get_cairo_context().
|[
static void
draw_page (GtkPrintOperation *operation,
GtkPrintContext *context,
gint page_nr,
gpointer user_data)
{
cairo_t *cr;
PangoLayout *layout;
gdouble width, text_height;
gint layout_height;
PangoFontDescription *desc;
cr = gtk_print_context_get_cairo_context (context);
width = gtk_print_context_get_width (context);
cairo_rectangle (cr, 0, 0, width, HEADER_HEIGHT);
cairo_set_source_rgb (cr, 0.8, 0.8, 0.8);
cairo_fill (cr);
layout = gtk_print_context_create_pango_layout (context);
desc = pango_font_description_from_string (&quot;sans 14&quot;);
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
pango_layout_set_text (layout, &quot;some text&quot;, -1);
pango_layout_set_width (layout, width * PANGO_SCALE);
pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
pango_layout_get_size (layout, NULL, &amp;layout_height);
text_height = (gdouble)layout_height / PANGO_SCALE;
cairo_move_to (cr, width / 2, (HEADER_HEIGHT - text_height) / 2);
pango_cairo_show_layout (cr, layout);
g_object_unref (layout);
}
]|
Use gtk_print_operation_set_use_full_page() and
gtk_print_operation_set_unit() before starting the print operation
to set up the transformation of the cairo context according to your
needs."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="end-print"
doc="Emitted after all pages have been rendered.
A handler for this signal can clean up any resources that have
been allocated in the #GtkPrintOperation::begin-print handler."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="paginate"
doc="Emitted after the #GtkPrintOperation::begin-print signal, but before
the actual rendering starts. It keeps getting emitted until a connected
signal handler returns %TRUE.
The ::paginate signal is intended to be used for paginating a document
in small chunks, to avoid blocking the user interface for a long
time. The signal handler should update the number of pages using
gtk_print_operation_set_n_pages(), and return %TRUE if the document
has been completely paginated.
If you don&apos;t need to do pagination in chunks, you can simply do
it all in the ::begin-print handler, and set the number of pages
from there."
version="2.10">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="preview"
doc="Gets emitted when a preview is requested from the native dialog.
The default handler for this signal uses an external viewer
application to preview.
To implement a custom print preview, an application must return
%TRUE from its handler for this signal. In order to use the
provided @context for the preview implementation, it must be
given a suitable cairo context with gtk_print_context_set_cairo_context().
The custom preview implementation can use
gtk_print_operation_preview_is_selected() and
gtk_print_operation_preview_render_page() to find pages which
are selected for print and render them. The preview must be
finished by calling gtk_print_operation_preview_end_preview()
(typically in response to the user clicking a close button)."
version="2.10">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="preview" transfer-ownership="none">
<type name="PrintOperationPreview"
c:type="GtkPrintOperationPreview"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="the #GtkWindow to use as window parent, or %NULL">
<type name="Window" c:type="GtkWindow"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="request-page-setup"
doc="Emitted once for every page that is printed, to give
the application a chance to modify the page setup. Any changes
done to @setup will be in force only for printing this page."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="setup" transfer-ownership="none">
<type name="PageSetup" c:type="GtkPageSetup"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="status-changed"
doc="Emitted at between the various phases of the print operation.
See #GtkPrintStatus for the phases that are being discriminated.
Use gtk_print_operation_get_status() to find out the current
status."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="update-custom-widget"
doc="Emitted after change of selected printer. The actual page setup and
print settings are passed to the custom widget, which can actualize
itself according to this change."
version="2.18">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
<parameter name="setup" transfer-ownership="none">
<type name="PageSetup" c:type="GtkPageSetup"/>
</parameter>
<parameter name="settings" transfer-ownership="none">
<type name="PrintSettings" c:type="GtkPrintSettings"/>
</parameter>
</parameters>
</glib:signal>
</class>
<enumeration name="PrintOperationAction"
glib:type-name="GtkPrintOperationAction"
glib:get-type="gtk_print_operation_action_get_type"
c:type="GtkPrintOperationAction">
<member name="print_dialog"
value="0"
c:identifier="GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG"
glib:nick="print-dialog"/>
<member name="print"
value="1"
c:identifier="GTK_PRINT_OPERATION_ACTION_PRINT"
glib:nick="print"/>
<member name="preview"
value="2"
c:identifier="GTK_PRINT_OPERATION_ACTION_PREVIEW"
glib:nick="preview"/>
<member name="export"
value="3"
c:identifier="GTK_PRINT_OPERATION_ACTION_EXPORT"
glib:nick="export"/>
</enumeration>
<record name="PrintOperationClass"
c:type="GtkPrintOperationClass"
glib:is-gtype-struct-for="PrintOperation">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="done">
<callback name="done" c:type="done">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="result" transfer-ownership="none">
<type name="PrintOperationResult"
c:type="GtkPrintOperationResult"/>
</parameter>
</parameters>
</callback>
</field>
<field name="begin_print">
<callback name="begin_print" c:type="begin_print">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="paginate">
<callback name="paginate" c:type="paginate">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="request_page_setup">
<callback name="request_page_setup" c:type="request_page_setup">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="setup" transfer-ownership="none">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_page">
<callback name="draw_page" c:type="draw_page">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_print">
<callback name="end_print" c:type="end_print">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="status_changed">
<callback name="status_changed" c:type="status_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_custom_widget">
<callback name="create_custom_widget" c:type="create_custom_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="custom_widget_apply">
<callback name="custom_widget_apply" c:type="custom_widget_apply">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="preview">
<callback name="preview" c:type="preview">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="preview" transfer-ownership="none">
<type name="PrintOperationPreview"
c:type="GtkPrintOperationPreview*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
<parameter name="parent" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update_custom_widget">
<callback name="update_custom_widget" c:type="update_custom_widget">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="operation" transfer-ownership="none">
<type name="PrintOperation" c:type="GtkPrintOperation*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="setup" transfer-ownership="none">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</parameter>
<parameter name="settings" transfer-ownership="none">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<interface name="PrintOperationPreview"
c:type="GtkPrintOperationPreview"
glib:type-name="GtkPrintOperationPreview"
glib:get-type="gtk_print_operation_preview_get_type"
glib:type-struct="PrintOperationPreviewIface">
<virtual-method name="render_page" invoker="render_page">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="is_selected" invoker="is_selected">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="end_preview" invoker="end_preview">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="render_page"
c:identifier="gtk_print_operation_preview_render_page"
doc="Renders a page to the preview, using the print context that
was passed to the #GtkPrintOperation::preview handler together
with @preview.
A custom iprint preview should use this function in its ::expose
handler to render the currently selected page.
Note that this function requires a suitable cairo context to
be associated with the print context."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="end_preview"
c:identifier="gtk_print_operation_preview_end_preview"
doc="Ends a preview.
This function must be called to finish a custom print preview."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="is_selected"
c:identifier="gtk_print_operation_preview_is_selected"
doc="Returns whether the given page is included in the set of pages that
have been selected for printing."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<glib:signal name="got-page-size"
doc="The ::got-page-size signal is emitted once for each page
that gets rendered to the preview.
A handler for this signal should update the @context
according to @page_setup and set up a suitable cairo
context, using gtk_print_context_set_cairo_context().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
<parameter name="page_setup" transfer-ownership="none">
<type name="PageSetup" c:type="GtkPageSetup"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="ready"
doc="The ::ready signal gets emitted once per preview operation,
before the first page is rendered.
A handler for this signal can be used for setup tasks.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext"/>
</parameter>
</parameters>
</glib:signal>
</interface>
<record name="PrintOperationPreviewIface"
c:type="GtkPrintOperationPreviewIface"
glib:is-gtype-struct-for="PrintOperationPreview">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="ready">
<callback name="ready" c:type="ready">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preview" transfer-ownership="none">
<type name="PrintOperationPreview"
c:type="GtkPrintOperationPreview*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="got_page_size">
<callback name="got_page_size" c:type="got_page_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preview" transfer-ownership="none">
<type name="PrintOperationPreview"
c:type="GtkPrintOperationPreview*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="PrintContext" c:type="GtkPrintContext*"/>
</parameter>
<parameter name="page_setup" transfer-ownership="none">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="render_page">
<callback name="render_page" c:type="render_page">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preview" transfer-ownership="none">
<type name="PrintOperationPreview"
c:type="GtkPrintOperationPreview*"/>
</parameter>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="is_selected">
<callback name="is_selected" c:type="is_selected">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="preview" transfer-ownership="none">
<type name="PrintOperationPreview"
c:type="GtkPrintOperationPreview*"/>
</parameter>
<parameter name="page_nr" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_preview">
<callback name="end_preview" c:type="end_preview">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preview" transfer-ownership="none">
<type name="PrintOperationPreview"
c:type="GtkPrintOperationPreview*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved7">
<callback name="gtk_reserved7" c:type="_gtk_reserved7">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="PrintOperationPrivate" c:type="GtkPrintOperationPrivate">
</record>
<enumeration name="PrintOperationResult"
glib:type-name="GtkPrintOperationResult"
glib:get-type="gtk_print_operation_result_get_type"
c:type="GtkPrintOperationResult">
<member name="error"
value="0"
c:identifier="GTK_PRINT_OPERATION_RESULT_ERROR"
glib:nick="error"/>
<member name="apply"
value="1"
c:identifier="GTK_PRINT_OPERATION_RESULT_APPLY"
glib:nick="apply"/>
<member name="cancel"
value="2"
c:identifier="GTK_PRINT_OPERATION_RESULT_CANCEL"
glib:nick="cancel"/>
<member name="in_progress"
value="3"
c:identifier="GTK_PRINT_OPERATION_RESULT_IN_PROGRESS"
glib:nick="in-progress"/>
</enumeration>
<enumeration name="PrintPages"
glib:type-name="GtkPrintPages"
glib:get-type="gtk_print_pages_get_type"
c:type="GtkPrintPages">
<member name="all"
value="0"
c:identifier="GTK_PRINT_PAGES_ALL"
glib:nick="all"/>
<member name="current"
value="1"
c:identifier="GTK_PRINT_PAGES_CURRENT"
glib:nick="current"/>
<member name="ranges"
value="2"
c:identifier="GTK_PRINT_PAGES_RANGES"
glib:nick="ranges"/>
<member name="selection"
value="3"
c:identifier="GTK_PRINT_PAGES_SELECTION"
glib:nick="selection"/>
</enumeration>
<enumeration name="PrintQuality"
glib:type-name="GtkPrintQuality"
glib:get-type="gtk_print_quality_get_type"
c:type="GtkPrintQuality">
<member name="low"
value="0"
c:identifier="GTK_PRINT_QUALITY_LOW"
glib:nick="low"/>
<member name="normal"
value="1"
c:identifier="GTK_PRINT_QUALITY_NORMAL"
glib:nick="normal"/>
<member name="high"
value="2"
c:identifier="GTK_PRINT_QUALITY_HIGH"
glib:nick="high"/>
<member name="draft"
value="3"
c:identifier="GTK_PRINT_QUALITY_DRAFT"
glib:nick="draft"/>
</enumeration>
<class name="PrintSettings"
c:type="GtkPrintSettings"
parent="GObject.Object"
glib:type-name="GtkPrintSettings"
glib:get-type="gtk_print_settings_get_type">
<constructor name="new"
c:identifier="gtk_print_settings_new"
doc="Creates a new #GtkPrintSettings object."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</return-value>
</constructor>
<constructor name="new_from_file"
c:identifier="gtk_print_settings_new_from_file"
doc="Reads the print settings from @file_name. Returns a new #GtkPrintSettings
object with the restored settings, or %NULL if an error occurred. If the
file could not be loaded then error is set to either a #GFileError or
#GKeyFileError. See gtk_print_settings_to_file()."
version="2.12"
throws="1">
<return-value transfer-ownership="full">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_key_file"
c:identifier="gtk_print_settings_new_from_key_file"
doc="the default &quot;Print Settings&quot;
Reads the print settings from the group @group_name in @key_file. Returns a
new #GtkPrintSettings object with the restored settings, or %NULL if an
error occurred. If the file could not be loaded then error is set to either
a #GFileError or #GKeyFileError."
version="2.12"
throws="1">
<return-value transfer-ownership="full">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name"
transfer-ownership="none"
allow-none="1"
doc="the name of the group to use, or %NULL to use">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="copy"
c:identifier="gtk_print_settings_copy"
doc="Copies a #GtkPrintSettings object."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</return-value>
</method>
<method name="load_file"
c:identifier="gtk_print_settings_load_file"
doc="Reads the print settings from @file_name. If the file could not be loaded
then error is set to either a #GFileError or #GKeyFileError.
See gtk_print_settings_to_file()."
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="to_file"
c:identifier="gtk_print_settings_to_file"
doc="This function saves the print settings from @settings to @file_name. If the
file could not be loaded then error is set to either a #GFileError or
#GKeyFileError."
version="2.12"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="load_key_file"
c:identifier="gtk_print_settings_load_key_file"
doc="&quot;Print Settings&quot;
Reads the print settings from the group @group_name in @key_file. If the
file could not be loaded then error is set to either a #GFileError or
#GKeyFileError."
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name"
transfer-ownership="none"
allow-none="1"
doc="the name of the group to use, or %NULL to use the default">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="to_key_file"
c:identifier="gtk_print_settings_to_key_file"
doc="%NULL to use the default &quot;Print Settings&quot;
This function adds the print settings from @settings to @key_file."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key_file" transfer-ownership="none">
<type name="GLib.KeyFile" c:type="GKeyFile*"/>
</parameter>
<parameter name="group_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="has_key"
c:identifier="gtk_print_settings_has_key"
doc="Returns %TRUE, if a value is associated with @key."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get"
c:identifier="gtk_print_settings_get"
doc="Looks up the string value associated with @key."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set"
c:identifier="gtk_print_settings_set"
doc="Associates @value with @key."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value"
transfer-ownership="none"
allow-none="1"
doc="a string value, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="unset"
c:identifier="gtk_print_settings_unset"
doc="Removes any value associated with @key.
This has the same effect as setting the value to %NULL."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="foreach"
c:identifier="gtk_print_settings_foreach"
doc="Calls @func for each key-value pair of @settings."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2"
doc="the function to call">
<type name="PrintSettingsFunc" c:type="GtkPrintSettingsFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_bool"
c:identifier="gtk_print_settings_get_bool"
doc="Returns the boolean represented by the value
that is associated with @key.
The string &quot;true&quot; represents %TRUE, any other
string %FALSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_bool"
c:identifier="gtk_print_settings_set_bool"
doc="Sets @key to a boolean value."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_double"
c:identifier="gtk_print_settings_get_double"
doc="Returns the double value associated with @key, or 0."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_double_with_default"
c:identifier="gtk_print_settings_get_double_with_default"
doc="Returns the floating point number represented by
the value that is associated with @key, or @default_val
if the value does not represent a floating point number.
Floating point numbers are parsed with g_ascii_strtod()."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="def" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_double"
c:identifier="gtk_print_settings_set_double"
doc="Sets @key to a double value."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_length"
c:identifier="gtk_print_settings_get_length"
doc="Returns the value associated with @key, interpreted
as a length. The returned value is converted to @units."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_length"
c:identifier="gtk_print_settings_set_length"
doc="Associates a length in units of @unit with @key."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_int"
c:identifier="gtk_print_settings_get_int"
doc="Returns the integer value of @key, or 0."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_int_with_default"
c:identifier="gtk_print_settings_get_int_with_default"
doc="Returns the value of @key, interpreted as
an integer, or the default value."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="def" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_int"
c:identifier="gtk_print_settings_set_int"
doc="Sets @key to an integer value."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_printer"
c:identifier="gtk_print_settings_get_printer"
doc="Convenience function to obtain the value of
%GTK_PRINT_SETTINGS_PRINTER."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_printer"
c:identifier="gtk_print_settings_set_printer"
doc="Convenience function to set %GTK_PRINT_SETTINGS_PRINTER
to @printer."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="printer" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_orientation"
c:identifier="gtk_print_settings_get_orientation"
doc="Get the value of %GTK_PRINT_SETTINGS_ORIENTATION,
converted to a #GtkPageOrientation."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageOrientation" c:type="GtkPageOrientation"/>
</return-value>
</method>
<method name="set_orientation"
c:identifier="gtk_print_settings_set_orientation"
doc="Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="PageOrientation" c:type="GtkPageOrientation"/>
</parameter>
</parameters>
</method>
<method name="get_paper_size"
c:identifier="gtk_print_settings_get_paper_size"
doc="Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT,
converted to a #GtkPaperSize."
version="2.10">
<return-value transfer-ownership="full">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</return-value>
</method>
<method name="set_paper_size"
c:identifier="gtk_print_settings_set_paper_size"
doc="Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT,
%GTK_PRINT_SETTINGS_PAPER_WIDTH and
%GTK_PRINT_SETTINGS_PAPER_HEIGHT."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="paper_size" transfer-ownership="none">
<type name="PaperSize" c:type="GtkPaperSize*"/>
</parameter>
</parameters>
</method>
<method name="get_paper_width"
c:identifier="gtk_print_settings_get_paper_width"
doc="Gets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH,
converted to @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_paper_width"
c:identifier="gtk_print_settings_set_paper_width"
doc="Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_paper_height"
c:identifier="gtk_print_settings_get_paper_height"
doc="Gets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT,
converted to @unit."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="set_paper_height"
c:identifier="gtk_print_settings_set_paper_height"
doc="Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="height" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<type name="Unit" c:type="GtkUnit"/>
</parameter>
</parameters>
</method>
<method name="get_use_color"
c:identifier="gtk_print_settings_get_use_color"
doc="Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_use_color"
c:identifier="gtk_print_settings_set_use_color"
doc="Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_color" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_collate"
c:identifier="gtk_print_settings_get_collate"
doc="Gets the value of %GTK_PRINT_SETTINGS_COLLATE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_collate"
c:identifier="gtk_print_settings_set_collate"
doc="Sets the value of %GTK_PRINT_SETTINGS_COLLATE."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="collate" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_reverse"
c:identifier="gtk_print_settings_get_reverse"
doc="Gets the value of %GTK_PRINT_SETTINGS_REVERSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_reverse"
c:identifier="gtk_print_settings_set_reverse"
doc="Sets the value of %GTK_PRINT_SETTINGS_REVERSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="reverse" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_duplex"
c:identifier="gtk_print_settings_get_duplex"
doc="Gets the value of %GTK_PRINT_SETTINGS_DUPLEX."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintDuplex" c:type="GtkPrintDuplex"/>
</return-value>
</method>
<method name="set_duplex"
c:identifier="gtk_print_settings_set_duplex"
doc="Sets the value of %GTK_PRINT_SETTINGS_DUPLEX."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="duplex" transfer-ownership="none">
<type name="PrintDuplex" c:type="GtkPrintDuplex"/>
</parameter>
</parameters>
</method>
<method name="get_quality"
c:identifier="gtk_print_settings_get_quality"
doc="Gets the value of %GTK_PRINT_SETTINGS_QUALITY."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintQuality" c:type="GtkPrintQuality"/>
</return-value>
</method>
<method name="set_quality"
c:identifier="gtk_print_settings_set_quality"
doc="Sets the value of %GTK_PRINT_SETTINGS_QUALITY."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="quality" transfer-ownership="none">
<type name="PrintQuality" c:type="GtkPrintQuality"/>
</parameter>
</parameters>
</method>
<method name="get_n_copies"
c:identifier="gtk_print_settings_get_n_copies"
doc="Gets the value of %GTK_PRINT_SETTINGS_N_COPIES."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_n_copies"
c:identifier="gtk_print_settings_set_n_copies"
doc="Sets the value of %GTK_PRINT_SETTINGS_N_COPIES."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="num_copies" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_number_up"
c:identifier="gtk_print_settings_get_number_up"
doc="Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_number_up"
c:identifier="gtk_print_settings_set_number_up"
doc="Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="number_up" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_number_up_layout"
c:identifier="gtk_print_settings_get_number_up_layout"
doc="Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT."
version="2.14">
<return-value transfer-ownership="full">
<type name="NumberUpLayout" c:type="GtkNumberUpLayout"/>
</return-value>
</method>
<method name="set_number_up_layout"
c:identifier="gtk_print_settings_set_number_up_layout"
doc="Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="number_up_layout" transfer-ownership="none">
<type name="NumberUpLayout" c:type="GtkNumberUpLayout"/>
</parameter>
</parameters>
</method>
<method name="get_resolution"
c:identifier="gtk_print_settings_get_resolution"
doc="Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_resolution"
c:identifier="gtk_print_settings_set_resolution"
doc="Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
%GTK_PRINT_SETTINGS_RESOLUTION_X and
%GTK_PRINT_SETTINGS_RESOLUTION_Y."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="resolution" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_resolution_x"
c:identifier="gtk_print_settings_get_resolution_x"
doc="Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_X."
version="2.16">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_resolution_y"
c:identifier="gtk_print_settings_get_resolution_y"
doc="Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_Y."
version="2.16">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_resolution_xy"
c:identifier="gtk_print_settings_set_resolution_xy"
doc="Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
%GTK_PRINT_SETTINGS_RESOLUTION_X and
%GTK_PRINT_SETTINGS_RESOLUTION_Y."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="resolution_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="resolution_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_printer_lpi"
c:identifier="gtk_print_settings_get_printer_lpi"
doc="Gets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI."
version="2.16">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_printer_lpi"
c:identifier="gtk_print_settings_set_printer_lpi"
doc="Sets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="lpi" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_scale"
c:identifier="gtk_print_settings_get_scale"
doc="Gets the value of %GTK_PRINT_SETTINGS_SCALE."
version="2.10">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_scale"
c:identifier="gtk_print_settings_set_scale"
doc="Sets the value of %GTK_PRINT_SETTINGS_SCALE."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scale" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_print_pages"
c:identifier="gtk_print_settings_get_print_pages"
doc="Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES."
version="2.10">
<return-value transfer-ownership="full">
<type name="PrintPages" c:type="GtkPrintPages"/>
</return-value>
</method>
<method name="set_print_pages"
c:identifier="gtk_print_settings_set_print_pages"
doc="Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pages" transfer-ownership="none">
<type name="PrintPages" c:type="GtkPrintPages"/>
</parameter>
</parameters>
</method>
<method name="get_page_ranges"
c:identifier="gtk_print_settings_get_page_ranges"
doc="Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
to free the array when it is no longer needed."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageRange" c:type="GtkPageRange*"/>
</return-value>
<parameters>
<parameter name="num_ranges"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_page_ranges"
c:identifier="gtk_print_settings_set_page_ranges"
doc="Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_ranges" transfer-ownership="none">
<type name="PageRange" c:type="GtkPageRange*"/>
</parameter>
<parameter name="num_ranges" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_page_set"
c:identifier="gtk_print_settings_get_page_set"
doc="Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageSet" c:type="GtkPageSet"/>
</return-value>
</method>
<method name="set_page_set"
c:identifier="gtk_print_settings_set_page_set"
doc="Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="page_set" transfer-ownership="none">
<type name="PageSet" c:type="GtkPageSet"/>
</parameter>
</parameters>
</method>
<method name="get_default_source"
c:identifier="gtk_print_settings_get_default_source"
doc="Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_default_source"
c:identifier="gtk_print_settings_set_default_source"
doc="Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="default_source" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_media_type"
c:identifier="gtk_print_settings_get_media_type"
doc="Gets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.
The set of media types is defined in PWG 5101.1-2002 PWG.
&lt;!-- FIXME link here --&gt;"
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_media_type"
c:identifier="gtk_print_settings_set_media_type"
doc="Sets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.
The set of media types is defined in PWG 5101.1-2002 PWG.
&lt;!-- FIXME link here --&gt;"
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="media_type" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_dither"
c:identifier="gtk_print_settings_get_dither"
doc="Gets the value of %GTK_PRINT_SETTINGS_DITHER."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_dither"
c:identifier="gtk_print_settings_set_dither"
doc="Sets the value of %GTK_PRINT_SETTINGS_DITHER."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dither" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_finishings"
c:identifier="gtk_print_settings_get_finishings"
doc="Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_finishings"
c:identifier="gtk_print_settings_set_finishings"
doc="Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="finishings" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_output_bin"
c:identifier="gtk_print_settings_get_output_bin"
doc="Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_output_bin"
c:identifier="gtk_print_settings_set_output_bin"
doc="Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="output_bin" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
</class>
<callback name="PrintSettingsFunc" c:type="GtkPrintSettingsFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="PrintStatus"
glib:type-name="GtkPrintStatus"
glib:get-type="gtk_print_status_get_type"
c:type="GtkPrintStatus">
<member name="initial"
value="0"
c:identifier="GTK_PRINT_STATUS_INITIAL"
glib:nick="initial"/>
<member name="preparing"
value="1"
c:identifier="GTK_PRINT_STATUS_PREPARING"
glib:nick="preparing"/>
<member name="generating_data"
value="2"
c:identifier="GTK_PRINT_STATUS_GENERATING_DATA"
glib:nick="generating-data"/>
<member name="sending_data"
value="3"
c:identifier="GTK_PRINT_STATUS_SENDING_DATA"
glib:nick="sending-data"/>
<member name="pending"
value="4"
c:identifier="GTK_PRINT_STATUS_PENDING"
glib:nick="pending"/>
<member name="pending_issue"
value="5"
c:identifier="GTK_PRINT_STATUS_PENDING_ISSUE"
glib:nick="pending-issue"/>
<member name="printing"
value="6"
c:identifier="GTK_PRINT_STATUS_PRINTING"
glib:nick="printing"/>
<member name="finished"
value="7"
c:identifier="GTK_PRINT_STATUS_FINISHED"
glib:nick="finished"/>
<member name="finished_aborted"
value="8"
c:identifier="GTK_PRINT_STATUS_FINISHED_ABORTED"
glib:nick="finished-aborted"/>
</enumeration>
<bitfield name="PrivateFlags"
glib:type-name="GtkPrivateFlags"
glib:get-type="gtk_private_flags_get_type"
c:type="GtkPrivateFlags">
<member name="user_style"
value="1"
c:identifier="PRIVATE_GTK_USER_STYLE"
glib:nick="user-style"/>
<member name="resize_pending"
value="4"
c:identifier="PRIVATE_GTK_RESIZE_PENDING"
glib:nick="resize-pending"/>
<member name="has_pointer"
value="8"
c:identifier="PRIVATE_GTK_HAS_POINTER"
glib:nick="has-pointer"/>
<member name="shadowed"
value="16"
c:identifier="PRIVATE_GTK_SHADOWED"
glib:nick="shadowed"/>
<member name="has_shape_mask"
value="32"
c:identifier="PRIVATE_GTK_HAS_SHAPE_MASK"
glib:nick="has-shape-mask"/>
<member name="in_reparent"
value="64"
c:identifier="PRIVATE_GTK_IN_REPARENT"
glib:nick="in-reparent"/>
<member name="direction_set"
value="128"
c:identifier="PRIVATE_GTK_DIRECTION_SET"
glib:nick="direction-set"/>
<member name="direction_ltr"
value="256"
c:identifier="PRIVATE_GTK_DIRECTION_LTR"
glib:nick="direction-ltr"/>
<member name="anchored"
value="512"
c:identifier="PRIVATE_GTK_ANCHORED"
glib:nick="anchored"/>
<member name="child_visible"
value="1024"
c:identifier="PRIVATE_GTK_CHILD_VISIBLE"
glib:nick="child-visible"/>
<member name="redraw_on_alloc"
value="2048"
c:identifier="PRIVATE_GTK_REDRAW_ON_ALLOC"
glib:nick="redraw-on-alloc"/>
<member name="alloc_needed"
value="4096"
c:identifier="PRIVATE_GTK_ALLOC_NEEDED"
glib:nick="alloc-needed"/>
<member name="request_needed"
value="8192"
c:identifier="PRIVATE_GTK_REQUEST_NEEDED"
glib:nick="request-needed"/>
</bitfield>
<class name="Progress"
c:type="GtkProgress"
parent="Widget"
abstract="1"
glib:type-name="GtkProgress"
glib:get-type="gtk_progress_get_type"
glib:type-struct="ProgressClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<virtual-method name="paint">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="update">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="act_mode_enter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="set_show_text" c:identifier="gtk_progress_set_show_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_text" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_text_alignment"
c:identifier="gtk_progress_set_text_alignment">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="y_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="set_format_string"
c:identifier="gtk_progress_set_format_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_adjustment" c:identifier="gtk_progress_set_adjustment">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="configure" c:identifier="gtk_progress_configure">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="min" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_percentage" c:identifier="gtk_progress_set_percentage">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="percentage" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_value" c:identifier="gtk_progress_set_value">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_value" c:identifier="gtk_progress_get_value">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_activity_mode"
c:identifier="gtk_progress_set_activity_mode">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="activity_mode" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_current_text"
c:identifier="gtk_progress_get_current_text">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_text_from_value"
c:identifier="gtk_progress_get_text_from_value">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_current_percentage"
c:identifier="gtk_progress_get_current_percentage">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_percentage_from_value"
c:identifier="gtk_progress_get_percentage_from_value">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<property name="activity-mode" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-text" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="text-xalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="text-yalign" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="offscreen_pixmap">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="format">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="x_align">
<type name="float" c:type="gfloat"/>
</field>
<field name="y_align">
<type name="float" c:type="gfloat"/>
</field>
<field name="show_text" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="activity_mode" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_text_format" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<class name="ProgressBar"
c:type="GtkProgressBar"
parent="Progress"
glib:type-name="GtkProgressBar"
glib:get-type="gtk_progress_bar_get_type"
glib:type-struct="ProgressBarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_progress_bar_new">
<return-value transfer-ownership="full">
<type name="ProgressBar" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_adjustment"
c:identifier="gtk_progress_bar_new_with_adjustment"
doc="Creates a new #GtkProgressBar with an associated #GtkAdjustment.">
<return-value transfer-ownership="none" doc="a #GtkProgressBar.">
<type name="ProgressBar" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<method name="pulse"
c:identifier="gtk_progress_bar_pulse"
doc="Indicates that some progress is made, but you don&apos;t know how much.
Causes the progress bar to enter &quot;activity mode,&quot; where a block
bounces back and forth. Each call to gtk_progress_bar_pulse()
causes the block to move by a little bit (the amount of movement
per pulse is determined by gtk_progress_bar_set_pulse_step()).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_text"
c:identifier="gtk_progress_bar_set_text"
doc="Causes the given @text to appear superimposed on the progress bar.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text"
transfer-ownership="none"
allow-none="1"
doc="a UTF-8 string, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_fraction"
c:identifier="gtk_progress_bar_set_fraction"
doc="Causes the progress bar to &quot;fill in&quot; the given fraction
of the bar. The fraction should be between 0.0 and 1.0,
inclusive.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fraction" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_pulse_step"
c:identifier="gtk_progress_bar_set_pulse_step"
doc="Sets the fraction of total progress bar length to move the
bouncing block for each call to gtk_progress_bar_pulse().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fraction" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_orientation"
c:identifier="gtk_progress_bar_set_orientation"
doc="Causes the progress bar to switch to a different orientation
(left-to-right, right-to-left, top-to-bottom, or bottom-to-top).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="ProgressBarOrientation"
c:type="GtkProgressBarOrientation"/>
</parameter>
</parameters>
</method>
<method name="get_text"
c:identifier="gtk_progress_bar_get_text"
doc="Retrieves the text displayed superimposed on the progress bar,
if any, otherwise %NULL. The return value is a reference
to the text, not a copy of it, so will become invalid
if you change the text in the progress bar.
and should not be modified or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_fraction"
c:identifier="gtk_progress_bar_get_fraction"
doc="Returns the current fraction of the task that&apos;s been completed.">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_pulse_step"
c:identifier="gtk_progress_bar_get_pulse_step"
doc="Retrieves the pulse step set with gtk_progress_bar_set_pulse_step()">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_orientation"
c:identifier="gtk_progress_bar_get_orientation"
doc="Retrieves the current progress bar orientation.">
<return-value transfer-ownership="full">
<type name="ProgressBarOrientation"
c:type="GtkProgressBarOrientation"/>
</return-value>
</method>
<method name="set_ellipsize"
c:identifier="gtk_progress_bar_set_ellipsize"
doc="if there is not enough space to render the entire string."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</parameter>
</parameters>
</method>
<method name="get_ellipsize"
c:identifier="gtk_progress_bar_get_ellipsize"
doc="Returns the ellipsizing position of the progressbar.
See gtk_progress_bar_set_ellipsize()."
version="2.6">
<return-value transfer-ownership="full">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</return-value>
</method>
<method name="set_bar_style"
c:identifier="gtk_progress_bar_set_bar_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="ProgressBarStyle" c:type="GtkProgressBarStyle"/>
</parameter>
</parameters>
</method>
<method name="set_discrete_blocks"
c:identifier="gtk_progress_bar_set_discrete_blocks">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="blocks" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_activity_step"
c:identifier="gtk_progress_bar_set_activity_step">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_activity_blocks"
c:identifier="gtk_progress_bar_set_activity_blocks">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="blocks" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="update" c:identifier="gtk_progress_bar_update">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="percentage" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<property name="activity-blocks" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="activity-step" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="adjustment" writable="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="bar-style" writable="1">
<type name="ProgressBarStyle" c:type="GtkProgressBarStyle"/>
</property>
<property name="discrete-blocks" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="ellipsize"
version="2.6"
writable="1"
doc="The preferred place to ellipsize the string, if the progressbar does
not have enough room to display the entire string, specified as a
#PangoEllisizeMode.
Note that setting this property to a value other than
%PANGO_ELLIPSIZE_NONE has the side-effect that the progressbar requests
only enough space to display the ellipsis &quot;...&quot;. Another means to set a
progressbar&apos;s width is gtk_widget_set_size_request().">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</property>
<property name="fraction" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="orientation" writable="1">
<type name="ProgressBarOrientation"
c:type="GtkProgressBarOrientation"/>
</property>
<property name="pulse-step" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="text" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="progress">
<type name="Progress" c:type="GtkProgress"/>
</field>
<field name="bar_style">
<type name="ProgressBarStyle" c:type="GtkProgressBarStyle"/>
</field>
<field name="orientation">
<type name="ProgressBarOrientation"
c:type="GtkProgressBarOrientation"/>
</field>
<field name="blocks">
<type name="uint" c:type="guint"/>
</field>
<field name="in_block">
<type name="int" c:type="gint"/>
</field>
<field name="activity_pos">
<type name="int" c:type="gint"/>
</field>
<field name="activity_step">
<type name="uint" c:type="guint"/>
</field>
<field name="activity_blocks">
<type name="uint" c:type="guint"/>
</field>
<field name="pulse_fraction">
<type name="double" c:type="gdouble"/>
</field>
<field name="activity_dir" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="ellipsize" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="dirty" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="ProgressBarClass"
c:type="GtkProgressBarClass"
glib:is-gtype-struct-for="ProgressBar">
<field name="parent_class">
<type name="ProgressClass" c:type="GtkProgressClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="ProgressBarOrientation"
glib:type-name="GtkProgressBarOrientation"
glib:get-type="gtk_progress_bar_orientation_get_type"
c:type="GtkProgressBarOrientation">
<member name="left_to_right"
value="0"
c:identifier="GTK_PROGRESS_LEFT_TO_RIGHT"
glib:nick="left-to-right"/>
<member name="right_to_left"
value="1"
c:identifier="GTK_PROGRESS_RIGHT_TO_LEFT"
glib:nick="right-to-left"/>
<member name="bottom_to_top"
value="2"
c:identifier="GTK_PROGRESS_BOTTOM_TO_TOP"
glib:nick="bottom-to-top"/>
<member name="top_to_bottom"
value="3"
c:identifier="GTK_PROGRESS_TOP_TO_BOTTOM"
glib:nick="top-to-bottom"/>
</enumeration>
<enumeration name="ProgressBarStyle"
glib:type-name="GtkProgressBarStyle"
glib:get-type="gtk_progress_bar_style_get_type"
c:type="GtkProgressBarStyle">
<member name="continuous"
value="0"
c:identifier="GTK_PROGRESS_CONTINUOUS"
glib:nick="continuous"/>
<member name="discrete"
value="1"
c:identifier="GTK_PROGRESS_DISCRETE"
glib:nick="discrete"/>
</enumeration>
<record name="ProgressClass"
c:type="GtkProgressClass"
glib:is-gtype-struct-for="Progress">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="paint">
<callback name="paint" c:type="paint">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="progress" transfer-ownership="none">
<type name="Progress" c:type="GtkProgress*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update">
<callback name="update" c:type="update">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="progress" transfer-ownership="none">
<type name="Progress" c:type="GtkProgress*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="act_mode_enter">
<callback name="act_mode_enter" c:type="act_mode_enter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="progress" transfer-ownership="none">
<type name="Progress" c:type="GtkProgress*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="RadioAction"
c:type="GtkRadioAction"
parent="ToggleAction"
glib:type-name="GtkRadioAction"
glib:get-type="gtk_radio_action_get_type"
glib:type-struct="RadioActionClass">
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_radio_action_new"
doc="action, or %NULL
return if this action is selected.
Creates a new #GtkRadioAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel()."
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioAction" c:type="GtkRadioAction*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="The label displayed in menu items and on buttons, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tooltip"
transfer-ownership="none"
allow-none="1"
doc="A tooltip for this action, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none" doc="should">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<method name="get_group"
c:identifier="gtk_radio_action_get_group"
doc="Returns the list representing the radio group for this object.
Note that the returned list is only valid until the next change
to the group.
A common way to set up a group of radio group is the following:
|[
GSList *group = NULL;
GtkRadioAction *action;
while (/&amp;ast; more actions to add &amp;ast;/)
{
action = gtk_radio_action_new (...);
gtk_radio_action_set_group (action, group);
group = gtk_radio_action_get_group (action);
}
]|"
version="2.4">
<return-value transfer-ownership="none"
doc="the list representing the radio group for this object">
<type name="GLib.SList" c:type="GSList*">
<type name="Action"/>
</type>
</return-value>
</method>
<method name="set_group"
c:identifier="gtk_radio_action_set_group"
doc="Sets the radio group for the radio action object."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</method>
<method name="get_current_value"
c:identifier="gtk_radio_action_get_current_value"
doc="Obtains the value property of the currently active member of
the group to which @action belongs."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_current_value"
c:identifier="gtk_radio_action_set_current_value"
doc="Sets the currently active group member to the member with value
property @current_value."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="current_value" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="current-value"
version="2.10"
writable="1"
doc="The value property of the currently active member of the group to which
this action belongs.">
<type name="int" c:type="gint"/>
</property>
<property name="group"
version="2.4"
readable="0"
writable="1"
doc="Sets a new group for a radio action.">
<type name="RadioAction" c:type="GtkRadioAction"/>
</property>
<property name="value"
version="2.4"
writable="1"
doc="The value is an arbitrary integer which can be used as a
convenient way to determine which action in the group is
currently active in an ::activate or ::changed signal handler.
See gtk_radio_action_get_current_value() and #GtkRadioActionEntry
for convenient ways to get and set this property.">
<type name="int" c:type="gint"/>
</property>
<field name="parent">
<type name="ToggleAction" c:type="GtkToggleAction"/>
</field>
<field name="private_data">
<type name="RadioActionPrivate" c:type="GtkRadioActionPrivate*"/>
</field>
<glib:signal name="changed"
doc="The ::changed signal is emitted on every member of a radio group when the
active member is changed. The signal gets emitted after the ::activate signals
for the previous and current active members."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="current" transfer-ownership="none">
<type name="RadioAction" c:type="GtkRadioAction"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="RadioActionClass"
c:type="GtkRadioActionClass"
glib:is-gtype-struct-for="RadioAction">
<field name="parent_class">
<type name="ToggleActionClass" c:type="GtkToggleActionClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="RadioAction" c:type="GtkRadioAction*"/>
</parameter>
<parameter name="current" transfer-ownership="none">
<type name="RadioAction" c:type="GtkRadioAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="RadioActionEntry" c:type="GtkRadioActionEntry">
<field name="name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="stock_id" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="label" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accelerator" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="tooltip" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value" writable="1">
<type name="int" c:type="gint"/>
</field>
</record>
<record name="RadioActionPrivate" c:type="GtkRadioActionPrivate">
</record>
<class name="RadioButton"
c:type="GtkRadioButton"
parent="CheckButton"
glib:type-name="GtkRadioButton"
glib:get-type="gtk_radio_button_get_type"
glib:type-struct="RadioButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_radio_button_new">
<return-value transfer-ownership="full">
<type name="RadioButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_widget"
c:identifier="gtk_radio_button_new_from_widget">
<return-value transfer-ownership="full">
<type name="RadioButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="radio_group_member" transfer-ownership="none">
<type name="RadioButton" c:type="GtkRadioButton*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_radio_button_new_with_label">
<return-value transfer-ownership="full">
<type name="RadioButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_label_from_widget"
c:identifier="gtk_radio_button_new_with_label_from_widget">
<return-value transfer-ownership="full">
<type name="RadioButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="radio_group_member" transfer-ownership="none">
<type name="RadioButton" c:type="GtkRadioButton*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_radio_button_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkRadioButton containing a label, adding it to the same
group as @group. The label will be created using
gtk_label_new_with_mnemonic(), so underscores in @label indicate the
mnemonic for the button.">
<return-value transfer-ownership="full">
<type name="RadioButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic_from_widget"
c:identifier="gtk_radio_button_new_with_mnemonic_from_widget"
doc="mnemonic character
Creates a new #GtkRadioButton containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the button.">
<return-value transfer-ownership="full">
<type name="RadioButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="radio_group_member"
transfer-ownership="none"
allow-none="1"
doc="widget to get radio group from or %NULL">
<type name="RadioButton" c:type="GtkRadioButton*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_group"
c:identifier="gtk_radio_button_get_group"
doc="Retrieves the group assigned to a radio button.
containing all the radio buttons in the same group
as @radio_button. The returned list is owned by the radio button
and must not be modified or freed.">
<return-value transfer-ownership="none" doc="a linked list">
<type name="GLib.SList" c:type="GSList*">
<type name="RadioButton"/>
</type>
</return-value>
</method>
<method name="set_group" c:identifier="gtk_radio_button_set_group">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</method>
<property name="group" readable="0" writable="1">
<type name="RadioButton" c:type="GtkRadioButton"/>
</property>
<field name="check_button">
<type name="CheckButton" c:type="GtkCheckButton"/>
</field>
<field name="group">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<glib:signal name="group-changed"
doc="Emitted when the group of radio buttons that a radio button belongs
to changes. This is emitted when a radio button switches from
being alone to being part of a group of 2 or more buttons, or
vice-versa, and when a button is moved from one group of 2 or
more buttons to a different one, but not when the composition
of the group that a button belongs to changes."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="RadioButtonClass"
c:type="GtkRadioButtonClass"
glib:is-gtype-struct-for="RadioButton">
<field name="parent_class">
<type name="CheckButtonClass" c:type="GtkCheckButtonClass"/>
</field>
<field name="group_changed">
<callback name="group_changed" c:type="group_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="radio_button" transfer-ownership="none">
<type name="RadioButton" c:type="GtkRadioButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="RadioMenuItem"
c:type="GtkRadioMenuItem"
parent="CheckMenuItem"
glib:type-name="GtkRadioMenuItem"
glib:get-type="gtk_radio_menu_item_get_type"
glib:type-struct="RadioMenuItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_radio_menu_item_new">
<return-value transfer-ownership="full">
<type name="RadioMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_radio_menu_item_new_with_label"
doc="Creates a new #GtkRadioMenuItem whose child is a simple #GtkLabel.">
<return-value transfer-ownership="none" doc="A new #GtkRadioMenuItem">
<type name="RadioMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="full">
<type name="GLib.SList" c:type="GSList*">
<type name="RadioMenuItem"/>
</type>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_radio_menu_item_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkRadioMenuItem containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the menu item.">
<return-value transfer-ownership="full">
<type name="RadioMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_widget"
c:identifier="gtk_radio_menu_item_new_from_widget"
doc="Creates a new #GtkRadioMenuItem adding it to the same group as @group."
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="RadioMenuItem" c:type="GtkRadioMenuItem*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic_from_widget"
c:identifier="gtk_radio_menu_item_new_with_mnemonic_from_widget"
doc="mnemonic character
Creates a new GtkRadioMenuItem containing a label. The label will be
created using gtk_label_new_with_mnemonic(), so underscores in label
indicate the mnemonic for the menu item.
The new #GtkRadioMenuItem is added to the same group as @group."
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="RadioMenuItem" c:type="GtkRadioMenuItem*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_label_from_widget"
c:identifier="gtk_radio_menu_item_new_with_label_from_widget"
doc="Creates a new GtkRadioMenuItem whose child is a simple GtkLabel.
The new #GtkRadioMenuItem is added to the same group as @group."
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioMenuItem" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="RadioMenuItem" c:type="GtkRadioMenuItem*"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_group" c:identifier="gtk_radio_menu_item_get_group">
<return-value transfer-ownership="full">
<type name="GLib.SList" c:type="GSList*"/>
</return-value>
</method>
<method name="set_group" c:identifier="gtk_radio_menu_item_set_group">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</method>
<property name="group"
version="2.8"
readable="0"
writable="1"
doc="The radio menu item whose group this widget belongs to.">
<type name="RadioMenuItem" c:type="GtkRadioMenuItem"/>
</property>
<field name="check_menu_item">
<type name="CheckMenuItem" c:type="GtkCheckMenuItem"/>
</field>
<field name="group">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<glib:signal name="group-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="RadioMenuItemClass"
c:type="GtkRadioMenuItemClass"
glib:is-gtype-struct-for="RadioMenuItem">
<field name="parent_class">
<type name="CheckMenuItemClass" c:type="GtkCheckMenuItemClass"/>
</field>
<field name="group_changed">
<callback name="group_changed" c:type="group_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="radio_menu_item" transfer-ownership="none">
<type name="RadioMenuItem" c:type="GtkRadioMenuItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="RadioToolButton"
c:type="GtkRadioToolButton"
parent="ToggleToolButton"
glib:type-name="GtkRadioToolButton"
glib:get-type="gtk_radio_tool_button_get_type"
glib:type-struct="RadioToolButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_radio_tool_button_new"
doc="Creates a new #GtkRadioToolButton, adding it to @group."
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="group"
transfer-ownership="none"
allow-none="1"
doc="An existing radio button group, or %NULL if you are creating a new group">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_radio_tool_button_new_from_stock"
doc="Creates a new #GtkRadioToolButton, adding it to @group.
The new #GtkRadioToolButton will contain an icon and label from the
stock item indicated by @stock_id."
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="group"
transfer-ownership="none"
allow-none="1"
doc="an existing radio button group, or %NULL if you are creating a new group">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_widget"
c:identifier="gtk_radio_tool_button_new_from_widget"
doc="Creates a new #GtkRadioToolButton adding it to the same group as @gruup"
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="RadioToolButton" c:type="GtkRadioToolButton*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_stock_from_widget"
c:identifier="gtk_radio_tool_button_new_with_stock_from_widget"
doc="Creates a new #GtkRadioToolButton adding it to the same group as @group.
The new #GtkRadioToolButton will contain an icon and label from the
stock item indicated by @stock_id."
version="2.4">
<return-value transfer-ownership="full">
<type name="RadioToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="RadioToolButton" c:type="GtkRadioToolButton*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_group"
c:identifier="gtk_radio_tool_button_get_group"
doc="Returns the radio button group @button belongs to."
version="2.4">
<return-value transfer-ownership="full">
<type name="GLib.SList" c:type="GSList*"/>
</return-value>
</method>
<method name="set_group"
c:identifier="gtk_radio_tool_button_set_group"
doc="Adds @button to @group, removing it from the group it belonged to before."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</method>
<property name="group"
version="2.4"
readable="0"
writable="1"
doc="Sets a new group for a radio tool button.">
<type name="RadioToolButton" c:type="GtkRadioToolButton"/>
</property>
<field name="parent">
<type name="ToggleToolButton" c:type="GtkToggleToolButton"/>
</field>
</class>
<record name="RadioToolButtonClass"
c:type="GtkRadioToolButtonClass"
glib:is-gtype-struct-for="RadioToolButton">
<field name="parent_class">
<type name="ToggleToolButtonClass" c:type="GtkToggleToolButtonClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Range"
c:type="GtkRange"
parent="Widget"
abstract="1"
glib:type-name="GtkRange"
glib:get-type="gtk_range_get_type"
glib:type-struct="RangeClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<virtual-method name="get_range_border">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="border_" transfer-ownership="none">
<type name="Border" c:type="GtkBorder*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_update_policy"
c:identifier="gtk_range_set_update_policy"
doc="Sets the update policy for the range. #GTK_UPDATE_CONTINUOUS means that
anytime the range slider is moved, the range value will change and the
value_changed signal will be emitted. #GTK_UPDATE_DELAYED means that
the value will be updated after a brief timeout where no slider motion
occurs, so updates are spaced by a short time rather than
continuous. #GTK_UPDATE_DISCONTINUOUS means that the value will only
be updated when the user releases the button and ends the slider
drag operation.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="policy" transfer-ownership="none">
<type name="UpdateType" c:type="GtkUpdateType"/>
</parameter>
</parameters>
</method>
<method name="get_update_policy"
c:identifier="gtk_range_get_update_policy"
doc="Gets the update policy of @range. See gtk_range_set_update_policy().">
<return-value transfer-ownership="full">
<type name="UpdateType" c:type="GtkUpdateType"/>
</return-value>
</method>
<method name="set_adjustment"
c:identifier="gtk_range_set_adjustment"
doc="Sets the adjustment to be used as the &quot;model&quot; object for this range
widget. The adjustment indicates the current range value, the
minimum and maximum range values, the step/page increments used
for keybindings and scrolling, and the page size. The page size
is normally 0 for #GtkScale and nonzero for #GtkScrollbar, and
indicates the size of the visible area of the widget being scrolled.
The page size affects the size of the scrollbar slider.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_adjustment"
c:identifier="gtk_range_get_adjustment"
doc="Get the #GtkAdjustment which is the &quot;model&quot; object for #GtkRange.
See gtk_range_set_adjustment() for details.
The return value does not have a reference added, so should not
be unreferenced.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_inverted"
c:identifier="gtk_range_set_inverted"
doc="Ranges normally move from lower to higher values as the
slider moves from top to bottom or left to right. Inverted
ranges have higher values at the top or on the right rather than
on the bottom or left.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_inverted"
c:identifier="gtk_range_get_inverted"
doc="Gets the value set by gtk_range_set_inverted().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_flippable"
c:identifier="gtk_range_set_flippable"
doc="If a range is flippable, it will switch its direction if it is
horizontal and its direction is %GTK_TEXT_DIR_RTL.
See gtk_widget_get_direction()."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="flippable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_flippable"
c:identifier="gtk_range_get_flippable"
doc="Gets the value set by gtk_range_set_flippable()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_slider_size_fixed"
c:identifier="gtk_range_set_slider_size_fixed"
doc="Sets whether the range&apos;s slider has a fixed size, or a size that
depends on it&apos;s adjustment&apos;s page size.
This function is useful mainly for #GtkRange subclasses."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="size_fixed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_slider_size_fixed"
c:identifier="gtk_range_get_slider_size_fixed"
doc="This function is useful mainly for #GtkRange subclasses.
See gtk_range_set_slider_size_fixed()."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_min_slider_size"
c:identifier="gtk_range_set_min_slider_size"
doc="Sets the minimum size of the range&apos;s slider.
This function is useful mainly for #GtkRange subclasses."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min_size" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_min_slider_size"
c:identifier="gtk_range_get_min_slider_size"
doc="This function is useful mainly for #GtkRange subclasses.
See gtk_range_set_min_slider_size()."
version="2.20">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_range_rect"
c:identifier="gtk_range_get_range_rect"
doc="This function returns the area that contains the range&apos;s trough
and its steppers, in widget-&gt;window coordinates.
This function is useful mainly for #GtkRange subclasses."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="range_rect" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="get_slider_range"
c:identifier="gtk_range_get_slider_range"
doc="This function returns sliders range along the long dimension,
in widget-&gt;window coordinates.
This function is useful mainly for #GtkRange subclasses."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="slider_start"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the slider&apos;s start, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="slider_end"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the slider&apos;s end, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_lower_stepper_sensitivity"
c:identifier="gtk_range_set_lower_stepper_sensitivity"
doc="Sets the sensitivity policy for the stepper that points to the
&apos;lower&apos; end of the GtkRange&apos;s adjustment."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sensitivity" transfer-ownership="none">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</parameter>
</parameters>
</method>
<method name="get_lower_stepper_sensitivity"
c:identifier="gtk_range_get_lower_stepper_sensitivity"
doc="Gets the sensitivity policy for the stepper that points to the
&apos;lower&apos; end of the GtkRange&apos;s adjustment."
version="2.10">
<return-value transfer-ownership="full">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</return-value>
</method>
<method name="set_upper_stepper_sensitivity"
c:identifier="gtk_range_set_upper_stepper_sensitivity"
doc="Sets the sensitivity policy for the stepper that points to the
&apos;upper&apos; end of the GtkRange&apos;s adjustment."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sensitivity" transfer-ownership="none">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</parameter>
</parameters>
</method>
<method name="get_upper_stepper_sensitivity"
c:identifier="gtk_range_get_upper_stepper_sensitivity"
doc="Gets the sensitivity policy for the stepper that points to the
&apos;upper&apos; end of the GtkRange&apos;s adjustment."
version="2.10">
<return-value transfer-ownership="full">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</return-value>
</method>
<method name="set_increments"
c:identifier="gtk_range_set_increments"
doc="Sets the step and page sizes for the range.
The step size is used when the user clicks the #GtkScrollbar
arrows or moves #GtkScale via arrow keys. The page size
is used for example when moving via Page Up or Page Down keys.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="page" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_range"
c:identifier="gtk_range_set_range"
doc="Sets the allowable values in the #GtkRange, and clamps the range
value to be between @min and @max. (If the range has a non-zero
page size, it is clamped between @min and @max - page-size.)">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_value"
c:identifier="gtk_range_set_value"
doc="Sets the current value of the range; if the value is outside the
minimum or maximum range values, it will be clamped to fit inside
them. The range emits the #GtkRange::value-changed signal if the
value changes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_value"
c:identifier="gtk_range_get_value"
doc="Gets the current value of the range.">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_show_fill_level"
c:identifier="gtk_range_set_show_fill_level"
doc="Sets whether a graphical fill level is show on the trough. See
gtk_range_set_fill_level() for a general description of the fill
level concept."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_fill_level" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_fill_level"
c:identifier="gtk_range_get_show_fill_level"
doc="Gets whether the range displays the fill level graphically."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_restrict_to_fill_level"
c:identifier="gtk_range_set_restrict_to_fill_level"
doc="Sets whether the slider is restricted to the fill level. See
gtk_range_set_fill_level() for a general description of the fill
level concept."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="restrict_to_fill_level" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_restrict_to_fill_level"
c:identifier="gtk_range_get_restrict_to_fill_level"
doc="Gets whether the range is restricted to the fill level."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_fill_level"
c:identifier="gtk_range_set_fill_level"
doc="Set the new position of the fill level indicator.
The &quot;fill level&quot; is probably best described by its most prominent
use case, which is an indicator for the amount of pre-buffering in
a streaming media player. In that use case, the value of the range
would indicate the current play position, and the fill level would
be the position up to which the file/stream has been downloaded.
This amount of prebuffering can be displayed on the range&apos;s trough
and is themeable separately from the trough. To enable fill level
display, use gtk_range_set_show_fill_level(). The range defaults
to not showing the fill level.
Additionally, it&apos;s possible to restrict the range&apos;s slider position
to values which are smaller than the fill level. This is controller
by gtk_range_set_restrict_to_fill_level() and is by default
enabled."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fill_level" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_fill_level"
c:identifier="gtk_range_get_fill_level"
doc="Gets the current position of the fill level indicator."
version="2.12">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<property name="adjustment" writable="1" construct="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="fill-level"
version="2.12"
writable="1"
doc="The fill level (e.g. prebuffering of a network stream).
See gtk_range_set_fill_level().">
<type name="double" c:type="gdouble"/>
</property>
<property name="inverted" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="lower-stepper-sensitivity" writable="1">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</property>
<property name="restrict-to-fill-level"
version="2.12"
writable="1"
doc="The restrict-to-fill-level property controls whether slider
movement is restricted to an upper boundary set by the
fill level. See gtk_range_set_restrict_to_fill_level().">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-fill-level"
version="2.12"
writable="1"
doc="The show-fill-level property controls whether fill level indicator
graphics are displayed on the trough. See
gtk_range_set_show_fill_level().">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="update-policy" writable="1">
<type name="UpdateType" c:type="GtkUpdateType"/>
</property>
<property name="upper-stepper-sensitivity" writable="1">
<type name="SensitivityType" c:type="GtkSensitivityType"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="update_policy">
<type name="UpdateType" c:type="GtkUpdateType"/>
</field>
<field name="inverted" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="flippable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_stepper_a" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_stepper_b" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_stepper_c" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_stepper_d" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="need_recalc" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="slider_size_fixed" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="min_slider_size">
<type name="int" c:type="gint"/>
</field>
<field name="orientation">
<type name="Orientation" c:type="GtkOrientation"/>
</field>
<field name="range_rect">
<type name="Gdk.Rectangle" c:type="GdkRectangle"/>
</field>
<field name="slider_start">
<type name="int" c:type="gint"/>
</field>
<field name="slider_end">
<type name="int" c:type="gint"/>
</field>
<field name="round_digits">
<type name="int" c:type="gint"/>
</field>
<field name="trough_click_forward" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="update_pending" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="layout">
<type name="RangeLayout" c:type="GtkRangeLayout*"/>
</field>
<field name="timer">
<type name="RangeStepTimer" c:type="GtkRangeStepTimer*"/>
</field>
<field name="slide_initial_slider_position">
<type name="int" c:type="gint"/>
</field>
<field name="slide_initial_coordinate">
<type name="int" c:type="gint"/>
</field>
<field name="update_timeout_id">
<type name="uint" c:type="guint"/>
</field>
<field name="event_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<glib:signal name="adjust-bounds">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="change-value"
doc="signal, %FALSE to propagate the signal further
The ::change-value signal is emitted when a scroll action is
performed on a range. It allows an application to determine the
type of scroll event that occurred and the resultant new value.
The application can handle the event itself and return %TRUE to
prevent further processing. Or, by returning %FALSE, it can pass
the event to other handlers until the default GTK+ handler is
reached.
The value parameter is unrounded. An application that overrides
the ::change-value signal is responsible for clamping the value to
the desired number of decimal digits; the default GTK+ handler
clamps the value based on @range-&gt;round_digits.
It is not possible to use delayed update policies in an overridden
::change-value handler."
version="2.6">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="scroll" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-slider"
doc="Virtual function that moves the slider. Used for keybindings.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="value-changed"
doc="Emitted when the range value changes.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="RangeClass"
c:type="GtkRangeClass"
glib:is-gtype-struct-for="Range">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="slider_detail">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="stepper_detail">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value_changed">
<callback name="value_changed" c:type="value_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<type name="Range" c:type="GtkRange*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="adjust_bounds">
<callback name="adjust_bounds" c:type="adjust_bounds">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<type name="Range" c:type="GtkRange*"/>
</parameter>
<parameter name="new_value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_slider">
<callback name="move_slider" c:type="move_slider">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<type name="Range" c:type="GtkRange*"/>
</parameter>
<parameter name="scroll" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_range_border">
<callback name="get_range_border" c:type="get_range_border">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<type name="Range" c:type="GtkRange*"/>
</parameter>
<parameter name="border_" transfer-ownership="none">
<type name="Border" c:type="GtkBorder*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="change_value">
<callback name="change_value" c:type="change_value">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<type name="Range" c:type="GtkRange*"/>
</parameter>
<parameter name="scroll" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="new_value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="RangeLayout" c:type="GtkRangeLayout">
</record>
<record name="RangeStepTimer" c:type="GtkRangeStepTimer">
</record>
<record name="RcContext" c:type="GtkRcContext">
</record>
<bitfield name="RcFlags"
glib:type-name="GtkRcFlags"
glib:get-type="gtk_rc_flags_get_type"
c:type="GtkRcFlags">
<member name="fg" value="1" c:identifier="GTK_RC_FG" glib:nick="fg"/>
<member name="bg" value="2" c:identifier="GTK_RC_BG" glib:nick="bg"/>
<member name="text"
value="4"
c:identifier="GTK_RC_TEXT"
glib:nick="text"/>
<member name="base"
value="8"
c:identifier="GTK_RC_BASE"
glib:nick="base"/>
</bitfield>
<record name="RcProperty" c:type="GtkRcProperty">
<field name="type_name" writable="1">
<type name="GLib.Quark" c:type="GQuark"/>
</field>
<field name="property_name" writable="1">
<type name="GLib.Quark" c:type="GQuark"/>
</field>
<field name="origin" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value" writable="1">
<type name="GObject.Value" c:type="GValue"/>
</field>
</record>
<callback name="RcPropertyParser" c:type="GtkRcPropertyParser">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="rc_string" transfer-ownership="none">
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="property_value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</callback>
<class name="RcStyle"
c:type="GtkRcStyle"
parent="GObject.Object"
glib:type-name="GtkRcStyle"
glib:get-type="gtk_rc_style_get_type"
glib:type-struct="RcStyleClass">
<constructor name="new" c:identifier="gtk_rc_style_new">
<return-value transfer-ownership="full">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</return-value>
</constructor>
<virtual-method name="create_rc_style">
<return-value transfer-ownership="full">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</return-value>
</virtual-method>
<virtual-method name="parse">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="settings" transfer-ownership="none">
<type name="Settings" c:type="GtkSettings*"/>
</parameter>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="merge">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="src" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="create_style">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
</virtual-method>
<method name="copy"
c:identifier="gtk_rc_style_copy"
doc="Makes a copy of the specified #GtkRcStyle. This function
will correctly copy an RC style that is a member of a class
derived from #GtkRcStyle.">
<return-value transfer-ownership="full">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</return-value>
</method>
<method name="ref" c:identifier="gtk_rc_style_ref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unref" c:identifier="gtk_rc_style_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="name">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="bg_pixmap_name">
<array zero-terminated="0" c:type="gchar*" fixed-size="5">
<type name="utf8"/>
</array>
</field>
<field name="font_desc">
<type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
</field>
<field name="color_flags">
<array zero-terminated="0" c:type="GtkRcFlags" fixed-size="5">
<type name="RcFlags"/>
</array>
</field>
<field name="fg">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="bg">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="text">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="base">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="xthickness">
<type name="int" c:type="gint"/>
</field>
<field name="ythickness">
<type name="int" c:type="gint"/>
</field>
<field name="rc_properties">
<type name="GLib.Array" c:type="GArray*"/>
</field>
<field name="rc_style_lists">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="icon_factories">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="engine_specified" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="RcStyleClass"
c:type="GtkRcStyleClass"
glib:is-gtype-struct-for="RcStyle">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="create_rc_style">
<callback name="create_rc_style" c:type="create_rc_style">
<return-value transfer-ownership="full">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</return-value>
<parameters>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="parse">
<callback name="parse" c:type="parse">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
<parameter name="settings" transfer-ownership="none">
<type name="Settings" c:type="GtkSettings*"/>
</parameter>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="merge">
<callback name="merge" c:type="merge">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dest" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
<parameter name="src" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_style">
<callback name="create_style" c:type="create_style">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="RcTokenType"
glib:type-name="GtkRcTokenType"
glib:get-type="gtk_rc_token_type_get_type"
c:type="GtkRcTokenType">
<member name="invalid"
value="270"
c:identifier="GTK_RC_TOKEN_INVALID"
glib:nick="invalid"/>
<member name="include"
value="271"
c:identifier="GTK_RC_TOKEN_INCLUDE"
glib:nick="include"/>
<member name="normal"
value="272"
c:identifier="GTK_RC_TOKEN_NORMAL"
glib:nick="normal"/>
<member name="active"
value="273"
c:identifier="GTK_RC_TOKEN_ACTIVE"
glib:nick="active"/>
<member name="prelight"
value="274"
c:identifier="GTK_RC_TOKEN_PRELIGHT"
glib:nick="prelight"/>
<member name="selected"
value="275"
c:identifier="GTK_RC_TOKEN_SELECTED"
glib:nick="selected"/>
<member name="insensitive"
value="276"
c:identifier="GTK_RC_TOKEN_INSENSITIVE"
glib:nick="insensitive"/>
<member name="fg"
value="277"
c:identifier="GTK_RC_TOKEN_FG"
glib:nick="fg"/>
<member name="bg"
value="278"
c:identifier="GTK_RC_TOKEN_BG"
glib:nick="bg"/>
<member name="text"
value="279"
c:identifier="GTK_RC_TOKEN_TEXT"
glib:nick="text"/>
<member name="base"
value="280"
c:identifier="GTK_RC_TOKEN_BASE"
glib:nick="base"/>
<member name="xthickness"
value="281"
c:identifier="GTK_RC_TOKEN_XTHICKNESS"
glib:nick="xthickness"/>
<member name="ythickness"
value="282"
c:identifier="GTK_RC_TOKEN_YTHICKNESS"
glib:nick="ythickness"/>
<member name="font"
value="283"
c:identifier="GTK_RC_TOKEN_FONT"
glib:nick="font"/>
<member name="fontset"
value="284"
c:identifier="GTK_RC_TOKEN_FONTSET"
glib:nick="fontset"/>
<member name="font_name"
value="285"
c:identifier="GTK_RC_TOKEN_FONT_NAME"
glib:nick="font-name"/>
<member name="bg_pixmap"
value="286"
c:identifier="GTK_RC_TOKEN_BG_PIXMAP"
glib:nick="bg-pixmap"/>
<member name="pixmap_path"
value="287"
c:identifier="GTK_RC_TOKEN_PIXMAP_PATH"
glib:nick="pixmap-path"/>
<member name="style"
value="288"
c:identifier="GTK_RC_TOKEN_STYLE"
glib:nick="style"/>
<member name="binding"
value="289"
c:identifier="GTK_RC_TOKEN_BINDING"
glib:nick="binding"/>
<member name="bind"
value="290"
c:identifier="GTK_RC_TOKEN_BIND"
glib:nick="bind"/>
<member name="widget"
value="291"
c:identifier="GTK_RC_TOKEN_WIDGET"
glib:nick="widget"/>
<member name="widget_class"
value="292"
c:identifier="GTK_RC_TOKEN_WIDGET_CLASS"
glib:nick="widget-class"/>
<member name="class"
value="293"
c:identifier="GTK_RC_TOKEN_CLASS"
glib:nick="class"/>
<member name="lowest"
value="294"
c:identifier="GTK_RC_TOKEN_LOWEST"
glib:nick="lowest"/>
<member name="gtk"
value="295"
c:identifier="GTK_RC_TOKEN_GTK"
glib:nick="gtk"/>
<member name="application"
value="296"
c:identifier="GTK_RC_TOKEN_APPLICATION"
glib:nick="application"/>
<member name="theme"
value="297"
c:identifier="GTK_RC_TOKEN_THEME"
glib:nick="theme"/>
<member name="rc"
value="298"
c:identifier="GTK_RC_TOKEN_RC"
glib:nick="rc"/>
<member name="highest"
value="299"
c:identifier="GTK_RC_TOKEN_HIGHEST"
glib:nick="highest"/>
<member name="engine"
value="300"
c:identifier="GTK_RC_TOKEN_ENGINE"
glib:nick="engine"/>
<member name="module_path"
value="301"
c:identifier="GTK_RC_TOKEN_MODULE_PATH"
glib:nick="module-path"/>
<member name="im_module_path"
value="302"
c:identifier="GTK_RC_TOKEN_IM_MODULE_PATH"
glib:nick="im-module-path"/>
<member name="im_module_file"
value="303"
c:identifier="GTK_RC_TOKEN_IM_MODULE_FILE"
glib:nick="im-module-file"/>
<member name="stock"
value="304"
c:identifier="GTK_RC_TOKEN_STOCK"
glib:nick="stock"/>
<member name="ltr"
value="305"
c:identifier="GTK_RC_TOKEN_LTR"
glib:nick="ltr"/>
<member name="rtl"
value="306"
c:identifier="GTK_RC_TOKEN_RTL"
glib:nick="rtl"/>
<member name="color"
value="307"
c:identifier="GTK_RC_TOKEN_COLOR"
glib:nick="color"/>
<member name="unbind"
value="308"
c:identifier="GTK_RC_TOKEN_UNBIND"
glib:nick="unbind"/>
<member name="last"
value="309"
c:identifier="GTK_RC_TOKEN_LAST"
glib:nick="last"/>
</enumeration>
<class name="RecentAction"
c:type="GtkRecentAction"
parent="Action"
glib:type-name="GtkRecentAction"
glib:get-type="gtk_recent_action_get_type"
glib:type-struct="RecentActionClass">
<implements name="Buildable"/>
<implements name="RecentChooser"/>
<constructor name="new"
c:identifier="gtk_recent_action_new"
doc="action, or %NULL
Creates a new #GtkRecentAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel()."
version="2.12">
<return-value transfer-ownership="full">
<type name="RecentAction" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="the label displayed in menu items and on buttons, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tooltip"
transfer-ownership="none"
allow-none="1"
doc="a tooltip for the action, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_for_manager"
c:identifier="gtk_recent_action_new_for_manager"
doc="action, or %NULL
#GtkRecentManager
Creates a new #GtkRecentAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel()."
version="2.12">
<return-value transfer-ownership="full">
<type name="RecentAction" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="the label displayed in menu items and on buttons, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tooltip"
transfer-ownership="none"
allow-none="1"
doc="a tooltip for the action, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="manager"
transfer-ownership="none"
allow-none="1"
doc="a #GtkRecentManager, or %NULL for using the default">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</parameter>
</parameters>
</constructor>
<method name="get_show_numbers"
c:identifier="gtk_recent_action_get_show_numbers"
doc="Returns the value set by gtk_recent_chooser_menu_set_show_numbers()."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_numbers"
c:identifier="gtk_recent_action_set_show_numbers"
doc="Sets whether a number should be added to the items shown by the
widgets representing @action. The numbers are shown to provide
a unique character for a mnemonic to be used inside the menu item&apos;s
label. Only the first ten items get a number to avoid clashes."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_numbers" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="show-numbers" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="Action" c:type="GtkAction"/>
</field>
<field name="priv">
<type name="RecentActionPrivate" c:type="GtkRecentActionPrivate*"/>
</field>
</class>
<record name="RecentActionClass"
c:type="GtkRecentActionClass"
glib:is-gtype-struct-for="RecentAction">
<field name="parent_class">
<type name="ActionClass" c:type="GtkActionClass"/>
</field>
</record>
<record name="RecentActionPrivate" c:type="GtkRecentActionPrivate">
</record>
<interface name="RecentChooser"
c:type="GtkRecentChooser"
glib:type-name="GtkRecentChooser"
glib:get-type="gtk_recent_chooser_get_type"
glib:type-struct="RecentChooserIface">
<virtual-method name="set_current_uri"
invoker="set_current_uri"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_current_uri" invoker="get_current_uri">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</virtual-method>
<virtual-method name="select_uri" invoker="select_uri" throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="unselect_uri" invoker="unselect_uri">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="select_all" invoker="select_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="unselect_all" invoker="unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="get_items" invoker="get_items">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
</virtual-method>
<virtual-method name="get_recent_manager">
<return-value transfer-ownership="full">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</return-value>
</virtual-method>
<virtual-method name="add_filter" invoker="add_filter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="remove_filter" invoker="remove_filter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="list_filters" invoker="list_filters">
<return-value transfer-ownership="full">
<type name="GLib.SList" c:type="GSList*"/>
</return-value>
</virtual-method>
<virtual-method name="set_sort_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_func" transfer-ownership="none">
<type name="RecentSortFunc" c:type="GtkRecentSortFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_show_private"
c:identifier="gtk_recent_chooser_set_show_private"
doc="Whether to show recently used resources marked registered as private."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_private" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_private"
c:identifier="gtk_recent_chooser_get_show_private"
doc="Returns whether @chooser should display recently used resources
registered as private.
%FALSE otherwise."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_not_found"
c:identifier="gtk_recent_chooser_set_show_not_found"
doc="Sets whether @chooser should display the recently used resources that
it didn&apos;t find. This only applies to local resources."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_not_found" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_not_found"
c:identifier="gtk_recent_chooser_get_show_not_found"
doc="Retrieves whether @chooser should show the recently used resources that
were not found.
%FALSE otheriwse."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_select_multiple"
c:identifier="gtk_recent_chooser_set_select_multiple"
doc="Sets whether @chooser can select multiple items."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="select_multiple" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_select_multiple"
c:identifier="gtk_recent_chooser_get_select_multiple"
doc="Gets whether @chooser can select multiple items."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_limit"
c:identifier="gtk_recent_chooser_set_limit"
doc="Sets the number of items that should be returned by
gtk_recent_chooser_get_items() and gtk_recent_chooser_get_uris()."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="limit" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_limit"
c:identifier="gtk_recent_chooser_get_limit"
doc="Gets the number of items returned by gtk_recent_chooser_get_items()
and gtk_recent_chooser_get_uris().
returned."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_local_only"
c:identifier="gtk_recent_chooser_set_local_only"
doc="Sets whether only local resources, that is resources using the file:// URI
scheme, should be shown in the recently used resources selector. If
to be accessible through the operating system native file system."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="local_only" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_local_only"
c:identifier="gtk_recent_chooser_get_local_only"
doc="Gets whether only local resources should be shown in the recently used
resources selector. See gtk_recent_chooser_set_local_only()"
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_tips"
c:identifier="gtk_recent_chooser_set_show_tips"
doc="Sets whether to show a tooltips containing the full path of each
recently used resource in a #GtkRecentChooser widget."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_tips" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_tips"
c:identifier="gtk_recent_chooser_get_show_tips"
doc="Gets whether @chooser should display tooltips containing the full path
of a recently user resource.
%FALSE otherwise."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_numbers"
c:identifier="gtk_recent_chooser_set_show_numbers"
doc="Whether to show recently used resources prepended by a unique number."
version="2.10"
deprecated="Use gtk_recent_chooser_menu_set_show_numbers() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_numbers" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_numbers"
c:identifier="gtk_recent_chooser_get_show_numbers"
doc="Returns whether @chooser should display recently used resources
prepended by a unique number.
%FALSE otherwise."
version="2.10"
deprecated="use gtk_recent_chooser_menu_get_show_numbers() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_icons"
c:identifier="gtk_recent_chooser_set_show_icons"
doc="Sets whether @chooser should show an icon near the resource when
displaying it."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_icons" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_icons"
c:identifier="gtk_recent_chooser_get_show_icons"
doc="Retrieves whether @chooser should show an icon near the resource."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_sort_type"
c:identifier="gtk_recent_chooser_set_sort_type"
doc="Changes the sorting order of the recently used resources list displayed by"
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_type" transfer-ownership="none">
<type name="RecentSortType" c:type="GtkRecentSortType"/>
</parameter>
</parameters>
</method>
<method name="get_sort_type"
c:identifier="gtk_recent_chooser_get_sort_type"
doc="Gets the value set by gtk_recent_chooser_set_sort_type()."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentSortType" c:type="GtkRecentSortType"/>
</return-value>
</method>
<method name="set_sort_func"
c:identifier="gtk_recent_chooser_set_sort_func"
doc="Sets the comparison function used when sorting to be @sort_func. If
the @chooser has the sort type set to #GTK_RECENT_SORT_CUSTOM then
the chooser will sort using this function.
To the comparison function will be passed two #GtkRecentInfo structs and
item comes before the second, zero if the two items are equal and
a negative integer if the first item comes after the second."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="RecentSortFunc" c:type="GtkRecentSortFunc"/>
</parameter>
<parameter name="sort_data"
transfer-ownership="none"
allow-none="1"
doc="user data to pass to @sort_func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="data_destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="destroy notifier for @sort_data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_current_uri"
c:identifier="gtk_recent_chooser_set_current_uri"
doc="Sets @uri as the current URI for @chooser."
version="2.10"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_current_uri"
c:identifier="gtk_recent_chooser_get_current_uri"
doc="Gets the URI currently selected by @chooser."
version="2.10">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_current_item"
c:identifier="gtk_recent_chooser_get_current_item"
doc="Gets the #GtkRecentInfo currently selected by @chooser.
when you have finished using it."
version="2.10">
<return-value transfer-ownership="full" doc="when">
<type name="RecentInfo" c:type="GtkRecentInfo*"/>
</return-value>
</method>
<method name="select_uri"
c:identifier="gtk_recent_chooser_select_uri"
doc="Selects @uri inside @chooser."
version="2.10"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="unselect_uri"
c:identifier="gtk_recent_chooser_unselect_uri"
doc="Unselects @uri inside @chooser."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="select_all"
c:identifier="gtk_recent_chooser_select_all"
doc="Selects all the items inside @chooser, if the @chooser supports
multiple selection."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unselect_all"
c:identifier="gtk_recent_chooser_unselect_all"
doc="Unselects all the items inside @chooser."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_items"
c:identifier="gtk_recent_chooser_get_items"
doc="Gets the list of recently used resources in form of #GtkRecentInfo objects.
The return value of this function is affected by the &quot;sort-type&quot; and
&quot;limit&quot; properties of @chooser.
list of #GtkRecentInfo objects. You should
use gtk_recent_info_unref() on every item of the list, and then free
the list itself using g_list_free()."
version="2.10">
<return-value transfer-ownership="full" doc="A newly allocated">
<type name="GLib.List" c:type="GList*">
<type name="RecentInfo"/>
</type>
</return-value>
</method>
<method name="get_uris"
c:identifier="gtk_recent_chooser_get_uris"
doc="Gets the URI of the recently used resources.
The return value of this function is affected by the &quot;sort-type&quot; and &quot;limit&quot;
properties of @chooser.
Since the returned array is %NULL terminated, @length may be %NULL.
g_strfreev() to free it."
version="2.10">
<return-value transfer-ownership="full">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
<parameters>
<parameter name="length"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for a the length of the URI list, or %NULL">
<type name="size_t" c:type="gsize*"/>
</parameter>
</parameters>
</method>
<method name="add_filter"
c:identifier="gtk_recent_chooser_add_filter"
doc="Adds @filter to the list of #GtkRecentFilter objects held by @chooser.
If no previous filter objects were defined, this function will call
gtk_recent_chooser_set_filter()."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</parameter>
</parameters>
</method>
<method name="remove_filter"
c:identifier="gtk_recent_chooser_remove_filter"
doc="Removes @filter from the list of #GtkRecentFilter objects held by @chooser."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</parameter>
</parameters>
</method>
<method name="list_filters"
c:identifier="gtk_recent_chooser_list_filters"
doc="Gets the #GtkRecentFilter objects held by @chooser.
of #GtkRecentFilter objects. You
should just free the returned list using g_slist_free()."
version="2.10">
<return-value transfer-ownership="container"
doc="A singly linked list">
<type name="GLib.SList" c:type="GSList*">
<type name="RecentFilter"/>
</type>
</return-value>
</method>
<method name="set_filter"
c:identifier="gtk_recent_chooser_set_filter"
doc="Sets @filter as the current #GtkRecentFilter object used by @chooser
to affect the displayed recently used resources."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</parameter>
</parameters>
</method>
<method name="get_filter"
c:identifier="gtk_recent_chooser_get_filter"
doc="Gets the #GtkRecentFilter object currently used by @chooser to affect
the display of the recently used resources."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</return-value>
</method>
<property name="filter"
version="2.10"
writable="1"
doc="The #GtkRecentFilter object to be used when displaying
the recently used resources.">
<type name="RecentFilter" c:type="GtkRecentFilter"/>
</property>
<property name="limit"
version="2.10"
writable="1"
doc="The maximum number of recently used resources to be displayed,
or -1 to display all items. By default, the
override that limit on a particular instance of #GtkRecentChooser
by setting this property.">
<type name="int" c:type="gint"/>
</property>
<property name="local-only"
version="2.10"
writable="1"
doc="Whether this #GtkRecentChooser should display only local (file:)
resources.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="recent-manager"
version="2.10"
readable="0"
writable="1"
construct-only="1"
doc="The #GtkRecentManager instance used by the #GtkRecentChooser to
display the list of recently used resources.">
<type name="RecentManager" c:type="GtkRecentManager"/>
</property>
<property name="select-multiple"
version="2.10"
writable="1"
doc="Allow the user to select multiple resources.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-icons"
version="2.10"
writable="1"
doc="Whether this #GtkRecentChooser should display an icon near the item.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-not-found"
version="2.10"
writable="1"
doc="Whether this #GtkRecentChooser should display the recently used resources
even if not present anymore. Setting this to %FALSE will perform a
potentially expensive check on every local resource (every remote
resource will always be displayed).">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-private" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-tips"
version="2.10"
writable="1"
doc="Whether this #GtkRecentChooser should display a tooltip containing the
full path of the recently used resources.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="sort-type"
version="2.10"
writable="1"
doc="Sorting order to be used when displaying the recently used resources.">
<type name="RecentSortType" c:type="GtkRecentSortType"/>
</property>
<glib:signal name="item-activated">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="selection-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</interface>
<class name="RecentChooserDialog"
c:type="GtkRecentChooserDialog"
parent="Dialog"
glib:type-name="GtkRecentChooserDialog"
glib:get-type="gtk_recent_chooser_dialog_get_type"
glib:type-struct="RecentChooserDialogClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="RecentChooser"/>
<constructor name="new"
c:identifier="gtk_recent_chooser_dialog_new"
doc="pairs, ending with %NULL
Creates a new #GtkRecentChooserDialog. This function is analogous to
gtk_dialog_new_with_buttons()."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentChooserDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title"
transfer-ownership="none"
allow-none="1"
doc="Title of the dialog, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="Transient parent of the dialog, or %NULL,">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="first_button_text"
transfer-ownership="none"
allow-none="1"
doc="stock ID or text to go in the first button, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<constructor name="new_for_manager"
c:identifier="gtk_recent_chooser_dialog_new_for_manager"
doc="pairs, ending with %NULL
Creates a new #GtkRecentChooserDialog with a specified recent manager.
This is useful if you have implemented your own recent manager, or if you
have a customized instance of a #GtkRecentManager object."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentChooserDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="title"
transfer-ownership="none"
allow-none="1"
doc="Title of the dialog, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="Transient parent of the dialog, or %NULL,">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="manager" transfer-ownership="none">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</parameter>
<parameter name="first_button_text"
transfer-ownership="none"
allow-none="1"
doc="stock ID or text to go in the first button, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<field name="parent_instance">
<type name="Dialog" c:type="GtkDialog"/>
</field>
<field name="priv">
<type name="RecentChooserDialogPrivate"
c:type="GtkRecentChooserDialogPrivate*"/>
</field>
</class>
<record name="RecentChooserDialogClass"
c:type="GtkRecentChooserDialogClass"
glib:is-gtype-struct-for="RecentChooserDialog">
<field name="parent_class">
<type name="DialogClass" c:type="GtkDialogClass"/>
</field>
</record>
<record name="RecentChooserDialogPrivate"
c:type="GtkRecentChooserDialogPrivate">
</record>
<enumeration name="RecentChooserError"
glib:type-name="GtkRecentChooserError"
glib:get-type="gtk_recent_chooser_error_get_type"
c:type="GtkRecentChooserError"
glib:error-quark="gtk_recent_chooser_error_quark">
<member name="not_found"
value="0"
c:identifier="GTK_RECENT_CHOOSER_ERROR_NOT_FOUND"
glib:nick="not-found"/>
<member name="invalid_uri"
value="1"
c:identifier="GTK_RECENT_CHOOSER_ERROR_INVALID_URI"
glib:nick="invalid-uri"/>
</enumeration>
<record name="RecentChooserIface"
c:type="GtkRecentChooserIface"
glib:is-gtype-struct-for="RecentChooser">
<field name="base_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="set_current_uri">
<callback name="set_current_uri" c:type="set_current_uri" throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_current_uri">
<callback name="get_current_uri" c:type="get_current_uri">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_uri">
<callback name="select_uri" c:type="select_uri" throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_uri">
<callback name="unselect_uri" c:type="unselect_uri">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_all">
<callback name="select_all" c:type="select_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_all">
<callback name="unselect_all" c:type="unselect_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_items">
<callback name="get_items" c:type="get_items">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_recent_manager">
<callback name="get_recent_manager" c:type="get_recent_manager">
<return-value transfer-ownership="full">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add_filter">
<callback name="add_filter" c:type="add_filter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
<parameter name="filter" transfer-ownership="none">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_filter">
<callback name="remove_filter" c:type="remove_filter">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
<parameter name="filter" transfer-ownership="none">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="list_filters">
<callback name="list_filters" c:type="list_filters">
<return-value transfer-ownership="full">
<type name="GLib.SList" c:type="GSList*"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_sort_func">
<callback name="set_sort_func" c:type="set_sort_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
<parameter name="sort_func" transfer-ownership="none">
<type name="RecentSortFunc" c:type="GtkRecentSortFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="item_activated">
<callback name="item_activated" c:type="item_activated">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_changed">
<callback name="selection_changed" c:type="selection_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="chooser" transfer-ownership="none">
<type name="RecentChooser" c:type="GtkRecentChooser*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="RecentChooserMenu"
c:type="GtkRecentChooserMenu"
parent="Menu"
glib:type-name="GtkRecentChooserMenu"
glib:get-type="gtk_recent_chooser_menu_get_type"
glib:type-struct="RecentChooserMenuClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="RecentChooser"/>
<constructor name="new"
c:identifier="gtk_recent_chooser_menu_new"
doc="Creates a new #GtkRecentChooserMenu widget.
This kind of widget shows the list of recently used resources as
a menu, each item as a menu item. Each item inside the menu might
have an icon, representing its MIME type, and a number, for mnemonic
access.
This widget implements the #GtkRecentChooser interface.
This widget creates its own #GtkRecentManager object. See the
gtk_recent_chooser_menu_new_for_manager() function to know how to create
a #GtkRecentChooserMenu widget bound to another #GtkRecentManager object."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentChooserMenu" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_for_manager"
c:identifier="gtk_recent_chooser_menu_new_for_manager"
doc="Creates a new #GtkRecentChooserMenu widget using @manager as
the underlying recently used resources manager.
This is useful if you have implemented your own recent manager,
or if you have a customized instance of a #GtkRecentManager
object or if you wish to share a common #GtkRecentManager object
among multiple #GtkRecentChooser widgets."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentChooserMenu" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="manager" transfer-ownership="none">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</parameter>
</parameters>
</constructor>
<method name="get_show_numbers"
c:identifier="gtk_recent_chooser_menu_get_show_numbers"
doc="Returns the value set by gtk_recent_chooser_menu_set_show_numbers()."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_numbers"
c:identifier="gtk_recent_chooser_menu_set_show_numbers"
doc="Sets whether a number should be added to the items of @menu. The
numbers are shown to provide a unique character for a mnemonic to
be used inside ten menu item&apos;s label. Only the first the items
get a number to avoid clashes."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_numbers" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="show-numbers" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="Menu" c:type="GtkMenu"/>
</field>
<field name="priv">
<type name="RecentChooserMenuPrivate"
c:type="GtkRecentChooserMenuPrivate*"/>
</field>
</class>
<record name="RecentChooserMenuClass"
c:type="GtkRecentChooserMenuClass"
glib:is-gtype-struct-for="RecentChooserMenu">
<field name="parent_class">
<type name="MenuClass" c:type="GtkMenuClass"/>
</field>
<field name="recent1">
<callback name="recent1" c:type="gtk_recent1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="recent2">
<callback name="recent2" c:type="gtk_recent2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="recent3">
<callback name="recent3" c:type="gtk_recent3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="recent4">
<callback name="recent4" c:type="gtk_recent4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="RecentChooserMenuPrivate"
c:type="GtkRecentChooserMenuPrivate">
</record>
<class name="RecentChooserWidget"
c:type="GtkRecentChooserWidget"
parent="VBox"
glib:type-name="GtkRecentChooserWidget"
glib:get-type="gtk_recent_chooser_widget_get_type"
glib:type-struct="RecentChooserWidgetClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<implements name="RecentChooser"/>
<constructor name="new"
c:identifier="gtk_recent_chooser_widget_new"
doc="Creates a new #GtkRecentChooserWidget object. This is an embeddable widget
used to access the recently used resources list."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentChooserWidget" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_for_manager"
c:identifier="gtk_recent_chooser_widget_new_for_manager"
doc="Creates a new #GtkRecentChooserWidget with a specified recent manager.
This is useful if you have implemented your own recent manager, or if you
have a customized instance of a #GtkRecentManager object."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentChooserWidget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="manager" transfer-ownership="none">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</parameter>
</parameters>
</constructor>
<field name="parent_instance">
<type name="VBox" c:type="GtkVBox"/>
</field>
<field name="priv">
<type name="RecentChooserWidgetPrivate"
c:type="GtkRecentChooserWidgetPrivate*"/>
</field>
</class>
<record name="RecentChooserWidgetClass"
c:type="GtkRecentChooserWidgetClass"
glib:is-gtype-struct-for="RecentChooserWidget">
<field name="parent_class">
<type name="VBoxClass" c:type="GtkVBoxClass"/>
</field>
</record>
<record name="RecentChooserWidgetPrivate"
c:type="GtkRecentChooserWidgetPrivate">
</record>
<record name="RecentData"
c:type="GtkRecentData"
doc="used resource to be displayed, or %NULL;
the resource, or %NULL;
used resource;
&quot;&amp;percnt;f&quot; and &quot;&amp;percnt;u&quot; escape characters which will be expanded
to the resource file path and URI respectively when the command line
is retrieved;
applications that have registered it or not.
Meta-data to be passed to gtk_recent_manager_add_full() when
registering a recently used resource.">
<field name="display_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="description" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mime_type" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="app_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="app_exec" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="groups" writable="1">
<type name="utf8" c:type="gchar**"/>
</field>
<field name="is_private" writable="1">
<type name="boolean" c:type="gboolean"/>
</field>
</record>
<class name="RecentFilter"
c:type="GtkRecentFilter"
parent="Object"
glib:type-name="GtkRecentFilter"
glib:get-type="gtk_recent_filter_get_type">
<constructor name="new"
c:identifier="gtk_recent_filter_new"
doc="Creates a new #GtkRecentFilter with no rules added to it.
Such filter does not accept any recently used resources, so is not
particularly useful until you add rules with
gtk_recent_filter_add_pattern(), gtk_recent_filter_add_mime_type(),
gtk_recent_filter_add_application(), gtk_recent_filter_add_age().
To create a filter that accepts any recently used resource, use:
|[
GtkRecentFilter *filter = gtk_recent_filter_new ();
gtk_recent_filter_add_pattern (filter, &quot;*&quot;);
]|"
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentFilter" c:type="GtkRecentFilter*"/>
</return-value>
</constructor>
<method name="set_name"
c:identifier="gtk_recent_filter_set_name"
doc="Sets the human-readable name of the filter; this is the string
that will be displayed in the recently used resources selector
user interface if there is a selectable list of filters."
version="2.10">
<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_name"
c:identifier="gtk_recent_filter_get_name"
doc="Gets the human-readable name for the filter.
See gtk_recent_filter_set_name().
is owned by the filter object and should not be freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="add_mime_type"
c:identifier="gtk_recent_filter_add_mime_type"
doc="Adds a rule that allows resources based on their registered MIME type."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mime_type" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_pattern"
c:identifier="gtk_recent_filter_add_pattern"
doc="Adds a rule that allows resources based on a pattern matching their
display name."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_pixbuf_formats"
c:identifier="gtk_recent_filter_add_pixbuf_formats"
doc="Adds a rule allowing image files in the formats supported
by GdkPixbuf."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="add_application"
c:identifier="gtk_recent_filter_add_application"
doc="Adds a rule that allows resources based on the name of the application
that has registered them."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="application" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_group"
c:identifier="gtk_recent_filter_add_group"
doc="Adds a rule that allows resources based on the name of the group
to which they belong"
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_age"
c:identifier="gtk_recent_filter_add_age"
doc="Adds a rule that allows resources based on their age - that is, the number
of days elapsed since they were last modified."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="days" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_custom"
c:identifier="gtk_recent_filter_add_custom"
doc="filter function needs.
the file will be displayed.
Adds a rule to a filter that allows resources based on a custom callback
function. The bitfield @needed which is passed in provides information
about what sorts of information that the filter function needs;
this allows GTK+ to avoid retrieving expensive information when
it isn&apos;t needed by the filter."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="needed" transfer-ownership="none">
<type name="RecentFilterFlags" c:type="GtkRecentFilterFlags"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="RecentFilterFunc" c:type="GtkRecentFilterFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="data_destroy"
transfer-ownership="none"
scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_needed"
c:identifier="gtk_recent_filter_get_needed"
doc="Gets the fields that need to be filled in for the structure
passed to gtk_recent_filter_filter()
This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkRecentChooser.
calling gtk_recent_filter_filter()"
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentFilterFlags" c:type="GtkRecentFilterFlags"/>
</return-value>
</method>
<method name="filter"
c:identifier="gtk_recent_filter_filter"
doc="about a recently used resource
Tests whether a file should be displayed according to @filter.
The #GtkRecentFilterInfo structure @filter_info should include
the fields returned from gtk_recent_filter_get_needed().
This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkRecentChooser."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter_info" transfer-ownership="none">
<type name="RecentFilterInfo" c:type="GtkRecentFilterInfo*"/>
</parameter>
</parameters>
</method>
</class>
<bitfield name="RecentFilterFlags"
glib:type-name="GtkRecentFilterFlags"
glib:get-type="gtk_recent_filter_flags_get_type"
c:type="GtkRecentFilterFlags">
<member name="uri"
value="1"
c:identifier="GTK_RECENT_FILTER_URI"
glib:nick="uri"/>
<member name="display_name"
value="2"
c:identifier="GTK_RECENT_FILTER_DISPLAY_NAME"
glib:nick="display-name"/>
<member name="mime_type"
value="4"
c:identifier="GTK_RECENT_FILTER_MIME_TYPE"
glib:nick="mime-type"/>
<member name="application"
value="8"
c:identifier="GTK_RECENT_FILTER_APPLICATION"
glib:nick="application"/>
<member name="group"
value="16"
c:identifier="GTK_RECENT_FILTER_GROUP"
glib:nick="group"/>
<member name="age"
value="32"
c:identifier="GTK_RECENT_FILTER_AGE"
glib:nick="age"/>
</bitfield>
<callback name="RecentFilterFunc" c:type="GtkRecentFilterFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter_info" transfer-ownership="none">
<type name="RecentFilterInfo" c:type="GtkRecentFilterInfo*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="RecentFilterInfo" c:type="GtkRecentFilterInfo">
<field name="contains" writable="1">
<type name="RecentFilterFlags" c:type="GtkRecentFilterFlags"/>
</field>
<field name="uri" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="display_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mime_type" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="applications" writable="1">
<type name="utf8" c:type="gchar**"/>
</field>
<field name="groups" writable="1">
<type name="utf8" c:type="gchar**"/>
</field>
<field name="age" writable="1">
<type name="int" c:type="gint"/>
</field>
</record>
<record name="RecentInfo"
c:type="GtkRecentInfo"
glib:type-name="GtkRecentInfo"
glib:get-type="gtk_recent_info_get_type">
<method name="ref"
c:identifier="gtk_recent_info_ref"
doc="Increases the reference count of @recent_info by one.
by one."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentInfo" c:type="GtkRecentInfo*"/>
</return-value>
</method>
<method name="unref"
c:identifier="gtk_recent_info_unref"
doc="Decreases the reference count of @info by one. If the reference
count reaches zero, @info is deallocated, and the memory freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_uri"
c:identifier="gtk_recent_info_get_uri"
doc="Gets the URI of the resource.
owned by the recent manager, and should not be freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_display_name"
c:identifier="gtk_recent_info_get_display_name"
doc="Gets the name of the resource. If none has been defined, the basename
of the resource is obtained.
is owned by the recent manager, and should not be freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_description"
c:identifier="gtk_recent_info_get_description"
doc="Gets the (short) description of the resource.
is owned by the recent manager, and should not be freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_mime_type"
c:identifier="gtk_recent_info_get_mime_type"
doc="Gets the MIME type of the resource.
is owned by the recent manager, and should not be freed."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_added"
c:identifier="gtk_recent_info_get_added"
doc="Gets the timestamp (seconds from system&apos;s Epoch) when the resource
was added to the recently used resources list.
the resource was added to the list, or -1 on failure."
version="2.10">
<return-value transfer-ownership="none">
<type name="time_t" c:type="time_t"/>
</return-value>
</method>
<method name="get_modified"
c:identifier="gtk_recent_info_get_modified"
doc="Gets the timestamp (seconds from system&apos;s Epoch) when the resource
was last modified.
the resource was last modified, or -1 on failure."
version="2.10">
<return-value transfer-ownership="none">
<type name="time_t" c:type="time_t"/>
</return-value>
</method>
<method name="get_visited"
c:identifier="gtk_recent_info_get_visited"
doc="Gets the timestamp (seconds from system&apos;s Epoch) when the resource
was last visited.
the resource was last visited, or -1 on failure."
version="2.10">
<return-value transfer-ownership="none">
<type name="time_t" c:type="time_t"/>
</return-value>
</method>
<method name="get_private_hint"
c:identifier="gtk_recent_info_get_private_hint"
doc="Gets the value of the &quot;private&quot; flag. Resources in the recently used
list that have this flag set to %TRUE should only be displayed by the
applications that have registered them."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_application_info"
c:identifier="gtk_recent_info_get_application_info"
doc="for this application
Gets the data regarding the application that has registered the resource
pointed by @info.
If the command line contains any escape characters defined inside the
storage specification, they will be expanded.
resource inside the recently used list, or %FALSE otherwise. The
modified or freed"
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="app_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="app_exec"
direction="out"
transfer-ownership="none"
doc="return location for the string containing the command line">
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="count"
direction="out"
transfer-ownership="full"
doc="return location for the number of times this item was registered">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="time_"
direction="out"
transfer-ownership="full"
doc="return location for the timestamp this item was last registered">
<type name="time_t" c:type="time_t*"/>
</parameter>
</parameters>
</method>
<method name="get_applications"
c:identifier="gtk_recent_info_get_applications"
doc="Retrieves the list of applications that have registered this resource.
%NULL-terminated array of strings. Use g_strfreev() to free it."
version="2.10">
<return-value transfer-ownership="full" doc="a newly allocated">
<array length="1" c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
<parameters>
<parameter name="length"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the length of the returned list">
<type name="size_t" c:type="gsize*"/>
</parameter>
</parameters>
</method>
<method name="last_application"
c:identifier="gtk_recent_info_last_application"
doc="Gets the name of the last application that have registered the
recently used resource represented by @info."
version="2.10">
<return-value transfer-ownership="full" doc="to free it.">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="has_application"
c:identifier="gtk_recent_info_has_application"
doc="Checks whether an application registered this resource using @app_name.
%FALSE otherwise."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="app_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_groups"
c:identifier="gtk_recent_info_get_groups"
doc="Returns all groups registered for the recently used item @info. The
array of returned group names will be %NULL terminated, so length might
optionally be %NULL.
%NULL terminated array of strings. Use g_strfreev() to free it."
version="2.10">
<return-value transfer-ownership="full" doc="a newly allocated">
<array length="1" c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
<parameters>
<parameter name="length"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the number of groups returned">
<type name="size_t" c:type="gsize*"/>
</parameter>
</parameters>
</method>
<method name="has_group"
c:identifier="gtk_recent_info_has_group"
doc="Checks whether @group_name appears inside the groups registered for the
recently used item @info."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="group_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_icon"
c:identifier="gtk_recent_info_get_icon"
doc="Retrieves the icon of size @size associated to the resource MIME type.
g_object_unref() when finished using the icon."
version="2.10">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_short_name"
c:identifier="gtk_recent_info_get_short_name"
doc="Computes a valid UTF-8 string that can be used as the name of the item in a
menu or list. For example, calling this function on an item that refers to
&quot;file:///foo/bar.txt&quot; will yield &quot;bar.txt&quot;.
g_free()."
version="2.10">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_uri_display"
c:identifier="gtk_recent_info_get_uri_display"
doc="Gets a displayable version of the resource&apos;s URI. If the resource
is local, it returns a local path; if the resource is not local,
it returns the UTF-8 encoded content of gtk_recent_info_get_uri().
resource&apos;s URI or %NULL. Use g_free() when done using it."
version="2.10">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_age"
c:identifier="gtk_recent_info_get_age"
doc="Gets the number of days elapsed since the last update of the resource
pointed by @info.
since the time this resource was last modified."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="is_local"
c:identifier="gtk_recent_info_is_local"
doc="Checks whether the resource is local or not by looking at the
scheme of its URI."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="exists"
c:identifier="gtk_recent_info_exists"
doc="Checks whether the resource pointed by @info still exists. At
the moment this check is done only on resources pointing to local files."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="match"
c:identifier="gtk_recent_info_match"
doc="Checks whether two #GtkRecentInfo structures point to the same
resource.
resource, %FALSE otherwise."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="info_b" transfer-ownership="none">
<type name="RecentInfo" c:type="GtkRecentInfo*"/>
</parameter>
</parameters>
</method>
</record>
<class name="RecentManager"
c:type="GtkRecentManager"
parent="GObject.Object"
glib:type-name="GtkRecentManager"
glib:get-type="gtk_recent_manager_get_type"
glib:type-struct="RecentManagerClass">
<constructor name="new"
c:identifier="gtk_recent_manager_new"
doc="Creates a new recent manager object. Recent manager objects are used to
handle the list of recently used resources. A #GtkRecentManager object
monitors the recently used resources list, and emits the &quot;changed&quot; signal
each time something inside the list changes.
needed. You should use gtk_recent_manager_get_default() instead."
version="2.10">
<return-value transfer-ownership="full">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</return-value>
</constructor>
<function name="get_default"
c:identifier="gtk_recent_manager_get_default"
doc="Gets a unique instance of #GtkRecentManager, that you can share
in your application without caring about memory management. The
returned instance will be freed when you application terminates."
version="2.10">
<return-value transfer-ownership="none"
doc="A unique #GtkRecentManager. Do not ref or unref it.">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</return-value>
</function>
<function name="get_for_screen"
c:identifier="gtk_recent_manager_get_for_screen"
doc="Gets the recent manager object associated with @screen; if this
function has not previously been called for the given screen,
a new recent manager object will be created and associated with
the screen. Recent manager objects are fairly expensive to create,
so using this function is usually a better choice than calling
gtk_recent_manager_new() and setting the screen yourself; by using
this function a single recent manager object will be shared between
users.
screen. This recent manager is associated to the with the screen
and can be used as long as the screen is open. Do not ref or
unref it.
not be used in newly written code. Calling this function is
equivalent to calling gtk_recent_manager_get_default()."
version="2.10"
deprecated="This function has been deprecated and should"
deprecated-version="2.12">
<return-value transfer-ownership="full">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</function>
<method name="set_screen"
c:identifier="gtk_recent_manager_set_screen"
doc="Sets the screen for a recent manager; the screen is used to
track the user&apos;s currently configured recently used documents
storage.
not be used in newly written code. Calling this function has
no effect."
version="2.10"
deprecated="This function has been deprecated and should"
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</method>
<method name="add_item"
c:identifier="gtk_recent_manager_add_item"
doc="Adds a new resource, pointed by @uri, into the recently used
resources list.
This function automatically retrieves some of the needed
metadata and setting other metadata to common default values; it
then feeds the data to gtk_recent_manager_add_full().
See gtk_recent_manager_add_full() if you want to explicitly
define the metadata for the resource pointed by @uri.
to the recently used resources list"
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_full"
c:identifier="gtk_recent_manager_add_full"
doc="Adds a new resource, pointed by @uri, into the recently used
resources list, using the metadata specified inside the #GtkRecentData
structure passed in @recent_data.
The passed URI will be used to identify this resource inside the
list.
In order to register the new recently used resource, metadata about
the resource must be passed as well as the URI; the metadata is
stored in a #GtkRecentData structure, which must contain the MIME
type of the resource pointed by the URI; the name of the application
that is registering the item, and a command line to be used when
launching the item.
Optionally, a #GtkRecentData structure might contain a UTF-8 string
to be used when viewing the item instead of the last component of the
URI; a short description of the item; whether the item should be
considered private - that is, should be displayed only by the
applications that have registered it.
recently used resources list, %FALSE otherwise."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="recent_data" transfer-ownership="none">
<type name="RecentData" c:type="GtkRecentData*"/>
</parameter>
</parameters>
</method>
<method name="remove_item"
c:identifier="gtk_recent_manager_remove_item"
doc="Removes a resource pointed by @uri from the recently used resources
list handled by a recent manager.
removed by the recently used resources list, and %FALSE otherwise."
version="2.10"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="lookup_item"
c:identifier="gtk_recent_manager_lookup_item"
doc="Searches for a URI inside the recently used resources list, and
returns a structure containing informations about the resource
like its MIME type, or its display name.
about the resource pointed by @uri, or %NULL if the URI was
not registered in the recently used resources list. Free with
gtk_recent_info_unref()."
version="2.10"
throws="1">
<return-value transfer-ownership="full">
<type name="RecentInfo" c:type="GtkRecentInfo*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="has_item"
c:identifier="gtk_recent_manager_has_item"
doc="Checks whether there is a recently used resource registered
with @uri inside the recent manager."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="move_item"
c:identifier="gtk_recent_manager_move_item"
doc="remove the item pointed by @uri in the list
Changes the location of a recently used resource from @uri to @new_uri.
Please note that this function will not affect the resource pointed
by the URIs, but only the URI used in the recently used resources list."
version="2.10"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="new_uri"
transfer-ownership="none"
allow-none="1"
doc="the new URI of the recently used resource, or %NULL to">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_limit"
c:identifier="gtk_recent_manager_set_limit"
doc="Sets the maximum number of item that the gtk_recent_manager_get_items()
function should return. If @limit is set to -1, then return all the
items."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="limit" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_limit"
c:identifier="gtk_recent_manager_get_limit"
doc="Gets the maximum number of items that the gtk_recent_manager_get_items()
function should return."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_items"
c:identifier="gtk_recent_manager_get_items"
doc="Gets the list of recently used resources.
newly allocated #GtkRecentInfo objects. Use
gtk_recent_info_unref() on each item inside the list, and then
free the list itself using g_list_free()."
version="2.10">
<return-value transfer-ownership="full" doc="a list of">
<type name="GLib.List" c:type="GList*">
<type name="RecentInfo"/>
</type>
</return-value>
</method>
<method name="purge_items"
c:identifier="gtk_recent_manager_purge_items"
doc="Purges every item from the recently used resources list.
recently used resources list."
version="2.10"
throws="1">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<property name="filename" writable="1" construct-only="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="limit" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="size">
<type name="int" c:type="gint"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="RecentManagerPrivate" c:type="GtkRecentManagerPrivate*"/>
</field>
<glib:signal name="changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="RecentManagerClass"
c:type="GtkRecentManagerClass"
glib:is-gtype-struct-for="RecentManager">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="manager" transfer-ownership="none">
<type name="RecentManager" c:type="GtkRecentManager*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_recent1">
<callback name="gtk_recent1" c:type="_gtk_recent1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_recent2">
<callback name="gtk_recent2" c:type="_gtk_recent2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_recent3">
<callback name="gtk_recent3" c:type="_gtk_recent3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_recent4">
<callback name="gtk_recent4" c:type="_gtk_recent4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="RecentManagerError"
doc="the recently used resources list.
UTF-8 encoded.
the specified item.
resources file.
resources file.
Error codes for GtkRecentManager operations"
glib:type-name="GtkRecentManagerError"
glib:get-type="gtk_recent_manager_error_get_type"
c:type="GtkRecentManagerError"
glib:error-quark="gtk_recent_manager_error_quark">
<member name="not_found"
value="0"
c:identifier="GTK_RECENT_MANAGER_ERROR_NOT_FOUND"
glib:nick="not-found"/>
<member name="invalid_uri"
value="1"
c:identifier="GTK_RECENT_MANAGER_ERROR_INVALID_URI"
glib:nick="invalid-uri"/>
<member name="invalid_encoding"
value="2"
c:identifier="GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING"
glib:nick="invalid-encoding"/>
<member name="not_registered"
value="3"
c:identifier="GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED"
glib:nick="not-registered"/>
<member name="read"
value="4"
c:identifier="GTK_RECENT_MANAGER_ERROR_READ"
glib:nick="read"/>
<member name="write"
value="5"
c:identifier="GTK_RECENT_MANAGER_ERROR_WRITE"
glib:nick="write"/>
<member name="unknown"
value="6"
c:identifier="GTK_RECENT_MANAGER_ERROR_UNKNOWN"
glib:nick="unknown"/>
</enumeration>
<record name="RecentManagerPrivate" c:type="GtkRecentManagerPrivate">
</record>
<callback name="RecentSortFunc" c:type="GtkRecentSortFunc">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="a" transfer-ownership="none">
<type name="RecentInfo" c:type="GtkRecentInfo*"/>
</parameter>
<parameter name="b" transfer-ownership="none">
<type name="RecentInfo" c:type="GtkRecentInfo*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="RecentSortType"
doc="resources.
items first.
items first.
function passed using gtk_recent_manager_set_sort_func().
Used to specify the sorting method to be applyed to the recently
used resource list."
glib:type-name="GtkRecentSortType"
glib:get-type="gtk_recent_sort_type_get_type"
c:type="GtkRecentSortType">
<member name="none"
value="0"
c:identifier="GTK_RECENT_SORT_NONE"
glib:nick="none"/>
<member name="mru"
value="1"
c:identifier="GTK_RECENT_SORT_MRU"
glib:nick="mru"/>
<member name="lru"
value="2"
c:identifier="GTK_RECENT_SORT_LRU"
glib:nick="lru"/>
<member name="custom"
value="3"
c:identifier="GTK_RECENT_SORT_CUSTOM"
glib:nick="custom"/>
</enumeration>
<enumeration name="ReliefStyle"
glib:type-name="GtkReliefStyle"
glib:get-type="gtk_relief_style_get_type"
c:type="GtkReliefStyle">
<member name="normal"
value="0"
c:identifier="GTK_RELIEF_NORMAL"
glib:nick="normal"/>
<member name="half"
value="1"
c:identifier="GTK_RELIEF_HALF"
glib:nick="half"/>
<member name="none"
value="2"
c:identifier="GTK_RELIEF_NONE"
glib:nick="none"/>
</enumeration>
<record name="Requisition"
c:type="GtkRequisition"
doc="A &lt;structname&gt;GtkRequisition&lt;/structname&gt; represents the desired size of a widget. See
&lt;xref linkend=&quot;size-requisition&quot;/&gt; for more information."
glib:type-name="GtkRequisition"
glib:get-type="gtk_requisition_get_type">
<field name="width" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="height" writable="1">
<type name="int" c:type="gint"/>
</field>
<method name="copy"
c:identifier="gtk_requisition_copy"
doc="Copies a #GtkRequisition.">
<return-value transfer-ownership="full">
<type name="Requisition" c:type="GtkRequisition*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_requisition_free"
doc="Frees a #GtkRequisition.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<enumeration name="ResizeMode"
glib:type-name="GtkResizeMode"
glib:get-type="gtk_resize_mode_get_type"
c:type="GtkResizeMode">
<member name="parent"
value="0"
c:identifier="GTK_RESIZE_PARENT"
glib:nick="parent"/>
<member name="queue"
value="1"
c:identifier="GTK_RESIZE_QUEUE"
glib:nick="queue"/>
<member name="immediate"
value="2"
c:identifier="GTK_RESIZE_IMMEDIATE"
glib:nick="immediate"/>
</enumeration>
<enumeration name="ResponseType"
glib:type-name="GtkResponseType"
glib:get-type="gtk_response_type_get_type"
c:type="GtkResponseType">
<member name="none"
value="-1"
c:identifier="GTK_RESPONSE_NONE"
glib:nick="none"/>
<member name="reject"
value="-2"
c:identifier="GTK_RESPONSE_REJECT"
glib:nick="reject"/>
<member name="accept"
value="-3"
c:identifier="GTK_RESPONSE_ACCEPT"
glib:nick="accept"/>
<member name="delete_event"
value="-4"
c:identifier="GTK_RESPONSE_DELETE_EVENT"
glib:nick="delete-event"/>
<member name="ok"
value="-5"
c:identifier="GTK_RESPONSE_OK"
glib:nick="ok"/>
<member name="cancel"
value="-6"
c:identifier="GTK_RESPONSE_CANCEL"
glib:nick="cancel"/>
<member name="close"
value="-7"
c:identifier="GTK_RESPONSE_CLOSE"
glib:nick="close"/>
<member name="yes"
value="-8"
c:identifier="GTK_RESPONSE_YES"
glib:nick="yes"/>
<member name="no"
value="-9"
c:identifier="GTK_RESPONSE_NO"
glib:nick="no"/>
<member name="apply"
value="-10"
c:identifier="GTK_RESPONSE_APPLY"
glib:nick="apply"/>
<member name="help"
value="-11"
c:identifier="GTK_RESPONSE_HELP"
glib:nick="help"/>
</enumeration>
<class name="Ruler"
c:type="GtkRuler"
parent="Widget"
glib:type-name="GtkRuler"
glib:get-type="gtk_ruler_get_type"
glib:type-struct="RulerClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<virtual-method name="draw_ticks" invoker="draw_ticks">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="draw_pos" invoker="draw_pos">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="set_metric" c:identifier="gtk_ruler_set_metric">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="metric" transfer-ownership="none">
<type name="MetricType" c:type="GtkMetricType"/>
</parameter>
</parameters>
</method>
<method name="get_metric"
c:identifier="gtk_ruler_get_metric"
doc="Gets the units used for a #GtkRuler. See gtk_ruler_set_metric().">
<return-value transfer-ownership="full">
<type name="MetricType" c:type="GtkMetricType"/>
</return-value>
</method>
<method name="set_range"
c:identifier="gtk_ruler_set_range"
doc="leave for the text
This sets the range of the ruler.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="lower" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="upper" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max_size" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_range"
c:identifier="gtk_ruler_get_range"
doc="the space to leave for the text, or %NULL.
Retrieves values indicating the range and current position of a #GtkRuler.
See gtk_ruler_set_range().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="lower"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store lower limit of the ruler, or %NULL">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="upper"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store upper limit of the ruler, or %NULL">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="position"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the current position of the mark on the ruler, or %NULL">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="max_size" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="draw_ticks" c:identifier="gtk_ruler_draw_ticks">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="draw_pos" c:identifier="gtk_ruler_draw_pos">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="lower" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="max-size" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="metric"
version="2.8"
writable="1"
doc="The metric used for the ruler.">
<type name="MetricType" c:type="GtkMetricType"/>
</property>
<property name="position" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="upper" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
<field name="backing_store">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</field>
<field name="non_gr_exp_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="metric">
<type name="RulerMetric" c:type="GtkRulerMetric*"/>
</field>
<field name="xsrc">
<type name="int" c:type="gint"/>
</field>
<field name="ysrc">
<type name="int" c:type="gint"/>
</field>
<field name="slider_size">
<type name="int" c:type="gint"/>
</field>
<field name="lower">
<type name="double" c:type="gdouble"/>
</field>
<field name="upper">
<type name="double" c:type="gdouble"/>
</field>
<field name="position">
<type name="double" c:type="gdouble"/>
</field>
<field name="max_size">
<type name="double" c:type="gdouble"/>
</field>
</class>
<record name="RulerClass"
c:type="GtkRulerClass"
glib:is-gtype-struct-for="Ruler">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
<field name="draw_ticks">
<callback name="draw_ticks" c:type="draw_ticks">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ruler" transfer-ownership="none">
<type name="Ruler" c:type="GtkRuler*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_pos">
<callback name="draw_pos" c:type="draw_pos">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ruler" transfer-ownership="none">
<type name="Ruler" c:type="GtkRuler*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="RulerMetric" c:type="GtkRulerMetric">
<field name="metric_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="abbrev" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="pixels_per_unit" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="ruler_scale" writable="1">
<array zero-terminated="0" c:type="gdouble" fixed-size="10">
<type name="double"/>
</array>
</field>
<field name="subdivide" writable="1">
<array zero-terminated="0" c:type="gint" fixed-size="5">
<type name="int"/>
</array>
</field>
</record>
<constant name="STOCK_ABOUT" value="gtk-about">
<type name="utf8"/>
</constant>
<constant name="STOCK_ADD" value="gtk-add">
<type name="utf8"/>
</constant>
<constant name="STOCK_APPLY" value="gtk-apply">
<type name="utf8"/>
</constant>
<constant name="STOCK_BOLD" value="gtk-bold">
<type name="utf8"/>
</constant>
<constant name="STOCK_CANCEL" value="gtk-cancel">
<type name="utf8"/>
</constant>
<constant name="STOCK_CAPS_LOCK_WARNING" value="gtk-caps-lock-warning">
<type name="utf8"/>
</constant>
<constant name="STOCK_CDROM" value="gtk-cdrom">
<type name="utf8"/>
</constant>
<constant name="STOCK_CLEAR" value="gtk-clear">
<type name="utf8"/>
</constant>
<constant name="STOCK_CLOSE" value="gtk-close">
<type name="utf8"/>
</constant>
<constant name="STOCK_COLOR_PICKER" value="gtk-color-picker">
<type name="utf8"/>
</constant>
<constant name="STOCK_CONNECT" value="gtk-connect">
<type name="utf8"/>
</constant>
<constant name="STOCK_CONVERT" value="gtk-convert">
<type name="utf8"/>
</constant>
<constant name="STOCK_COPY" value="gtk-copy">
<type name="utf8"/>
</constant>
<constant name="STOCK_CUT" value="gtk-cut">
<type name="utf8"/>
</constant>
<constant name="STOCK_DELETE" value="gtk-delete">
<type name="utf8"/>
</constant>
<constant name="STOCK_DIALOG_AUTHENTICATION"
value="gtk-dialog-authentication">
<type name="utf8"/>
</constant>
<constant name="STOCK_DIALOG_ERROR" value="gtk-dialog-error">
<type name="utf8"/>
</constant>
<constant name="STOCK_DIALOG_INFO" value="gtk-dialog-info">
<type name="utf8"/>
</constant>
<constant name="STOCK_DIALOG_QUESTION" value="gtk-dialog-question">
<type name="utf8"/>
</constant>
<constant name="STOCK_DIALOG_WARNING" value="gtk-dialog-warning">
<type name="utf8"/>
</constant>
<constant name="STOCK_DIRECTORY" value="gtk-directory">
<type name="utf8"/>
</constant>
<constant name="STOCK_DISCARD" value="gtk-discard">
<type name="utf8"/>
</constant>
<constant name="STOCK_DISCONNECT" value="gtk-disconnect">
<type name="utf8"/>
</constant>
<constant name="STOCK_DND" value="gtk-dnd">
<type name="utf8"/>
</constant>
<constant name="STOCK_DND_MULTIPLE" value="gtk-dnd-multiple">
<type name="utf8"/>
</constant>
<constant name="STOCK_EDIT" value="gtk-edit">
<type name="utf8"/>
</constant>
<constant name="STOCK_EXECUTE" value="gtk-execute">
<type name="utf8"/>
</constant>
<constant name="STOCK_FILE" value="gtk-file">
<type name="utf8"/>
</constant>
<constant name="STOCK_FIND" value="gtk-find">
<type name="utf8"/>
</constant>
<constant name="STOCK_FIND_AND_REPLACE" value="gtk-find-and-replace">
<type name="utf8"/>
</constant>
<constant name="STOCK_FLOPPY" value="gtk-floppy">
<type name="utf8"/>
</constant>
<constant name="STOCK_FULLSCREEN" value="gtk-fullscreen">
<type name="utf8"/>
</constant>
<constant name="STOCK_GOTO_BOTTOM" value="gtk-goto-bottom">
<type name="utf8"/>
</constant>
<constant name="STOCK_GOTO_FIRST" value="gtk-goto-first">
<type name="utf8"/>
</constant>
<constant name="STOCK_GOTO_LAST" value="gtk-goto-last">
<type name="utf8"/>
</constant>
<constant name="STOCK_GOTO_TOP" value="gtk-goto-top">
<type name="utf8"/>
</constant>
<constant name="STOCK_GO_BACK" value="gtk-go-back">
<type name="utf8"/>
</constant>
<constant name="STOCK_GO_DOWN" value="gtk-go-down">
<type name="utf8"/>
</constant>
<constant name="STOCK_GO_FORWARD" value="gtk-go-forward">
<type name="utf8"/>
</constant>
<constant name="STOCK_GO_UP" value="gtk-go-up">
<type name="utf8"/>
</constant>
<constant name="STOCK_HARDDISK" value="gtk-harddisk">
<type name="utf8"/>
</constant>
<constant name="STOCK_HELP" value="gtk-help">
<type name="utf8"/>
</constant>
<constant name="STOCK_HOME" value="gtk-home">
<type name="utf8"/>
</constant>
<constant name="STOCK_INDENT" value="gtk-indent">
<type name="utf8"/>
</constant>
<constant name="STOCK_INDEX" value="gtk-index">
<type name="utf8"/>
</constant>
<constant name="STOCK_INFO" value="gtk-info">
<type name="utf8"/>
</constant>
<constant name="STOCK_ITALIC" value="gtk-italic">
<type name="utf8"/>
</constant>
<constant name="STOCK_JUMP_TO" value="gtk-jump-to">
<type name="utf8"/>
</constant>
<constant name="STOCK_JUSTIFY_CENTER" value="gtk-justify-center">
<type name="utf8"/>
</constant>
<constant name="STOCK_JUSTIFY_FILL" value="gtk-justify-fill">
<type name="utf8"/>
</constant>
<constant name="STOCK_JUSTIFY_LEFT" value="gtk-justify-left">
<type name="utf8"/>
</constant>
<constant name="STOCK_JUSTIFY_RIGHT" value="gtk-justify-right">
<type name="utf8"/>
</constant>
<constant name="STOCK_LEAVE_FULLSCREEN" value="gtk-leave-fullscreen">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_FORWARD" value="gtk-media-forward">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_NEXT" value="gtk-media-next">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_PAUSE" value="gtk-media-pause">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_PLAY" value="gtk-media-play">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_PREVIOUS" value="gtk-media-previous">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_RECORD" value="gtk-media-record">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_REWIND" value="gtk-media-rewind">
<type name="utf8"/>
</constant>
<constant name="STOCK_MEDIA_STOP" value="gtk-media-stop">
<type name="utf8"/>
</constant>
<constant name="STOCK_MISSING_IMAGE" value="gtk-missing-image">
<type name="utf8"/>
</constant>
<constant name="STOCK_NETWORK" value="gtk-network">
<type name="utf8"/>
</constant>
<constant name="STOCK_NEW" value="gtk-new">
<type name="utf8"/>
</constant>
<constant name="STOCK_NO" value="gtk-no">
<type name="utf8"/>
</constant>
<constant name="STOCK_OK" value="gtk-ok">
<type name="utf8"/>
</constant>
<constant name="STOCK_OPEN" value="gtk-open">
<type name="utf8"/>
</constant>
<constant name="STOCK_ORIENTATION_LANDSCAPE"
value="gtk-orientation-landscape">
<type name="utf8"/>
</constant>
<constant name="STOCK_ORIENTATION_PORTRAIT"
value="gtk-orientation-portrait">
<type name="utf8"/>
</constant>
<constant name="STOCK_ORIENTATION_REVERSE_LANDSCAPE"
value="gtk-orientation-reverse-landscape">
<type name="utf8"/>
</constant>
<constant name="STOCK_ORIENTATION_REVERSE_PORTRAIT"
value="gtk-orientation-reverse-portrait">
<type name="utf8"/>
</constant>
<constant name="STOCK_PAGE_SETUP" value="gtk-page-setup">
<type name="utf8"/>
</constant>
<constant name="STOCK_PASTE" value="gtk-paste">
<type name="utf8"/>
</constant>
<constant name="STOCK_PREFERENCES" value="gtk-preferences">
<type name="utf8"/>
</constant>
<constant name="STOCK_PRINT" value="gtk-print">
<type name="utf8"/>
</constant>
<constant name="STOCK_PRINT_ERROR" value="gtk-print-error">
<type name="utf8"/>
</constant>
<constant name="STOCK_PRINT_PAUSED" value="gtk-print-paused">
<type name="utf8"/>
</constant>
<constant name="STOCK_PRINT_PREVIEW" value="gtk-print-preview">
<type name="utf8"/>
</constant>
<constant name="STOCK_PRINT_REPORT" value="gtk-print-report">
<type name="utf8"/>
</constant>
<constant name="STOCK_PRINT_WARNING" value="gtk-print-warning">
<type name="utf8"/>
</constant>
<constant name="STOCK_PROPERTIES" value="gtk-properties">
<type name="utf8"/>
</constant>
<constant name="STOCK_QUIT" value="gtk-quit">
<type name="utf8"/>
</constant>
<constant name="STOCK_REDO" value="gtk-redo">
<type name="utf8"/>
</constant>
<constant name="STOCK_REFRESH" value="gtk-refresh">
<type name="utf8"/>
</constant>
<constant name="STOCK_REMOVE" value="gtk-remove">
<type name="utf8"/>
</constant>
<constant name="STOCK_REVERT_TO_SAVED" value="gtk-revert-to-saved">
<type name="utf8"/>
</constant>
<constant name="STOCK_SAVE" value="gtk-save">
<type name="utf8"/>
</constant>
<constant name="STOCK_SAVE_AS" value="gtk-save-as">
<type name="utf8"/>
</constant>
<constant name="STOCK_SELECT_ALL" value="gtk-select-all">
<type name="utf8"/>
</constant>
<constant name="STOCK_SELECT_COLOR" value="gtk-select-color">
<type name="utf8"/>
</constant>
<constant name="STOCK_SELECT_FONT" value="gtk-select-font">
<type name="utf8"/>
</constant>
<constant name="STOCK_SORT_ASCENDING" value="gtk-sort-ascending">
<type name="utf8"/>
</constant>
<constant name="STOCK_SORT_DESCENDING" value="gtk-sort-descending">
<type name="utf8"/>
</constant>
<constant name="STOCK_SPELL_CHECK" value="gtk-spell-check">
<type name="utf8"/>
</constant>
<constant name="STOCK_STOP" value="gtk-stop">
<type name="utf8"/>
</constant>
<constant name="STOCK_STRIKETHROUGH" value="gtk-strikethrough">
<type name="utf8"/>
</constant>
<constant name="STOCK_UNDELETE" value="gtk-undelete">
<type name="utf8"/>
</constant>
<constant name="STOCK_UNDERLINE" value="gtk-underline">
<type name="utf8"/>
</constant>
<constant name="STOCK_UNDO" value="gtk-undo">
<type name="utf8"/>
</constant>
<constant name="STOCK_UNINDENT" value="gtk-unindent">
<type name="utf8"/>
</constant>
<constant name="STOCK_YES" value="gtk-yes">
<type name="utf8"/>
</constant>
<constant name="STOCK_ZOOM_100" value="gtk-zoom-100">
<type name="utf8"/>
</constant>
<constant name="STOCK_ZOOM_FIT" value="gtk-zoom-fit">
<type name="utf8"/>
</constant>
<constant name="STOCK_ZOOM_IN" value="gtk-zoom-in">
<type name="utf8"/>
</constant>
<constant name="STOCK_ZOOM_OUT" value="gtk-zoom-out">
<type name="utf8"/>
</constant>
<class name="Scale"
c:type="GtkScale"
parent="Range"
abstract="1"
glib:type-name="GtkScale"
glib:get-type="gtk_scale_get_type"
glib:type-struct="ScaleClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<virtual-method name="draw_value">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="get_layout_offsets" invoker="get_layout_offsets">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_digits"
c:identifier="gtk_scale_set_digits"
doc="e.g. use 1 to display 1.0, 2 to display 1.00, etc
Sets the number of decimal places that are displayed in the value.
Also causes the value of the adjustment to be rounded off to this
number of digits, so the retrieved value matches the value the user saw.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="digits" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_digits"
c:identifier="gtk_scale_get_digits"
doc="Gets the number of decimal places that are displayed in the value.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_draw_value"
c:identifier="gtk_scale_set_draw_value"
doc="Specifies whether the current value is displayed as a string next
to the slider.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="draw_value" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_draw_value"
c:identifier="gtk_scale_get_draw_value"
doc="Returns whether the current value is displayed as a string
next to the slider.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_value_pos"
c:identifier="gtk_scale_set_value_pos"
doc="Sets the position in which the current value is displayed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pos" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</method>
<method name="get_value_pos"
c:identifier="gtk_scale_get_value_pos"
doc="Gets the position in which the current value is displayed.">
<return-value transfer-ownership="full">
<type name="PositionType" c:type="GtkPositionType"/>
</return-value>
</method>
<method name="get_layout"
c:identifier="gtk_scale_get_layout"
doc="Gets the #PangoLayout used to display the scale.
The returned object is owned by the scale so does
not need to be freed by the caller.
if the #GtkScale:draw-value property is %FALSE."
version="2.4">
<return-value transfer-ownership="full">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</return-value>
</method>
<method name="get_layout_offsets"
c:identifier="gtk_scale_get_layout_offsets"
doc="Obtains the coordinates where the scale will draw the
#PangoLayout representing the text in the scale. Remember
when using the #PangoLayout function you need to convert to
and from pixels using PANGO_PIXELS() or #PANGO_SCALE.
If the #GtkScale:draw-value property is %FALSE, the return
values are undefined."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store X offset of layout, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store Y offset of layout, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="add_mark"
c:identifier="gtk_scale_add_mark"
doc="the lower and upper limits of the scales&apos; adjustment
is drawn above the scale, anything else below. For a vertical scale,
#GTK_POS_LEFT is drawn to the left of the scale, anything else to the
right.
Adds a mark at @value.
A mark is indicated visually by drawing a tick mark next to the scale,
and GTK+ makes it easy for the user to position the scale exactly at the
marks value.
If @markup is not %NULL, text is shown next to the tick mark.
To remove marks from a scale, use gtk_scale_clear_marks()."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="markup"
transfer-ownership="none"
allow-none="1"
doc="Text to be shown at the mark, using &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup&lt;/link&gt;, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="clear_marks"
c:identifier="gtk_scale_clear_marks"
doc="Removes any marks that have been added with gtk_scale_add_mark()."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="digits" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="draw-value" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="value-pos" writable="1">
<type name="PositionType" c:type="GtkPositionType"/>
</property>
<field name="range">
<type name="Range" c:type="GtkRange"/>
</field>
<field name="digits">
<type name="int" c:type="gint"/>
</field>
<field name="draw_value" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="value_pos" bits="2">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="format-value"
doc="Signal which allows you to change how the scale value is displayed.
Connect a signal handler which returns an allocated string representing
Here&apos;s an example signal handler which displays a value 1.0 as
with &quot;--&amp;gt;1.0&amp;lt;--&quot;.
|[
static gchar*
format_value_callback (GtkScale *scale,
gdouble value)
{
return g_strdup_printf (&quot;--&amp;gt;&amp;percnt;0.*g&amp;lt;--&quot;,
gtk_scale_get_digits (scale), value);
}
]|">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchararray"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</glib:signal>
</class>
<class name="ScaleButton"
c:type="GtkScaleButton"
parent="Button"
glib:type-name="GtkScaleButton"
glib:get-type="gtk_scale_button_get_type"
glib:type-struct="ScaleButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_scale_button_new"
doc="or up/down arrow event occurs (usually 2)
you want to set the list later with gtk_scale_button_set_icons()
Creates a #GtkScaleButton, with a range between @min and @max, with
a stepping of @step."
version="2.12">
<return-value transfer-ownership="full">
<type name="ScaleButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="IconSize" c:type="GtkIconSize"/>
</parameter>
<parameter name="min" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="icons"
transfer-ownership="none"
allow-none="1"
doc="a %NULL-terminated array of icon names, or %NULL if">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</constructor>
<method name="set_icons"
c:identifier="gtk_scale_button_set_icons"
doc="Sets the icons to be used by the scale button.
For details, see the #GtkScaleButton:icons property."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icons" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_value"
c:identifier="gtk_scale_button_get_value"
doc="Gets the current value of the scale button."
version="2.12">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_value"
c:identifier="gtk_scale_button_set_value"
doc="Sets the current value of the scale; if the value is outside
the minimum or maximum range values, it will be clamped to fit
inside them. The scale button emits the #GtkScaleButton::value-changed
signal if the value changes."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_adjustment"
c:identifier="gtk_scale_button_get_adjustment"
doc="Gets the #GtkAdjustment associated with the #GtkScaleButton&apos;s scale.
See gtk_range_get_adjustment() for details."
version="2.12">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_adjustment"
c:identifier="gtk_scale_button_set_adjustment"
doc="Sets the #GtkAdjustment to be used as a model
for the #GtkScaleButton&apos;s scale.
See gtk_range_set_adjustment() for details."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_plus_button"
c:identifier="gtk_scale_button_get_plus_button"
doc="Retrieves the plus button of the #GtkScaleButton."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_minus_button"
c:identifier="gtk_scale_button_get_minus_button"
doc="Retrieves the minus button of the #GtkScaleButton."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_popup"
c:identifier="gtk_scale_button_get_popup"
doc="Retrieves the popup of the #GtkScaleButton."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_orientation"
c:identifier="gtk_scale_button_get_orientation"
doc="Gets the orientation of the #GtkScaleButton&apos;s popup window."
version="2.14"
deprecated="Use gtk_orientable_get_orientation() instead."
deprecated-version="2.16">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<method name="set_orientation"
c:identifier="gtk_scale_button_set_orientation"
doc="Sets the orientation of the #GtkScaleButton&apos;s popup window."
version="2.14"
deprecated="Use gtk_orientable_set_orientation() instead."
deprecated-version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</method>
<property name="adjustment" writable="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="icons"
version="2.12"
writable="1"
doc="The names of the icons to be used by the scale button.
The first item in the array will be used in the button
when the current value is the lowest value, the second
item for the highest value. All the subsequent icons will
be used for all the other values, spread evenly over the
range of values.
If there&apos;s only one icon name in the @icons array, it will
be used for all the values. If only two icon names are in
the @icons array, the first one will be used for the bottom
50% of the scale, and the second one for the top 50%.
It is recommended to use at least 3 icons so that the
#GtkScaleButton reflects the current value of the scale
better for the users.">
<type name="GObject.Strv" c:type="GStrv"/>
</property>
<property name="size" writable="1">
<type name="IconSize" c:type="GtkIconSize"/>
</property>
<property name="value" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<field name="parent">
<type name="Button" c:type="GtkButton"/>
</field>
<field name="plus_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="minus_button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="priv">
<type name="ScaleButtonPrivate" c:type="GtkScaleButtonPrivate*"/>
</field>
<glib:signal name="popdown"
doc="The ::popdown signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popdown the scale widget.
The default binding for this signal is Escape."
version="2.12">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="popup"
doc="The ::popup signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popup the scale widget.
The default bindings for this signal are Space, Enter and Return."
version="2.12">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="value-changed"
doc="The ::value-changed signal is emitted when the value field has
changed."
version="2.12">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ScaleButtonClass"
c:type="GtkScaleButtonClass"
glib:is-gtype-struct-for="ScaleButton">
<field name="parent_class">
<type name="ButtonClass" c:type="GtkButtonClass"/>
</field>
<field name="value_changed">
<callback name="value_changed" c:type="value_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="ScaleButton" c:type="GtkScaleButton*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ScaleButtonPrivate" c:type="GtkScaleButtonPrivate">
</record>
<record name="ScaleClass"
c:type="GtkScaleClass"
glib:is-gtype-struct-for="Scale">
<field name="parent_class">
<type name="RangeClass" c:type="GtkRangeClass"/>
</field>
<field name="format_value">
<callback name="format_value" c:type="format_value">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="scale" transfer-ownership="none">
<type name="Scale" c:type="GtkScale*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_value">
<callback name="draw_value" c:type="draw_value">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scale" transfer-ownership="none">
<type name="Scale" c:type="GtkScale*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_layout_offsets">
<callback name="get_layout_offsets" c:type="get_layout_offsets">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scale" transfer-ownership="none">
<type name="Scale" c:type="GtkScale*"/>
</parameter>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="ScrollStep"
glib:type-name="GtkScrollStep"
glib:get-type="gtk_scroll_step_get_type"
c:type="GtkScrollStep">
<member name="steps"
value="0"
c:identifier="GTK_SCROLL_STEPS"
glib:nick="steps"/>
<member name="pages"
value="1"
c:identifier="GTK_SCROLL_PAGES"
glib:nick="pages"/>
<member name="ends"
value="2"
c:identifier="GTK_SCROLL_ENDS"
glib:nick="ends"/>
<member name="horizontal_steps"
value="3"
c:identifier="GTK_SCROLL_HORIZONTAL_STEPS"
glib:nick="horizontal-steps"/>
<member name="horizontal_pages"
value="4"
c:identifier="GTK_SCROLL_HORIZONTAL_PAGES"
glib:nick="horizontal-pages"/>
<member name="horizontal_ends"
value="5"
c:identifier="GTK_SCROLL_HORIZONTAL_ENDS"
glib:nick="horizontal-ends"/>
</enumeration>
<enumeration name="ScrollType"
glib:type-name="GtkScrollType"
glib:get-type="gtk_scroll_type_get_type"
c:type="GtkScrollType">
<member name="none"
value="0"
c:identifier="GTK_SCROLL_NONE"
glib:nick="none"/>
<member name="jump"
value="1"
c:identifier="GTK_SCROLL_JUMP"
glib:nick="jump"/>
<member name="step_backward"
value="2"
c:identifier="GTK_SCROLL_STEP_BACKWARD"
glib:nick="step-backward"/>
<member name="step_forward"
value="3"
c:identifier="GTK_SCROLL_STEP_FORWARD"
glib:nick="step-forward"/>
<member name="page_backward"
value="4"
c:identifier="GTK_SCROLL_PAGE_BACKWARD"
glib:nick="page-backward"/>
<member name="page_forward"
value="5"
c:identifier="GTK_SCROLL_PAGE_FORWARD"
glib:nick="page-forward"/>
<member name="step_up"
value="6"
c:identifier="GTK_SCROLL_STEP_UP"
glib:nick="step-up"/>
<member name="step_down"
value="7"
c:identifier="GTK_SCROLL_STEP_DOWN"
glib:nick="step-down"/>
<member name="page_up"
value="8"
c:identifier="GTK_SCROLL_PAGE_UP"
glib:nick="page-up"/>
<member name="page_down"
value="9"
c:identifier="GTK_SCROLL_PAGE_DOWN"
glib:nick="page-down"/>
<member name="step_left"
value="10"
c:identifier="GTK_SCROLL_STEP_LEFT"
glib:nick="step-left"/>
<member name="step_right"
value="11"
c:identifier="GTK_SCROLL_STEP_RIGHT"
glib:nick="step-right"/>
<member name="page_left"
value="12"
c:identifier="GTK_SCROLL_PAGE_LEFT"
glib:nick="page-left"/>
<member name="page_right"
value="13"
c:identifier="GTK_SCROLL_PAGE_RIGHT"
glib:nick="page-right"/>
<member name="start"
value="14"
c:identifier="GTK_SCROLL_START"
glib:nick="start"/>
<member name="end"
value="15"
c:identifier="GTK_SCROLL_END"
glib:nick="end"/>
</enumeration>
<class name="Scrollbar"
c:type="GtkScrollbar"
parent="Range"
abstract="1"
glib:type-name="GtkScrollbar"
glib:get-type="gtk_scrollbar_get_type"
glib:type-struct="ScrollbarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<field name="range">
<type name="Range" c:type="GtkRange"/>
</field>
</class>
<record name="ScrollbarClass"
c:type="GtkScrollbarClass"
glib:is-gtype-struct-for="Scrollbar">
<field name="parent_class">
<type name="RangeClass" c:type="GtkRangeClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="ScrolledWindow"
c:type="GtkScrolledWindow"
parent="Bin"
glib:type-name="GtkScrolledWindow"
glib:get-type="gtk_scrolled_window_get_type"
glib:type-struct="ScrolledWindowClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_scrolled_window_new"
doc="Creates a new scrolled window.
The two arguments are the scrolled window&apos;s adjustments; these will be
shared with the scrollbars and the child widget to keep the bars in sync
with the child. Usually you want to pass %NULL for the adjustments, which
will cause the scrolled window to create them for you.">
<return-value transfer-ownership="full">
<type name="ScrolledWindow" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="hadjustment"
transfer-ownership="none"
allow-none="1"
doc="horizontal adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment"
transfer-ownership="none"
allow-none="1"
doc="vertical adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<method name="set_hadjustment"
c:identifier="gtk_scrolled_window_set_hadjustment"
doc="Sets the #GtkAdjustment for the horizontal scrollbar.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="set_vadjustment"
c:identifier="gtk_scrolled_window_set_vadjustment"
doc="Sets the #GtkAdjustment for the vertical scrollbar.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_hadjustment"
c:identifier="gtk_scrolled_window_get_hadjustment"
doc="Returns the horizontal scrollbar&apos;s adjustment, used to connect the
horizontal scrollbar to the child widget&apos;s horizontal scroll
functionality.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="get_vadjustment"
c:identifier="gtk_scrolled_window_get_vadjustment"
doc="Returns the vertical scrollbar&apos;s adjustment, used to connect the
vertical scrollbar to the child widget&apos;s vertical scroll
functionality.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="get_hscrollbar"
c:identifier="gtk_scrolled_window_get_hscrollbar"
doc="Returns the horizontal scrollbar of @scrolled_window.
%NULL if it does not have one."
version="2.8">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_vscrollbar"
c:identifier="gtk_scrolled_window_get_vscrollbar"
doc="Returns the vertical scrollbar of @scrolled_window.
%NULL if it does not have one."
version="2.8">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_policy"
c:identifier="gtk_scrolled_window_set_policy"
doc="Sets the scrollbar policy for the horizontal and vertical scrollbars.
The policy determines when the scrollbar should appear; it is a value
from the #GtkPolicyType enumeration. If %GTK_POLICY_ALWAYS, the
scrollbar is always present; if %GTK_POLICY_NEVER, the scrollbar is
never present; if %GTK_POLICY_AUTOMATIC, the scrollbar is present only
if needed (that is, if the slider part of the bar would be smaller
than the trough - the display is larger than the page size).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hscrollbar_policy" transfer-ownership="none">
<type name="PolicyType" c:type="GtkPolicyType"/>
</parameter>
<parameter name="vscrollbar_policy" transfer-ownership="none">
<type name="PolicyType" c:type="GtkPolicyType"/>
</parameter>
</parameters>
</method>
<method name="get_policy"
c:identifier="gtk_scrolled_window_get_policy"
doc="scrollbar, or %NULL.
scrollbar, or %NULL.
Retrieves the current policy values for the horizontal and vertical
scrollbars. See gtk_scrolled_window_set_policy().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hscrollbar_policy" transfer-ownership="none">
<type name="PolicyType" c:type="GtkPolicyType*"/>
</parameter>
<parameter name="vscrollbar_policy" transfer-ownership="none">
<type name="PolicyType" c:type="GtkPolicyType*"/>
</parameter>
</parameters>
</method>
<method name="set_placement"
c:identifier="gtk_scrolled_window_set_placement"
doc="Sets the placement of the contents with respect to the scrollbars
for the scrolled window.
The default is %GTK_CORNER_TOP_LEFT, meaning the child is
in the top left, with the scrollbars underneath and to the right.
Other values in #GtkCornerType are %GTK_CORNER_TOP_RIGHT,
%GTK_CORNER_BOTTOM_LEFT, and %GTK_CORNER_BOTTOM_RIGHT.
See also gtk_scrolled_window_get_placement() and
gtk_scrolled_window_unset_placement().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window_placement" transfer-ownership="none">
<type name="CornerType" c:type="GtkCornerType"/>
</parameter>
</parameters>
</method>
<method name="unset_placement"
c:identifier="gtk_scrolled_window_unset_placement"
doc="Unsets the placement of the contents with respect to the scrollbars
for the scrolled window. If no window placement is set for a scrolled
window, it obeys the &quot;gtk-scrolled-window-placement&quot; XSETTING.
See also gtk_scrolled_window_set_placement() and
gtk_scrolled_window_get_placement()."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_placement"
c:identifier="gtk_scrolled_window_get_placement"
doc="Gets the placement of the contents with respect to the scrollbars
for the scrolled window. See gtk_scrolled_window_set_placement().
See also gtk_scrolled_window_set_placement() and
gtk_scrolled_window_unset_placement().">
<return-value transfer-ownership="full">
<type name="CornerType" c:type="GtkCornerType"/>
</return-value>
</method>
<method name="set_shadow_type"
c:identifier="gtk_scrolled_window_set_shadow_type"
doc="Changes the type of shadow drawn around the contents of">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
</parameters>
</method>
<method name="get_shadow_type"
c:identifier="gtk_scrolled_window_get_shadow_type"
doc="Gets the shadow type of the scrolled window. See
gtk_scrolled_window_set_shadow_type().">
<return-value transfer-ownership="full">
<type name="ShadowType" c:type="GtkShadowType"/>
</return-value>
</method>
<method name="add_with_viewport"
c:identifier="gtk_scrolled_window_add_with_viewport"
doc="Used to add children without native scrolling capabilities. This
is simply a convenience function; it is equivalent to adding the
unscrollable child to a viewport, then adding the viewport to the
scrolled window. If a child has native scrolling, use
gtk_container_add() instead of this function.
The viewport scrolls the child by moving its #GdkWindow, and takes
the size of the child to be the size of its toplevel #GdkWindow.
This will be very wrong for most widgets that support native scrolling;
for example, if you add a widget such as #GtkTreeView with a viewport,
the whole widget will scroll, including the column headings. Thus,
widgets with native scrolling support should not be used with the
#GtkViewport proxy.
A widget supports scrolling natively if the
set_scroll_adjustments_signal field in #GtkWidgetClass is non-zero,
i.e. has been filled in with a valid signal identifier.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<property name="hadjustment" writable="1" construct="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="hscrollbar-policy" writable="1">
<type name="PolicyType" c:type="GtkPolicyType"/>
</property>
<property name="shadow-type" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<property name="vadjustment" writable="1" construct="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="vscrollbar-policy" writable="1">
<type name="PolicyType" c:type="GtkPolicyType"/>
</property>
<property name="window-placement" writable="1">
<type name="CornerType" c:type="GtkCornerType"/>
</property>
<property name="window-placement-set"
version="2.10"
writable="1"
doc="Whether &quot;window-placement&quot; should be used to determine the location
of the contents with respect to the scrollbars. Otherwise, the
&quot;gtk-scrolled-window-placement&quot; setting is used.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="container">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="hscrollbar">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="vscrollbar">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="hscrollbar_policy" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="vscrollbar_policy" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="hscrollbar_visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="vscrollbar_visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="window_placement" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="focus_out" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="shadow_type">
<type name="uint16" c:type="guint16"/>
</field>
<glib:signal name="move-focus-out">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="scroll-child">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ScrolledWindowClass"
c:type="GtkScrolledWindowClass"
glib:is-gtype-struct-for="ScrolledWindow">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="scrollbar_spacing">
<type name="int" c:type="gint"/>
</field>
<field name="scroll_child">
<callback name="scroll_child" c:type="scroll_child">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="scrolled_window" transfer-ownership="none">
<type name="ScrolledWindow" c:type="GtkScrolledWindow*"/>
</parameter>
<parameter name="scroll" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
<parameter name="horizontal" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_focus_out">
<callback name="move_focus_out" c:type="move_focus_out">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scrolled_window" transfer-ownership="none">
<type name="ScrolledWindow" c:type="GtkScrolledWindow*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="SelectionData"
c:type="GtkSelectionData"
glib:type-name="GtkSelectionData"
glib:get-type="gtk_selection_data_get_type">
<field name="selection" writable="1">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</field>
<field name="target" writable="1">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</field>
<field name="type" writable="1">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</field>
<field name="format" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="data" writable="1">
<type name="any" c:type="guchar*"/>
</field>
<field name="length" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="display" writable="1">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</field>
<method name="get_selection"
c:identifier="gtk_selection_data_get_selection"
doc="Retrieves the selection #GdkAtom of the selection data."
version="2.16">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
</method>
<method name="get_target"
c:identifier="gtk_selection_data_get_target"
doc="Retrieves the target of the selection."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
</method>
<method name="get_data_type"
c:identifier="gtk_selection_data_get_data_type"
doc="Retrieves the data type of the selection."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
</method>
<method name="get_format"
c:identifier="gtk_selection_data_get_format"
doc="Retrieves the format of the selection."
version="2.14">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_data"
c:identifier="gtk_selection_data_get_data"
doc="Retrieves the raw data of the selection."
version="2.14">
<return-value transfer-ownership="none">
<array c:type="guchar*">
<type name="uint8"/>
</array>
</return-value>
</method>
<method name="get_length"
c:identifier="gtk_selection_data_get_length"
doc="Retrieves the length of the raw data of the selection."
version="2.14">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_display"
c:identifier="gtk_selection_data_get_display"
doc="Retrieves the display of the selection."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</return-value>
</method>
<method name="set"
c:identifier="gtk_selection_data_set"
doc="Stores new data into a #GtkSelectionData object. Should
&lt;emphasis&gt;only&lt;/emphasis&gt; be called from a selection handler callback.
Zero-terminates the stored data.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="format" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<array c:type="guchar*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_text"
c:identifier="gtk_selection_data_set_text"
doc="Sets the contents of the selection from a UTF-8 encoded string.
The string is converted to the form determined by
otherwise %FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_text"
c:identifier="gtk_selection_data_get_text"
doc="Gets the contents of the selection data as a UTF-8 string.
text type and it could be converted to UTF-8, a newly allocated
string containing the converted text, otherwise %NULL.
If the result is non-%NULL it must be freed with g_free().">
<return-value transfer-ownership="full">
<array c:type="guchar*">
<type name="uint8"/>
</array>
</return-value>
</method>
<method name="set_pixbuf"
c:identifier="gtk_selection_data_set_pixbuf"
doc="Sets the contents of the selection from a #GdkPixbuf
The pixbuf is converted to the form determined by
otherwise %FALSE."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="get_pixbuf"
c:identifier="gtk_selection_data_get_pixbuf"
doc="Gets the contents of the selection data as a #GdkPixbuf.
image type and it could be converted to a #GdkPixbuf, a
newly allocated pixbuf is returned, otherwise %NULL.
If the result is non-%NULL it must be freed with g_object_unref()."
version="2.6">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="set_uris"
c:identifier="gtk_selection_data_set_uris"
doc="Sets the contents of the selection from a list of URIs.
The string is converted to the form determined by
otherwise %FALSE."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uris" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_uris"
c:identifier="gtk_selection_data_get_uris"
doc="Gets the contents of the selection data as array of URIs.
the selection data contains a list of
URIs, a newly allocated %NULL-terminated string array
containing the URIs, otherwise %NULL. If the result is
non-%NULL it must be freed with g_strfreev()."
version="2.6">
<return-value transfer-ownership="full" doc="if">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
</method>
<method name="get_targets"
c:identifier="gtk_selection_data_get_targets"
doc="stored here must be freed with g_free().
Gets the contents of @selection_data as an array of targets.
This can be used to interpret the results of getting
the standard TARGETS target that is always supplied for
any selection.
array of targets, otherwise %FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom**"/>
</parameter>
<parameter name="n_atoms" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="targets_include_text"
c:identifier="gtk_selection_data_targets_include_text"
doc="Given a #GtkSelectionData object holding a list of targets,
determines if any of the targets in @targets can be used to
provide text.
and a suitable target for text is included, otherwise %FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="targets_include_rich_text"
c:identifier="gtk_selection_data_targets_include_rich_text"
doc="Given a #GtkSelectionData object holding a list of targets,
determines if any of the targets in @targets can be used to
provide rich text.
and a suitable target for rich text is included,
otherwise %FALSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</method>
<method name="targets_include_image"
c:identifier="gtk_selection_data_targets_include_image"
doc="how to convert a pixbuf into the format
Given a #GtkSelectionData object holding a list of targets,
determines if any of the targets in @targets can be used to
provide a #GdkPixbuf.
and a suitable target for images is included, otherwise %FALSE."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="writable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="targets_include_uri"
c:identifier="gtk_selection_data_targets_include_uri"
doc="Given a #GtkSelectionData object holding a list of targets,
determines if any of the targets in @targets can be used to
provide a list or URIs.
and a suitable target for URI lists is included, otherwise %FALSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="copy"
c:identifier="gtk_selection_data_copy"
doc="Makes a copy of a #GtkSelectionData structure and its data.">
<return-value transfer-ownership="full">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_selection_data_free"
doc="Frees a #GtkSelectionData structure returned from
gtk_selection_data_copy().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<enumeration name="SelectionMode"
glib:type-name="GtkSelectionMode"
glib:get-type="gtk_selection_mode_get_type"
c:type="GtkSelectionMode">
<member name="none"
value="0"
c:identifier="GTK_SELECTION_NONE"
glib:nick="none"/>
<member name="single"
value="1"
c:identifier="GTK_SELECTION_SINGLE"
glib:nick="single"/>
<member name="browse"
value="2"
c:identifier="GTK_SELECTION_BROWSE"
glib:nick="browse"/>
<member name="multiple"
value="3"
c:identifier="GTK_SELECTION_MULTIPLE"
glib:nick="multiple"/>
<member name="extended"
value="3"
c:identifier="GTK_SELECTION_EXTENDED"
glib:nick="extended"/>
</enumeration>
<enumeration name="SensitivityType"
glib:type-name="GtkSensitivityType"
glib:get-type="gtk_sensitivity_type_get_type"
c:type="GtkSensitivityType">
<member name="auto"
value="0"
c:identifier="GTK_SENSITIVITY_AUTO"
glib:nick="auto"/>
<member name="on"
value="1"
c:identifier="GTK_SENSITIVITY_ON"
glib:nick="on"/>
<member name="off"
value="2"
c:identifier="GTK_SENSITIVITY_OFF"
glib:nick="off"/>
</enumeration>
<class name="Separator"
c:type="GtkSeparator"
parent="Widget"
abstract="1"
glib:type-name="GtkSeparator"
glib:get-type="gtk_separator_get_type"
glib:type-struct="SeparatorClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<field name="widget">
<type name="Widget" c:type="GtkWidget"/>
</field>
</class>
<record name="SeparatorClass"
c:type="GtkSeparatorClass"
glib:is-gtype-struct-for="Separator">
<field name="parent_class">
<type name="WidgetClass" c:type="GtkWidgetClass"/>
</field>
</record>
<class name="SeparatorMenuItem"
c:type="GtkSeparatorMenuItem"
parent="MenuItem"
glib:type-name="GtkSeparatorMenuItem"
glib:get-type="gtk_separator_menu_item_get_type"
glib:type-struct="SeparatorMenuItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_separator_menu_item_new">
<return-value transfer-ownership="full">
<type name="SeparatorMenuItem" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="menu_item">
<type name="MenuItem" c:type="GtkMenuItem"/>
</field>
</class>
<record name="SeparatorMenuItemClass"
c:type="GtkSeparatorMenuItemClass"
glib:is-gtype-struct-for="SeparatorMenuItem">
<field name="parent_class">
<type name="MenuItemClass" c:type="GtkMenuItemClass"/>
</field>
</record>
<class name="SeparatorToolItem"
c:type="GtkSeparatorToolItem"
parent="ToolItem"
glib:type-name="GtkSeparatorToolItem"
glib:get-type="gtk_separator_tool_item_get_type"
glib:type-struct="SeparatorToolItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_separator_tool_item_new"
doc="Create a new #GtkSeparatorToolItem"
version="2.4">
<return-value transfer-ownership="full">
<type name="SeparatorToolItem" c:type="GtkToolItem*"/>
</return-value>
</constructor>
<method name="get_draw"
c:identifier="gtk_separator_tool_item_get_draw"
doc="Returns whether @item is drawn as a line, or just blank.
See gtk_separator_tool_item_set_draw()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_draw"
c:identifier="gtk_separator_tool_item_set_draw"
doc="Whether @item is drawn as a vertical line, or just blank.
Setting this to %FALSE along with gtk_tool_item_set_expand() is useful
to create an item that forces following items to the end of the toolbar."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="draw" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="draw" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="ToolItem" c:type="GtkToolItem"/>
</field>
<field name="priv">
<type name="SeparatorToolItemPrivate"
c:type="GtkSeparatorToolItemPrivate*"/>
</field>
</class>
<record name="SeparatorToolItemClass"
c:type="GtkSeparatorToolItemClass"
glib:is-gtype-struct-for="SeparatorToolItem">
<field name="parent_class">
<type name="ToolItemClass" c:type="GtkToolItemClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="SeparatorToolItemPrivate"
c:type="GtkSeparatorToolItemPrivate">
</record>
<class name="Settings"
c:type="GtkSettings"
parent="GObject.Object"
glib:type-name="GtkSettings"
glib:get-type="gtk_settings_get_type"
glib:type-struct="SettingsClass">
<function name="get_default"
c:identifier="gtk_settings_get_default"
doc="Gets the #GtkSettings object for the default GDK screen, creating
it if necessary. See gtk_settings_get_for_screen().
screen, then returns %NULL.">
<return-value transfer-ownership="none"
doc="a #GtkSettings object. If there is no default">
<type name="Settings" c:type="GtkSettings*"/>
</return-value>
</function>
<function name="get_for_screen"
c:identifier="gtk_settings_get_for_screen"
doc="Gets the #GtkSettings object for @screen, creating it if necessary."
version="2.2">
<return-value transfer-ownership="full">
<type name="Settings" c:type="GtkSettings*"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</function>
<function name="install_property"
c:identifier="gtk_settings_install_property">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</function>
<function name="install_property_parser"
c:identifier="gtk_settings_install_property_parser">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="parser" transfer-ownership="none" scope="call">
<type name="RcPropertyParser" c:type="GtkRcPropertyParser"/>
</parameter>
</parameters>
</function>
<method name="set_property_value"
c:identifier="gtk_settings_set_property_value">
<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>
<parameter name="svalue" transfer-ownership="none">
<type name="SettingsValue" c:type="GtkSettingsValue*"/>
</parameter>
</parameters>
</method>
<method name="set_string_property"
c:identifier="gtk_settings_set_string_property">
<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>
<parameter name="v_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="origin" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_long_property"
c:identifier="gtk_settings_set_long_property">
<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>
<parameter name="v_long" transfer-ownership="none">
<type name="long" c:type="glong"/>
</parameter>
<parameter name="origin" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_double_property"
c:identifier="gtk_settings_set_double_property">
<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>
<parameter name="v_double" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="origin" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<property name="color-hash"
version="2.10"
doc="Holds a hash table representation of the #GtkSettings:gtk-color-scheme
setting, mapping color names to #GdkColor&lt;!-- --&gt;s.">
<type name="GLib.HashTable" c:type="GHashTable"/>
</property>
<property name="gtk-alternative-button-order" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-alternative-sort-arrows"
version="2.12"
writable="1"
doc="Controls the direction of the sort indicators in sorted list and tree
views. By default an arrow pointing down means the column is sorted
in ascending order. When set to %TRUE, this order will be inverted.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-auto-mnemonics"
version="2.20"
writable="1"
doc="Whether mnemonics should be automatically shown and hidden when the user
presses the mnemonic activator.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-color-scheme"
version="2.10"
writable="1"
doc="A palette of named colors for use in themes. The format of the string is
&lt;programlisting&gt;
...
&lt;/programlisting&gt;
Color names must be acceptable as identifiers in the
&lt;link linkend=&quot;gtk-Resource-Files&quot;&gt;gtkrc&lt;/link&gt; syntax, and
color specifications must be in the format accepted by
gdk_color_parse().
Note that due to the way the color tables from different sources are
merged, color specifications will be converted to hexadecimal form
when getting this property.
Starting with GTK+ 2.12, the entries can alternatively be separated
by &apos;;&apos; instead of newlines:
&lt;programlisting&gt;
&lt;/programlisting&gt;">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-cursor-blink"
writable="1"
doc="Whether the cursor should blink.
Also see the #GtkSettings:gtk-cursor-blink-timeout setting,
which allows more flexible control over cursor blinking.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-cursor-blink-time" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-cursor-blink-timeout"
version="2.12"
writable="1"
doc="Time after which the cursor stops blinking, in seconds.
The timer is reset after each user interaction.
Setting this to zero has the same effect as setting
#GtkSettings:gtk-cursor-blink to %FALSE.">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-cursor-theme-name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-cursor-theme-size" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-dnd-drag-threshold" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-double-click-distance" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-double-click-time" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-enable-accels"
version="2.12"
writable="1"
doc="Whether menu items should have visible accelerators which can be
activated.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-enable-animations" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-enable-event-sounds"
version="2.14"
writable="1"
doc="Whether to play any event sounds at all.
See the &lt;ulink url=&quot;http://www.freedesktop.org/wiki/Specifications/sound-theme-spec&quot;&gt;Sound Theme spec&lt;/ulink&gt;
for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable
module like the one that comes with libcanberra.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-enable-input-feedback-sounds"
version="2.14"
writable="1"
doc="Whether to play event sounds as feedback to user input.
See the &lt;ulink url=&quot;http://www.freedesktop.org/wiki/Specifications/sound-theme-spec&quot;&gt;Sound Theme spec&lt;/ulink&gt;
for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable
module like the one that comes with libcanberra.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-enable-mnemonics"
version="2.12"
writable="1"
doc="Whether labels and menu items should have visible mnemonics which
can be activated.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-enable-tooltips"
version="2.14"
writable="1"
doc="Whether tooltips should be shown on widgets.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-error-bell"
version="2.12"
writable="1"
doc="When %TRUE, keyboard navigation and other input-related errors
will cause a beep. Since the error bell is implemented using
gdk_window_beep(), the windowing system may offer ways to
configure the error bell in many ways, such as flashing the
window or similar visual effects.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-fallback-icon-theme" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-file-chooser-backend" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-font-name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-fontconfig-timestamp" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="gtk-icon-sizes"
writable="1"
doc="A list of icon sizes. The list is separated by colons, and
item has the form:
&lt;replaceable&gt;size-name&lt;/replaceable&gt; = &lt;replaceable&gt;width&lt;/replaceable&gt; , &lt;replaceable&gt;height&lt;/replaceable&gt;
E.g. &quot;gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48&quot;.
gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd,
gtk-dialog. Applications can register their own named icon
sizes with gtk_icon_size_register().">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-icon-theme-name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-im-module"
writable="1"
doc="Which IM (input method) module should be used by default. This is the
input method that will be used if the user has not explicitly chosen
another input method from the IM context menu.
See #GtkIMContext and see the #GtkSettings:gtk-show-input-method-menu property.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-key-theme-name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-keynav-cursor-only"
version="2.12"
writable="1"
doc="When %TRUE, keyboard navigation should be able to reach all widgets
by using the cursor keys only. Tab, Shift etc. keys can&apos;t be expected
to be present on the used input device.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-keynav-wrap-around"
version="2.12"
writable="1"
doc="When %TRUE, some widgets will wrap around when doing keyboard
navigation, such as menus, menubars and notebooks.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-menu-bar-accel" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-modules" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-print-backends"
version="2.10"
writable="1"
doc="A comma-separated list of print backends to use in the print
dialog. Available print backends depend on the GTK+ installation,
and may include &quot;file&quot;, &quot;cups&quot;, &quot;lpr&quot; or &quot;papi&quot;.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-print-preview-command"
version="2.10"
writable="1"
doc="A command to run for displaying the print preview. The command
should contain a %f placeholder, which will get replaced by
the path to the pdf file. The command may also contain a %s
placeholder, which will get replaced by the path to a file
containing the print settings in the format produced by
gtk_print_settings_to_file().
The preview application is responsible for removing the pdf file
and the print settings file when it is done.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-recent-files-limit"
version="2.12"
writable="1"
doc="The number of recently used files that should be displayed by default by
#GtkRecentChooser implementations and by the #GtkFileChooser. A value of
-1 means every recently used file stored.">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-recent-files-max-age"
version="2.14"
writable="1"
doc="The maximum age, in days, of the items inside the recently used
resources list. Items older than this setting will be excised
from the list. If set to 0, the list will always be empty; if
set to -1, no item will be removed.">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-show-input-method-menu" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-show-unicode-menu" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-sound-theme-name"
version="2.14"
writable="1"
doc="The XDG sound theme to use for event sounds.
See the &lt;ulink url=&quot;http://www.freedesktop.org/wiki/Specifications/sound-theme-spec&quot;&gt;Sound Theme spec&lt;/ulink&gt;
for more information on event sounds and sound themes.
GTK+ itself does not support event sounds, you have to use a loadable
module like the one that comes with libcanberra.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-split-cursor" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-theme-name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-timeout-expand" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-timeout-initial" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-timeout-repeat" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-toolbar-icon-size" writable="1">
<type name="IconSize" c:type="GtkIconSize"/>
</property>
<property name="gtk-toolbar-style" writable="1">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</property>
<property name="gtk-tooltip-browse-mode-timeout"
version="2.12"
writable="1"
doc="Amount of time, in milliseconds, after which the browse mode
will be disabled.
See #GtkSettings:gtk-tooltip-browse-timeout for more information
about browse mode.">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-tooltip-browse-timeout"
version="2.12"
writable="1"
doc="Controls the time after which tooltips will appear when
browse mode is enabled, in milliseconds.
Browse mode is enabled when the mouse pointer moves off an object
where a tooltip was currently being displayed. If the mouse pointer
hits another object before the browse mode timeout expires (see
#GtkSettings:gtk-tooltip-browse-mode-timeout), it will take the
amount of milliseconds specified by this setting to popup the tooltip
for the new object.">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-tooltip-timeout"
version="2.12"
writable="1"
doc="Time, in milliseconds, after which a tooltip could appear if the
cursor is hovering on top of a widget.">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-touchscreen-mode"
version="2.10"
writable="1"
doc="When %TRUE, there are no motion notify events delivered on this screen,
and widgets can&apos;t use the pointer hovering them for any essential
functionality.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gtk-xft-antialias" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-xft-dpi" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-xft-hinting" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="gtk-xft-hintstyle" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gtk-xft-rgba" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="queued_settings">
<type name="GLib.Data" c:type="GData*"/>
</field>
<field name="property_values">
<type name="SettingsPropertyValue" c:type="GtkSettingsPropertyValue*"/>
</field>
<field name="rc_context">
<type name="RcContext" c:type="GtkRcContext*"/>
</field>
<field name="screen">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</field>
</class>
<record name="SettingsClass"
c:type="GtkSettingsClass"
glib:is-gtype-struct-for="Settings">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<record name="SettingsPropertyValue" c:type="GtkSettingsPropertyValue">
</record>
<record name="SettingsValue" c:type="GtkSettingsValue">
<field name="origin" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value" writable="1">
<type name="GObject.Value" c:type="GValue"/>
</field>
</record>
<enumeration name="ShadowType"
glib:type-name="GtkShadowType"
glib:get-type="gtk_shadow_type_get_type"
c:type="GtkShadowType">
<member name="none"
value="0"
c:identifier="GTK_SHADOW_NONE"
glib:nick="none"/>
<member name="in" value="1" c:identifier="GTK_SHADOW_IN" glib:nick="in"/>
<member name="out"
value="2"
c:identifier="GTK_SHADOW_OUT"
glib:nick="out"/>
<member name="etched_in"
value="3"
c:identifier="GTK_SHADOW_ETCHED_IN"
glib:nick="etched-in"/>
<member name="etched_out"
value="4"
c:identifier="GTK_SHADOW_ETCHED_OUT"
glib:nick="etched-out"/>
</enumeration>
<enumeration name="SideType"
glib:type-name="GtkSideType"
glib:get-type="gtk_side_type_get_type"
c:type="GtkSideType">
<member name="top"
value="0"
c:identifier="GTK_SIDE_TOP"
glib:nick="top"/>
<member name="bottom"
value="1"
c:identifier="GTK_SIDE_BOTTOM"
glib:nick="bottom"/>
<member name="left"
value="2"
c:identifier="GTK_SIDE_LEFT"
glib:nick="left"/>
<member name="right"
value="3"
c:identifier="GTK_SIDE_RIGHT"
glib:nick="right"/>
</enumeration>
<callback name="SignalFunc" c:type="GtkSignalFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<bitfield name="SignalRunType"
glib:type-name="GtkSignalRunType"
glib:get-type="gtk_signal_run_type_get_type"
c:type="GtkSignalRunType">
<member name="first"
value="1"
c:identifier="GTK_RUN_FIRST"
glib:nick="first"/>
<member name="last"
value="2"
c:identifier="GTK_RUN_LAST"
glib:nick="last"/>
<member name="both"
value="3"
c:identifier="GTK_RUN_BOTH"
glib:nick="both"/>
<member name="no_recurse"
value="8"
c:identifier="GTK_RUN_NO_RECURSE"
glib:nick="no-recurse"/>
<member name="action"
value="32"
c:identifier="GTK_RUN_ACTION"
glib:nick="action"/>
<member name="no_hooks"
value="64"
c:identifier="GTK_RUN_NO_HOOKS"
glib:nick="no-hooks"/>
</bitfield>
<class name="SizeGroup"
c:type="GtkSizeGroup"
parent="GObject.Object"
glib:type-name="GtkSizeGroup"
glib:get-type="gtk_size_group_get_type"
glib:type-struct="SizeGroupClass">
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_size_group_new"
doc="Create a new #GtkSizeGroup.">
<return-value transfer-ownership="full">
<type name="SizeGroup" c:type="GtkSizeGroup*"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="SizeGroupMode" c:type="GtkSizeGroupMode"/>
</parameter>
</parameters>
</constructor>
<method name="set_mode"
c:identifier="gtk_size_group_set_mode"
doc="Sets the #GtkSizeGroupMode of the size group. The mode of the size
group determines whether the widgets in the size group should
all have the same horizontal requisition (%GTK_SIZE_GROUP_MODE_HORIZONTAL)
all have the same vertical requisition (%GTK_SIZE_GROUP_MODE_VERTICAL),
or should all have the same requisition in both directions
(%GTK_SIZE_GROUP_MODE_BOTH).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="SizeGroupMode" c:type="GtkSizeGroupMode"/>
</parameter>
</parameters>
</method>
<method name="get_mode"
c:identifier="gtk_size_group_get_mode"
doc="Gets the current mode of the size group. See gtk_size_group_set_mode().">
<return-value transfer-ownership="full">
<type name="SizeGroupMode" c:type="GtkSizeGroupMode"/>
</return-value>
</method>
<method name="set_ignore_hidden"
c:identifier="gtk_size_group_set_ignore_hidden"
doc="when calculating the size
Sets whether unmapped widgets should be ignored when
calculating the size."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ignore_hidden" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_ignore_hidden"
c:identifier="gtk_size_group_get_ignore_hidden"
doc="Returns if invisible widgets are ignored when calculating the size."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="add_widget"
c:identifier="gtk_size_group_add_widget"
doc="Adds a widget to a #GtkSizeGroup. In the future, the requisition
of the widget will be determined as the maximum of its requisition
and the requisition of the other widgets in the size group.
Whether this applies horizontally, vertically, or in both directions
depends on the mode of the size group. See gtk_size_group_set_mode().
When the widget is destroyed or no longer referenced elsewhere, it will
be removed from the size group.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="remove_widget"
c:identifier="gtk_size_group_remove_widget"
doc="Removes a widget from a #GtkSizeGroup.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_widgets"
c:identifier="gtk_size_group_get_widgets"
doc="Returns the list of widgets associated with @size_group.
widgets. The list is owned by GTK+ and should not be modified."
version="2.10">
<return-value transfer-ownership="none" doc="a #GSList of">
<type name="GLib.SList" c:type="GSList*">
<type name="Widget"/>
</type>
</return-value>
</method>
<property name="ignore-hidden"
version="2.8"
writable="1"
doc="If %TRUE, unmapped widgets are ignored when determining
the size of the group.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="mode" writable="1">
<type name="SizeGroupMode" c:type="GtkSizeGroupMode"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="widgets">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="mode">
<type name="uint8" c:type="guint8"/>
</field>
<field name="have_width" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="have_height" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="ignore_hidden" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="requisition">
<type name="Requisition" c:type="GtkRequisition"/>
</field>
</class>
<record name="SizeGroupClass"
c:type="GtkSizeGroupClass"
glib:is-gtype-struct-for="SizeGroup">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="SizeGroupMode"
doc="The mode of the size group determines the directions in which the size
group affects the requested sizes of its component widgets."
glib:type-name="GtkSizeGroupMode"
glib:get-type="gtk_size_group_mode_get_type"
c:type="GtkSizeGroupMode">
<member name="none"
value="0"
c:identifier="GTK_SIZE_GROUP_NONE"
glib:nick="none"/>
<member name="horizontal"
value="1"
c:identifier="GTK_SIZE_GROUP_HORIZONTAL"
glib:nick="horizontal"/>
<member name="vertical"
value="2"
c:identifier="GTK_SIZE_GROUP_VERTICAL"
glib:nick="vertical"/>
<member name="both"
value="3"
c:identifier="GTK_SIZE_GROUP_BOTH"
glib:nick="both"/>
</enumeration>
<class name="Socket"
c:type="GtkSocket"
parent="Container"
glib:type-name="GtkSocket"
glib:get-type="gtk_socket_get_type"
glib:type-struct="SocketClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_socket_new"
doc="Create a new empty #GtkSocket.">
<return-value transfer-ownership="full">
<type name="Socket" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="add_id"
c:identifier="gtk_socket_add_id"
doc="Adds an XEMBED client, such as a #GtkPlug, to the #GtkSocket. The
client may be in the same process or in a different process.
To embed a #GtkPlug in a #GtkSocket, you can either create the
#GtkPlug with &lt;literal&gt;gtk_plug_new (0)&lt;/literal&gt;, call
gtk_plug_get_id() to get the window ID of the plug, and then pass that to the
gtk_socket_add_id(), or you can call gtk_socket_get_id() to get the
window ID for the socket, and call gtk_plug_new() passing in that
ID.
The #GtkSocket must have already be added into a toplevel window
before you can make this call.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window_id" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</method>
<method name="get_id"
c:identifier="gtk_socket_get_id"
doc="Gets the window ID of a #GtkSocket widget, which can then
be used to create a client embedded inside the socket, for
instance with gtk_plug_new().
The #GtkSocket must have already be added into a toplevel window
before you can make this call.">
<return-value transfer-ownership="full">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</return-value>
</method>
<method name="get_plug_window"
c:identifier="gtk_socket_get_plug_window"
doc="Retrieves the window of the plug. Use this to check if the plug has
been created inside of the socket."
version=" 2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="steal"
c:identifier="gtk_socket_steal"
doc="Reparents a pre-existing toplevel window into a #GtkSocket. This is
meant to embed clients that do not know about embedding into a
#GtkSocket, however doing so is inherently unreliable, and using
this function is not recommended.
The #GtkSocket must have already be added into a toplevel window
before you can make this call.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wid" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</method>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="request_width">
<type name="uint16" c:type="guint16"/>
</field>
<field name="request_height">
<type name="uint16" c:type="guint16"/>
</field>
<field name="current_width">
<type name="uint16" c:type="guint16"/>
</field>
<field name="current_height">
<type name="uint16" c:type="guint16"/>
</field>
<field name="plug_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="plug_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="xembed_version">
<type name="short" c:type="gshort"/>
</field>
<field name="same_app" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="focus_in" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="have_size" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="need_map" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_mapped" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="active" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="accel_group">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</field>
<field name="toplevel">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<glib:signal name="plug-added"
doc="This signal is emitted when a client is successfully
added to the socket.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="plug-removed"
doc="This signal is emitted when a client is removed from the socket.
The default action is to destroy the #GtkSocket widget, so if you
want to reuse it you must add a signal handler that returns %TRUE.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
</class>
<record name="SocketClass"
c:type="GtkSocketClass"
glib:is-gtype-struct-for="Socket">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="plug_added">
<callback name="plug_added" c:type="plug_added">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="socket_" transfer-ownership="none">
<type name="Socket" c:type="GtkSocket*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="plug_removed">
<callback name="plug_removed" c:type="plug_removed">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="socket_" transfer-ownership="none">
<type name="Socket" c:type="GtkSocket*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="SortType"
glib:type-name="GtkSortType"
glib:get-type="gtk_sort_type_get_type"
c:type="GtkSortType">
<member name="ascending"
value="0"
c:identifier="GTK_SORT_ASCENDING"
glib:nick="ascending"/>
<member name="descending"
value="1"
c:identifier="GTK_SORT_DESCENDING"
glib:nick="descending"/>
</enumeration>
<class name="SpinButton"
c:type="GtkSpinButton"
parent="Entry"
glib:type-name="GtkSpinButton"
glib:get-type="gtk_spin_button_get_type"
glib:type-struct="SpinButtonClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="CellEditable"/>
<implements name="Editable"/>
<constructor name="new" c:identifier="gtk_spin_button_new">
<return-value transfer-ownership="full">
<type name="SpinButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="climb_rate" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="digits" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_range"
c:identifier="gtk_spin_button_new_with_range"
doc="This is a convenience constructor that allows creation of a numeric
#GtkSpinButton without manually creating an adjustment. The value is
initially set to the minimum value and a page increment of 10 * @step
is the default. The precision of the spin button is equivalent to the
precision of @step.
Note that the way in which the precision is derived works best if @step
is a power of ten. If the resulting precision is not suitable for your
needs, use gtk_spin_button_set_digits() to correct it.">
<return-value transfer-ownership="full">
<type name="SpinButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="min" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</constructor>
<method name="configure"
c:identifier="gtk_spin_button_configure"
doc="Changes the properties of an existing spin button. The adjustment, climb rate,
and number of decimal places are all changed accordingly, after this function call.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="a #GtkAdjustment.">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="climb_rate" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="digits" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_adjustment"
c:identifier="gtk_spin_button_set_adjustment"
doc="Replaces the #GtkAdjustment associated with @spin_button.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_adjustment"
c:identifier="gtk_spin_button_get_adjustment"
doc="Get the adjustment associated with a #GtkSpinButton">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_digits"
c:identifier="gtk_spin_button_set_digits"
doc="Set the precision to be displayed by @spin_button. Up to 20 digit precision
is allowed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="digits" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_digits"
c:identifier="gtk_spin_button_get_digits"
doc="Fetches the precision of @spin_button. See gtk_spin_button_set_digits().">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="set_increments"
c:identifier="gtk_spin_button_set_increments"
doc="Sets the step and page increments for spin_button. This affects how
quickly the value changes when the spin button&apos;s arrows are activated.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="page" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_increments"
c:identifier="gtk_spin_button_get_increments"
doc="Gets the current step and page the increments used by @spin_button. See
gtk_spin_button_set_increments().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store step increment, or %NULL">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="page"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store page increment, or %NULL">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="set_range"
c:identifier="gtk_spin_button_set_range"
doc="Sets the minimum and maximum allowable values for @spin_button">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_range"
c:identifier="gtk_spin_button_get_range"
doc="Gets the range allowed for @spin_button. See
gtk_spin_button_set_range().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store minimum allowed value, or %NULL">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="max"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store maximum allowed value, or %NULL">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="get_value"
c:identifier="gtk_spin_button_get_value"
doc="Get the value in the @spin_button.">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="get_value_as_int"
c:identifier="gtk_spin_button_get_value_as_int"
doc="Get the value @spin_button represented as an integer.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_value"
c:identifier="gtk_spin_button_set_value"
doc="Set the value of @spin_button.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_update_policy"
c:identifier="gtk_spin_button_set_update_policy"
doc="Sets the update behavior of a spin button. This determines whether the
spin button is always updated or only when a valid value is set.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="policy" transfer-ownership="none">
<type name="SpinButtonUpdatePolicy"
c:type="GtkSpinButtonUpdatePolicy"/>
</parameter>
</parameters>
</method>
<method name="get_update_policy"
c:identifier="gtk_spin_button_get_update_policy"
doc="Gets the update behavior of a spin button. See
gtk_spin_button_set_update_policy().">
<return-value transfer-ownership="full">
<type name="SpinButtonUpdatePolicy"
c:type="GtkSpinButtonUpdatePolicy"/>
</return-value>
</method>
<method name="set_numeric"
c:identifier="gtk_spin_button_set_numeric"
doc="Sets the flag that determines if non-numeric text can be typed into
the spin button.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="numeric" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_numeric"
c:identifier="gtk_spin_button_get_numeric"
doc="Returns whether non-numeric text can be typed into the spin button.
See gtk_spin_button_set_numeric().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="spin"
c:identifier="gtk_spin_button_spin"
doc="Increment or decrement a spin button&apos;s value in a specified direction
by a specified amount.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="SpinType" c:type="GtkSpinType"/>
</parameter>
<parameter name="increment" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_wrap"
c:identifier="gtk_spin_button_set_wrap"
doc="Sets the flag that determines if a spin button value wraps around to the
opposite limit when the upper or lower limit of the range is exceeded.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wrap" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_wrap"
c:identifier="gtk_spin_button_get_wrap"
doc="Returns whether the spin button&apos;s value wraps around to the
opposite limit when the upper or lower limit of the range is
exceeded. See gtk_spin_button_set_wrap().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_snap_to_ticks"
c:identifier="gtk_spin_button_set_snap_to_ticks"
doc="Sets the policy as to whether values are corrected to the nearest step
increment when a spin button is activated after providing an invalid value.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="snap_to_ticks" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_snap_to_ticks"
c:identifier="gtk_spin_button_get_snap_to_ticks"
doc="Returns whether the values are corrected to the nearest step. See
gtk_spin_button_set_snap_to_ticks().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="update"
c:identifier="gtk_spin_button_update"
doc="Manually force an update of the spin button.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="adjustment" writable="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="climb-rate" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="digits" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="numeric" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="snap-to-ticks" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="update-policy" writable="1">
<type name="SpinButtonUpdatePolicy"
c:type="GtkSpinButtonUpdatePolicy"/>
</property>
<property name="value" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="wrap" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="entry">
<type name="Entry" c:type="GtkEntry"/>
</field>
<field name="adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="panel">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="timer">
<type name="uint32" c:type="guint32"/>
</field>
<field name="climb_rate">
<type name="double" c:type="gdouble"/>
</field>
<field name="timer_step">
<type name="double" c:type="gdouble"/>
</field>
<field name="update_policy">
<type name="SpinButtonUpdatePolicy"
c:type="GtkSpinButtonUpdatePolicy"/>
</field>
<field name="in_child" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="click_child" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="button" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="need_timer" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="timer_calls" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="digits" bits="10">
<type name="uint" c:type="guint"/>
</field>
<field name="numeric" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="wrap" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="snap_to_ticks" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="change-value">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="input">
<return-value transfer-ownership="full">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="output"
doc="The ::output signal can be used to change to formatting
of the value that is displayed in the spin buttons entry.
|[
/&amp;ast; show leading zeros &amp;ast;/
static gboolean
on_output (GtkSpinButton *spin,
gpointer data)
{
GtkAdjustment *adj;
gchar *text;
int value;
adj = gtk_spin_button_get_adjustment (spin);
value = (int)gtk_adjustment_get_value (adj);
text = g_strdup_printf (&quot;%02d&quot;, value);
gtk_entry_set_text (GTK_ENTRY (spin), text);
g_free (text);
return TRUE;
}
]|">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="value-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="wrapped"
doc="The wrapped signal is emitted right after the spinbutton wraps
from its maximum to minimum value or vice-versa."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="SpinButtonClass"
c:type="GtkSpinButtonClass"
glib:is-gtype-struct-for="SpinButton">
<field name="parent_class">
<type name="EntryClass" c:type="GtkEntryClass"/>
</field>
<field name="input">
<callback name="input" c:type="input">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="spin_button" transfer-ownership="none">
<type name="SpinButton" c:type="GtkSpinButton*"/>
</parameter>
<parameter name="new_value"
direction="out"
transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="output">
<callback name="output" c:type="output">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="spin_button" transfer-ownership="none">
<type name="SpinButton" c:type="GtkSpinButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="value_changed">
<callback name="value_changed" c:type="value_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spin_button" transfer-ownership="none">
<type name="SpinButton" c:type="GtkSpinButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="change_value">
<callback name="change_value" c:type="change_value">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spin_button" transfer-ownership="none">
<type name="SpinButton" c:type="GtkSpinButton*"/>
</parameter>
<parameter name="scroll" transfer-ownership="none">
<type name="ScrollType" c:type="GtkScrollType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="wrapped">
<callback name="wrapped" c:type="wrapped">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spin_button" transfer-ownership="none">
<type name="SpinButton" c:type="GtkSpinButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="SpinButtonUpdatePolicy"
glib:type-name="GtkSpinButtonUpdatePolicy"
glib:get-type="gtk_spin_button_update_policy_get_type"
c:type="GtkSpinButtonUpdatePolicy">
<member name="always"
value="0"
c:identifier="GTK_UPDATE_ALWAYS"
glib:nick="always"/>
<member name="if_valid"
value="1"
c:identifier="GTK_UPDATE_IF_VALID"
glib:nick="if-valid"/>
</enumeration>
<enumeration name="SpinType"
glib:type-name="GtkSpinType"
glib:get-type="gtk_spin_type_get_type"
c:type="GtkSpinType">
<member name="step_forward"
value="0"
c:identifier="GTK_SPIN_STEP_FORWARD"
glib:nick="step-forward"/>
<member name="step_backward"
value="1"
c:identifier="GTK_SPIN_STEP_BACKWARD"
glib:nick="step-backward"/>
<member name="page_forward"
value="2"
c:identifier="GTK_SPIN_PAGE_FORWARD"
glib:nick="page-forward"/>
<member name="page_backward"
value="3"
c:identifier="GTK_SPIN_PAGE_BACKWARD"
glib:nick="page-backward"/>
<member name="home"
value="4"
c:identifier="GTK_SPIN_HOME"
glib:nick="home"/>
<member name="end"
value="5"
c:identifier="GTK_SPIN_END"
glib:nick="end"/>
<member name="user_defined"
value="6"
c:identifier="GTK_SPIN_USER_DEFINED"
glib:nick="user-defined"/>
</enumeration>
<class name="Spinner"
c:type="GtkSpinner"
parent="DrawingArea"
glib:type-name="GtkSpinner"
glib:get-type="gtk_spinner_get_type"
glib:type-struct="SpinnerClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_spinner_new"
doc="Returns a new spinner widget. Not yet started."
version="2.20">
<return-value transfer-ownership="full">
<type name="Spinner" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="start"
c:identifier="gtk_spinner_start"
doc="Starts the animation of the spinner."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="stop"
c:identifier="gtk_spinner_stop"
doc="Stops the animation of the spinner."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="active" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="DrawingArea" c:type="GtkDrawingArea"/>
</field>
<field name="priv">
<type name="SpinnerPrivate" c:type="GtkSpinnerPrivate*"/>
</field>
</class>
<record name="SpinnerClass"
c:type="GtkSpinnerClass"
glib:is-gtype-struct-for="Spinner">
<field name="parent_class">
<type name="DrawingAreaClass" c:type="GtkDrawingAreaClass"/>
</field>
</record>
<record name="SpinnerPrivate" c:type="GtkSpinnerPrivate">
</record>
<enumeration name="StateType"
glib:type-name="GtkStateType"
glib:get-type="gtk_state_type_get_type"
c:type="GtkStateType">
<member name="normal"
value="0"
c:identifier="GTK_STATE_NORMAL"
glib:nick="normal"/>
<member name="active"
value="1"
c:identifier="GTK_STATE_ACTIVE"
glib:nick="active"/>
<member name="prelight"
value="2"
c:identifier="GTK_STATE_PRELIGHT"
glib:nick="prelight"/>
<member name="selected"
value="3"
c:identifier="GTK_STATE_SELECTED"
glib:nick="selected"/>
<member name="insensitive"
value="4"
c:identifier="GTK_STATE_INSENSITIVE"
glib:nick="insensitive"/>
</enumeration>
<class name="StatusIcon"
c:type="GtkStatusIcon"
parent="GObject.Object"
glib:type-name="GtkStatusIcon"
glib:get-type="gtk_status_icon_get_type"
glib:type-struct="StatusIconClass">
<constructor name="new"
c:identifier="gtk_status_icon_new"
doc="Creates an empty status icon object."
version="2.10">
<return-value transfer-ownership="full">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</return-value>
</constructor>
<constructor name="new_from_pixbuf"
c:identifier="gtk_status_icon_new_from_pixbuf"
doc="Creates a status icon displaying @pixbuf.
The image will be scaled down to fit in the available
space in the notification area, if necessary."
version="2.10">
<return-value transfer-ownership="full">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</return-value>
<parameters>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_file"
c:identifier="gtk_status_icon_new_from_file"
doc="Creates a status icon displaying the file @filename.
The image will be scaled down to fit in the available
space in the notification area, if necessary."
version="2.10">
<return-value transfer-ownership="full">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_status_icon_new_from_stock"
doc="Creates a status icon displaying a stock icon. Sample stock icon
names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. You can register your
own stock icon names, see gtk_icon_factory_add_default() and
gtk_icon_factory_add()."
version="2.10">
<return-value transfer-ownership="full">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_icon_name"
c:identifier="gtk_status_icon_new_from_icon_name"
doc="Creates a status icon displaying an icon from the current icon theme.
If the current icon theme is changed, the icon will be updated
appropriately."
version="2.10">
<return-value transfer-ownership="full">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_gicon"
c:identifier="gtk_status_icon_new_from_gicon"
doc="Creates a status icon displaying a #GIcon. If the icon is a
themed icon, it will be updated when the theme changes."
version="2.14">
<return-value transfer-ownership="full">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</return-value>
<parameters>
<parameter name="icon" transfer-ownership="none">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
</parameters>
</constructor>
<function name="position_menu"
c:identifier="gtk_status_icon_position_menu"
doc="aligned with the menu popup position (only useful for GtkOptionMenu).
Menu positioning function to use with gtk_menu_popup()
to position @menu aligned to the status icon @user_data."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu*"/>
</parameter>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="push_in"
direction="out"
transfer-ownership="full"
doc="to be">
<type name="boolean" c:type="gboolean*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<method name="set_from_pixbuf"
c:identifier="gtk_status_icon_set_from_pixbuf"
doc="Makes @status_icon display @pixbuf.
See gtk_status_icon_new_from_pixbuf() for details."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixbuf"
transfer-ownership="none"
allow-none="1"
doc="a #GdkPixbuf or %NULL">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="set_from_file"
c:identifier="gtk_status_icon_set_from_file"
doc="Makes @status_icon display the file @filename.
See gtk_status_icon_new_from_file() for details."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_from_stock"
c:identifier="gtk_status_icon_set_from_stock"
doc="Makes @status_icon display the stock icon with the id @stock_id.
See gtk_status_icon_new_from_stock() for details."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_from_icon_name"
c:identifier="gtk_status_icon_set_from_icon_name"
doc="Makes @status_icon display the icon named @icon_name from the
current icon theme.
See gtk_status_icon_new_from_icon_name() for details."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_from_gicon"
c:identifier="gtk_status_icon_set_from_gicon"
doc="Makes @status_icon display the #GIcon.
See gtk_status_icon_new_from_gicon() for details."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon" transfer-ownership="none">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
</parameters>
</method>
<method name="get_storage_type"
c:identifier="gtk_status_icon_get_storage_type"
doc="Gets the type of representation being used by the #GtkStatusIcon
to store image data. If the #GtkStatusIcon has no image data,
the return value will be %GTK_IMAGE_EMPTY."
version="2.10">
<return-value transfer-ownership="full">
<type name="ImageType" c:type="GtkImageType"/>
</return-value>
</method>
<method name="get_pixbuf"
c:identifier="gtk_status_icon_get_pixbuf"
doc="Gets the #GdkPixbuf being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_PIXBUF (see gtk_status_icon_get_storage_type()).
The caller of this function does not own a reference to the
returned pixbuf."
version="2.10">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="get_stock"
c:identifier="gtk_status_icon_get_stock"
doc="Gets the id of the stock icon being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_STOCK (see gtk_status_icon_get_storage_type()).
The returned string is owned by the #GtkStatusIcon and should not
be freed or modified.
or %NULL if the image is empty."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_icon_name"
c:identifier="gtk_status_icon_get_icon_name"
doc="Gets the name of the icon being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_ICON_NAME (see gtk_status_icon_get_storage_type()).
The returned string is owned by the #GtkStatusIcon and should not
be freed or modified."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_gicon"
c:identifier="gtk_status_icon_get_gicon"
doc="Retrieves the #GIcon being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_GICON (see gtk_status_icon_get_storage_type()).
The caller of this function does not own a reference to the
returned #GIcon.
If this function fails, @icon is left unchanged;"
version="2.14">
<return-value transfer-ownership="full">
<type name="Gio.Icon" c:type="GIcon*"/>
</return-value>
</method>
<method name="get_size"
c:identifier="gtk_status_icon_get_size"
doc="Gets the size in pixels that is available for the image.
Stock icons and named icons adapt their size automatically
if the size of the notification area changes. For other
storage types, the size-changed signal can be used to
react to size changes.
Note that the returned size is only meaningful while the
status icon is embedded (see gtk_status_icon_is_embedded())."
version="2.10">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_screen"
c:identifier="gtk_status_icon_set_screen"
doc="Sets the #GdkScreen where @status_icon is displayed; if
the icon is already mapped, it will be unmapped, and
then remapped on the new screen."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</method>
<method name="get_screen" c:identifier="gtk_status_icon_get_screen">
<return-value transfer-ownership="full">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</return-value>
</method>
<method name="set_tooltip"
c:identifier="gtk_status_icon_set_tooltip"
doc="Sets the tooltip of the status icon."
version="2.10"
deprecated="Use gtk_status_icon_set_tooltip_text() instead."
deprecated-version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltip_text"
transfer-ownership="none"
allow-none="1"
doc="the tooltip text, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_has_tooltip"
c:identifier="gtk_status_icon_set_has_tooltip"
doc="Sets the has-tooltip property on @status_icon to @has_tooltip.
See #GtkStatusIcon:has-tooltip for more information."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="has_tooltip" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_text"
c:identifier="gtk_status_icon_set_tooltip_text"
doc="Sets @text as the contents of the tooltip.
This function will take care of setting #GtkStatusIcon:has-tooltip to
%TRUE and of the default handler for the #GtkStatusIcon::query-tooltip
signal.
See also the #GtkStatusIcon:tooltip-text property and
gtk_tooltip_set_text()."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_markup"
c:identifier="gtk_status_icon_set_tooltip_markup"
doc="Sets @markup as the contents of the tooltip, which is marked up with
the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
This function will take care of setting #GtkStatusIcon:has-tooltip to %TRUE
and of the default handler for the #GtkStatusIcon::query-tooltip signal.
See also the #GtkStatusIcon:tooltip-markup property and
gtk_tooltip_set_markup()."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="markup"
transfer-ownership="none"
allow-none="1"
doc="the contents of the tooltip for @status_icon, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_title"
c:identifier="gtk_status_icon_set_title"
doc="Sets the title of this tray icon.
This should be a short, human-readable, localized string
describing the tray icon. It may be used by tools like screen
readers to render the tray icon."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_title"
c:identifier="gtk_status_icon_get_title"
doc="Gets the title of this tray icon. See gtk_status_icon_set_title()."
version="2.18">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_name"
c:identifier="gtk_status_icon_set_name"
doc="Sets the name of this tray icon.
This should be a string identifying this icon. It is may be
used for sorting the icons in the tray and will not be shown to
the user."
version="2.20">
<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="set_visible"
c:identifier="gtk_status_icon_set_visible"
doc="Shows or hides a status icon."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible"
c:identifier="gtk_status_icon_get_visible"
doc="Returns whether the status icon is visible or not.
Note that being visible does not guarantee that
the user can actually see the icon, see also
gtk_status_icon_is_embedded()."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_blinking"
c:identifier="gtk_status_icon_set_blinking"
doc="Makes the status icon start or stop blinking.
Note that blinking user interface elements may be problematic
for some users, and thus may be turned off, in which case
this setting has no effect."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="blinking" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_blinking"
c:identifier="gtk_status_icon_get_blinking"
doc="Returns whether the icon is blinking, see
gtk_status_icon_set_blinking()."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_embedded"
c:identifier="gtk_status_icon_is_embedded"
doc="Returns whether the status icon is embedded in a notification
area.
a notification area."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_geometry"
c:identifier="gtk_status_icon_get_geometry"
doc="information is not needed
icon, or %NULL
in which the status icon is embedded, or %NULL. A panel
at the top or bottom of the screen is horizontal, a panel
at the left or right is vertical.
Obtains information about the location of the status icon
on screen. This information can be used to e.g. position
popups like notification bubbles.
See gtk_status_icon_position_menu() for a more convenient
alternative for positioning menus.
Note that some platforms do not allow GTK+ to provide
this information, and even on platforms that do allow it,
the information is not reliable unless the status icon
is embedded in a notification area, see
gtk_status_icon_is_embedded().
been filled in"
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="screen"
direction="out"
transfer-ownership="none"
allow-none="1"
doc="return location for the screen, or %NULL if the">
<type name="Gdk.Screen" c:type="GdkScreen**"/>
</parameter>
<parameter name="area"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the area occupied by the status">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="orientation"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the orientation of the panel">
<type name="Orientation" c:type="GtkOrientation*"/>
</parameter>
</parameters>
</method>
<method name="get_has_tooltip"
c:identifier="gtk_status_icon_get_has_tooltip"
doc="Returns the current value of the has-tooltip property.
See #GtkStatusIcon:has-tooltip for more information."
version="2.16">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_tooltip_text"
c:identifier="gtk_status_icon_get_tooltip_text"
doc="Gets the contents of the tooltip for @status_icon.
returned string with g_free() when done."
version="2.16">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_tooltip_markup"
c:identifier="gtk_status_icon_get_tooltip_markup"
doc="Gets the contents of the tooltip for @status_icon.
returned string with g_free() when done."
version="2.16">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_x11_window_id"
c:identifier="gtk_status_icon_get_x11_window_id"
doc="This function is only useful on the X11/freedesktop.org platform.
It returns a window ID for the widget in the underlying
status icon implementation. This is useful for the Galago
notification service, which can send a window ID in the protocol
in order for the server to position notification windows
pointing to a status icon reliably.
This function is not intended for other use cases which are
more likely to be met by one of the non-X11 specific methods, such
as gtk_status_icon_position_menu().
underlying X11 Window"
version="2.14">
<return-value transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</return-value>
</method>
<property name="blinking" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="embedded"
version="2.12"
doc="%TRUE if the statusicon is embedded in a notification area.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="file" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="gicon"
version="2.14"
writable="1"
doc="The #GIcon displayed in the #GtkStatusIcon. For themed icons,
the image will be updated automatically if the theme changes.">
<type name="Gio.Icon" c:type="GIcon"/>
</property>
<property name="has-tooltip"
version="2.16"
writable="1"
doc="Enables or disables the emission of #GtkStatusIcon::query-tooltip on
tooltip, in this case the status icon will be queried using
#GtkStatusIcon::query-tooltip to determine whether it will provide a
tooltip or not.
Note that setting this property to %TRUE for the first time will change
the event masks of the windows of this status icon to include leave-notify
and motion-notify events. This will not be undone when the property is set
to %FALSE again.
Whether this property is respected is platform dependent.
For plain text tooltips, use #GtkStatusIcon:tooltip-text in preference.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="icon-name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="orientation"
version="2.12"
doc="The orientation of the tray in which the statusicon
is embedded.">
<type name="Orientation" c:type="GtkOrientation"/>
</property>
<property name="pixbuf" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="screen" writable="1">
<type name="Gdk.Screen" c:type="GdkScreen"/>
</property>
<property name="size">
<type name="int" c:type="gint"/>
</property>
<property name="stock" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="storage-type">
<type name="ImageType" c:type="GtkImageType"/>
</property>
<property name="title"
version="2.18"
writable="1"
doc="The title of this tray icon. This should be a short, human-readable,
localized string describing the tray icon. It may be used by tools
like screen readers to render the tray icon.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="tooltip-markup"
version="2.16"
writable="1"
doc="Sets the text of tooltip to be the given string, which is marked up
with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;. Also see gtk_tooltip_set_markup().
This is a convenience property which will take care of getting the
tooltip shown if the given string is not %NULL.
#GtkStatusIcon:has-tooltip will automatically be set to %TRUE and
the default handler for the #GtkStatusIcon::query-tooltip signal
will take care of displaying the tooltip.
On some platforms, embedded markup will be ignored.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="tooltip-text"
version="2.16"
writable="1"
doc="Sets the text of tooltip to be the given string.
Also see gtk_tooltip_set_text().
This is a convenience property which will take care of getting the
tooltip shown if the given string is not %NULL.
#GtkStatusIcon:has-tooltip will automatically be set to %TRUE and
the default handler for the #GtkStatusIcon::query-tooltip signal
will take care of displaying the tooltip.
Note that some platforms have limitations on the length of tooltips
that they allow on status icons, e.g. Windows only shows the first
64 characters.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="StatusIconPrivate" c:type="GtkStatusIconPrivate*"/>
</field>
<glib:signal name="activate"
doc="Gets emitted when the user activates the status icon.
If and how status icons can activated is platform-dependent.
Unlike most G_SIGNAL_ACTION signals, this signal is meant to
be used by applications and should be wrapped by language bindings."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="button-press-event"
doc="The ::button-press-event signal will be emitted when a button
(typically from a mouse) is pressed.
Whether this event is emitted is platform-dependent. Use the ::activate
and ::popup-menu signals in preference.
for the event. %FALSE to propagate the event further."
version="2.14">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="button-release-event"
doc="The ::button-release-event signal will be emitted when a button
(typically from a mouse) is released.
Whether this event is emitted is platform-dependent. Use the ::activate
and ::popup-menu signals in preference.
for the event. %FALSE to propagate the event further."
version="2.14">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="popup-menu"
doc="signal is not emitted in response to a button press event
triggered the signal emission
Gets emitted when the user brings up the context menu
of the status icon. Whether status icons can have context
menus and how these are activated is platform-dependent.
The @button and @activate_time parameters should be
passed as the last to arguments to gtk_menu_popup().
Unlike most G_SIGNAL_ACTION signals, this signal is meant to
be used by applications and should be wrapped by language bindings."
version="2.10">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="activate_time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="query-tooltip"
doc="emitted, relative to @status_icon
emitted, relative to @status_icon
Emitted when the #GtkSettings:gtk-tooltip-timeout has expired with the
cursor hovering above @status_icon; or emitted when @status_icon got
focus in keyboard mode.
Using the given coordinates, the signal handler should determine
whether a tooltip should be shown for @status_icon. If this is
the case %TRUE should be returned, %FALSE otherwise. Note that if
should not be used.
The signal handler is free to manipulate @tooltip with the therefore
destined function calls.
Whether this signal is emitted is platform-dependent.
For plain text tooltips, use #GtkStatusIcon:tooltip-text in preference."
version="2.16">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="keyboard_mode" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="scroll-event"
doc="The ::scroll-event signal is emitted when a button in the 4 to 7
range is pressed. Wheel mice are usually configured to generate
button press events for buttons 4 and 5 when the wheel is turned.
Whether this event is emitted is platform-dependent.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="size-changed"
doc="Gets emitted when the size available for the image
changes, e.g. because the notification area got resized.
size. Otherwise, GTK+ will scale the icon as necessary."
version="2.10">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="StatusIconClass"
c:type="GtkStatusIconClass"
glib:is-gtype-struct-for="StatusIcon">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="activate">
<callback name="activate" c:type="activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="status_icon" transfer-ownership="none">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="popup_menu">
<callback name="popup_menu" c:type="popup_menu">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="status_icon" transfer-ownership="none">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="activate_time" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</callback>
</field>
<field name="size_changed">
<callback name="size_changed" c:type="size_changed">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="status_icon" transfer-ownership="none">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="button_press_event">
<callback name="button_press_event" c:type="button_press_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="status_icon" transfer-ownership="none">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventButton" c:type="GdkEventButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="button_release_event">
<callback name="button_release_event" c:type="button_release_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="status_icon" transfer-ownership="none">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventButton" c:type="GdkEventButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="scroll_event">
<callback name="scroll_event" c:type="scroll_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="status_icon" transfer-ownership="none">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventScroll" c:type="GdkEventScroll*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="query_tooltip">
<callback name="query_tooltip" c:type="query_tooltip">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="status_icon" transfer-ownership="none">
<type name="StatusIcon" c:type="GtkStatusIcon*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="keyboard_mode" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="__gtk_reserved1">
<type name="any" c:type="void*"/>
</field>
<field name="__gtk_reserved2">
<type name="any" c:type="void*"/>
</field>
</record>
<record name="StatusIconPrivate" c:type="GtkStatusIconPrivate">
</record>
<class name="Statusbar"
c:type="GtkStatusbar"
parent="HBox"
glib:type-name="GtkStatusbar"
glib:get-type="gtk_statusbar_get_type"
glib:type-struct="StatusbarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_statusbar_new"
doc="Creates a new #GtkStatusbar ready for messages.">
<return-value transfer-ownership="full">
<type name="Statusbar" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_context_id"
c:identifier="gtk_statusbar_get_context_id"
doc="the new message is being used in
Returns a new context identifier, given a description
of the actual context. Note that the description is
&lt;emphasis&gt;not&lt;/emphasis&gt; shown in the UI.">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="context_description" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="push"
c:identifier="gtk_statusbar_push"
doc="gtk_statusbar_get_context_id()
Pushes a new message onto a statusbar&apos;s stack.
gtk_statusbar_remove().">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="context_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="pop"
c:identifier="gtk_statusbar_pop"
doc="Removes the first message in the #GtkStatusBar&apos;s stack
with the given context id.
Note that this may not change the displayed message, if
the message at the top of the stack has a different
context id.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="remove"
c:identifier="gtk_statusbar_remove"
doc="Forces the removal of a message from a statusbar&apos;s stack.
The exact @context_id and @message_id must be specified.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="message_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_has_resize_grip"
c:identifier="gtk_statusbar_set_has_resize_grip"
doc="Sets whether the statusbar has a resize grip.
%TRUE by default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_resize_grip"
c:identifier="gtk_statusbar_get_has_resize_grip"
doc="Returns whether the statusbar has a resize grip.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_message_area"
c:identifier="gtk_statusbar_get_message_area"
doc="Retrieves the box containing the label widget."
version="2.20">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<property name="has-resize-grip"
version="2.4"
writable="1"
doc="Whether the statusbar has a grip for resizing the toplevel window.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_widget">
<type name="HBox" c:type="GtkHBox"/>
</field>
<field name="frame">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="label">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="messages">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="keys">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="seq_context_id">
<type name="uint" c:type="guint"/>
</field>
<field name="seq_message_id">
<type name="uint" c:type="guint"/>
</field>
<field name="grip_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="has_resize_grip" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="text-popped"
doc="Is emitted whenever a new message is popped off a statusbar&apos;s stack.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="text-pushed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="StatusbarClass"
c:type="GtkStatusbarClass"
glib:is-gtype-struct-for="Statusbar">
<field name="parent_class">
<type name="HBoxClass" c:type="GtkHBoxClass"/>
</field>
<field name="reserved">
<type name="any" c:type="gpointer"/>
</field>
<field name="text_pushed">
<callback name="text_pushed" c:type="text_pushed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="statusbar" transfer-ownership="none">
<type name="Statusbar" c:type="GtkStatusbar*"/>
</parameter>
<parameter name="context_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="text_popped">
<callback name="text_popped" c:type="text_popped">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="statusbar" transfer-ownership="none">
<type name="Statusbar" c:type="GtkStatusbar*"/>
</parameter>
<parameter name="context_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="StockItem" c:type="GtkStockItem">
<field name="stock_id" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="label" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="modifier" writable="1">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</field>
<field name="keyval" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="translation_domain" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<method name="copy"
c:identifier="gtk_stock_item_copy"
doc="Copies a stock item, mostly useful for language bindings and not in applications.">
<return-value transfer-ownership="full">
<type name="StockItem" c:type="GtkStockItem*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_stock_item_free"
doc="Frees a stock item allocated on the heap, such as one returned by
gtk_stock_item_copy(). Also frees the fields inside the stock item,
if they are not %NULL.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<class name="Style"
c:type="GtkStyle"
parent="GObject.Object"
glib:type-name="GtkStyle"
glib:get-type="gtk_style_get_type"
glib:type-struct="StyleClass">
<constructor name="new"
c:identifier="gtk_style_new"
doc="Creates a new #GtkStyle.">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
</constructor>
<virtual-method name="copy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="src" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="clone">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
</virtual-method>
<virtual-method name="init_from_rc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_background" invoker="set_background">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="render_icon" invoker="render_icon">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="source" transfer-ownership="none">
<type name="IconSource" c:type="GtkIconSource*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="IconSize" c:type="GtkIconSize"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_hline">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x1" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x2" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_vline">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="y1_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y2_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_shadow">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_polygon">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="point" transfer-ownership="none">
<type name="Gdk.Point" c:type="GdkPoint*"/>
</parameter>
<parameter name="npoints" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_arrow">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="arrow_type" transfer-ownership="none">
<type name="ArrowType" c:type="GtkArrowType"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_diamond">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_box">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_flat_box">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_check">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_option">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_tab">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_shadow_gap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_box_gap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_extension">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_slider">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_handle">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_expander">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="expander_style" transfer-ownership="none">
<type name="ExpanderStyle" c:type="GtkExpanderStyle"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_layout">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="use_text" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="layout" transfer-ownership="none">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_resize_grip">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
<type name="Gdk.WindowEdge" c:type="GdkWindowEdge"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="draw_spinner">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="copy"
c:identifier="gtk_style_copy"
doc="Creates a copy of the passed in #GtkStyle object.">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
</method>
<method name="attach"
c:identifier="gtk_style_attach"
doc="Attaches a style to a window; this process allocates the
colors and creates the GC&apos;s for the style - it specializes
it to a particular visual and colormap. The process may
involve the creation of a new style if the style has already
been attached to a window with a different style and colormap.
Since this function may return a new object, you have to use it
in the following way:
&lt;literal&gt;style = gtk_style_attach (style, window)&lt;/literal&gt;
If the style is newly created, the style parameter
will be unref&apos;ed, and the new style will have
a reference count belonging to the caller.">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
</parameters>
</method>
<method name="detach"
c:identifier="gtk_style_detach"
doc="Detaches a style from a window. If the style is not attached
to any windows anymore, it is unrealized. See gtk_style_attach().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ref"
c:identifier="gtk_style_ref"
doc="Increase the reference count of @style."
deprecated="use g_object_ref() instead."
deprecated-version="2.0">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
</method>
<method name="unref"
c:identifier="gtk_style_unref"
doc="Decrease the reference count of @style."
deprecated="use g_object_unref() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_font"
c:identifier="gtk_style_get_font"
doc="Gets the #GdkFont to use for the given style. This is
meant only as a replacement for direct access to @style-&gt;font
and should not be used in new code. New code should
use @style-&gt;font_desc instead.
by the style; if you want to keep around a copy, you must
call gdk_font_ref().">
<return-value transfer-ownership="full">
<type name="Gdk.Font" c:type="GdkFont*"/>
</return-value>
</method>
<method name="set_font"
c:identifier="gtk_style_set_font"
doc="to style-&gt;font_desc.
Sets the #GdkFont to use for a given style. This is
meant only as a replacement for direct access to style-&gt;font
and should not be used in new code. New code should
use style-&gt;font_desc instead.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="font"
transfer-ownership="none"
allow-none="1"
doc="a #GdkFont, or %NULL to use the #GdkFont corresponding">
<type name="Gdk.Font" c:type="GdkFont*"/>
</parameter>
</parameters>
</method>
<method name="set_background"
c:identifier="gtk_style_set_background"
doc="Sets the background of @window to the background color or pixmap
specified by @style for the given state.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
</parameters>
</method>
<method name="apply_default_background"
c:identifier="gtk_style_apply_default_background">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="set_bg" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none" allow-none="1">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="lookup_icon_set"
c:identifier="gtk_style_lookup_icon_set"
doc="Looks up @stock_id in the icon factories associated with @style
and the default icon factory, returning an icon set if found,
otherwise %NULL.">
<return-value transfer-ownership="full">
<type name="IconSet" c:type="GtkIconSet*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="lookup_color"
c:identifier="gtk_style_lookup_color"
doc="Looks up @color_name in the style&apos;s logical color mappings,
filling in @color and returning %TRUE if found, otherwise
returning %FALSE. Do not cache the found mapping, because
it depends on the #GtkStyle and might change when a theme
switch occurs."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="color_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="render_icon"
c:identifier="gtk_style_render_icon"
doc="(GtkIconSize)-1 means render at the size of the source and
don&apos;t scale.
Renders the icon specified by @source at the given @size
according to the given parameters and returns the result in a
pixbuf.">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="source" transfer-ownership="none">
<type name="IconSource" c:type="GtkIconSource*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="the size to render the icon at. A size of">
<type name="int" c:type="GtkIconSize"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_style_property"
c:identifier="gtk_style_get_style_property"
doc="queried will be stored
Queries the value of a style property corresponding to a
widget class is in the given style."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="get"
c:identifier="gtk_style_get"
doc="return the property values, starting with the location for
Gets the values of a multiple style properties for @widget_type
from @style."
version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="fg">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="bg">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="light">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="dark">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="mid">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="text">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="base">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="text_aa">
<array zero-terminated="0" c:type="GdkColor" fixed-size="5">
<type name="Gdk.Color"/>
</array>
</field>
<field name="black">
<type name="Gdk.Color" c:type="GdkColor"/>
</field>
<field name="white">
<type name="Gdk.Color" c:type="GdkColor"/>
</field>
<field name="font_desc">
<type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
</field>
<field name="xthickness">
<type name="int" c:type="gint"/>
</field>
<field name="ythickness">
<type name="int" c:type="gint"/>
</field>
<field name="fg_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="bg_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="light_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="dark_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="mid_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="text_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="base_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="text_aa_gc">
<array zero-terminated="0" c:type="GdkGC*" fixed-size="5">
<type name="Gdk.GC"/>
</array>
</field>
<field name="black_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="white_gc">
<type name="Gdk.GC" c:type="GdkGC*"/>
</field>
<field name="bg_pixmap">
<array zero-terminated="0" c:type="GdkPixmap*" fixed-size="5">
<type name="Gdk.Pixmap"/>
</array>
</field>
<field name="attach_count">
<type name="int" c:type="gint"/>
</field>
<field name="depth">
<type name="int" c:type="gint"/>
</field>
<field name="colormap">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</field>
<field name="private_font">
<type name="Gdk.Font" c:type="GdkFont*"/>
</field>
<field name="private_font_desc">
<type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
</field>
<field name="rc_style">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</field>
<field name="styles">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="property_cache">
<type name="GLib.Array" c:type="GArray*"/>
</field>
<field name="icon_factories">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<glib:signal name="realize"
doc="Emitted when the style has been initialized for a particular
colormap and depth. Connecting to this signal is probably seldom
useful since most of the time applications and widgets only
deal with styles that have been already realized."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="unrealize"
doc="Emitted when the aspects of the style specific to a particular colormap
and depth are being cleaned up. A connection to this signal can be useful
if a widget wants to cache objects like a #GdkGC as object data on #GtkStyle.
This signal provides a convenient place to free such cached objects."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="StyleClass"
c:type="GtkStyleClass"
glib:is-gtype-struct-for="Style">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="realize">
<callback name="realize" c:type="realize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unrealize">
<callback name="unrealize" c:type="unrealize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="copy">
<callback name="copy" c:type="copy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="src" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clone">
<callback name="clone" c:type="clone">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="init_from_rc">
<callback name="init_from_rc" c:type="init_from_rc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_background">
<callback name="set_background" c:type="set_background">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="render_icon">
<callback name="render_icon" c:type="render_icon">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="source" transfer-ownership="none">
<type name="IconSource" c:type="GtkIconSource*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="IconSize" c:type="GtkIconSize"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_hline">
<callback name="draw_hline" c:type="draw_hline">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x1" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x2" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_vline">
<callback name="draw_vline" c:type="draw_vline">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="y1_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y2_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_shadow">
<callback name="draw_shadow" c:type="draw_shadow">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_polygon">
<callback name="draw_polygon" c:type="draw_polygon">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="point" transfer-ownership="none">
<type name="Gdk.Point" c:type="GdkPoint*"/>
</parameter>
<parameter name="npoints" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_arrow">
<callback name="draw_arrow" c:type="draw_arrow">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="arrow_type" transfer-ownership="none">
<type name="ArrowType" c:type="GtkArrowType"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_diamond">
<callback name="draw_diamond" c:type="draw_diamond">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_string">
<callback name="draw_string" c:type="draw_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_box">
<callback name="draw_box" c:type="draw_box">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_flat_box">
<callback name="draw_flat_box" c:type="draw_flat_box">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_check">
<callback name="draw_check" c:type="draw_check">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_option">
<callback name="draw_option" c:type="draw_option">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_tab">
<callback name="draw_tab" c:type="draw_tab">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_shadow_gap">
<callback name="draw_shadow_gap" c:type="draw_shadow_gap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_box_gap">
<callback name="draw_box_gap" c:type="draw_box_gap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_extension">
<callback name="draw_extension" c:type="draw_extension">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_focus">
<callback name="draw_focus" c:type="draw_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_slider">
<callback name="draw_slider" c:type="draw_slider">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_handle">
<callback name="draw_handle" c:type="draw_handle">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_expander">
<callback name="draw_expander" c:type="draw_expander">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="expander_style" transfer-ownership="none">
<type name="ExpanderStyle" c:type="GtkExpanderStyle"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_layout">
<callback name="draw_layout" c:type="draw_layout">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="use_text" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="layout" transfer-ownership="none">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_resize_grip">
<callback name="draw_resize_grip" c:type="draw_resize_grip">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
<type name="Gdk.WindowEdge" c:type="GdkWindowEdge"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="draw_spinner">
<callback name="draw_spinner" c:type="draw_spinner">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved7">
<callback name="gtk_reserved7" c:type="_gtk_reserved7">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved8">
<callback name="gtk_reserved8" c:type="_gtk_reserved8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved9">
<callback name="gtk_reserved9" c:type="_gtk_reserved9">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved10">
<callback name="gtk_reserved10" c:type="_gtk_reserved10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved11">
<callback name="gtk_reserved11" c:type="_gtk_reserved11">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<enumeration name="SubmenuDirection"
glib:type-name="GtkSubmenuDirection"
glib:get-type="gtk_submenu_direction_get_type"
c:type="GtkSubmenuDirection">
<member name="left"
value="0"
c:identifier="GTK_DIRECTION_LEFT"
glib:nick="left"/>
<member name="right"
value="1"
c:identifier="GTK_DIRECTION_RIGHT"
glib:nick="right"/>
</enumeration>
<enumeration name="SubmenuPlacement"
glib:type-name="GtkSubmenuPlacement"
glib:get-type="gtk_submenu_placement_get_type"
c:type="GtkSubmenuPlacement">
<member name="top_bottom"
value="0"
c:identifier="GTK_TOP_BOTTOM"
glib:nick="top-bottom"/>
<member name="left_right"
value="1"
c:identifier="GTK_LEFT_RIGHT"
glib:nick="left-right"/>
</enumeration>
<constant name="TEXT_VIEW_PRIORITY_VALIDATE" value="5">
<type name="int"/>
</constant>
<constant name="TYPE_FUNDAMENTAL_LAST" value="-1">
<type name="int"/>
</constant>
<class name="Table"
c:type="GtkTable"
parent="Container"
glib:type-name="GtkTable"
glib:get-type="gtk_table_get_type"
glib:type-struct="TableClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_table_new">
<return-value transfer-ownership="full">
<type name="Table" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="rows" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="columns" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="homogeneous" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</constructor>
<method name="resize" c:identifier="gtk_table_resize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="rows" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="columns" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="attach" c:identifier="gtk_table_attach">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="left_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="right_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="top_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="bottom_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="xoptions" transfer-ownership="none">
<type name="AttachOptions" c:type="GtkAttachOptions"/>
</parameter>
<parameter name="yoptions" transfer-ownership="none">
<type name="AttachOptions" c:type="GtkAttachOptions"/>
</parameter>
<parameter name="xpadding" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="ypadding" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="attach_defaults" c:identifier="gtk_table_attach_defaults">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="left_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="right_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="top_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="bottom_attach" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_row_spacing" c:identifier="gtk_table_set_row_spacing">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_row_spacing"
c:identifier="gtk_table_get_row_spacing"
doc="Gets the amount of space between row @row, and
row @row + 1. See gtk_table_set_row_spacing().">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="row" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_col_spacing" c:identifier="gtk_table_set_col_spacing">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_col_spacing"
c:identifier="gtk_table_get_col_spacing"
doc="Gets the amount of space between column @col, and
column @col + 1. See gtk_table_set_col_spacing().">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_row_spacings"
c:identifier="gtk_table_set_row_spacings">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_default_row_spacing"
c:identifier="gtk_table_get_default_row_spacing"
doc="Gets the default row spacing for the table. This is
the spacing that will be used for newly added rows.
(See gtk_table_set_row_spacings())">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="set_col_spacings"
c:identifier="gtk_table_set_col_spacings">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_default_col_spacing"
c:identifier="gtk_table_get_default_col_spacing"
doc="Gets the default column spacing for the table. This is
the spacing that will be used for newly added columns.
(See gtk_table_set_col_spacings())">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="set_homogeneous" c:identifier="gtk_table_set_homogeneous">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="homogeneous" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_homogeneous"
c:identifier="gtk_table_get_homogeneous"
doc="Returns whether the table cells are all constrained to the same
width and height. (See gtk_table_set_homogenous ())">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="column-spacing" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="homogeneous" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="n-columns" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="n-rows" writable="1">
<type name="uint" c:type="guint"/>
</property>
<property name="row-spacing" writable="1">
<type name="uint" c:type="guint"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="rows">
<type name="TableRowCol" c:type="GtkTableRowCol*"/>
</field>
<field name="cols">
<type name="TableRowCol" c:type="GtkTableRowCol*"/>
</field>
<field name="nrows">
<type name="uint16" c:type="guint16"/>
</field>
<field name="ncols">
<type name="uint16" c:type="guint16"/>
</field>
<field name="column_spacing">
<type name="uint16" c:type="guint16"/>
</field>
<field name="row_spacing">
<type name="uint16" c:type="guint16"/>
</field>
<field name="homogeneous" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="TableChild" c:type="GtkTableChild">
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="left_attach" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="right_attach" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="top_attach" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="bottom_attach" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="xpadding" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="ypadding" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="xexpand" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="yexpand" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="xshrink" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="yshrink" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="xfill" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="yfill" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="TableClass"
c:type="GtkTableClass"
glib:is-gtype-struct-for="Table">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
</record>
<record name="TableRowCol" c:type="GtkTableRowCol">
<field name="requisition" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="allocation" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="spacing" writable="1">
<type name="uint16" c:type="guint16"/>
</field>
<field name="need_expand" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="need_shrink" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="expand" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="shrink" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="empty" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="TargetEntry" c:type="GtkTargetEntry">
<field name="target" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="flags" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="info" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<bitfield name="TargetFlags"
glib:type-name="GtkTargetFlags"
glib:get-type="gtk_target_flags_get_type"
c:type="GtkTargetFlags">
<member name="same_app"
value="1"
c:identifier="GTK_TARGET_SAME_APP"
glib:nick="same-app"/>
<member name="same_widget"
value="2"
c:identifier="GTK_TARGET_SAME_WIDGET"
glib:nick="same-widget"/>
<member name="other_app"
value="4"
c:identifier="GTK_TARGET_OTHER_APP"
glib:nick="other-app"/>
<member name="other_widget"
value="8"
c:identifier="GTK_TARGET_OTHER_WIDGET"
glib:nick="other-widget"/>
</bitfield>
<record name="TargetList"
c:type="GtkTargetList"
glib:type-name="GtkTargetList"
glib:get-type="gtk_target_list_get_type">
<field name="list" writable="1">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="ref_count" writable="1">
<type name="uint" c:type="guint"/>
</field>
<constructor name="new"
c:identifier="gtk_target_list_new"
doc="Creates a new #GtkTargetList from an array of #GtkTargetEntry.">
<return-value transfer-ownership="full">
<type name="TargetList" c:type="GtkTargetList*"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="ntargets" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</constructor>
<method name="ref"
c:identifier="gtk_target_list_ref"
doc="Increases the reference count of a #GtkTargetList by one.">
<return-value transfer-ownership="full">
<type name="TargetList" c:type="GtkTargetList*"/>
</return-value>
</method>
<method name="unref"
c:identifier="gtk_target_list_unref"
doc="Decreases the reference count of a #GtkTargetList by one.
If the resulting reference count is zero, frees the list.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="add"
c:identifier="gtk_target_list_add"
doc="Appends another target to a #GtkTargetList.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="add_text_targets"
c:identifier="gtk_target_list_add_text_targets"
doc="Appends the text targets supported by #GtkSelection to
the target list. All targets are added with the same @info."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="add_rich_text_targets"
c:identifier="gtk_target_list_add_rich_text_targets"
doc="will be added, serializable formats otherwise.
Appends the rich text targets registered with
gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_deserialize_format() to the target list. All
targets are added with the same @info."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="deserializable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</method>
<method name="add_image_targets"
c:identifier="gtk_target_list_add_image_targets"
doc="how to convert a pixbuf into the format
Appends the image targets supported by #GtkSelection to
the target list. All targets are added with the same @info."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="writable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="add_uri_targets"
c:identifier="gtk_target_list_add_uri_targets"
doc="Appends the URI targets supported by #GtkSelection to
the target list. All targets are added with the same @info."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="add_table"
c:identifier="gtk_target_list_add_table"
doc="Prepends a table of #GtkTargetEntry to a target list.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="ntargets" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="remove"
c:identifier="gtk_target_list_remove"
doc="Removes a target from a target list.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</method>
<method name="find"
c:identifier="gtk_target_list_find"
doc="or %NULL
Looks up a given target in a #GtkTargetList.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="info" direction="out" transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
</record>
<record name="TargetPair" c:type="GtkTargetPair">
<field name="target" writable="1">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</field>
<field name="flags" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="info" writable="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<class name="TearoffMenuItem"
c:type="GtkTearoffMenuItem"
parent="MenuItem"
glib:type-name="GtkTearoffMenuItem"
glib:get-type="gtk_tearoff_menu_item_get_type"
glib:type-struct="TearoffMenuItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_tearoff_menu_item_new">
<return-value transfer-ownership="full">
<type name="TearoffMenuItem" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="menu_item">
<type name="MenuItem" c:type="GtkMenuItem"/>
</field>
<field name="torn_off" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="TearoffMenuItemClass"
c:type="GtkTearoffMenuItemClass"
glib:is-gtype-struct-for="TearoffMenuItem">
<field name="parent_class">
<type name="MenuItemClass" c:type="GtkMenuItemClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="TextAppearance" c:type="GtkTextAppearance">
<field name="bg_color" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</field>
<field name="fg_color" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</field>
<field name="bg_stipple" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
<field name="fg_stipple" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
<field name="rise" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="padding1" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="underline" writable="1" bits="4">
<type name="uint" c:type="guint"/>
</field>
<field name="strikethrough" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="draw_bg" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="inside_selection" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_text" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad1" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad2" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad3" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad4" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="TextAttrAppearance" c:type="GtkTextAttrAppearance">
<field name="attr" writable="1">
<type name="Pango.Attribute" c:type="PangoAttribute"/>
</field>
<field name="appearance" writable="1">
<type name="TextAppearance" c:type="GtkTextAppearance"/>
</field>
</record>
<record name="TextAttributes"
c:type="GtkTextAttributes"
glib:type-name="GtkTextAttributes"
glib:get-type="gtk_text_attributes_get_type">
<field name="refcount" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="appearance" writable="1">
<type name="TextAppearance" c:type="GtkTextAppearance"/>
</field>
<field name="justification" writable="1">
<type name="Justification" c:type="GtkJustification"/>
</field>
<field name="direction" writable="1">
<type name="TextDirection" c:type="GtkTextDirection"/>
</field>
<field name="font" writable="1">
<type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
</field>
<field name="font_scale" writable="1">
<type name="double" c:type="gdouble"/>
</field>
<field name="left_margin" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="indent" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="right_margin" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="pixels_above_lines" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="pixels_below_lines" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="pixels_inside_wrap" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="tabs" writable="1">
<type name="Pango.TabArray" c:type="PangoTabArray*"/>
</field>
<field name="wrap_mode" writable="1">
<type name="WrapMode" c:type="GtkWrapMode"/>
</field>
<field name="language" writable="1">
<type name="Pango.Language" c:type="PangoLanguage*"/>
</field>
<field name="pg_bg_color" writable="1">
<type name="Gdk.Color" c:type="GdkColor*"/>
</field>
<field name="invisible" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="bg_full_height" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="editable" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="realized" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad1" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad2" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad3" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad4" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<constructor name="new"
c:identifier="gtk_text_attributes_new"
doc="Creates a #GtkTextAttributes, which describes
a set of properties on some text.">
<return-value transfer-ownership="full">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</return-value>
</constructor>
<method name="copy"
c:identifier="gtk_text_attributes_copy"
doc="Copies @src and returns a new #GtkTextAttributes.">
<return-value transfer-ownership="full">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</return-value>
</method>
<method name="copy_values"
c:identifier="gtk_text_attributes_copy_values"
doc="Copies the values from @src to @dest so that @dest has the same values
as @src. Frees existing values in @dest.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dest" transfer-ownership="none">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</parameter>
</parameters>
</method>
<method name="unref"
c:identifier="gtk_text_attributes_unref"
doc="Decrements the reference count on @values, freeing the structure
if the reference count reaches 0.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ref"
c:identifier="gtk_text_attributes_ref"
doc="Increments the reference count on @values.">
<return-value transfer-ownership="full">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</return-value>
</method>
</record>
<record name="TextBTree" c:type="GtkTextBTree">
</record>
<class name="TextBuffer"
c:type="GtkTextBuffer"
parent="GObject.Object"
glib:type-name="GtkTextBuffer"
glib:get-type="gtk_text_buffer_get_type"
glib:type-struct="TextBufferClass">
<constructor name="new"
c:identifier="gtk_text_buffer_new"
doc="Creates a new text buffer.">
<return-value transfer-ownership="full">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</return-value>
<parameters>
<parameter name="table"
transfer-ownership="none"
allow-none="1"
doc="a tag table, or %NULL to create a new one">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</parameter>
</parameters>
</constructor>
<method name="get_line_count"
c:identifier="gtk_text_buffer_get_line_count"
doc="Obtains the number of lines in the buffer. This value is cached, so
the function is very fast.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_char_count"
c:identifier="gtk_text_buffer_get_char_count"
doc="Gets the number of characters in the buffer; note that characters
and bytes are not the same, you can&apos;t e.g. expect the contents of
the buffer in string form to be this many bytes long. The character
count is cached, so this function is very fast.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_tag_table"
c:identifier="gtk_text_buffer_get_tag_table"
doc="Get the #GtkTextTagTable associated with this buffer.">
<return-value transfer-ownership="none"
doc="the buffer&apos;s tag table">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</return-value>
</method>
<method name="set_text"
c:identifier="gtk_text_buffer_set_text"
doc="Deletes current contents of @buffer, and inserts @text instead. If">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert"
c:identifier="gtk_text_buffer_insert"
doc="Inserts @len bytes of @text at position @iter. If @len is -1,
entirety. Emits the &quot;insert-text&quot; signal; insertion actually occurs
in the default handler for the signal. @iter is invalidated when
insertion occurs (because the buffer contents change), but the
default signal handler revalidates it to point to the end of the
inserted text.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert_at_cursor"
c:identifier="gtk_text_buffer_insert_at_cursor"
doc="Simply calls gtk_text_buffer_insert(), using the current
cursor position as the insertion point.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert_interactive"
c:identifier="gtk_text_buffer_insert_interactive"
doc="Like gtk_text_buffer_insert(), but the insertion will not occur if
want to prevent insertions at ineditable locations if the insertion
results from a user action (is interactive).
have a tag affecting editability applied to it. Typically the
result of gtk_text_view_get_editable() is appropriate here.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="insert_interactive_at_cursor"
c:identifier="gtk_text_buffer_insert_interactive_at_cursor"
doc="Calls gtk_text_buffer_insert_interactive() at the cursor
position.
have a tag affecting editability applied to it. Typically the
result of gtk_text_view_get_editable() is appropriate here.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="insert_range"
c:identifier="gtk_text_buffer_insert_range"
doc="Copies text, tags, and pixbufs between @start and @end (the order
of @start and @end doesn&apos;t matter) and inserts the copy at @iter.
Used instead of simply getting/inserting text because it preserves
images and tags. If @start and @end are in a different buffer from
Implemented via emissions of the insert_text and apply_tag signals,
so expect those.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="insert_range_interactive"
c:identifier="gtk_text_buffer_insert_range_interactive"
doc="Same as gtk_text_buffer_insert_range(), but does nothing if the
insertion point isn&apos;t editable. The @default_editable parameter
indicates whether the text is editable at @iter if no tags
enclosing @iter affect editability. Typically the result of
gtk_text_view_get_editable() is appropriate here.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="insert_with_tags"
c:identifier="gtk_text_buffer_insert_with_tags"
doc="Inserts @text into @buffer at @iter, applying the list of tags to
the newly-inserted text. The last tag specified must be NULL to
terminate the list. Equivalent to calling gtk_text_buffer_insert(),
then gtk_text_buffer_apply_tag() on the inserted text;
gtk_text_buffer_insert_with_tags() is just a convenience function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="first_tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="insert_with_tags_by_name"
c:identifier="gtk_text_buffer_insert_with_tags_by_name"
doc="Same as gtk_text_buffer_insert_with_tags(), but allows you
to pass in tag names instead of tag objects.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="first_tag_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="delete"
c:identifier="gtk_text_buffer_delete"
doc="Deletes text between @start and @end. The order of @start and @end
is not actually relevant; gtk_text_buffer_delete() will reorder
them. This function actually emits the &quot;delete-range&quot; signal, and
the default handler of that signal deletes the text. Because the
buffer is modified, all outstanding iterators become invalid after
calling this function; however, the @start and @end will be
re-initialized to point to the location where text was deleted.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="delete_interactive"
c:identifier="gtk_text_buffer_delete_interactive"
doc="Deletes all &lt;emphasis&gt;editable&lt;/emphasis&gt; text in the given range.
Calls gtk_text_buffer_delete() for each editable sub-range of
[@start,@end). @start and @end are revalidated to point to
the location of the last deleted range, or left untouched if
no text was deleted.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start_iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end_iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="backspace"
c:identifier="gtk_text_buffer_backspace"
doc="Performs the appropriate action as if the user hit the delete
key with the cursor at the position specified by @iter. In the
normal case a single character will be deleted, but when
combining accents are involved, more than one character can
be deleted, and when precomposed character and accent combinations
are involved, less than one character will be deleted.
Because the buffer is modified, all outstanding iterators become
invalid after calling this function; however, the @iter will be
re-initialized to point to the location where text was deleted."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="interactive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_text"
c:identifier="gtk_text_buffer_get_text"
doc="Returns the text in the range [@start,@end). Excludes undisplayed
text (text marked with tags that set the invisibility attribute) if
representing embedded images, so byte and character indexes into
the returned string do &lt;emphasis&gt;not&lt;/emphasis&gt; correspond to byte
and character indexes into the buffer. Contrast with
gtk_text_buffer_get_slice().">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="include_hidden_chars" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_slice"
c:identifier="gtk_text_buffer_get_slice"
doc="Returns the text in the range [@start,@end). Excludes undisplayed
text (text marked with tags that set the invisibility attribute) if
0xFFFC character whenever the buffer contains
embedded images, so byte and character indexes into
the returned string &lt;emphasis&gt;do&lt;/emphasis&gt; correspond to byte
and character indexes into the buffer. Contrast with
gtk_text_buffer_get_text(). Note that 0xFFFC can occur in normal
text as well, so it is not a reliable indicator that a pixbuf or
widget is in the buffer.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="include_hidden_chars" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="insert_pixbuf"
c:identifier="gtk_text_buffer_insert_pixbuf"
doc="Inserts an image into the text buffer at @iter. The image will be
counted as one character in character counts, and when obtaining
the buffer contents as a string, will be represented by the Unicode
&quot;object replacement character&quot; 0xFFFC. Note that the &quot;slice&quot;
variants for obtaining portions of the buffer as a string include
this character for pixbufs, but the &quot;text&quot; variants do
not. e.g. see gtk_text_buffer_get_slice() and
gtk_text_buffer_get_text().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="insert_child_anchor"
c:identifier="gtk_text_buffer_insert_child_anchor"
doc="Inserts a child widget anchor into the text buffer at @iter. The
anchor will be counted as one character in character counts, and
when obtaining the buffer contents as a string, will be represented
by the Unicode &quot;object replacement character&quot; 0xFFFC. Note that the
&quot;slice&quot; variants for obtaining portions of the buffer as a string
include this character for child anchors, but the &quot;text&quot; variants do
not. E.g. see gtk_text_buffer_get_slice() and
gtk_text_buffer_get_text(). Consider
gtk_text_buffer_create_child_anchor() as a more convenient
alternative to this function. The buffer will add a reference to
the anchor, so you can unref it after insertion.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="anchor" transfer-ownership="none">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor*"/>
</parameter>
</parameters>
</method>
<method name="create_child_anchor"
c:identifier="gtk_text_buffer_create_child_anchor"
doc="This is a convenience function which simply creates a child anchor
with gtk_text_child_anchor_new() and inserts it into the buffer
with gtk_text_buffer_insert_child_anchor(). The new anchor is
owned by the buffer; no reference count is returned to
the caller of gtk_text_buffer_create_child_anchor().">
<return-value transfer-ownership="full">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor*"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="add_mark"
c:identifier="gtk_text_buffer_add_mark"
doc="Adds the mark at position @where. The mark must not be added to
another buffer, and if its name is not %NULL then there must not
be another mark in the buffer with the same name.
Emits the &quot;mark-set&quot; signal as notification of the mark&apos;s initial
placement."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
<parameter name="where" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="create_mark"
c:identifier="gtk_text_buffer_create_mark"
doc="Creates a mark at position @where. If @mark_name is %NULL, the mark
is anonymous; otherwise, the mark can be retrieved by name using
gtk_text_buffer_get_mark(). If a mark has left gravity, and text is
inserted at the mark&apos;s current location, the mark will be moved to
the left of the newly-inserted text. If the mark has right gravity
(@left_gravity = %FALSE), the mark will end up on the right of
newly-inserted text. The standard left-to-right cursor is a mark
with right gravity (when you type, the cursor stays on the right
side of the text you&apos;re typing).
The caller of this function does &lt;emphasis&gt;not&lt;/emphasis&gt; own a
reference to the returned #GtkTextMark, so you can ignore the
return value if you like. Marks are owned by the buffer and go
away when the buffer does.
Emits the &quot;mark-set&quot; signal as notification of the mark&apos;s initial
placement.">
<return-value transfer-ownership="full">
<type name="TextMark" c:type="GtkTextMark*"/>
</return-value>
<parameters>
<parameter name="mark_name"
transfer-ownership="none"
allow-none="1"
doc="name for mark, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="where" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="left_gravity" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="move_mark"
c:identifier="gtk_text_buffer_move_mark"
doc="Moves @mark to the new location @where. Emits the &quot;mark-set&quot; signal
as notification of the move.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
<parameter name="where" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="delete_mark"
c:identifier="gtk_text_buffer_delete_mark"
doc="Deletes @mark, so that it&apos;s no longer located anywhere in the
buffer. Removes the reference the buffer holds to the mark, so if
you haven&apos;t called g_object_ref() on the mark, it will be freed. Even
if the mark isn&apos;t freed, most operations on @mark become
invalid, until it gets added to a buffer again with
gtk_text_buffer_add_mark(). Use gtk_text_mark_get_deleted() to
find out if a mark has been removed from its buffer.
The &quot;mark-deleted&quot; signal will be emitted as notification after
the mark is deleted.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
</parameters>
</method>
<method name="get_mark"
c:identifier="gtk_text_buffer_get_mark"
doc="Returns the mark named @name in buffer @buffer, or %NULL if no such
mark exists in the buffer.">
<return-value transfer-ownership="none" doc="a #GtkTextMark, or %NULL">
<type name="TextMark" c:type="GtkTextMark*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="move_mark_by_name"
c:identifier="gtk_text_buffer_move_mark_by_name"
doc="Moves the mark named @name (which must exist) to location @where.
See gtk_text_buffer_move_mark() for details.">
<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>
<parameter name="where" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="delete_mark_by_name"
c:identifier="gtk_text_buffer_delete_mark_by_name"
doc="Deletes the mark named @name; the mark must exist. See
gtk_text_buffer_delete_mark() for details.">
<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_insert"
c:identifier="gtk_text_buffer_get_insert"
doc="Returns the mark that represents the cursor (insertion point).
Equivalent to calling gtk_text_buffer_get_mark() to get the mark
named &quot;insert&quot;, but very slightly more efficient, and involves less
typing.">
<return-value transfer-ownership="none" doc="insertion point mark">
<type name="TextMark" c:type="GtkTextMark*"/>
</return-value>
</method>
<method name="get_selection_bound"
c:identifier="gtk_text_buffer_get_selection_bound"
doc="Returns the mark that represents the selection bound. Equivalent
to calling gtk_text_buffer_get_mark() to get the mark named
&quot;selection_bound&quot;, but very slightly more efficient, and involves
less typing.
The currently-selected text in @buffer is the region between the
&quot;selection_bound&quot; and &quot;insert&quot; marks. If &quot;selection_bound&quot; and
&quot;insert&quot; are in the same place, then there is no current selection.
gtk_text_buffer_get_selection_bounds() is another convenient function
for handling the selection, if you just want to know whether there&apos;s a
selection and what its bounds are.">
<return-value transfer-ownership="none" doc="selection bound mark">
<type name="TextMark" c:type="GtkTextMark*"/>
</return-value>
</method>
<method name="place_cursor"
c:identifier="gtk_text_buffer_place_cursor"
doc="This function moves the &quot;insert&quot; and &quot;selection_bound&quot; marks
simultaneously. If you move them to the same place in two steps
with gtk_text_buffer_move_mark(), you will temporarily select a
region in between their old and new locations, which can be pretty
inefficient since the temporarily-selected region will force stuff
to be recalculated. This function moves them as a unit, which can
be optimized.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="where" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="select_range"
c:identifier="gtk_text_buffer_select_range"
doc="This function moves the &quot;insert&quot; and &quot;selection_bound&quot; marks
simultaneously. If you move them in two steps
with gtk_text_buffer_move_mark(), you will temporarily select a
region in between their old and new locations, which can be pretty
inefficient since the temporarily-selected region will force stuff
to be recalculated. This function moves them as a unit, which can
be optimized."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ins" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="bound" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="apply_tag"
c:identifier="gtk_text_buffer_apply_tag"
doc="Emits the &quot;apply-tag&quot; signal on @buffer. The default
handler for the signal applies @tag to the given range.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="remove_tag"
c:identifier="gtk_text_buffer_remove_tag"
doc="Emits the &quot;remove-tag&quot; signal. The default handler for the signal
removes all occurrences of @tag from the given range. @start and">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="apply_tag_by_name"
c:identifier="gtk_text_buffer_apply_tag_by_name"
doc="Calls gtk_text_tag_table_lookup() on the buffer&apos;s tag table to
get a #GtkTextTag, then calls gtk_text_buffer_apply_tag().">
<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>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="remove_tag_by_name"
c:identifier="gtk_text_buffer_remove_tag_by_name"
doc="Calls gtk_text_tag_table_lookup() on the buffer&apos;s tag table to
get a #GtkTextTag, then calls gtk_text_buffer_remove_tag().">
<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>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="remove_all_tags"
c:identifier="gtk_text_buffer_remove_all_tags"
doc="Removes all tags in the range between @start and @end. Be careful
with this function; it could remove tags added in code unrelated to
the code you&apos;re currently writing. That is, using this function is
probably a bad idea if you have two or more unrelated code sections
that add tags.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="create_tag"
c:identifier="gtk_text_buffer_create_tag"
doc="Creates a tag and adds it to the tag table for @buffer.
Equivalent to calling gtk_text_tag_new() and then adding the
tag to the buffer&apos;s tag table. The returned tag is owned by
the buffer&apos;s tag table, so the ref count will be equal to one.
If @tag_name is %NULL, the tag is anonymous.
If @tag_name is non-%NULL, a tag called @tag_name must not already
exist in the tag table for this buffer.
The @first_property_name argument and subsequent arguments are a list
of properties to set on the tag, as with g_object_set().">
<return-value transfer-ownership="full">
<type name="TextTag" c:type="GtkTextTag*"/>
</return-value>
<parameters>
<parameter name="tag_name"
transfer-ownership="none"
allow-none="1"
doc="name of the new tag, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="first_property_name"
transfer-ownership="none"
allow-none="1"
doc="name of first property to set, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="get_iter_at_line_offset"
c:identifier="gtk_text_buffer_get_iter_at_line_offset"
doc="Obtains an iterator pointing to @char_offset within the given
line. The @char_offset must exist, offsets off the end of the line
are not allowed. Note &lt;emphasis&gt;characters&lt;/emphasis&gt;, not bytes;
UTF-8 may encode one character as multiple bytes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="line_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="char_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_line_index"
c:identifier="gtk_text_buffer_get_iter_at_line_index"
doc="Obtains an iterator pointing to @byte_index within the given line.
beyond the end of the line. Note &lt;emphasis&gt;bytes&lt;/emphasis&gt;, not
characters; UTF-8 may encode one character as multiple bytes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="line_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="byte_index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_offset"
c:identifier="gtk_text_buffer_get_iter_at_offset"
doc="Initializes @iter to a position @char_offset chars from the start
of the entire buffer. If @char_offset is -1 or greater than the number
of characters in the buffer, @iter is initialized to the end iterator,
the iterator one past the last valid character in the buffer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="char_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_line"
c:identifier="gtk_text_buffer_get_iter_at_line"
doc="Initializes @iter to the start of the given line.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="line_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_start_iter"
c:identifier="gtk_text_buffer_get_start_iter"
doc="Initialized @iter with the first position in the text buffer. This
is the same as using gtk_text_buffer_get_iter_at_offset() to get
the iter at character offset 0.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_end_iter"
c:identifier="gtk_text_buffer_get_end_iter"
doc="Initializes @iter with the &quot;end iterator,&quot; one past the last valid
character in the text buffer. If dereferenced with
gtk_text_iter_get_char(), the end iterator has a character value of
0. The entire buffer lies in the range from the first position in
the buffer (call gtk_text_buffer_get_start_iter() to get
character position 0) to the end iterator.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_bounds"
c:identifier="gtk_text_buffer_get_bounds"
doc="Retrieves the first and last iterators in the buffer, i.e. the
entire buffer lies within the range [@start,@end).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_mark"
c:identifier="gtk_text_buffer_get_iter_at_mark"
doc="Initializes @iter with the current position of @mark.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_child_anchor"
c:identifier="gtk_text_buffer_get_iter_at_child_anchor"
doc="Obtains the location of @anchor within @buffer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="anchor" transfer-ownership="none">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor*"/>
</parameter>
</parameters>
</method>
<method name="get_modified"
c:identifier="gtk_text_buffer_get_modified"
doc="Indicates whether the buffer has been modified since the last call
to gtk_text_buffer_set_modified() set the modification flag to
%FALSE. Used for example to enable a &quot;save&quot; function in a text
editor.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_modified"
c:identifier="gtk_text_buffer_set_modified"
doc="Used to keep track of whether the buffer has been modified since the
last time it was saved. Whenever the buffer is saved to disk, call
gtk_text_buffer_set_modified (@buffer, FALSE). When the buffer is modified,
it will automatically toggled on the modified bit again. When the modified
bit flips, the buffer emits a &quot;modified-changed&quot; signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_selection"
c:identifier="gtk_text_buffer_get_has_selection"
doc="Indicates whether the buffer has some text currently selected."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="add_selection_clipboard"
c:identifier="gtk_text_buffer_add_selection_clipboard"
doc="Adds @clipboard to the list of clipboards in which the selection
contents of @buffer are available. In most cases, @clipboard will be
the #GtkClipboard of type %GDK_SELECTION_PRIMARY for a view of @buffer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
</parameters>
</method>
<method name="remove_selection_clipboard"
c:identifier="gtk_text_buffer_remove_selection_clipboard"
doc="gtk_text_buffer_add_selection_clipboard()
Removes a #GtkClipboard added with
gtk_text_buffer_add_selection_clipboard().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
</parameters>
</method>
<method name="cut_clipboard"
c:identifier="gtk_text_buffer_cut_clipboard"
doc="Copies the currently-selected text to a clipboard, then deletes
said text if it&apos;s editable.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="copy_clipboard"
c:identifier="gtk_text_buffer_copy_clipboard"
doc="Copies the currently-selected text to a clipboard.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
</parameters>
</method>
<method name="paste_clipboard"
c:identifier="gtk_text_buffer_paste_clipboard"
doc="at the cursor
Pastes the contents of a clipboard at the insertion point, or at
ask for the paste data and return, and at some point later after
the main loop runs, the paste data will be inserted.)">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
<parameter name="override_location"
transfer-ownership="none"
allow-none="1"
doc="location to insert pasted text, or %NULL for">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_selection_bounds"
c:identifier="gtk_text_buffer_get_selection_bounds"
doc="Returns %TRUE if some text is selected; places the bounds
of the selection in @start and @end (if the selection has length 0,
then @start and @end are filled in with the same value).
NULL, then they are not filled in, but the return value still indicates
whether text is selected.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="delete_selection"
c:identifier="gtk_text_buffer_delete_selection"
doc="Deletes the range between the &quot;insert&quot; and &quot;selection_bound&quot; marks,
that is, the currently-selected text. If @interactive is %TRUE,
the editability of the selection will be considered (users can&apos;t delete
uneditable text).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="interactive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="default_editable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="begin_user_action"
c:identifier="gtk_text_buffer_begin_user_action"
doc="Called to indicate that the buffer operations between here and a
call to gtk_text_buffer_end_user_action() are part of a single
user-visible operation. The operations between
gtk_text_buffer_begin_user_action() and
gtk_text_buffer_end_user_action() can then be grouped when creating
an undo stack. #GtkTextBuffer maintains a count of calls to
gtk_text_buffer_begin_user_action() that have not been closed with
a call to gtk_text_buffer_end_user_action(), and emits the
&quot;begin-user-action&quot; and &quot;end-user-action&quot; signals only for the
outermost pair of calls. This allows you to build user actions
from other user actions.
The &quot;interactive&quot; buffer mutation functions, such as
gtk_text_buffer_insert_interactive(), automatically call begin/end
user action around the buffer operations they perform, so there&apos;s
no need to add extra calls if you user action consists solely of a
single call to one of those functions.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="end_user_action"
c:identifier="gtk_text_buffer_end_user_action"
doc="Should be paired with a call to gtk_text_buffer_begin_user_action().
See that function for a full explanation.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_copy_target_list"
c:identifier="gtk_text_buffer_get_copy_target_list"
doc="This function returns the list of targets this text buffer can
provide for copying and as DND source. The targets in the list are
added with %info values from the #GtkTextBufferTargetInfo enum,
using gtk_target_list_add_rich_text_targets() and
gtk_target_list_add_text_targets()."
version="2.10">
<return-value transfer-ownership="full">
<type name="TargetList" c:type="GtkTargetList*"/>
</return-value>
</method>
<method name="get_paste_target_list"
c:identifier="gtk_text_buffer_get_paste_target_list"
doc="This function returns the list of targets this text buffer supports
for pasting and as DND destination. The targets in the list are
added with %info values from the #GtkTextBufferTargetInfo enum,
using gtk_target_list_add_rich_text_targets() and
gtk_target_list_add_text_targets()."
version="2.10">
<return-value transfer-ownership="full">
<type name="TargetList" c:type="GtkTargetList*"/>
</return-value>
</method>
<method name="register_serialize_format"
c:identifier="gtk_text_buffer_register_serialize_format"
doc="This function registers a rich text serialization @function along with
its @mime_type with the passed @buffer.
format&apos;s mime-type."
version="2.10">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
<parameters>
<parameter name="mime_type" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="function"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="TextBufferSerializeFunc"
c:type="GtkTextBufferSerializeFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="user_data_destroy"
transfer-ownership="none"
scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="register_serialize_tagset"
c:identifier="gtk_text_buffer_register_serialize_tagset"
doc="This function registers GTK+&apos;s internal rich text serialization
format with the passed @buffer. The internal format does not comply
to any standard rich text format and only works between #GtkTextBuffer
instances. It is capable of serializing all of a text buffer&apos;s tags
and embedded pixbufs.
This function is just a wrapper around
gtk_text_buffer_register_serialize_format(). The mime type used
for registering is &quot;application/x-gtk-text-buffer-rich-text&quot;, or
&quot;application/x-gtk-text-buffer-rich-text;format=@tagset_name&quot; if a
The @tagset_name can be used to restrict the transfer of rich text
to buffers with compatible sets of tags, in order to avoid unknown
tags from being pasted. It is probably the common case to pass an
identifier != %NULL here, since the %NULL tagset requires the
receiving buffer to deal with with pasting of arbitrary tags.
format&apos;s mime-type."
version="2.10">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
<parameters>
<parameter name="tagset_name"
transfer-ownership="none"
allow-none="1"
doc="an optional tagset name, on %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="register_deserialize_format"
c:identifier="gtk_text_buffer_register_deserialize_format"
doc="This function registers a rich text deserialization @function along with
its @mime_type with the passed @buffer.
format&apos;s mime-type."
version="2.10">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
<parameters>
<parameter name="mime_type" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="function"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="TextBufferDeserializeFunc"
c:type="GtkTextBufferDeserializeFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="user_data_destroy"
transfer-ownership="none"
scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="register_deserialize_tagset"
c:identifier="gtk_text_buffer_register_deserialize_tagset"
doc="This function registers GTK+&apos;s internal rich text serialization
format with the passed @buffer. See
gtk_text_buffer_register_serialize_tagset() for details.
format&apos;s mime-type."
version="2.10">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
<parameters>
<parameter name="tagset_name"
transfer-ownership="none"
allow-none="1"
doc="an optional tagset name, on %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="unregister_serialize_format"
c:identifier="gtk_text_buffer_unregister_serialize_format"
doc="This function unregisters a rich text format that was previously
registered using gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_serialize_tagset()"
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</method>
<method name="unregister_deserialize_format"
c:identifier="gtk_text_buffer_unregister_deserialize_format"
doc="This function unregisters a rich text format that was previously
registered using gtk_text_buffer_register_deserialize_format() or
gtk_text_buffer_register_deserialize_tagset()."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</method>
<method name="deserialize_set_can_create_tags"
c:identifier="gtk_text_buffer_deserialize_set_can_create_tags"
doc="Use this function to allow a rich text deserialization function to
create new tags in the receiving buffer. Note that using this
function is almost always a bad idea, because the rich text
functions you register should know how to map the rich text format
they handler to your text buffers set of tags.
The ability of creating new (arbitrary!) tags in the receiving buffer
is meant for special rich text formats like the internal one that
is registered using gtk_text_buffer_register_deserialize_tagset(),
because that format is essentially a dump of the internal structure
of the source buffer, including its tag names.
You should allow creation of tags only if you know what you are
doing, e.g. if you defined a tagset name for your application
suite&apos;s text buffers and you know that it&apos;s fine to receive new
tags from these buffers, because you know that your application can
handle the newly created tags."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="can_create_tags" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="deserialize_get_can_create_tags"
c:identifier="gtk_text_buffer_deserialize_get_can_create_tags"
doc="This functions returns the value set with
gtk_text_buffer_deserialize_set_can_create_tags()"
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</method>
<method name="get_serialize_formats"
c:identifier="gtk_text_buffer_get_serialize_formats"
doc="This function returns the rich text serialize formats registered
with @buffer using gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_serialize_tagset()
formats."
version="2.10">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</return-value>
<parameters>
<parameter name="n_formats"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_deserialize_formats"
c:identifier="gtk_text_buffer_get_deserialize_formats"
doc="This function returns the rich text deserialize formats registered
with @buffer using gtk_text_buffer_register_deserialize_format() or
gtk_text_buffer_register_deserialize_tagset()
formats."
version="2.10">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</return-value>
<parameters>
<parameter name="n_formats"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="serialize"
c:identifier="gtk_text_buffer_serialize"
doc="This function serializes the portion of text between @start
and @end in the rich text format represented by @format.
gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_serialize_tagset() beforehand."
version="2.10">
<return-value transfer-ownership="full">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</return-value>
<parameters>
<parameter name="content_buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="length" direction="out" transfer-ownership="full">
<type name="size_t" c:type="gsize*"/>
</parameter>
</parameters>
</method>
<method name="deserialize"
c:identifier="gtk_text_buffer_deserialize"
doc="This function deserializes rich text in format @format and inserts
it at @iter.
gtk_text_buffer_register_deserialize_format() or
gtk_text_buffer_register_deserialize_tagset() beforehand."
version="2.10"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="content_buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="format" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</parameter>
</parameters>
</method>
<property name="copy-target-list"
version="2.10"
doc="The list of targets this buffer supports for clipboard copying
and as DND source.">
<type name="TargetList" c:type="GtkTargetList"/>
</property>
<property name="cursor-position"
version="2.10"
doc="The position of the insert mark (as offset from the beginning
of the buffer). It is useful for getting notified when the
cursor moves.">
<type name="int" c:type="gint"/>
</property>
<property name="has-selection"
version="2.10"
doc="Whether the buffer has some text currently selected.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="paste-target-list"
version="2.10"
doc="The list of targets this buffer supports for clipboard pasting
and as DND destination.">
<type name="TargetList" c:type="GtkTargetList"/>
</property>
<property name="tag-table" writable="1" construct-only="1">
<type name="TextTagTable" c:type="GtkTextTagTable"/>
</property>
<property name="text"
version="2.8"
writable="1"
doc="The text content of the buffer. Without child widgets and images,
see gtk_text_buffer_get_text() for more information.">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="tag_table">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</field>
<field name="btree">
<type name="TextBTree" c:type="GtkTextBTree*"/>
</field>
<field name="clipboard_contents_buffers">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="selection_clipboards">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="log_attr_cache">
<type name="TextLogAttrCache" c:type="GtkTextLogAttrCache*"/>
</field>
<field name="user_action_count">
<type name="uint" c:type="guint"/>
</field>
<field name="modified" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_selection" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="apply-tag"
doc="The ::apply-tag signal is emitted to apply a tag to a
range of text in a #GtkTextBuffer.
Applying actually occurs in the default handler.
Note that if your handler runs before the default handler it must not
invalidate the @start and @end iters (or has to revalidate them).
See also:
gtk_text_buffer_apply_tag(),
gtk_text_buffer_insert_with_tags(),
gtk_text_buffer_insert_range().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="begin-user-action"
doc="The ::begin-user-action signal is emitted at the beginning of a single
user-visible operation on a #GtkTextBuffer.
See also:
gtk_text_buffer_begin_user_action(),
gtk_text_buffer_insert_interactive(),
gtk_text_buffer_insert_range_interactive(),
gtk_text_buffer_delete_interactive(),
gtk_text_buffer_backspace(),
gtk_text_buffer_delete_selection().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="changed"
doc="The ::changed signal is emitted when the content of a #GtkTextBuffer
has changed.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="delete-range"
doc="The ::delete-range signal is emitted to delete a range
from a #GtkTextBuffer.
Note that if your handler runs before the default handler it must not
invalidate the @start and @end iters (or has to revalidate them).
The default signal handler revalidates the @start and @end iters to
both point point to the location where text was deleted. Handlers
which run after the default handler (see g_signal_connect_after())
do not have access to the deleted text.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="end-user-action"
doc="The ::end-user-action signal is emitted at the end of a single
user-visible operation on the #GtkTextBuffer.
See also:
gtk_text_buffer_end_user_action(),
gtk_text_buffer_insert_interactive(),
gtk_text_buffer_insert_range_interactive(),
gtk_text_buffer_delete_interactive(),
gtk_text_buffer_backspace(),
gtk_text_buffer_delete_selection(),
gtk_text_buffer_backspace().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="insert-child-anchor"
doc="The ::insert-child-anchor signal is emitted to insert a
#GtkTextChildAnchor in a #GtkTextBuffer.
Insertion actually occurs in the default handler.
Note that if your handler runs before the default handler it must
not invalidate the @location iter (or has to revalidate it).
The default signal handler revalidates it to be placed after the
inserted @anchor.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="location" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
<parameter name="anchor" transfer-ownership="none">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="insert-pixbuf"
doc="The ::insert-pixbuf signal is emitted to insert a #GdkPixbuf
in a #GtkTextBuffer. Insertion actually occurs in the default handler.
Note that if your handler runs before the default handler it must not
invalidate the @location iter (or has to revalidate it).
The default signal handler revalidates it to be placed after the
inserted @pixbuf.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="location" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="insert-text"
doc="The ::insert-text signal is emitted to insert text in a #GtkTextBuffer.
Insertion actually occurs in the default handler.
Note that if your handler runs before the default handler it must not
invalidate the @location iter (or has to revalidate it).
The default signal handler revalidates it to point to the end of the
inserted text.
See also:
gtk_text_buffer_insert(),
gtk_text_buffer_insert_range().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="location" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="mark-deleted"
doc="The ::mark-deleted signal is emitted as notification
after a #GtkTextMark is deleted.
See also:
gtk_text_buffer_delete_mark().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="mark-set"
doc="The ::mark-set signal is emitted as notification
after a #GtkTextMark is set.
See also:
gtk_text_buffer_create_mark(),
gtk_text_buffer_move_mark().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="location" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="modified-changed"
doc="The ::modified-changed signal is emitted when the modified bit of a
#GtkTextBuffer flips.
See also:
gtk_text_buffer_set_modified().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="paste-done"
doc="The paste-done signal is emitted after paste operation has been completed.
This is useful to properly scroll the view to the end of the pasted text.
See gtk_text_buffer_paste_clipboard() for more details."
version="2.16">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="since" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="remove-tag"
doc="The ::remove-tag signal is emitted to remove all occurrences of @tag from
a range of text in a #GtkTextBuffer.
Removal actually occurs in the default handler.
Note that if your handler runs before the default handler it must not
invalidate the @start and @end iters (or has to revalidate them).
See also:
gtk_text_buffer_remove_tag().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="TextBufferClass"
c:type="GtkTextBufferClass"
glib:is-gtype-struct-for="TextBuffer">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="insert_text">
<callback name="insert_text" c:type="insert_text">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="pos" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_pixbuf">
<callback name="insert_pixbuf" c:type="insert_pixbuf">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="pos" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_child_anchor">
<callback name="insert_child_anchor" c:type="insert_child_anchor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="pos" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="anchor" transfer-ownership="none">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="delete_range">
<callback name="delete_range" c:type="delete_range">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="modified_changed">
<callback name="modified_changed" c:type="modified_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="mark_set">
<callback name="mark_set" c:type="mark_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="location" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="mark_deleted">
<callback name="mark_deleted" c:type="mark_deleted">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="apply_tag">
<callback name="apply_tag" c:type="apply_tag">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter name="start_char" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end_char" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_tag">
<callback name="remove_tag" c:type="remove_tag">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter name="start_char" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end_char" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="begin_user_action">
<callback name="begin_user_action" c:type="begin_user_action">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_user_action">
<callback name="end_user_action" c:type="end_user_action">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="paste_done">
<callback name="paste_done" c:type="paste_done">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="clipboard" transfer-ownership="none">
<type name="Clipboard" c:type="GtkClipboard*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="TextBufferDeserializeFunc"
c:type="GtkTextBufferDeserializeFunc"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="register_buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="content_buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="size_t" c:type="gsize"/>
</parameter>
<parameter name="create_tags" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="6">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="TextBufferSerializeFunc"
c:type="GtkTextBufferSerializeFunc">
<return-value transfer-ownership="full">
<array c:type="guint8*">
<type name="uint8"/>
</array>
</return-value>
<parameters>
<parameter name="register_buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="content_buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="length" direction="out" transfer-ownership="full">
<type name="size_t" c:type="gsize*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="5">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="TextBufferTargetInfo"
glib:type-name="GtkTextBufferTargetInfo"
glib:get-type="gtk_text_buffer_target_info_get_type"
c:type="GtkTextBufferTargetInfo">
<member name="buffer_contents"
value="-1"
c:identifier="GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS"
glib:nick="buffer-contents"/>
<member name="rich_text"
value="-2"
c:identifier="GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT"
glib:nick="rich-text"/>
<member name="text"
value="-3"
c:identifier="GTK_TEXT_BUFFER_TARGET_INFO_TEXT"
glib:nick="text"/>
</enumeration>
<callback name="TextCharPredicate" c:type="GtkTextCharPredicate">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ch" transfer-ownership="none">
<type name="GLib.unichar" c:type="gunichar"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="TextChildAnchor"
c:type="GtkTextChildAnchor"
parent="GObject.Object"
glib:type-name="GtkTextChildAnchor"
glib:get-type="gtk_text_child_anchor_get_type"
glib:type-struct="TextChildAnchorClass">
<constructor name="new"
c:identifier="gtk_text_child_anchor_new"
doc="Creates a new #GtkTextChildAnchor. Usually you would then insert
it into a #GtkTextBuffer with gtk_text_buffer_insert_child_anchor().
To perform the creation and insertion in one step, use the
convenience function gtk_text_buffer_create_child_anchor().">
<return-value transfer-ownership="full">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor*"/>
</return-value>
</constructor>
<method name="get_widgets"
c:identifier="gtk_text_child_anchor_get_widgets"
doc="Gets a list of all widgets anchored at this child anchor.
The returned list should be freed with g_list_free().">
<return-value transfer-ownership="container"
doc="list of widgets anchored at @anchor">
<type name="GLib.List" c:type="GList*">
<type name="Widget"/>
</type>
</return-value>
</method>
<method name="get_deleted"
c:identifier="gtk_text_child_anchor_get_deleted"
doc="Determines whether a child anchor has been deleted from
the buffer. Keep in mind that the child anchor will be
unreferenced when removed from the buffer, so you need to
hold your own reference (with g_object_ref()) if you plan
to use this function &amp;mdash; otherwise all deleted child anchors
will also be finalized.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="register_child"
c:identifier="gtk_text_child_anchor_register_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
</parameters>
</method>
<method name="unregister_child"
c:identifier="gtk_text_child_anchor_unregister_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="queue_resize"
c:identifier="gtk_text_child_anchor_queue_resize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="segment">
<type name="any" c:type="gpointer"/>
</field>
</class>
<record name="TextChildAnchorClass"
c:type="GtkTextChildAnchorClass"
glib:is-gtype-struct-for="TextChildAnchor">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="TextCursorDisplay" c:type="GtkTextCursorDisplay">
<field name="x" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="y" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="height" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="is_strong" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="is_weak" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<enumeration name="TextDirection"
glib:type-name="GtkTextDirection"
glib:get-type="gtk_text_direction_get_type"
c:type="GtkTextDirection">
<member name="none"
value="0"
c:identifier="GTK_TEXT_DIR_NONE"
glib:nick="none"/>
<member name="ltr"
value="1"
c:identifier="GTK_TEXT_DIR_LTR"
glib:nick="ltr"/>
<member name="rtl"
value="2"
c:identifier="GTK_TEXT_DIR_RTL"
glib:nick="rtl"/>
</enumeration>
<callback name="TextFunction" c:type="GtkTextFunction">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="editable" transfer-ownership="none">
<type name="OldEditable" c:type="GtkOldEditable*"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</callback>
<record name="TextIter"
c:type="GtkTextIter"
glib:type-name="GtkTextIter"
glib:get-type="gtk_text_iter_get_type">
<field name="dummy1" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="dummy2" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="dummy3" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy4" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy5" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy6" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy7" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy8" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy9" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="dummy10" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="dummy11" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy12" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy13" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="dummy14" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<method name="get_buffer"
c:identifier="gtk_text_iter_get_buffer"
doc="Returns the #GtkTextBuffer this iterator is associated with.">
<return-value transfer-ownership="none" doc="the buffer">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</return-value>
</method>
<method name="copy"
c:identifier="gtk_text_iter_copy"
doc="Creates a dynamically-allocated copy of an iterator. This function
is not useful in applications, because iterators can be copied with a
simple assignment (&lt;literal&gt;GtkTextIter i = j;&lt;/literal&gt;). The
function is used by language bindings.">
<return-value transfer-ownership="full">
<type name="TextIter" c:type="GtkTextIter*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_text_iter_free"
doc="Free an iterator allocated on the heap. This function
is intended for use in language bindings, and is not
especially useful for applications, because iterators can
simply be allocated on the stack.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_offset"
c:identifier="gtk_text_iter_get_offset"
doc="Returns the character offset of an iterator.
Each character in a #GtkTextBuffer has an offset,
starting with 0 for the first character in the buffer.
Use gtk_text_buffer_get_iter_at_offset () to convert an
offset back into an iterator.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_line"
c:identifier="gtk_text_iter_get_line"
doc="Returns the line number containing the iterator. Lines in
a #GtkTextBuffer are numbered beginning with 0 for the first
line in the buffer.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_line_offset"
c:identifier="gtk_text_iter_get_line_offset"
doc="Returns the character offset of the iterator,
counting from the start of a newline-terminated line.
The first character on the line has offset 0.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_line_index"
c:identifier="gtk_text_iter_get_line_index"
doc="Returns the byte index of the iterator, counting
from the start of a newline-terminated line.
Remember that #GtkTextBuffer encodes text in
UTF-8, and that characters can require a variable
number of bytes to represent.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_visible_line_offset"
c:identifier="gtk_text_iter_get_visible_line_offset"
doc="Returns the offset in characters from the start of the
line to the given @iter, not counting characters that
are invisible due to tags with the &quot;invisible&quot; flag
toggled on.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_visible_line_index"
c:identifier="gtk_text_iter_get_visible_line_index"
doc="Returns the number of bytes from the start of the
line to the given @iter, not counting bytes that
are invisible due to tags with the &quot;invisible&quot; flag
toggled on.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_char"
c:identifier="gtk_text_iter_get_char"
doc="Returns the Unicode character at this iterator. (Equivalent to
operator* on a C++ iterator.) If the element at this iterator is a
non-character element, such as an image embedded in the buffer, the
Unicode &quot;unknown&quot; character 0xFFFC is returned. If invoked on
the end iterator, zero is returned; zero is not a valid Unicode character.
So you can write a loop which ends when gtk_text_iter_get_char ()
returns 0.">
<return-value transfer-ownership="full">
<type name="GLib.unichar" c:type="gunichar"/>
</return-value>
</method>
<method name="get_slice"
c:identifier="gtk_text_iter_get_slice"
doc="Returns the text in the given range. A &quot;slice&quot; is an array of
characters encoded in UTF-8 format, including the Unicode &quot;unknown&quot;
character 0xFFFC for iterable non-character elements in the buffer,
such as images. Because images are encoded in the slice, byte and
character offsets in the returned array will correspond to byte
offsets in the text buffer. Note that 0xFFFC can occur in normal
text as well, so it is not a reliable indicator that a pixbuf or
widget is in the buffer.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_text"
c:identifier="gtk_text_iter_get_text"
doc="Returns &lt;emphasis&gt;text&lt;/emphasis&gt; in the given range. If the range
contains non-text elements such as images, the character and byte
offsets in the returned string will not correspond to character and
byte offsets in the buffer. If you want offsets to correspond, see
gtk_text_iter_get_slice ().">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_visible_slice"
c:identifier="gtk_text_iter_get_visible_slice"
doc="Like gtk_text_iter_get_slice (), but invisible text is not included.
Invisible text is usually invisible because a #GtkTextTag with the
&quot;invisible&quot; attribute turned on has been applied to it.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_visible_text"
c:identifier="gtk_text_iter_get_visible_text"
doc="Like gtk_text_iter_get_text (), but invisible text is not included.
Invisible text is usually invisible because a #GtkTextTag with the
&quot;invisible&quot; attribute turned on has been applied to it.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_pixbuf"
c:identifier="gtk_text_iter_get_pixbuf"
doc="If the element at @iter is a pixbuf, the pixbuf is returned
(with no new reference count added). Otherwise,
%NULL is returned.">
<return-value transfer-ownership="none" doc="the pixbuf at @iter">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="get_marks"
c:identifier="gtk_text_iter_get_marks"
doc="Returns a list of all #GtkTextMark at this location. Because marks
are not iterable (they don&apos;t take up any &quot;space&quot; in the buffer,
they are just marks in between iterable locations), multiple marks
can exist in the same place. The returned list is not in any
meaningful order.">
<return-value transfer-ownership="container"
doc="list of #GtkTextMark">
<type name="GLib.SList" c:type="GSList*">
<type name="TextMark"/>
</type>
</return-value>
</method>
<method name="get_child_anchor"
c:identifier="gtk_text_iter_get_child_anchor"
doc="If the location at @iter contains a child anchor, the
anchor is returned (with no new reference count added). Otherwise,
%NULL is returned.">
<return-value transfer-ownership="full">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor*"/>
</return-value>
</method>
<method name="get_toggled_tags"
c:identifier="gtk_text_iter_get_toggled_tags"
doc="Returns a list of #GtkTextTag that are toggled on or off at this
point. (If @toggled_on is %TRUE, the list contains tags that are
toggled on.) If a tag is toggled on at @iter, then some non-empty
range of characters following @iter has that tag applied to it. If
a tag is toggled off, then some non-empty range following @iter
does &lt;emphasis&gt;not&lt;/emphasis&gt; have the tag applied to it.">
<return-value transfer-ownership="container"
doc="tags toggled at this point">
<type name="GLib.SList" c:type="GSList*">
<type name="TextTag"/>
</type>
</return-value>
<parameters>
<parameter name="toggled_on" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="begins_tag"
c:identifier="gtk_text_iter_begins_tag"
doc="Returns %TRUE if @tag is toggled on at exactly this point. If @tag
is %NULL, returns %TRUE if any tag is toggled on at this point. Note
that the gtk_text_iter_begins_tag () returns %TRUE if @iter is the
&lt;emphasis&gt;start&lt;/emphasis&gt; of the tagged range;
gtk_text_iter_has_tag () tells you whether an iterator is
&lt;emphasis&gt;within&lt;/emphasis&gt; a tagged range.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tag"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTextTag, or %NULL">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="ends_tag"
c:identifier="gtk_text_iter_ends_tag"
doc="Returns %TRUE if @tag is toggled off at exactly this point. If @tag
is %NULL, returns %TRUE if any tag is toggled off at this point. Note
that the gtk_text_iter_ends_tag () returns %TRUE if @iter is the
&lt;emphasis&gt;end&lt;/emphasis&gt; of the tagged range;
gtk_text_iter_has_tag () tells you whether an iterator is
&lt;emphasis&gt;within&lt;/emphasis&gt; a tagged range.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tag"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTextTag, or %NULL">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="toggles_tag"
c:identifier="gtk_text_iter_toggles_tag"
doc="This is equivalent to (gtk_text_iter_begins_tag () ||
gtk_text_iter_ends_tag ()), i.e. it tells you whether a range with">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tag"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTextTag, or %NULL">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="has_tag"
c:identifier="gtk_text_iter_has_tag"
doc="Returns %TRUE if @iter is within a range tagged with @tag.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="get_tags"
c:identifier="gtk_text_iter_get_tags"
doc="Returns a list of tags that apply to @iter, in ascending order of
priority (highest-priority tags are last). The #GtkTextTag in the
list don&apos;t have a reference added, but you have to free the list
itself.">
<return-value transfer-ownership="container" doc="list of #GtkTextTag">
<type name="GLib.SList" c:type="GSList*">
<type name="TextTag"/>
</type>
</return-value>
</method>
<method name="editable"
c:identifier="gtk_text_iter_editable"
doc="Returns whether the character at @iter is within an editable region
of text. Non-editable text is &quot;locked&quot; and can&apos;t be changed by the
user via #GtkTextView. This function is simply a convenience
wrapper around gtk_text_iter_get_attributes (). If no tags applied
to this text affect editability, @default_setting will be returned.
You don&apos;t want to use this function to decide whether text can be
inserted at @iter, because for insertion you don&apos;t want to know
whether the char at @iter is inside an editable range, you want to
know whether a new character inserted at @iter would be inside an
editable range. Use gtk_text_iter_can_insert() to handle this
case.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="default_setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="can_insert"
c:identifier="gtk_text_iter_can_insert"
doc="Considering the default editability of the buffer, and tags that
affect editability, determines whether text inserted at @iter would
be editable. If text inserted at @iter would be editable then the
user should be allowed to insert text at @iter.
gtk_text_buffer_insert_interactive() uses this function to decide
whether insertions are allowed at a given position.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="default_editability" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="starts_word"
c:identifier="gtk_text_iter_starts_word"
doc="Determines whether @iter begins a natural-language word. Word
breaks are determined by Pango and should be correct for nearly any
language (if not, the correct fix would be to the Pango word break
algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="ends_word"
c:identifier="gtk_text_iter_ends_word"
doc="Determines whether @iter ends a natural-language word. Word breaks
are determined by Pango and should be correct for nearly any
language (if not, the correct fix would be to the Pango word break
algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="inside_word"
c:identifier="gtk_text_iter_inside_word"
doc="Determines whether @iter is inside a natural-language word (as
opposed to say inside some whitespace). Word breaks are determined
by Pango and should be correct for nearly any language (if not, the
correct fix would be to the Pango word break algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="starts_sentence"
c:identifier="gtk_text_iter_starts_sentence"
doc="Determines whether @iter begins a sentence. Sentence boundaries are
determined by Pango and should be correct for nearly any language
(if not, the correct fix would be to the Pango text boundary
algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="ends_sentence"
c:identifier="gtk_text_iter_ends_sentence"
doc="Determines whether @iter ends a sentence. Sentence boundaries are
determined by Pango and should be correct for nearly any language
(if not, the correct fix would be to the Pango text boundary
algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="inside_sentence"
c:identifier="gtk_text_iter_inside_sentence"
doc="Determines whether @iter is inside a sentence (as opposed to in
between two sentences, e.g. after a period and before the first
letter of the next sentence). Sentence boundaries are determined
by Pango and should be correct for nearly any language (if not, the
correct fix would be to the Pango text boundary algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="starts_line"
c:identifier="gtk_text_iter_starts_line"
doc="Returns %TRUE if @iter begins a paragraph,
i.e. if gtk_text_iter_get_line_offset () would return 0.
However this function is potentially more efficient than
gtk_text_iter_get_line_offset () because it doesn&apos;t have to compute
the offset, it just has to see whether it&apos;s 0.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="ends_line"
c:identifier="gtk_text_iter_ends_line"
doc="Returns %TRUE if @iter points to the start of the paragraph
delimiter characters for a line (delimiters will be either a
newline, a carriage return, a carriage return followed by a
newline, or a Unicode paragraph separator character). Note that an
iterator pointing to the \n of a \r\n pair will not be counted as
the end of a line, the line ends before the \r. The end iterator is
considered to be at the end of a line, even though there are no
paragraph delimiter chars there.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_cursor_position"
c:identifier="gtk_text_iter_is_cursor_position"
doc="See gtk_text_iter_forward_cursor_position() or #PangoLogAttr or
pango_break() for details on what a cursor position is.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_chars_in_line"
c:identifier="gtk_text_iter_get_chars_in_line"
doc="Returns the number of characters in the line containing @iter,
including the paragraph delimiters.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_bytes_in_line"
c:identifier="gtk_text_iter_get_bytes_in_line"
doc="Returns the number of bytes in the line containing @iter,
including the paragraph delimiters.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_attributes"
c:identifier="gtk_text_iter_get_attributes"
doc="Computes the effect of any tags applied to this spot in the
text. The @values parameter should be initialized to the default
settings you wish to use if no tags are in effect. You&apos;d typically
obtain the defaults from gtk_text_view_get_default_attributes().
gtk_text_iter_get_attributes () will modify @values, applying the
effects of any tags present at @iter. If any tags affected @values,
the function returns %TRUE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="values" transfer-ownership="none">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</parameter>
</parameters>
</method>
<method name="get_language"
c:identifier="gtk_text_iter_get_language"
doc="A convenience wrapper around gtk_text_iter_get_attributes (),
which returns the language in effect at @iter. If no tags affecting
language apply to @iter, the return value is identical to that of
gtk_get_default_language ().">
<return-value transfer-ownership="full">
<type name="Pango.Language" c:type="PangoLanguage*"/>
</return-value>
</method>
<method name="is_end"
c:identifier="gtk_text_iter_is_end"
doc="Returns %TRUE if @iter is the end iterator, i.e. one past the last
dereferenceable iterator in the buffer. gtk_text_iter_is_end () is
the most efficient way to check whether an iterator is the end
iterator.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_start"
c:identifier="gtk_text_iter_is_start"
doc="Returns %TRUE if @iter is the first iterator in the buffer, that is
if @iter has a character offset of 0.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_char"
c:identifier="gtk_text_iter_forward_char"
doc="Moves @iter forward by one character offset. Note that images
embedded in the buffer occupy 1 character slot, so
gtk_text_iter_forward_char () may actually move onto an image instead
of a character, if you have images in your buffer. If @iter is the
end iterator or one character before it, @iter will now point at
the end iterator, and gtk_text_iter_forward_char () returns %FALSE for
convenience when writing loops.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_char"
c:identifier="gtk_text_iter_backward_char"
doc="Moves backward by one character offset. Returns %TRUE if movement
was possible; if @iter was the first in the buffer (character
offset 0), gtk_text_iter_backward_char () returns %FALSE for convenience when
writing loops.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_chars"
c:identifier="gtk_text_iter_forward_chars"
doc="Moves @count characters if possible (if @count would move past the
start or end of the buffer, moves to the start or end of the
buffer). The return value indicates whether the new position of
(the last iterator in the buffer is not dereferenceable). If @count
is 0, the function does nothing and returns %FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_chars"
c:identifier="gtk_text_iter_backward_chars"
doc="Moves @count characters backward, if possible (if @count would move
past the start or end of the buffer, moves to the start or end of
the buffer). The return value indicates whether the iterator moved
onto a dereferenceable position; if the iterator didn&apos;t move, or
moved onto the end iterator, then %FALSE is returned. If @count is 0,
the function does nothing and returns %FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_line"
c:identifier="gtk_text_iter_forward_line"
doc="Moves @iter to the start of the next line. If the iter is already on the
last line of the buffer, moves the iter to the end of the current line.
If after the operation, the iter is at the end of the buffer and not
dereferencable, returns %FALSE. Otherwise, returns %TRUE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_line"
c:identifier="gtk_text_iter_backward_line"
doc="Moves @iter to the start of the previous line. Returns %TRUE if
function returns %FALSE. Therefore if @iter was already on line 0,
but not at the start of the line, @iter is snapped to the start of
the line and the function returns %TRUE. (Note that this implies that
in a loop calling this function, the line number may not change on
every iteration, if your first iteration is on line 0.)">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_lines"
c:identifier="gtk_text_iter_forward_lines"
doc="Moves @count lines forward, if possible (if @count would move
past the start or end of the buffer, moves to the start or end of
the buffer). The return value indicates whether the iterator moved
onto a dereferenceable position; if the iterator didn&apos;t move, or
moved onto the end iterator, then %FALSE is returned. If @count is 0,
the function does nothing and returns %FALSE. If @count is negative,
moves backward by 0 - @count lines.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_lines"
c:identifier="gtk_text_iter_backward_lines"
doc="Moves @count lines backward, if possible (if @count would move
past the start or end of the buffer, moves to the start or end of
the buffer). The return value indicates whether the iterator moved
onto a dereferenceable position; if the iterator didn&apos;t move, or
moved onto the end iterator, then %FALSE is returned. If @count is 0,
the function does nothing and returns %FALSE. If @count is negative,
moves forward by 0 - @count lines.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_word_end"
c:identifier="gtk_text_iter_forward_word_end"
doc="Moves forward to the next word end. (If @iter is currently on a
word end, moves forward to the next one after that.) Word breaks
are determined by Pango and should be correct for nearly any
language (if not, the correct fix would be to the Pango word break
algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_word_start"
c:identifier="gtk_text_iter_backward_word_start"
doc="Calls gtk_text_iter_backward_word_start() up to @count times.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_word_ends"
c:identifier="gtk_text_iter_forward_word_ends"
doc="Calls gtk_text_iter_forward_word_end() up to @count times.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_word_starts"
c:identifier="gtk_text_iter_backward_word_starts">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_visible_line"
c:identifier="gtk_text_iter_forward_visible_line"
doc="Moves @iter to the start of the next visible line. Returns %TRUE if there
was a next line to move to, and %FALSE if @iter was simply moved to
the end of the buffer and is now not dereferenceable, or if @iter was
already at the end of the buffer."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_visible_line"
c:identifier="gtk_text_iter_backward_visible_line"
doc="Moves @iter to the start of the previous visible line. Returns %TRUE if
function returns %FALSE. Therefore if @iter was already on line 0,
but not at the start of the line, @iter is snapped to the start of
the line and the function returns %TRUE. (Note that this implies that
in a loop calling this function, the line number may not change on
every iteration, if your first iteration is on line 0.)"
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_visible_lines"
c:identifier="gtk_text_iter_forward_visible_lines"
doc="Moves @count visible lines forward, if possible (if @count would move
past the start or end of the buffer, moves to the start or end of
the buffer). The return value indicates whether the iterator moved
onto a dereferenceable position; if the iterator didn&apos;t move, or
moved onto the end iterator, then %FALSE is returned. If @count is 0,
the function does nothing and returns %FALSE. If @count is negative,
moves backward by 0 - @count lines."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_visible_lines"
c:identifier="gtk_text_iter_backward_visible_lines"
doc="Moves @count visible lines backward, if possible (if @count would move
past the start or end of the buffer, moves to the start or end of
the buffer). The return value indicates whether the iterator moved
onto a dereferenceable position; if the iterator didn&apos;t move, or
moved onto the end iterator, then %FALSE is returned. If @count is 0,
the function does nothing and returns %FALSE. If @count is negative,
moves forward by 0 - @count lines."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_visible_word_end"
c:identifier="gtk_text_iter_forward_visible_word_end"
doc="Moves forward to the next visible word end. (If @iter is currently on a
word end, moves forward to the next one after that.) Word breaks
are determined by Pango and should be correct for nearly any
language (if not, the correct fix would be to the Pango word break
algorithms)."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_visible_word_start"
c:identifier="gtk_text_iter_backward_visible_word_start"
doc="Calls gtk_text_iter_backward_visible_word_start() up to @count times."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_visible_word_ends"
c:identifier="gtk_text_iter_forward_visible_word_ends"
doc="Calls gtk_text_iter_forward_visible_word_end() up to @count times."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_visible_word_starts"
c:identifier="gtk_text_iter_backward_visible_word_starts">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_sentence_end"
c:identifier="gtk_text_iter_forward_sentence_end"
doc="Moves forward to the next sentence end. (If @iter is at the end of
a sentence, moves to the next end of sentence.) Sentence
boundaries are determined by Pango and should be correct for nearly
any language (if not, the correct fix would be to the Pango text
boundary algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_sentence_start"
c:identifier="gtk_text_iter_backward_sentence_start"
doc="Moves backward to the previous sentence start; if @iter is already at
the start of a sentence, moves backward to the next one. Sentence
boundaries are determined by Pango and should be correct for nearly
any language (if not, the correct fix would be to the Pango text
boundary algorithms).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_sentence_ends"
c:identifier="gtk_text_iter_forward_sentence_ends"
doc="Calls gtk_text_iter_forward_sentence_end() @count times (or until
gtk_text_iter_forward_sentence_end() returns %FALSE). If @count is
negative, moves backward instead of forward.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_sentence_starts"
c:identifier="gtk_text_iter_backward_sentence_starts"
doc="Calls gtk_text_iter_backward_sentence_start() up to @count times,
or until it returns %FALSE. If @count is negative, moves forward
instead of backward.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_cursor_position"
c:identifier="gtk_text_iter_forward_cursor_position"
doc="Moves @iter forward by a single cursor position. Cursor positions
are (unsurprisingly) positions where the cursor can appear. Perhaps
surprisingly, there may not be a cursor position between all
characters. The most common example for European languages would be
a carriage return/newline sequence. For some Unicode characters,
the equivalent of say the letter &quot;a&quot; with an accent mark will be
represented as two characters, first the letter then a &quot;combining
mark&quot; that causes the accent to be rendered; so the cursor can&apos;t go
between those two characters. See also the #PangoLogAttr structure and
pango_break() function.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_cursor_position"
c:identifier="gtk_text_iter_backward_cursor_position"
doc="Like gtk_text_iter_forward_cursor_position(), but moves backward.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_cursor_positions"
c:identifier="gtk_text_iter_forward_cursor_positions"
doc="Moves up to @count cursor positions. See
gtk_text_iter_forward_cursor_position() for details.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_cursor_positions"
c:identifier="gtk_text_iter_backward_cursor_positions"
doc="Moves up to @count cursor positions. See
gtk_text_iter_forward_cursor_position() for details.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_visible_cursor_position"
c:identifier="gtk_text_iter_forward_visible_cursor_position"
doc="Moves @iter forward to the next visible cursor position. See
gtk_text_iter_forward_cursor_position() for details."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="backward_visible_cursor_position"
c:identifier="gtk_text_iter_backward_visible_cursor_position"
doc="Moves @iter forward to the previous visible cursor position. See
gtk_text_iter_backward_cursor_position() for details."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="forward_visible_cursor_positions"
c:identifier="gtk_text_iter_forward_visible_cursor_positions"
doc="Moves up to @count visible cursor positions. See
gtk_text_iter_forward_cursor_position() for details."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="backward_visible_cursor_positions"
c:identifier="gtk_text_iter_backward_visible_cursor_positions"
doc="Moves up to @count visible cursor positions. See
gtk_text_iter_backward_cursor_position() for details."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_offset"
c:identifier="gtk_text_iter_set_offset"
doc="Sets @iter to point to @char_offset. @char_offset counts from the start
of the entire text buffer, starting with 0.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="char_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_line"
c:identifier="gtk_text_iter_set_line"
doc="Moves iterator @iter to the start of the line @line_number. If
buffer, moves @iter to the start of the last line in the buffer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="line_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_line_offset"
c:identifier="gtk_text_iter_set_line_offset"
doc="Moves @iter within a line, to a new &lt;emphasis&gt;character&lt;/emphasis&gt;
(not byte) offset. The given character offset must be less than or
equal to the number of characters in the line; if equal, @iter
moves to the start of the next line. See
gtk_text_iter_set_line_index() if you have a byte index rather than
a character offset.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="char_on_line" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_line_index"
c:identifier="gtk_text_iter_set_line_index"
doc="Same as gtk_text_iter_set_line_offset(), but works with a
&lt;emphasis&gt;byte&lt;/emphasis&gt; index. The given byte index must be at
the start of a character, it can&apos;t be in the middle of a UTF-8
encoded character.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="byte_on_line" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_to_end"
c:identifier="gtk_text_iter_forward_to_end"
doc="Moves @iter forward to the &quot;end iterator,&quot; which points one past the last
valid character in the buffer. gtk_text_iter_get_char() called on the
end iterator returns 0, which is convenient for writing loops.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="forward_to_line_end"
c:identifier="gtk_text_iter_forward_to_line_end"
doc="Moves the iterator to point to the paragraph delimiter characters,
which will be either a newline, a carriage return, a carriage
return/newline in sequence, or the Unicode paragraph separator
character. If the iterator is already at the paragraph delimiter
characters, moves to the paragraph delimiter characters for the
next line. If @iter is on the last line in the buffer, which does
not end in paragraph delimiters, moves to the end iterator (end of
the last line), and returns %FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible_line_offset"
c:identifier="gtk_text_iter_set_visible_line_offset"
doc="Like gtk_text_iter_set_line_offset(), but the offset is in visible
characters, i.e. text with a tag making it invisible is not
counted in the offset.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="char_on_line" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_visible_line_index"
c:identifier="gtk_text_iter_set_visible_line_index"
doc="Like gtk_text_iter_set_line_index(), but the index is in visible
bytes, i.e. text with a tag making it invisible is not counted
in the index.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="byte_on_line" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="forward_to_tag_toggle"
c:identifier="gtk_text_iter_forward_to_tag_toggle"
doc="Moves forward to the next toggle (on or off) of the
#GtkTextTag @tag, or to the next toggle of any tag if
returns %FALSE, otherwise %TRUE. Does not return toggles
located at @iter, only toggles after @iter. Sets @iter to
the location of the toggle, or to the end of the buffer
if no toggle is found.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tag"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTextTag, or %NULL">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="backward_to_tag_toggle"
c:identifier="gtk_text_iter_backward_to_tag_toggle"
doc="Moves backward to the next toggle (on or off) of the
#GtkTextTag @tag, or to the next toggle of any tag if
returns %FALSE, otherwise %TRUE. Does not return toggles
located at @iter, only toggles before @iter. Sets @iter
to the location of the toggle, or the start of the buffer
if no toggle is found.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tag"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTextTag, or %NULL">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="forward_find_char"
c:identifier="gtk_text_iter_forward_find_char"
doc="Advances @iter, calling @pred on each character. If
If @pred never returns %TRUE, @iter is set to @limit if">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pred"
transfer-ownership="none"
scope="call"
closure="2">
<type name="TextCharPredicate" c:type="GtkTextCharPredicate"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="limit"
transfer-ownership="none"
allow-none="1"
doc="search limit, or %NULL for none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="backward_find_char"
c:identifier="gtk_text_iter_backward_find_char"
doc="Same as gtk_text_iter_forward_find_char(), but goes backward from @iter.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pred"
transfer-ownership="none"
scope="call"
closure="2">
<type name="TextCharPredicate" c:type="GtkTextCharPredicate"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="limit"
transfer-ownership="none"
allow-none="1"
doc="search limit, or %NULL for none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="forward_search"
c:identifier="gtk_text_iter_forward_search"
doc="Searches forward for @str. Any match is returned by setting
first character after the match. The search will not continue past
may wish to use @limit to avoid locking up your UI on large
buffers.
If the #GTK_TEXT_SEARCH_VISIBLE_ONLY flag is present, the match may
have invisible text interspersed in @str. i.e. @str will be a
possibly-noncontiguous subsequence of the matched range. similarly,
if you specify #GTK_TEXT_SEARCH_TEXT_ONLY, the match may have
pixbufs or child widgets mixed inside the matched range. If these
flags are not given, the match must be exact; the special 0xFFFC
character in @str will match embedded pixbufs or child widgets.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="TextSearchFlags" c:type="GtkTextSearchFlags"/>
</parameter>
<parameter name="match_start"
transfer-ownership="none"
allow-none="1"
doc="return location for start of match, or %NULL">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="match_end"
transfer-ownership="none"
allow-none="1"
doc="return location for end of match, or %NULL">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="limit"
transfer-ownership="none"
allow-none="1"
doc="bound for the search, or %NULL for the end of the buffer">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="backward_search"
c:identifier="gtk_text_iter_backward_search"
doc="Same as gtk_text_iter_forward_search(), but moves backward.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="TextSearchFlags" c:type="GtkTextSearchFlags"/>
</parameter>
<parameter name="match_start"
transfer-ownership="none"
allow-none="1"
doc="return location for start of match, or %NULL">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="match_end"
transfer-ownership="none"
allow-none="1"
doc="return location for end of match, or %NULL">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="limit"
transfer-ownership="none"
allow-none="1"
doc="location of last possible @match_start, or %NULL for start of buffer">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="equal"
c:identifier="gtk_text_iter_equal"
doc="Tests whether two iterators are equal, using the fastest possible
mechanism. This function is very fast; you can expect it to perform
better than e.g. getting the character offset for each iterator and
comparing the offsets yourself. Also, it&apos;s a bit faster than
gtk_text_iter_compare().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="rhs" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="compare"
c:identifier="gtk_text_iter_compare"
doc="A qsort()-style function that returns negative if @lhs is less than
Ordering is in character offset order, i.e. the first character in the buffer
is less than the second character in the buffer.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="rhs" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="in_range"
c:identifier="gtk_text_iter_in_range"
doc="Checks whether @iter falls in the range [@start, @end).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="order"
c:identifier="gtk_text_iter_order"
doc="Swaps the value of @first and @second if @second comes before
in sequence. Most text buffer functions that take a range call this
automatically on your behalf, so there&apos;s no real reason to call it yourself
in those cases. There are some exceptions, such as gtk_text_iter_in_range(),
that expect a pre-sorted range.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="second" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
</record>
<class name="TextLayout"
c:type="GtkTextLayout"
parent="GObject.Object"
glib:type-name="GtkTextLayout"
glib:get-type="gtk_text_layout_get_type"
glib:type-struct="TextLayoutClass">
<constructor name="new" c:identifier="gtk_text_layout_new">
<return-value transfer-ownership="full">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</return-value>
</constructor>
<virtual-method name="wrap" invoker="wrap">
<return-value transfer-ownership="full">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</return-value>
<parameters>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="line_data" transfer-ownership="none">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_log_attrs">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="attrs" transfer-ownership="none">
<type name="Pango.LogAttr" c:type="PangoLogAttr**"/>
</parameter>
<parameter name="n_attrs" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="invalidate" invoker="invalidate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="free_line_data" invoker="free_line_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="line_data" transfer-ownership="none">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="invalidate_cursors" invoker="invalidate_cursors">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_buffer" c:identifier="gtk_text_layout_set_buffer">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none" allow-none="1">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</method>
<method name="get_buffer"
c:identifier="gtk_text_layout_get_buffer"
doc="Gets the text buffer used by the layout. See
gtk_text_layout_set_buffer().">
<return-value transfer-ownership="full">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</return-value>
</method>
<method name="set_default_style"
c:identifier="gtk_text_layout_set_default_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="values" transfer-ownership="none">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</parameter>
</parameters>
</method>
<method name="set_contexts" c:identifier="gtk_text_layout_set_contexts">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ltr_context" transfer-ownership="none">
<type name="Pango.Context" c:type="PangoContext*"/>
</parameter>
<parameter name="rtl_context" transfer-ownership="none">
<type name="Pango.Context" c:type="PangoContext*"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_direction"
c:identifier="gtk_text_layout_set_cursor_direction"
doc="%GTK_TEXT_DIR_NONE means draw cursors for both
left-to-right insertion and right-to-left insertion.
(The two cursors will be visually distinguished.)
Sets which text directions (left-to-right and/or right-to-left) for
which cursors will be drawn for the insertion point. The visual
point at which new text is inserted depends on whether the new
text is right-to-left or left-to-right, so it may be desired to
make the drawn position of the cursor depend on the keyboard state.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="direction"
transfer-ownership="none"
doc="for which to draw cursors.">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
</parameters>
</method>
<method name="set_overwrite_mode"
c:identifier="gtk_text_layout_set_overwrite_mode"
doc="Sets overwrite mode">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="overwrite" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_keyboard_direction"
c:identifier="gtk_text_layout_set_keyboard_direction"
doc="Sets the keyboard direction; this is used as for the bidirectional
base direction for the line with the cursor if the line contains
only neutral characters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="keyboard_dir" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
</parameters>
</method>
<method name="default_style_changed"
c:identifier="gtk_text_layout_default_style_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_screen_width"
c:identifier="gtk_text_layout_set_screen_width">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_preedit_string"
c:identifier="gtk_text_layout_set_preedit_string"
doc="Set the preedit string and attributes. The preedit string is a
string showing text that is currently being edited and not
yet committed into the buffer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preedit_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="preedit_attrs" transfer-ownership="none">
<type name="Pango.AttrList" c:type="PangoAttrList*"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_visible"
c:identifier="gtk_text_layout_set_cursor_visible"
doc="be shown, even if the text is editable.
Sets whether the insertion cursor should be shown. Generally,
widgets using #GtkTextLayout will hide the cursor when the
widget does not have the input focus.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cursor_visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_cursor_visible"
c:identifier="gtk_text_layout_get_cursor_visible"
doc="Returns whether the insertion cursor will be shown.
shown, even if the text is editable.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_size" c:identifier="gtk_text_layout_get_size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_lines" c:identifier="gtk_text_layout_get_lines">
<return-value transfer-ownership="container">
<type name="GLib.SList" c:type="GSList*">
<type name="TextLine"/>
</type>
</return-value>
<parameters>
<parameter name="top_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="bottom_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="first_line_y"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="wrap_loop_start"
c:identifier="gtk_text_layout_wrap_loop_start">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="wrap_loop_end"
c:identifier="gtk_text_layout_wrap_loop_end">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_line_display"
c:identifier="gtk_text_layout_get_line_display">
<return-value transfer-ownership="full">
<type name="TextLineDisplay" c:type="GtkTextLineDisplay*"/>
</return-value>
<parameters>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="size_only" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="free_line_display"
c:identifier="gtk_text_layout_free_line_display">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<type name="TextLineDisplay" c:type="GtkTextLineDisplay*"/>
</parameter>
</parameters>
</method>
<method name="get_line_at_y"
c:identifier="gtk_text_layout_get_line_at_y"
doc="top of the line. (Can by %NULL)
Get the iter at the beginning of the line which is displayed
at the given y.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="target_iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="line_top" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_pixel"
c:identifier="gtk_text_layout_get_iter_at_pixel">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_position"
c:identifier="gtk_text_layout_get_iter_at_position">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="trailing" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="invalidate" c:identifier="gtk_text_layout_invalidate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="invalidate_cursors"
c:identifier="gtk_text_layout_invalidate_cursors">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="free_line_data"
c:identifier="gtk_text_layout_free_line_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="line_data" transfer-ownership="none">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</parameter>
</parameters>
</method>
<method name="is_valid"
c:identifier="gtk_text_layout_is_valid"
doc="Check if there are any invalid regions in a #GtkTextLayout&apos;s buffer">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="validate_yrange"
c:identifier="gtk_text_layout_validate_yrange"
doc="coordinate origin
which to begin validation. (The offset here is in pixels
after validation.)
which to end validation. (The offset here is in pixels
after validation.)
Ensure that a region of a #GtkTextLayout is valid. The ::changed
signal will be emitted if any lines are validated.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="anchor_line" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="y0_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y1_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="validate"
c:identifier="gtk_text_layout_validate"
doc="than one paragraph beyond this limit will be validated)
Validate regions of a #GtkTextLayout. The ::changed signal will
be emitted for each region validated.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="max_pixels" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="wrap" c:identifier="gtk_text_layout_wrap">
<return-value transfer-ownership="full">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</return-value>
<parameters>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="line_data" transfer-ownership="none">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</parameter>
</parameters>
</method>
<method name="changed" c:identifier="gtk_text_layout_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="old_height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="new_height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="cursors_changed"
c:identifier="gtk_text_layout_cursors_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="old_height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="new_height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_iter_location"
c:identifier="gtk_text_layout_get_iter_location">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="rect" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="get_line_yrange"
c:identifier="gtk_text_layout_get_line_yrange"
doc="or %NULL.
or %NULL.
Find the range of y coordinates for the paragraph containing
the given iter.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_cursor_locations"
c:identifier="gtk_text_layout_get_cursor_locations"
doc="Given an iterator within a text layout, determine the positions of the
strong and weak cursors if the insertion point is at that
iterator. The position of each cursor is stored as a zero-width
rectangle. The strong cursor location is the location where
characters of the directionality equal to the base direction of the
paragraph are inserted. The weak cursor location is the location
where characters of the directionality opposite to the base
direction of the paragraph are inserted.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="strong_pos"
transfer-ownership="none"
allow-none="1">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="weak_pos" transfer-ownership="none" allow-none="1">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="clamp_iter_to_vrange"
c:identifier="gtk_text_layout_clamp_iter_to_vrange"
doc="If the iterator is not fully in the range @top &lt;= y &lt; @bottom,
then, if possible, move it the minimum distance so that the
iterator in this range.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="top" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="bottom" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="move_iter_to_line_end"
c:identifier="gtk_text_layout_move_iter_to_line_end"
doc="ve to end of line.
Move to the beginning or end of a display line.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="move_iter_to_previous_line"
c:identifier="gtk_text_layout_move_iter_to_previous_line"
doc="Move the iterator to the beginning of the previous line. The lines
of a wrapped paragraph are treated as distinct for this operation.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="move_iter_to_next_line"
c:identifier="gtk_text_layout_move_iter_to_next_line"
doc="Move the iterator to the beginning of the next line. The
lines of a wrapped paragraph are treated as distinct for
this operation.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="move_iter_to_x"
c:identifier="gtk_text_layout_move_iter_to_x"
doc="Keeping the iterator on the same line of the layout, move it to the
specified X coordinate. The lines of a wrapped paragraph are
treated as distinct for this operation.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="move_iter_visually"
c:identifier="gtk_text_layout_move_iter_visually"
doc="Move the iterator a given number of characters visually, treating
it as the strong cursor position. If @count is positive, then the
new strong cursor position will be @count positions to the right of
the old cursor position. If @count is negative then the new strong
cursor position will be @count positions to the left of the old
cursor position.
In the presence of bidirection text, the correspondence
between logical and visual order will depend on the direction
of the current run, and there may be jumps when the cursor
is moved off of the end of a run.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="iter_starts_line"
c:identifier="gtk_text_layout_iter_starts_line"
doc="Tests whether an iterator is at the start of a display line.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_line"
c:identifier="gtk_text_layout_get_iter_at_line">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="byte_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="spew" c:identifier="gtk_text_layout_spew">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="draw" c:identifier="gtk_text_layout_draw">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="drawable" transfer-ownership="none">
<type name="Gdk.Drawable" c:type="GdkDrawable*"/>
</parameter>
<parameter name="cursor_gc" transfer-ownership="none">
<type name="Gdk.GC" c:type="GdkGC*"/>
</parameter>
<parameter name="x_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y_offset" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="widgets" transfer-ownership="none">
<type name="GLib.List" c:type="GList**"/>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="screen_width">
<type name="int" c:type="gint"/>
</field>
<field name="width">
<type name="int" c:type="gint"/>
</field>
<field name="height">
<type name="int" c:type="gint"/>
</field>
<field name="buffer">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</field>
<field name="default_style">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</field>
<field name="ltr_context">
<type name="Pango.Context" c:type="PangoContext*"/>
</field>
<field name="rtl_context">
<type name="Pango.Context" c:type="PangoContext*"/>
</field>
<field name="one_style_cache">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</field>
<field name="one_display_cache">
<type name="TextLineDisplay" c:type="GtkTextLineDisplay*"/>
</field>
<field name="wrap_loop_count">
<type name="int" c:type="gint"/>
</field>
<field name="cursor_visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="cursor_direction" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="keyboard_direction" bits="2">
<type name="uint" c:type="guint"/>
</field>
<field name="preedit_string">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="preedit_attrs">
<type name="Pango.AttrList" c:type="PangoAttrList*"/>
</field>
<field name="preedit_len">
<type name="int" c:type="gint"/>
</field>
<field name="preedit_cursor">
<type name="int" c:type="gint"/>
</field>
<field name="overwrite_mode" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="allocate-child">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="invalidated">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="TextLayoutClass"
c:type="GtkTextLayoutClass"
glib:is-gtype-struct-for="TextLayout">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="invalidated">
<callback name="invalidated" c:type="invalidated">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="old_height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="new_height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="wrap">
<callback name="wrap" c:type="wrap">
<return-value transfer-ownership="full">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="line_data" transfer-ownership="none">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_log_attrs">
<callback name="get_log_attrs" c:type="get_log_attrs">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="attrs" transfer-ownership="none">
<type name="Pango.LogAttr" c:type="PangoLogAttr**"/>
</parameter>
<parameter name="n_attrs"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="invalidate">
<callback name="invalidate" c:type="invalidate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="free_line_data">
<callback name="free_line_data" c:type="free_line_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
<parameter name="line" transfer-ownership="none">
<type name="TextLine" c:type="GtkTextLine*"/>
</parameter>
<parameter name="line_data" transfer-ownership="none">
<type name="TextLineData" c:type="GtkTextLineData*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="allocate_child">
<callback name="allocate_child" c:type="allocate_child">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="invalidate_cursors">
<callback name="invalidate_cursors" c:type="invalidate_cursors">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="TextLine" c:type="GtkTextLine">
</record>
<record name="TextLineData" c:type="GtkTextLineData">
</record>
<record name="TextLineDisplay" c:type="GtkTextLineDisplay">
<field name="layout" writable="1">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</field>
<field name="cursors" writable="1">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="shaped_objects" writable="1">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="direction" writable="1">
<type name="TextDirection" c:type="GtkTextDirection"/>
</field>
<field name="width" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="total_width" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="height" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="x_offset" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="left_margin" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="right_margin" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="top_margin" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="bottom_margin" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="insert_index" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="size_only" writable="1">
<type name="boolean" c:type="gboolean"/>
</field>
<field name="line" writable="1">
<type name="TextLine" c:type="GtkTextLine*"/>
</field>
<field name="pg_bg_color" writable="1">
<type name="Gdk.Color" c:type="GdkColor*"/>
</field>
<field name="block_cursor" writable="1">
<type name="Gdk.Rectangle" c:type="GdkRectangle"/>
</field>
<field name="cursors_invalid" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_block_cursor" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="cursor_at_line_end" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="TextLogAttrCache" c:type="GtkTextLogAttrCache">
</record>
<class name="TextMark"
c:type="GtkTextMark"
parent="GObject.Object"
glib:type-name="GtkTextMark"
glib:get-type="gtk_text_mark_get_type"
glib:type-struct="TextMarkClass">
<constructor name="new"
c:identifier="gtk_text_mark_new"
doc="Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark().
If @name is %NULL, the mark is anonymous; otherwise, the mark can be
retrieved by name using gtk_text_buffer_get_mark(). If a mark has left
gravity, and text is inserted at the mark&apos;s current location, the mark
will be moved to the left of the newly-inserted text. If the mark has
right gravity (@left_gravity = %FALSE), the mark will end up on the
right of newly-inserted text. The standard left-to-right cursor is a
mark with right gravity (when you type, the cursor stays on the right
side of the text you&apos;re typing)."
version="2.12">
<return-value transfer-ownership="full">
<type name="TextMark" c:type="GtkTextMark*"/>
</return-value>
<parameters>
<parameter name="name"
transfer-ownership="none"
allow-none="1"
doc="mark name or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="left_gravity" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</constructor>
<method name="set_visible"
c:identifier="gtk_text_mark_set_visible"
doc="Sets the visibility of @mark; the insertion point is normally
visible, i.e. you can see it as a vertical bar. Also, the text
widget uses a visible mark to indicate where a drop will occur when
dragging-and-dropping text. Most other marks are not visible.
Marks are not visible by default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible"
c:identifier="gtk_text_mark_get_visible"
doc="Returns %TRUE if the mark is visible (i.e. a cursor is displayed
for it).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_name"
c:identifier="gtk_text_mark_get_name"
doc="Returns the mark name; returns NULL for anonymous marks.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_deleted"
c:identifier="gtk_text_mark_get_deleted"
doc="Returns %TRUE if the mark has been removed from its buffer
with gtk_text_buffer_delete_mark(). See gtk_text_buffer_add_mark()
for a way to add it to a buffer again.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_buffer"
c:identifier="gtk_text_mark_get_buffer"
doc="Gets the buffer this mark is located inside,
or %NULL if the mark is deleted.">
<return-value transfer-ownership="none"
doc="the mark&apos;s #GtkTextBuffer">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</return-value>
</method>
<method name="get_left_gravity"
c:identifier="gtk_text_mark_get_left_gravity"
doc="Determines whether the mark has left gravity.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="left-gravity" writable="1" construct-only="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="name" writable="1" construct-only="1">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="segment">
<type name="any" c:type="gpointer"/>
</field>
</class>
<record name="TextMarkClass"
c:type="GtkTextMarkClass"
glib:is-gtype-struct-for="TextMark">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="TextPendingScroll" c:type="GtkTextPendingScroll">
</record>
<bitfield name="TextSearchFlags"
glib:type-name="GtkTextSearchFlags"
glib:get-type="gtk_text_search_flags_get_type"
c:type="GtkTextSearchFlags">
<member name="visible_only"
value="1"
c:identifier="GTK_TEXT_SEARCH_VISIBLE_ONLY"
glib:nick="visible-only"/>
<member name="text_only"
value="2"
c:identifier="GTK_TEXT_SEARCH_TEXT_ONLY"
glib:nick="text-only"/>
</bitfield>
<class name="TextTag"
c:type="GtkTextTag"
parent="GObject.Object"
glib:type-name="GtkTextTag"
glib:get-type="gtk_text_tag_get_type"
glib:type-struct="TextTagClass">
<constructor name="new"
c:identifier="gtk_text_tag_new"
doc="Creates a #GtkTextTag. Configure the tag using object arguments,
i.e. using g_object_set().">
<return-value transfer-ownership="full">
<type name="TextTag" c:type="GtkTextTag*"/>
</return-value>
<parameters>
<parameter name="name"
transfer-ownership="none"
allow-none="1"
doc="tag name, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_priority"
c:identifier="gtk_text_tag_get_priority"
doc="Get the tag priority.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_priority"
c:identifier="gtk_text_tag_set_priority"
doc="Sets the priority of a #GtkTextTag. Valid priorities are
start at 0 and go to one less than gtk_text_tag_table_get_size().
Each tag in a table has a unique priority; setting the priority
of one tag shifts the priorities of all the other tags in the
table to maintain a unique priority for each tag. Higher priority
tags &quot;win&quot; if two tags both set the same text attribute. When adding
a tag to a tag table, it will be assigned the highest priority in
the table by default; so normally the precedence of a set of tags
is the order in which they were added to the table, or created with
gtk_text_buffer_create_tag(), which adds the tag to the buffer&apos;s table
automatically.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="priority" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="event"
c:identifier="gtk_text_tag_event"
doc="Emits the &quot;event&quot; signal on the #GtkTextTag.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event_object" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<property name="accumulative-margin"
version="2.12"
writable="1"
doc="Whether the margins accumulate or override each other.
When set to %TRUE the margins of this tag are added to the margins
of any other non-accumulative margins present. When set to %FALSE
the margins override one another (the default).">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="background" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="background-full-height" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="background-full-height-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="background-gdk" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="background-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="background-stipple" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap"/>
</property>
<property name="background-stipple-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="direction" writable="1">
<type name="TextDirection" c:type="GtkTextDirection"/>
</property>
<property name="editable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="editable-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="family" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="family-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="font"
writable="1"
doc="Font description as string, e.g. \&quot;Sans Italic 12\&quot;.
Note that the initial value of this property depends on
the internals of #PangoFontDescription.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="font-desc" writable="1">
<type name="Pango.FontDescription" c:type="PangoFontDescription"/>
</property>
<property name="foreground" readable="0" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="foreground-gdk" writable="1">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="foreground-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="foreground-stipple" writable="1">
<type name="Gdk.Pixmap" c:type="GdkPixmap"/>
</property>
<property name="foreground-stipple-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="indent" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="indent-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="invisible"
version="2.8"
writable="1"
doc="Whether this text is hidden.
Note that there may still be problems with the support for invisible
text, in particular when navigating programmatically inside a buffer
containing invisible segments.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="invisible-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="justification" writable="1">
<type name="Justification" c:type="GtkJustification"/>
</property>
<property name="justification-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="language"
writable="1"
doc="The language this text is in, as an ISO code. Pango can use this as a
hint when rendering the text. If not set, an appropriate default will be
used.
Note that the initial value of this property depends on the current
locale, see also gtk_get_default_language().">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="language-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="left-margin" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="left-margin-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="name" writable="1" construct-only="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="paragraph-background"
version="2.8"
readable="0"
writable="1"
doc="The paragraph background color as a string.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="paragraph-background-gdk"
version="2.8"
writable="1"
doc="The paragraph background color as a as a (possibly unallocated)
#GdkColor.">
<type name="Gdk.Color" c:type="GdkColor"/>
</property>
<property name="paragraph-background-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="pixels-above-lines" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="pixels-above-lines-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="pixels-below-lines" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="pixels-below-lines-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="pixels-inside-wrap" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="pixels-inside-wrap-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="right-margin" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="right-margin-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="rise" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="rise-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="scale" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="scale-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="size" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="size-points" writable="1">
<type name="double" c:type="gdouble"/>
</property>
<property name="size-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="stretch" writable="1">
<type name="Pango.Stretch" c:type="PangoStretch"/>
</property>
<property name="stretch-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="strikethrough" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="strikethrough-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="style" writable="1">
<type name="Pango.Style" c:type="PangoStyle"/>
</property>
<property name="style-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="tabs" writable="1">
<type name="Pango.TabArray" c:type="PangoTabArray"/>
</property>
<property name="tabs-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="underline" writable="1">
<type name="Pango.Underline" c:type="PangoUnderline"/>
</property>
<property name="underline-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="variant" writable="1">
<type name="Pango.Variant" c:type="PangoVariant"/>
</property>
<property name="variant-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="weight" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="weight-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="wrap-mode" writable="1">
<type name="WrapMode" c:type="GtkWrapMode"/>
</property>
<property name="wrap-mode-set" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="table">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</field>
<field name="name">
<type name="utf8" c:type="char*"/>
</field>
<field name="priority">
<type name="int" c:type="int"/>
</field>
<field name="values">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</field>
<field name="bg_color_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="bg_stipple_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="fg_color_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="scale_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="fg_stipple_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="justification_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="left_margin_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="indent_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="rise_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="strikethrough_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="right_margin_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pixels_above_lines_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pixels_below_lines_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pixels_inside_wrap_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="tabs_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="underline_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="wrap_mode_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="bg_full_height_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="invisible_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="editable_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="language_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pg_bg_color_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="accumulative_margin" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="pad1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="event"
doc="The ::event signal is emitted when an event occurs on a region of the
buffer marked with this tag.
event. %FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="TextTagClass"
c:type="GtkTextTagClass"
glib:is-gtype-struct-for="TextTag">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="event">
<callback name="event" c:type="event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter name="event_object" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="TextTagTable"
c:type="GtkTextTagTable"
parent="GObject.Object"
glib:type-name="GtkTextTagTable"
glib:get-type="gtk_text_tag_table_get_type"
glib:type-struct="TextTagTableClass">
<constructor name="new"
c:identifier="gtk_text_tag_table_new"
doc="Creates a new #GtkTextTagTable. The table contains no tags by
default.">
<return-value transfer-ownership="full">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</return-value>
</constructor>
<method name="add"
c:identifier="gtk_text_tag_table_add"
doc="Add a tag to the table. The tag is assigned the highest priority
in the table.
the same name as an already-added tag.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="remove"
c:identifier="gtk_text_tag_table_remove"
doc="Remove a tag from the table. This will remove the table&apos;s
reference to the tag, so be careful - the tag will end
up destroyed if you don&apos;t have a reference to it.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</method>
<method name="lookup"
c:identifier="gtk_text_tag_table_lookup"
doc="Look up a named tag.">
<return-value transfer-ownership="none"
doc="The tag, or %NULL if none by that name is in the table.">
<type name="TextTag" c:type="GtkTextTag*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="foreach"
c:identifier="gtk_text_tag_table_foreach"
doc="Calls @func on each tag in @table, with user data @data.
Note that the table may not be modified while iterating
over it (you can&apos;t add/remove tags).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="TextTagTableForeach" c:type="GtkTextTagTableForeach"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_size"
c:identifier="gtk_text_tag_table_get_size"
doc="Returns the size of the table (number of tags)">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="hash">
<type name="GLib.HashTable" c:type="GHashTable*"/>
</field>
<field name="anonymous">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="anon_count">
<type name="int" c:type="gint"/>
</field>
<field name="buffers">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<glib:signal name="tag-added">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="tag-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="tag-removed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="TextTagTableClass"
c:type="GtkTextTagTableClass"
glib:is-gtype-struct-for="TextTagTable">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="tag_changed">
<callback name="tag_changed" c:type="tag_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="table" transfer-ownership="none">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</parameter>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter name="size_changed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tag_added">
<callback name="tag_added" c:type="tag_added">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="table" transfer-ownership="none">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</parameter>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tag_removed">
<callback name="tag_removed" c:type="tag_removed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="table" transfer-ownership="none">
<type name="TextTagTable" c:type="GtkTextTagTable*"/>
</parameter>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="TextTagTableForeach" c:type="GtkTextTagTableForeach">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tag" transfer-ownership="none">
<type name="TextTag" c:type="GtkTextTag*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<class name="TextView"
c:type="GtkTextView"
parent="Container"
glib:type-name="GtkTextView"
glib:get-type="gtk_text_view_get_type"
glib:type-struct="TextViewClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_text_view_new"
doc="Creates a new #GtkTextView. If you don&apos;t call gtk_text_view_set_buffer()
before using the text view, an empty default buffer will be created
for you. Get the buffer with gtk_text_view_get_buffer(). If you want
to specify your own buffer, consider gtk_text_view_new_with_buffer().">
<return-value transfer-ownership="full">
<type name="TextView" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_buffer"
c:identifier="gtk_text_view_new_with_buffer"
doc="Creates a new #GtkTextView widget displaying the buffer
this function is equivalent to gtk_text_view_new(). The
text view adds its own reference count to the buffer; it does not
take over an existing reference.">
<return-value transfer-ownership="full">
<type name="TextView" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="move_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_buffer"
c:identifier="gtk_text_view_set_buffer"
doc="Sets @buffer as the buffer being displayed by @text_view. The previous
buffer displayed by the text view is unreferenced, and a reference is
added to @buffer. If you owned a reference to @buffer before passing it
to this function, you must remove that reference yourself; #GtkTextView
will not &quot;adopt&quot; it.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTextBuffer">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</method>
<method name="get_buffer"
c:identifier="gtk_text_view_get_buffer"
doc="Returns the #GtkTextBuffer being displayed by this text view.
The reference count on the buffer is not incremented; the caller
of this function won&apos;t own a new reference.">
<return-value transfer-ownership="none" doc="a #GtkTextBuffer">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</return-value>
</method>
<method name="scroll_to_iter"
c:identifier="gtk_text_view_scroll_to_iter"
doc="just get the mark onscreen)
Scrolls @text_view so that @iter is on the screen in the position
indicated by @xalign and @yalign. An alignment of 0.0 indicates
left or top, 1.0 indicates right or bottom, 0.5 means center.
If @use_align is %FALSE, the text scrolls the minimal distance to
get the mark onscreen, possibly not scrolling at all. The effective
screen for purposes of this function is reduced by a margin of size
Note that this function uses the currently-computed height of the
lines in the text buffer. Line heights are computed in an idle
handler; so this function may not have the desired effect if it&apos;s
called before the height computations. To avoid oddness, consider
using gtk_text_view_scroll_to_mark() which saves a point to be
scrolled to after line validation.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="within_margin" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="use_align" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="xalign" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="scroll_to_mark"
c:identifier="gtk_text_view_scroll_to_mark"
doc="get the mark onscreen)
Scrolls @text_view so that @mark is on the screen in the position
indicated by @xalign and @yalign. An alignment of 0.0 indicates
left or top, 1.0 indicates right or bottom, 0.5 means center.
If @use_align is %FALSE, the text scrolls the minimal distance to
get the mark onscreen, possibly not scrolling at all. The effective
screen for purposes of this function is reduced by a margin of size">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
<parameter name="within_margin" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="use_align" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="xalign" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="yalign" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="scroll_mark_onscreen"
c:identifier="gtk_text_view_scroll_mark_onscreen"
doc="Scrolls @text_view the minimum distance such that @mark is contained
within the visible area of the widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
</parameters>
</method>
<method name="move_mark_onscreen"
c:identifier="gtk_text_view_move_mark_onscreen"
doc="Moves a mark within the buffer so that it&apos;s
located within the currently-visible text area.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="mark" transfer-ownership="none">
<type name="TextMark" c:type="GtkTextMark*"/>
</parameter>
</parameters>
</method>
<method name="place_cursor_onscreen"
c:identifier="gtk_text_view_place_cursor_onscreen"
doc="Moves the cursor to the currently visible region of the
buffer, it it isn&apos;t there already.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_visible_rect"
c:identifier="gtk_text_view_get_visible_rect"
doc="Fills @visible_rect with the currently-visible
region of the buffer, in buffer coordinates. Convert to window coordinates
with gtk_text_view_buffer_to_window_coords().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible_rect" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_visible"
c:identifier="gtk_text_view_set_cursor_visible"
doc="Toggles whether the insertion point is displayed. A buffer with no editable
text probably shouldn&apos;t have a visible cursor, so you may want to turn
the cursor off.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_cursor_visible"
c:identifier="gtk_text_view_get_cursor_visible"
doc="Find out whether the cursor is being displayed.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_iter_location"
c:identifier="gtk_text_view_get_iter_location"
doc="Gets a rectangle which roughly contains the character at @iter.
The rectangle position is in buffer coordinates; use
gtk_text_view_buffer_to_window_coords() to convert these
coordinates to coordinates for one of the windows in the text view.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="location" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_location"
c:identifier="gtk_text_view_get_iter_at_location"
doc="Retrieves the iterator at buffer coordinates @x and @y. Buffer
coordinates are coordinates for the entire buffer, not just the
currently-displayed portion. If you have coordinates from an
event, you have to convert those to buffer coordinates with
gtk_text_view_window_to_buffer_coords().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_iter_at_position"
c:identifier="gtk_text_view_get_iter_at_position"
doc="in the grapheme the user clicked. It will either be
zero, or the number of characters in the grapheme.
0 represents the trailing edge of the grapheme.
Retrieves the iterator pointing to the character at buffer
coordinates @x and @y. Buffer coordinates are coordinates for
the entire buffer, not just the currently-displayed portion.
If you have coordinates from an event, you have to convert
those to buffer coordinates with
gtk_text_view_window_to_buffer_coords().
Note that this is different from gtk_text_view_get_iter_at_location(),
which returns cursor locations, i.e. positions &lt;emphasis&gt;between&lt;/emphasis&gt;
characters."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="trailing" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_line_yrange"
c:identifier="gtk_text_view_get_line_yrange"
doc="Gets the y coordinate of the top of the line containing @iter,
and the height of the line. The coordinate is a buffer coordinate;
convert to window coordinates with gtk_text_view_buffer_to_window_coords().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_line_at_y"
c:identifier="gtk_text_view_get_line_at_y"
doc="Gets the #GtkTextIter at the start of the line containing
the coordinate @y. @y is in buffer coordinates, convert from
window coordinates with gtk_text_view_window_to_buffer_coords().
If non-%NULL, @line_top will be filled with the coordinate of the top
edge of the line.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="target_iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="line_top" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="buffer_to_window_coords"
c:identifier="gtk_text_view_buffer_to_window_coords"
doc="Converts coordinate (@buffer_x, @buffer_y) to coordinates for the window
Note that you can&apos;t convert coordinates for a nonexisting window (see
gtk_text_view_set_border_window_size()).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="win" transfer-ownership="none">
<type name="TextWindowType" c:type="GtkTextWindowType"/>
</parameter>
<parameter name="buffer_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="buffer_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="window_x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="window_y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="window_to_buffer_coords"
c:identifier="gtk_text_view_window_to_buffer_coords"
doc="Converts coordinates on the window identified by @win to buffer
coordinates, storing the result in (@buffer_x,@buffer_y).
Note that you can&apos;t convert coordinates for a nonexisting window (see
gtk_text_view_set_border_window_size()).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="win" transfer-ownership="none">
<type name="TextWindowType" c:type="GtkTextWindowType"/>
</parameter>
<parameter name="window_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="window_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="buffer_x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="buffer_y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_window"
c:identifier="gtk_text_view_get_window"
doc="Retrieves the #GdkWindow corresponding to an area of the text view;
possible windows include the overall widget window, child windows
on the left, right, top, bottom, and the window that displays the
text buffer. Windows are %NULL and nonexistent if their width or
height is 0, and are nonexistent before the widget has been
realized.">
<return-value transfer-ownership="none" doc="a #GdkWindow, or %NULL">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
<parameters>
<parameter name="win" transfer-ownership="none">
<type name="TextWindowType" c:type="GtkTextWindowType"/>
</parameter>
</parameters>
</method>
<method name="get_window_type"
c:identifier="gtk_text_view_get_window_type"
doc="Usually used to find out which window an event corresponds to.
If you connect to an event signal on @text_view, this function
should be called on &lt;literal&gt;event-&amp;gt;window&lt;/literal&gt; to
see which window it was.">
<return-value transfer-ownership="full">
<type name="TextWindowType" c:type="GtkTextWindowType"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
</parameters>
</method>
<method name="set_border_window_size"
c:identifier="gtk_text_view_set_border_window_size"
doc="Sets the width of %GTK_TEXT_WINDOW_LEFT or %GTK_TEXT_WINDOW_RIGHT,
or the height of %GTK_TEXT_WINDOW_TOP or %GTK_TEXT_WINDOW_BOTTOM.
Automatically destroys the corresponding window if the size is set
to 0, and creates the window if the size is set to non-zero. This
function can only be used for the &quot;border windows,&quot; it doesn&apos;t work
with #GTK_TEXT_WINDOW_WIDGET, #GTK_TEXT_WINDOW_TEXT, or
#GTK_TEXT_WINDOW_PRIVATE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="TextWindowType" c:type="GtkTextWindowType"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_border_window_size"
c:identifier="gtk_text_view_get_border_window_size"
doc="Gets the width of the specified border window. See
gtk_text_view_set_border_window_size().">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="TextWindowType" c:type="GtkTextWindowType"/>
</parameter>
</parameters>
</method>
<method name="forward_display_line"
c:identifier="gtk_text_view_forward_display_line"
doc="Moves the given @iter forward by one display (wrapped) line.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view&apos;s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="backward_display_line"
c:identifier="gtk_text_view_backward_display_line"
doc="Moves the given @iter backward by one display (wrapped) line.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view&apos;s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="forward_display_line_end"
c:identifier="gtk_text_view_forward_display_line_end"
doc="Moves the given @iter forward to the next display line end.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view&apos;s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="backward_display_line_start"
c:identifier="gtk_text_view_backward_display_line_start"
doc="Moves the given @iter backward to the next display line start.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view&apos;s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="starts_display_line"
c:identifier="gtk_text_view_starts_display_line"
doc="Determines whether @iter is at the start of a display line.
See gtk_text_view_forward_display_line() for an explanation of
display lines vs. paragraphs.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
</parameters>
</method>
<method name="move_visually"
c:identifier="gtk_text_view_move_visually"
doc="positive moves right)
Move the iterator a given number of characters visually, treating
it as the strong cursor position. If @count is positive, then the
new strong cursor position will be @count positions to the right of
the old cursor position. If @count is negative then the new strong
cursor position will be @count positions to the left of the old
cursor position.
In the presence of bi-directional text, the correspondence
between logical and visual order will depend on the direction
of the current run, and there may be jumps when the cursor
is moved off of the end of a run.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TextIter" c:type="GtkTextIter*"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_child_at_anchor"
c:identifier="gtk_text_view_add_child_at_anchor"
doc="Adds a child widget in the text buffer, at the given @anchor.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="anchor" transfer-ownership="none">
<type name="TextChildAnchor" c:type="GtkTextChildAnchor*"/>
</parameter>
</parameters>
</method>
<method name="add_child_in_window"
c:identifier="gtk_text_view_add_child_in_window"
doc="Adds a child at fixed coordinates in one of the text widget&apos;s
windows. The window must have nonzero size (see
gtk_text_view_set_border_window_size()). Note that the child
coordinates are given relative to the #GdkWindow in question, and
that these coordinates have no sane relationship to scrolling. When
placing a child in #GTK_TEXT_WINDOW_WIDGET, scrolling is
irrelevant, the child floats above all scrollable areas. But when
placing a child in one of the scrollable windows (border windows or
text window), you&apos;ll need to compute the child&apos;s correct position
in buffer coordinates any time scrolling occurs or buffer changes
occur, and then call gtk_text_view_move_child() to update the
child&apos;s position. Unfortunately there&apos;s no good way to detect that
scrolling has occurred, using the current API; a possible hack
would be to update all child positions when the scroll adjustments
change or the text buffer changes. See bug 64518 on
bugzilla.gnome.org for status of fixing this issue.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="which_window" transfer-ownership="none">
<type name="TextWindowType" c:type="GtkTextWindowType"/>
</parameter>
<parameter name="xpos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ypos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="move_child"
c:identifier="gtk_text_view_move_child"
doc="Updates the position of a child, as for gtk_text_view_add_child_in_window().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="xpos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ypos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_wrap_mode"
c:identifier="gtk_text_view_set_wrap_mode"
doc="Sets the line wrapping for the view.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wrap_mode" transfer-ownership="none">
<type name="WrapMode" c:type="GtkWrapMode"/>
</parameter>
</parameters>
</method>
<method name="get_wrap_mode"
c:identifier="gtk_text_view_get_wrap_mode"
doc="Gets the line wrapping for the view.">
<return-value transfer-ownership="full">
<type name="WrapMode" c:type="GtkWrapMode"/>
</return-value>
</method>
<method name="set_editable"
c:identifier="gtk_text_view_set_editable"
doc="Sets the default editability of the #GtkTextView. You can override
this default setting with tags in the buffer, using the &quot;editable&quot;
attribute of tags.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_editable"
c:identifier="gtk_text_view_get_editable"
doc="Returns the default editability of the #GtkTextView. Tags in the
buffer may override this setting for some ranges of text.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_overwrite"
c:identifier="gtk_text_view_set_overwrite"
doc="Changes the #GtkTextView overwrite mode."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="overwrite" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_overwrite"
c:identifier="gtk_text_view_get_overwrite"
doc="Returns whether the #GtkTextView is in overwrite mode or not."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_accepts_tab"
c:identifier="gtk_text_view_set_accepts_tab"
doc="character, %FALSE, if pressing the Tab key should move the
keyboard focus.
Sets the behavior of the text widget when the Tab key is pressed.
If @accepts_tab is %TRUE, a tab character is inserted. If @accepts_tab
is %FALSE the keyboard focus is moved to the next widget in the focus
chain."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accepts_tab" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_accepts_tab"
c:identifier="gtk_text_view_get_accepts_tab"
doc="Returns whether pressing the Tab key inserts a tab characters.
gtk_text_view_set_accepts_tab().
%FALSE if pressing the Tab key moves the keyboard focus."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_pixels_above_lines"
c:identifier="gtk_text_view_set_pixels_above_lines"
doc="Sets the default number of blank pixels above paragraphs in @text_view.
Tags in the buffer for @text_view may override the defaults.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixels_above_lines" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_pixels_above_lines"
c:identifier="gtk_text_view_get_pixels_above_lines"
doc="Gets the default number of pixels to put above paragraphs.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_pixels_below_lines"
c:identifier="gtk_text_view_set_pixels_below_lines"
doc="Sets the default number of pixels of blank space
to put below paragraphs in @text_view. May be overridden
by tags applied to @text_view&apos;s buffer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixels_below_lines" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_pixels_below_lines"
c:identifier="gtk_text_view_get_pixels_below_lines"
doc="Gets the value set by gtk_text_view_set_pixels_below_lines().">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_pixels_inside_wrap"
c:identifier="gtk_text_view_set_pixels_inside_wrap"
doc="Sets the default number of pixels of blank space to leave between
display/wrapped lines within a paragraph. May be overridden by
tags in @text_view&apos;s buffer.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixels_inside_wrap" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_pixels_inside_wrap"
c:identifier="gtk_text_view_get_pixels_inside_wrap"
doc="Gets the value set by gtk_text_view_set_pixels_inside_wrap().">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_justification"
c:identifier="gtk_text_view_set_justification"
doc="Sets the default justification of text in @text_view.
Tags in the view&apos;s buffer may override the default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="justification" transfer-ownership="none">
<type name="Justification" c:type="GtkJustification"/>
</parameter>
</parameters>
</method>
<method name="get_justification"
c:identifier="gtk_text_view_get_justification"
doc="Gets the default justification of paragraphs in @text_view.
Tags in the buffer may override the default.">
<return-value transfer-ownership="full">
<type name="Justification" c:type="GtkJustification"/>
</return-value>
</method>
<method name="set_left_margin"
c:identifier="gtk_text_view_set_left_margin"
doc="Sets the default left margin for text in @text_view.
Tags in the buffer may override the default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="left_margin" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_left_margin"
c:identifier="gtk_text_view_get_left_margin"
doc="Gets the default left margin size of paragraphs in the @text_view.
Tags in the buffer may override the default.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_right_margin"
c:identifier="gtk_text_view_set_right_margin"
doc="Sets the default right margin for text in the text view.
Tags in the buffer may override the default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="right_margin" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_right_margin"
c:identifier="gtk_text_view_get_right_margin"
doc="Gets the default right margin for text in @text_view. Tags
in the buffer may override the default.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_indent"
c:identifier="gtk_text_view_set_indent"
doc="Sets the default indentation for paragraphs in @text_view.
Tags in the buffer may override the default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="indent" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_indent"
c:identifier="gtk_text_view_get_indent"
doc="Gets the default indentation of paragraphs in @text_view.
Tags in the view&apos;s buffer may override the default.
The indentation may be negative.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_tabs"
c:identifier="gtk_text_view_set_tabs"
doc="Sets the default tab stops for paragraphs in @text_view.
Tags in the buffer may override the default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tabs" transfer-ownership="none">
<type name="Pango.TabArray" c:type="PangoTabArray*"/>
</parameter>
</parameters>
</method>
<method name="get_tabs"
c:identifier="gtk_text_view_get_tabs"
doc="Gets the default tabs for @text_view. Tags in the buffer may
override the defaults. The returned array will be %NULL if
&quot;standard&quot; (8-space) tabs are used. Free the return value
with pango_tab_array_free().
tabs are used; must be freed with pango_tab_array_free().">
<return-value transfer-ownership="full">
<type name="Pango.TabArray" c:type="PangoTabArray*"/>
</return-value>
</method>
<method name="get_default_attributes"
c:identifier="gtk_text_view_get_default_attributes"
doc="Obtains a copy of the default text attributes. These are the
attributes used for text unless a tag overrides them.
You&apos;d typically pass the default attributes in to
gtk_text_iter_get_attributes() in order to get the
attributes in effect at a given text position.
The return value is a copy owned by the caller of this function,
and should be freed.">
<return-value transfer-ownership="full">
<type name="TextAttributes" c:type="GtkTextAttributes*"/>
</return-value>
</method>
<property name="accepts-tab" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="buffer" writable="1">
<type name="TextBuffer" c:type="GtkTextBuffer"/>
</property>
<property name="cursor-visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="editable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="im-module"
version="2.16"
writable="1"
doc="Which IM (input method) module should be used for this entry.
See #GtkIMContext.
Setting this to a non-%NULL value overrides the
system-wide IM module setting. See the GtkSettings
#GtkSettings:gtk-im-module property.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="indent" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="justification" writable="1">
<type name="Justification" c:type="GtkJustification"/>
</property>
<property name="left-margin" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="overwrite" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="pixels-above-lines" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="pixels-below-lines" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="pixels-inside-wrap" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="right-margin" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="tabs" writable="1">
<type name="Pango.TabArray" c:type="PangoTabArray"/>
</property>
<property name="wrap-mode" writable="1">
<type name="WrapMode" c:type="GtkWrapMode"/>
</property>
<field name="parent_instance">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="layout">
<type name="any" c:type="any*"/>
</field>
<field name="buffer">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</field>
<field name="selection_drag_handler">
<type name="uint" c:type="guint"/>
</field>
<field name="scroll_timeout">
<type name="uint" c:type="guint"/>
</field>
<field name="pixels_above_lines">
<type name="int" c:type="gint"/>
</field>
<field name="pixels_below_lines">
<type name="int" c:type="gint"/>
</field>
<field name="pixels_inside_wrap">
<type name="int" c:type="gint"/>
</field>
<field name="wrap_mode">
<type name="WrapMode" c:type="GtkWrapMode"/>
</field>
<field name="justify">
<type name="Justification" c:type="GtkJustification"/>
</field>
<field name="left_margin">
<type name="int" c:type="gint"/>
</field>
<field name="right_margin">
<type name="int" c:type="gint"/>
</field>
<field name="indent">
<type name="int" c:type="gint"/>
</field>
<field name="tabs">
<type name="Pango.TabArray" c:type="PangoTabArray*"/>
</field>
<field name="editable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="overwrite_mode" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="cursor_visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="need_im_reset" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="accepts_tab" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="width_changed" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="onscreen_validated" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="mouse_cursor_obscured" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="text_window">
<type name="TextWindow" c:type="GtkTextWindow*"/>
</field>
<field name="left_window">
<type name="TextWindow" c:type="GtkTextWindow*"/>
</field>
<field name="right_window">
<type name="TextWindow" c:type="GtkTextWindow*"/>
</field>
<field name="top_window">
<type name="TextWindow" c:type="GtkTextWindow*"/>
</field>
<field name="bottom_window">
<type name="TextWindow" c:type="GtkTextWindow*"/>
</field>
<field name="hadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="vadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="xoffset">
<type name="int" c:type="gint"/>
</field>
<field name="yoffset">
<type name="int" c:type="gint"/>
</field>
<field name="width">
<type name="int" c:type="gint"/>
</field>
<field name="height">
<type name="int" c:type="gint"/>
</field>
<field name="virtual_cursor_x">
<type name="int" c:type="gint"/>
</field>
<field name="virtual_cursor_y">
<type name="int" c:type="gint"/>
</field>
<field name="first_para_mark">
<type name="TextMark" c:type="GtkTextMark*"/>
</field>
<field name="first_para_pixels">
<type name="int" c:type="gint"/>
</field>
<field name="dnd_mark">
<type name="TextMark" c:type="GtkTextMark*"/>
</field>
<field name="blink_timeout">
<type name="uint" c:type="guint"/>
</field>
<field name="first_validate_idle">
<type name="uint" c:type="guint"/>
</field>
<field name="incremental_validate_idle">
<type name="uint" c:type="guint"/>
</field>
<field name="im_context">
<type name="IMContext" c:type="GtkIMContext*"/>
</field>
<field name="popup_menu">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="drag_start_x">
<type name="int" c:type="gint"/>
</field>
<field name="drag_start_y">
<type name="int" c:type="gint"/>
</field>
<field name="children">
<type name="GLib.SList" c:type="GSList*"/>
</field>
<field name="pending_scroll">
<type name="TextPendingScroll" c:type="GtkTextPendingScroll*"/>
</field>
<field name="pending_place_cursor_button">
<type name="int" c:type="gint"/>
</field>
<glib:signal name="backspace"
doc="The ::backspace signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user asks for it.
The default bindings for this signal are
Backspace and Shift-Backspace.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="copy-clipboard"
doc="The ::copy-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to copy the selection to the clipboard.
The default bindings for this signal are
Ctrl-c and Ctrl-Insert.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cut-clipboard"
doc="The ::cut-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cut the selection to the clipboard.
The default bindings for this signal are
Ctrl-x and Shift-Delete.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="delete-from-cursor"
doc="The ::delete-from-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a text deletion.
If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection
if there is one, otherwise it deletes the requested number
of characters.
The default bindings for this signal are
Delete for deleting a character, Ctrl-Delete for
deleting a word and Ctrl-Backspace for deleting a word
backwords.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="DeleteType" c:type="GtkDeleteType"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="insert-at-cursor"
doc="The ::insert-at-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates the insertion of a
fixed string at the cursor.
This signal has no default bindings.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-cursor"
doc="The ::move-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in @text_view, this signal causes
the viewport to be moved instead.
Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.
The default bindings for this signal come in two variants,
the variant with the Shift modifier extends the selection,
the variant without the Shift modifer does not.
There are too many key combinations to list them all here.
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys move by individual characters/lines&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-arrow key combinations move by words/paragraphs&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys move to the ends of the buffer&lt;/listitem&gt;
&lt;listitem&gt;PageUp/PageDown keys move vertically by pages&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-PageUp/PageDown keys move horizontally by pages&lt;/listitem&gt;
&lt;/itemizedlist&gt;">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-viewport"
doc="The ::move-viewport signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which can be bound to key combinations to allow the user
to move the viewport, i.e. change what part of the text view
is visible in a containing scrolled window.
There are no default bindings for this signal.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="step" transfer-ownership="none">
<type name="ScrollStep" c:type="GtkScrollStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="page-horizontally"
doc="The ::page-horizontally signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which can be bound to key combinations to allow the user
to initiate horizontal cursor movement by pages.
This signal should not be used anymore, instead use the
#GtkTextview::move-cursor signal with the #GTK_MOVEMENT_HORIZONTAL_PAGES
granularity.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="paste-clipboard"
doc="The ::paste-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to paste the contents of the clipboard
into the text view.
The default bindings for this signal are
Ctrl-v and Shift-Insert.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="populate-popup"
doc="The ::populate-popup signal gets emitted before showing the
context menu of the text view.
If you need to add items to the context menu, connect
to this signal and append your menuitems to the @menu.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="preedit-changed"
doc="If an input method is used, the typed text will not immediately
be committed to the buffer. So if you are interested in the text,
connect to this signal.
This signal is only emitted if the text at the given position
is actually editable."
version="2.20">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="preedit" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="select-all"
doc="The ::select-all signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to select or unselect the complete
contents of the text view.
The default bindings for this signal are Ctrl-a and Ctrl-/
for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="select" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-anchor"
doc="The ::set-anchor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates setting the &quot;anchor&quot;
mark. The &quot;anchor&quot; mark gets placed at the same position as the
&quot;insert&quot; mark.
This signal has no default bindings.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="set-scroll-adjustments">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="toggle-cursor-visible"
doc="The ::toggle-cursor-visible signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to toggle the visibility of the cursor.
The default binding for this signal is F7.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="toggle-overwrite"
doc="The ::toggle-overwrite signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to toggle the overwrite mode of the text view.
The default bindings for this signal is Insert.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="TextViewClass"
c:type="GtkTextViewClass"
glib:is-gtype-struct-for="TextView">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="set_scroll_adjustments">
<callback name="set_scroll_adjustments"
c:type="set_scroll_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="populate_popup">
<callback name="populate_popup" c:type="populate_popup">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
<parameter name="menu" transfer-ownership="none">
<type name="Menu" c:type="GtkMenu*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_cursor">
<callback name="move_cursor" c:type="move_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="page_horizontally">
<callback name="page_horizontally" c:type="page_horizontally">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="extend_selection" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_anchor">
<callback name="set_anchor" c:type="set_anchor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_at_cursor">
<callback name="insert_at_cursor" c:type="insert_at_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
<parameter name="str" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="delete_from_cursor">
<callback name="delete_from_cursor" c:type="delete_from_cursor">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="DeleteType" c:type="GtkDeleteType"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="backspace">
<callback name="backspace" c:type="backspace">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cut_clipboard">
<callback name="cut_clipboard" c:type="cut_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="copy_clipboard">
<callback name="copy_clipboard" c:type="copy_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="paste_clipboard">
<callback name="paste_clipboard" c:type="paste_clipboard">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_overwrite">
<callback name="toggle_overwrite" c:type="toggle_overwrite">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_focus">
<callback name="move_focus" c:type="move_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text_view" transfer-ownership="none">
<type name="TextView" c:type="GtkTextView*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved7">
<callback name="gtk_reserved7" c:type="_gtk_reserved7">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="TextWindow" c:type="GtkTextWindow">
</record>
<enumeration name="TextWindowType"
glib:type-name="GtkTextWindowType"
glib:get-type="gtk_text_window_type_get_type"
c:type="GtkTextWindowType">
<member name="private"
value="0"
c:identifier="GTK_TEXT_WINDOW_PRIVATE"
glib:nick="private"/>
<member name="widget"
value="1"
c:identifier="GTK_TEXT_WINDOW_WIDGET"
glib:nick="widget"/>
<member name="text"
value="2"
c:identifier="GTK_TEXT_WINDOW_TEXT"
glib:nick="text"/>
<member name="left"
value="3"
c:identifier="GTK_TEXT_WINDOW_LEFT"
glib:nick="left"/>
<member name="right"
value="4"
c:identifier="GTK_TEXT_WINDOW_RIGHT"
glib:nick="right"/>
<member name="top"
value="5"
c:identifier="GTK_TEXT_WINDOW_TOP"
glib:nick="top"/>
<member name="bottom"
value="6"
c:identifier="GTK_TEXT_WINDOW_BOTTOM"
glib:nick="bottom"/>
</enumeration>
<record name="ThemeEngine" c:type="GtkThemeEngine">
</record>
<class name="TipsQuery"
c:type="GtkTipsQuery"
parent="Label"
glib:type-name="GtkTipsQuery"
glib:get-type="gtk_tips_query_get_type"
glib:type-struct="TipsQueryClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_tips_query_new">
<return-value transfer-ownership="full">
<type name="TipsQuery" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="start_query" c:identifier="gtk_tips_query_start_query">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="stop_query" c:identifier="gtk_tips_query_stop_query">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_caller" c:identifier="gtk_tips_query_set_caller">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="caller" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_labels" c:identifier="gtk_tips_query_set_labels">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label_inactive" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="label_no_tip" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<property name="caller" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="emit-always" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="label-inactive" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="label-no-tip" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="label">
<type name="Label" c:type="GtkLabel"/>
</field>
<field name="emit_always" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="in_query" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="label_inactive">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="label_no_tip">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="caller">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="last_crossed">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="query_cursor">
<type name="Gdk.Cursor" c:type="GdkCursor*"/>
</field>
<glib:signal name="start-query">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="stop-query">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="widget-entered">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="widget-selected">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="p2" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="TipsQueryClass"
c:type="GtkTipsQueryClass"
glib:is-gtype-struct-for="TipsQuery">
<field name="parent_class">
<type name="LabelClass" c:type="GtkLabelClass"/>
</field>
<field name="start_query">
<callback name="start_query" c:type="start_query">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tips_query" transfer-ownership="none">
<type name="TipsQuery" c:type="GtkTipsQuery*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="stop_query">
<callback name="stop_query" c:type="stop_query">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tips_query" transfer-ownership="none">
<type name="TipsQuery" c:type="GtkTipsQuery*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="widget_entered">
<callback name="widget_entered" c:type="widget_entered">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tips_query" transfer-ownership="none">
<type name="TipsQuery" c:type="GtkTipsQuery*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tip_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tip_private" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="widget_selected">
<callback name="widget_selected" c:type="widget_selected">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="tips_query" transfer-ownership="none">
<type name="TipsQuery" c:type="GtkTipsQuery*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tip_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tip_private" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventButton" c:type="GdkEventButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="ToggleAction"
c:type="GtkToggleAction"
parent="Action"
glib:type-name="GtkToggleAction"
glib:get-type="gtk_toggle_action_get_type"
glib:type-struct="ToggleActionClass">
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_toggle_action_new"
doc="action, or %NULL
Creates a new #GtkToggleAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel()."
version="2.4">
<return-value transfer-ownership="full">
<type name="ToggleAction" c:type="GtkToggleAction*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="The label displayed in menu items and on buttons, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tooltip"
transfer-ownership="none"
allow-none="1"
doc="A tooltip for the action, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="toggled"
c:identifier="gtk_toggle_action_toggled"
doc="Emits the &quot;toggled&quot; signal on the toggle action."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_active"
c:identifier="gtk_toggle_action_set_active"
doc="Sets the checked state on the toggle action."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_active" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_active"
c:identifier="gtk_toggle_action_get_active"
doc="Returns the checked state of the toggle action."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_draw_as_radio"
c:identifier="gtk_toggle_action_set_draw_as_radio"
doc="action
Sets whether the action should have proxies like a radio action."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="draw_as_radio" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_draw_as_radio"
c:identifier="gtk_toggle_action_get_draw_as_radio"
doc="Returns whether the action should have proxies like a radio action."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="active"
version="2.10"
writable="1"
doc="If the toggle action should be active in or not.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="draw-as-radio"
writable="1"
doc="Whether the proxies for this action look like radio action proxies.
This is an appearance property and thus only applies if
#GtkActivatable:use-action-appearance is %TRUE.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="Action" c:type="GtkAction"/>
</field>
<field name="private_data">
<type name="ToggleActionPrivate" c:type="GtkToggleActionPrivate*"/>
</field>
<glib:signal name="toggled">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ToggleActionClass"
c:type="GtkToggleActionClass"
glib:is-gtype-struct-for="ToggleAction">
<field name="parent_class">
<type name="ActionClass" c:type="GtkActionClass"/>
</field>
<field name="toggled">
<callback name="toggled" c:type="toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="ToggleAction" c:type="GtkToggleAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ToggleActionEntry" c:type="GtkToggleActionEntry">
<field name="name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="stock_id" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="label" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="accelerator" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="tooltip" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="callback" writable="1">
<type name="GObject.Callback" c:type="GCallback"/>
</field>
<field name="is_active" writable="1">
<type name="boolean" c:type="gboolean"/>
</field>
</record>
<record name="ToggleActionPrivate" c:type="GtkToggleActionPrivate">
</record>
<class name="ToggleButton"
c:type="GtkToggleButton"
parent="Button"
glib:type-name="GtkToggleButton"
glib:get-type="gtk_toggle_button_get_type"
glib:type-struct="ToggleButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new" c:identifier="gtk_toggle_button_new">
<return-value transfer-ownership="full">
<type name="ToggleButton" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_label"
c:identifier="gtk_toggle_button_new_with_label">
<return-value transfer-ownership="full">
<type name="ToggleButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_mnemonic"
c:identifier="gtk_toggle_button_new_with_mnemonic"
doc="mnemonic character
Creates a new #GtkToggleButton containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the button.">
<return-value transfer-ownership="full">
<type name="ToggleButton" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_mode"
c:identifier="gtk_toggle_button_set_mode"
doc="and label; if %FALSE, draw the button like a normal button
Sets whether the button is displayed as a separate indicator and label.
You can call this function on a checkbutton or a radiobutton with
This function only affects instances of classes like #GtkCheckButton
and #GtkRadioButton that derive from #GtkToggleButton,
not instances of #GtkToggleButton itself.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="draw_indicator" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_mode"
c:identifier="gtk_toggle_button_get_mode"
doc="Retrieves whether the button is displayed as a separate indicator
and label. See gtk_toggle_button_set_mode().
and label.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_active" c:identifier="gtk_toggle_button_set_active">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_active" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_active" c:identifier="gtk_toggle_button_get_active">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="toggled" c:identifier="gtk_toggle_button_toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_inconsistent"
c:identifier="gtk_toggle_button_set_inconsistent"
doc="If the user has selected a range of elements (such as some text or
spreadsheet cells) that are affected by a toggle button, and the
current values in that range are inconsistent, you may want to
display the toggle in an &quot;in between&quot; state. This function turns on
&quot;in between&quot; display. Normally you would turn off the inconsistent
state again if the user toggles the toggle button. This has to be
done manually, gtk_toggle_button_set_inconsistent() only affects
visual appearance, it doesn&apos;t affect the semantics of the button.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_inconsistent"
c:identifier="gtk_toggle_button_get_inconsistent"
doc="Gets the value set by gtk_toggle_button_set_inconsistent().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="active" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="draw-indicator" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="inconsistent" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="button">
<type name="Button" c:type="GtkButton"/>
</field>
<field name="active" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="draw_indicator" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="inconsistent" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="toggled">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ToggleButtonClass"
c:type="GtkToggleButtonClass"
glib:is-gtype-struct-for="ToggleButton">
<field name="parent_class">
<type name="ButtonClass" c:type="GtkButtonClass"/>
</field>
<field name="toggled">
<callback name="toggled" c:type="toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="toggle_button" transfer-ownership="none">
<type name="ToggleButton" c:type="GtkToggleButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="ToggleToolButton"
c:type="GtkToggleToolButton"
parent="ToolButton"
glib:type-name="GtkToggleToolButton"
glib:get-type="gtk_toggle_tool_button_get_type"
glib:type-struct="ToggleToolButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_toggle_tool_button_new"
doc="Returns a new #GtkToggleToolButton"
version="2.4">
<return-value transfer-ownership="full">
<type name="ToggleToolButton" c:type="GtkToolItem*"/>
</return-value>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_toggle_tool_button_new_from_stock"
doc="Creates a new #GtkToggleToolButton containing the image and text from a
stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
and #GTK_STOCK_APPLY.
It is an error if @stock_id is not a name of a stock item."
version="2.4">
<return-value transfer-ownership="full">
<type name="ToggleToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_active"
c:identifier="gtk_toggle_tool_button_set_active"
doc="Sets the status of the toggle tool button. Set to %TRUE if you
want the GtkToggleButton to be &apos;pressed in&apos;, and %FALSE to raise it.
This action causes the toggled signal to be emitted."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_active" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_active"
c:identifier="gtk_toggle_tool_button_get_active"
doc="Queries a #GtkToggleToolButton and returns its current state.
Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<property name="active"
version="2.8"
writable="1"
doc="If the toggle tool button should be pressed in or not.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="ToolButton" c:type="GtkToolButton"/>
</field>
<field name="priv">
<type name="ToggleToolButtonPrivate"
c:type="GtkToggleToolButtonPrivate*"/>
</field>
<glib:signal name="toggled"
doc="Emitted whenever the toggle tool button changes state.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ToggleToolButtonClass"
c:type="GtkToggleToolButtonClass"
glib:is-gtype-struct-for="ToggleToolButton">
<field name="parent_class">
<type name="ToolButtonClass" c:type="GtkToolButtonClass"/>
</field>
<field name="toggled">
<callback name="toggled" c:type="toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="ToggleToolButton" c:type="GtkToggleToolButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ToggleToolButtonPrivate" c:type="GtkToggleToolButtonPrivate">
</record>
<class name="ToolButton"
c:type="GtkToolButton"
parent="ToolItem"
glib:type-name="GtkToolButton"
glib:get-type="gtk_tool_button_get_type"
glib:type-struct="ToolButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_tool_button_new"
doc="Creates a new %GtkToolButton using @icon_widget as icon and @label as
label."
version="2.4">
<return-value transfer-ownership="full">
<type name="ToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="icon_widget"
transfer-ownership="none"
allow-none="1"
doc="a #GtkMisc widget that will be used as icon widget, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="a string that will be used as label, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_stock"
c:identifier="gtk_tool_button_new_from_stock"
doc="Creates a new #GtkToolButton containing the image and text from a
stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
and #GTK_STOCK_APPLY.
It is an error if @stock_id is not a name of a stock item."
version="2.4">
<return-value transfer-ownership="full">
<type name="ToolButton" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_label"
c:identifier="gtk_tool_button_set_label"
doc="Sets @label as the label used for the tool button. The &quot;label&quot; property
only has an effect if not overridden by a non-%NULL &quot;label_widget&quot; property.
If both the &quot;label_widget&quot; and &quot;label&quot; properties are %NULL, the label
is determined by the &quot;stock_id&quot; property. If the &quot;stock_id&quot; property is also
%NULL, @button will not have a label."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label"
transfer-ownership="none"
allow-none="1"
doc="a string that will be used as label, or %NULL.">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_tool_button_get_label"
doc="Returns the label used by the tool button, or %NULL if the tool button
doesn&apos;t have a label. or uses a the label from a stock item. The returned
string is owned by GTK+, and must not be modified or freed."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_use_underline"
c:identifier="gtk_tool_button_set_use_underline"
doc="If set, an underline in the label property indicates that the next character
should be used for the mnemonic accelerator key in the overflow menu. For
example, if the label property is &quot;_Open&quot; and @use_underline is %TRUE,
the label on the tool button will be &quot;Open&quot; and the item on the overflow
menu will have an underlined &apos;O&apos;.
Labels shown on tool buttons never have mnemonics on them; this property
only affects the menu item on the overflow menu."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_underline" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_underline"
c:identifier="gtk_tool_button_get_use_underline"
doc="Returns whether underscores in the label property are used as mnemonics
on menu items on the overflow menu. See gtk_tool_button_set_use_underline().
mnemonics on menu items on the overflow menu."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_stock_id"
c:identifier="gtk_tool_button_set_stock_id"
doc="Sets the name of the stock item. See gtk_tool_button_new_from_stock().
The stock_id property only has an effect if not
overridden by non-%NULL &quot;label&quot; and &quot;icon_widget&quot; properties."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="stock_id"
transfer-ownership="none"
allow-none="1"
doc="a name of a stock item, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_stock_id"
c:identifier="gtk_tool_button_get_stock_id"
doc="Returns the name of the stock item. See gtk_tool_button_set_stock_id().
The returned string is owned by GTK+ and must not be freed or modifed."
version="2.4">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_icon_name"
c:identifier="gtk_tool_button_set_icon_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_name"
c:identifier="gtk_tool_button_get_icon_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_icon_widget"
c:identifier="gtk_tool_button_set_icon_widget"
doc="Sets @icon as the widget used as icon on @button. If @icon_widget is
%NULL the icon is determined by the &quot;stock_id&quot; property. If the
&quot;stock_id&quot; property is also %NULL, @button will not have an icon."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_widget"
transfer-ownership="none"
allow-none="1"
doc="the widget used as icon, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_widget"
c:identifier="gtk_tool_button_get_icon_widget"
doc="Return the widget used as icon widget on @button. See
gtk_tool_button_set_icon_widget()."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_label_widget"
c:identifier="gtk_tool_button_set_label_widget"
doc="Sets @label_widget as the widget that will be used as the label
for @button. If @label_widget is %NULL the &quot;label&quot; property is used
as label. If &quot;label&quot; is also %NULL, the label in the stock item
determined by the &quot;stock_id&quot; property is used as label. If
&quot;stock_id&quot; is also %NULL, @button does not have a label."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label_widget"
transfer-ownership="none"
allow-none="1"
doc="the widget used as label, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_label_widget"
c:identifier="gtk_tool_button_get_label_widget"
doc="Returns the widget used as label on @button. See
gtk_tool_button_set_label_widget()."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<property name="icon-name"
version="2.8"
writable="1"
doc="The name of the themed icon displayed on the item.
This property only has an effect if not overridden by &quot;label&quot;,
&quot;icon_widget&quot; or &quot;stock_id&quot; properties.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="icon-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="label" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="label-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="stock-id" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="use-underline" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="ToolItem" c:type="GtkToolItem"/>
</field>
<field name="priv">
<type name="ToolButtonPrivate" c:type="GtkToolButtonPrivate*"/>
</field>
<glib:signal name="clicked"
doc="This signal is emitted when the tool button is clicked with the mouse
or activated with the keyboard.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ToolButtonClass"
c:type="GtkToolButtonClass"
glib:is-gtype-struct-for="ToolButton">
<field name="parent_class">
<type name="ToolItemClass" c:type="GtkToolItemClass"/>
</field>
<field name="button_type">
<type name="GType" c:type="GType"/>
</field>
<field name="clicked">
<callback name="clicked" c:type="clicked">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tool_item" transfer-ownership="none">
<type name="ToolButton" c:type="GtkToolButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ToolButtonPrivate" c:type="GtkToolButtonPrivate">
</record>
<class name="ToolItem"
c:type="GtkToolItem"
doc="The GtkToolItem struct contains only private data.
It should only be accessed through the functions described below."
parent="Bin"
glib:type-name="GtkToolItem"
glib:get-type="gtk_tool_item_get_type"
glib:type-struct="ToolItemClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_tool_item_new"
doc="Creates a new #GtkToolItem"
version="2.4">
<return-value transfer-ownership="full">
<type name="ToolItem" c:type="GtkToolItem*"/>
</return-value>
</constructor>
<method name="set_homogeneous"
c:identifier="gtk_tool_item_set_homogeneous"
doc="Sets whether @tool_item is to be allocated the same size as other
homogeneous items. The effect is that all homogeneous items will have
the same width as the widest of the items."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="homogeneous" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_homogeneous"
c:identifier="gtk_tool_item_get_homogeneous"
doc="Returns whether @tool_item is the same size as other homogeneous
items. See gtk_tool_item_set_homogeneous().
items."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_expand"
c:identifier="gtk_tool_item_set_expand"
doc="Sets whether @tool_item is allocated extra space when there
is more room on the toolbar then needed for the items. The
effect is that the item gets bigger when the toolbar gets bigger
and smaller when the toolbar gets smaller."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_expand"
c:identifier="gtk_tool_item_get_expand"
doc="Returns whether @tool_item is allocated extra space.
See gtk_tool_item_set_expand()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_tooltip"
c:identifier="gtk_tool_item_set_tooltip"
doc="Sets the #GtkTooltips object to be used for @tool_item, the
text to be displayed as tooltip on the item and the private text
to be used. See gtk_tooltips_set_tip()."
version="2.4"
deprecated="Use gtk_tool_item_set_tooltip_text() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltips" transfer-ownership="none">
<type name="Tooltips" c:type="GtkTooltips*"/>
</parameter>
<parameter name="tip_text"
transfer-ownership="none"
allow-none="1"
doc="text to be used as tooltip text for @tool_item">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tip_private"
transfer-ownership="none"
allow-none="1"
doc="text to be used as private tooltip text">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_text"
c:identifier="gtk_tool_item_set_tooltip_text"
doc="Sets the text to be displayed as tooltip on the item.
See gtk_widget_set_tooltip_text()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_markup"
c:identifier="gtk_tool_item_set_tooltip_markup"
doc="Sets the markup text to be displayed as tooltip on the item.
See gtk_widget_set_tooltip_markup()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="markup" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_use_drag_window"
c:identifier="gtk_tool_item_set_use_drag_window"
doc="Sets whether @tool_item has a drag window. When %TRUE the
toolitem can be used as a drag source through gtk_drag_source_set().
When @tool_item has a drag window it will intercept all events,
even those that would otherwise be sent to a child of @tool_item."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="use_drag_window" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_use_drag_window"
c:identifier="gtk_tool_item_get_use_drag_window"
doc="Returns whether @tool_item has a drag window. See
gtk_tool_item_set_use_drag_window()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible_horizontal"
c:identifier="gtk_tool_item_set_visible_horizontal"
doc="Sets whether @tool_item is visible when the toolbar is docked horizontally."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible_horizontal" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible_horizontal"
c:identifier="gtk_tool_item_get_visible_horizontal"
doc="Returns whether the @tool_item is visible on toolbars that are
docked horizontally.
docked horizontally."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible_vertical"
c:identifier="gtk_tool_item_set_visible_vertical"
doc="is in vertical mode
Sets whether @tool_item is visible when the toolbar is docked
vertically. Some tool items, such as text entries, are too wide to be
useful on a vertically docked toolbar. If @visible_vertical is %FALSE"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible_vertical" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible_vertical"
c:identifier="gtk_tool_item_get_visible_vertical"
doc="Returns whether @tool_item is visible when the toolbar is docked vertically.
See gtk_tool_item_set_visible_vertical()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_is_important"
c:identifier="gtk_tool_item_get_is_important"
doc="Returns whether @tool_item is considered important. See
gtk_tool_item_set_is_important()"
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_is_important"
c:identifier="gtk_tool_item_set_is_important"
doc="Sets whether @tool_item should be considered important. The #GtkToolButton
class uses this property to determine whether to show or hide its label
when the toolbar style is %GTK_TOOLBAR_BOTH_HORIZ. The result is that
only tool buttons with the &quot;is_important&quot; property set have labels, an
effect known as &quot;priority text&quot;"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_important" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_ellipsize_mode"
c:identifier="gtk_tool_item_get_ellipsize_mode"
doc="Returns the ellipsize mode used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out how text should
be ellipsized.
should be ellipsized."
version="2.20">
<return-value transfer-ownership="full">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</return-value>
</method>
<method name="get_icon_size"
c:identifier="gtk_tool_item_get_icon_size"
doc="Returns the icon size used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out what size icons
they should use.
used for @tool_item"
version="2.4">
<return-value transfer-ownership="full"
doc="a #GtkIconSize indicating the icon size">
<type name="int" c:type="GtkIconSize"/>
</return-value>
</method>
<method name="get_orientation"
c:identifier="gtk_tool_item_get_orientation"
doc="Returns the orientation used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out what size icons
they should use.
used for @tool_item"
version="2.4">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<method name="get_toolbar_style"
c:identifier="gtk_tool_item_get_toolbar_style"
doc="Returns the toolbar style used for @tool_item. Custom subclasses of
#GtkToolItem should call this function in the handler of the
GtkToolItem::toolbar_reconfigured signal to find out in what style
the toolbar is displayed and change themselves accordingly
Possibilities are:
&lt;itemizedlist&gt;
&lt;listitem&gt; GTK_TOOLBAR_BOTH, meaning the tool item should show
both an icon and a label, stacked vertically &lt;/listitem&gt;
&lt;listitem&gt; GTK_TOOLBAR_ICONS, meaning the toolbar shows
only icons &lt;/listitem&gt;
&lt;listitem&gt; GTK_TOOLBAR_TEXT, meaning the tool item should only
show text&lt;/listitem&gt;
&lt;listitem&gt; GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show
both an icon and a label, arranged horizontally (however, note the
#GtkToolButton::has_text_horizontally that makes tool buttons not
show labels when the toolbar style is GTK_TOOLBAR_BOTH_HORIZ.
&lt;/listitem&gt;
&lt;/itemizedlist&gt;
for @tool_item."
version="2.4">
<return-value transfer-ownership="full">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</return-value>
</method>
<method name="get_relief_style"
c:identifier="gtk_tool_item_get_relief_style"
doc="Returns the relief style of @tool_item. See gtk_button_set_relief_style().
Custom subclasses of #GtkToolItem should call this function in the handler
of the #GtkToolItem::toolbar_reconfigured signal to find out the
relief style of buttons.
for @tool_item."
version="2.4">
<return-value transfer-ownership="full">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</return-value>
</method>
<method name="get_text_alignment"
c:identifier="gtk_tool_item_get_text_alignment"
doc="Returns the text alignment used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out how text should
be aligned.
used for @tool_item"
version="2.20">
<return-value transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</return-value>
</method>
<method name="get_text_orientation"
c:identifier="gtk_tool_item_get_text_orientation"
doc="Returns the text orientation used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out how text should
be orientated.
used for @tool_item"
version="2.20">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<method name="get_text_size_group"
c:identifier="gtk_tool_item_get_text_size_group"
doc="Returns the size group used for labels in @tool_item. Custom subclasses of
#GtkToolItem should call this function and use the size group for labels."
version="2.20">
<return-value transfer-ownership="full">
<type name="SizeGroup" c:type="GtkSizeGroup*"/>
</return-value>
</method>
<method name="retrieve_proxy_menu_item"
c:identifier="gtk_tool_item_retrieve_proxy_menu_item"
doc="Returns the #GtkMenuItem that was last set by
gtk_tool_item_set_proxy_menu_item(), ie. the #GtkMenuItem
that is going to appear in the overflow menu.
overflow menu for @tool_item."
version="2.4">
<return-value transfer-ownership="none"
doc="The #GtkMenuItem that is going to appear in the">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_proxy_menu_item"
c:identifier="gtk_tool_item_get_proxy_menu_item"
doc="If @menu_item_id matches the string passed to
gtk_tool_item_set_proxy_menu_item() return the corresponding #GtkMenuItem.
Custom subclasses of #GtkToolItem should use this function to update
their menu item when the #GtkToolItem changes. That the
inadvertently change a menu item that they did not create.
gtk_tool_item_set_proxy_menu_item(), if the @menu_item_id&lt;!-- --&gt;s match."
version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="menu_item_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_proxy_menu_item"
c:identifier="gtk_tool_item_set_proxy_menu_item"
doc="Sets the #GtkMenuItem used in the toolbar overflow menu. The
should also be used with gtk_tool_item_get_proxy_menu_item()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="menu_item_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="menu_item" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="rebuild_menu"
c:identifier="gtk_tool_item_rebuild_menu"
doc="Calling this function signals to the toolbar that the
overflow menu item for @tool_item has changed. If the
overflow menu is visible when this function it called,
the menu will be rebuilt.
The function must be called when the tool item changes what it
will do in response to the #GtkToolItem::create-menu-proxy signal."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="toolbar_reconfigured"
c:identifier="gtk_tool_item_toolbar_reconfigured"
doc="Emits the signal #GtkToolItem::toolbar_reconfigured on @tool_item.
#GtkToolbar and other #GtkToolShell implementations use this function
to notify children, when some aspect of their configuration changes."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="is-important" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible-horizontal" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="visible-vertical" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="priv">
<type name="ToolItemPrivate" c:type="GtkToolItemPrivate*"/>
</field>
<glib:signal name="create-menu-proxy"
doc="This signal is emitted when the toolbar needs information from @tool_item
about whether the item should appear in the toolbar overflow menu. In
response the tool item should either
&lt;itemizedlist&gt;
&lt;listitem&gt;call gtk_tool_item_set_proxy_menu_item() with a %NULL
pointer and return %TRUE to indicate that the item should not appear
in the overflow menu
&lt;/listitem&gt;
&lt;listitem&gt; call gtk_tool_item_set_proxy_menu_item() with a new menu
item and return %TRUE, or
&lt;/listitem&gt;
&lt;listitem&gt; return %FALSE to indicate that the signal was not
handled by the item. This means that
the item will not appear in the overflow menu unless a later handler
installs a menu item.
&lt;/listitem&gt;
&lt;/itemizedlist&gt;
The toolbar may cache the result of this signal. When the tool item changes
how it will respond to this signal it must call gtk_tool_item_rebuild_menu()
to invalidate the cache and ensure that the toolbar rebuilds its overflow
menu.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="set-tooltip"
doc="This signal is emitted when the toolitem&apos;s tooltip changes.
Application developers can use gtk_tool_item_set_tooltip() to
set the item&apos;s tooltip.
need to use this signal anymore."
deprecated="With the new tooltip API, there is no"
deprecated-version="2.12">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tooltips" transfer-ownership="none">
<type name="Tooltips" c:type="GtkTooltips"/>
</parameter>
<parameter name="tip_text" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
<parameter name="tip_private" transfer-ownership="none">
<type name="utf8" c:type="gchararray"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="toolbar-reconfigured"
doc="This signal is emitted when some property of the toolbar that the
item is a child of changes. For custom subclasses of #GtkToolItem,
the default handler of this signal use the functions
&lt;itemizedlist&gt;
&lt;listitem&gt;gtk_tool_shell_get_orientation()&lt;/listitem&gt;
&lt;listitem&gt;gtk_tool_shell_get_style()&lt;/listitem&gt;
&lt;listitem&gt;gtk_tool_shell_get_icon_size()&lt;/listitem&gt;
&lt;listitem&gt;gtk_tool_shell_get_relief_style()&lt;/listitem&gt;
&lt;/itemizedlist&gt;
to find out what the toolbar should look like and change
themselves accordingly.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ToolItemClass"
c:type="GtkToolItemClass"
glib:is-gtype-struct-for="ToolItem">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="create_menu_proxy">
<callback name="create_menu_proxy" c:type="create_menu_proxy">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tool_item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toolbar_reconfigured">
<callback name="toolbar_reconfigured" c:type="toolbar_reconfigured">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tool_item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_tooltip">
<callback name="set_tooltip" c:type="set_tooltip">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tool_item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
<parameter name="tooltips" transfer-ownership="none">
<type name="Tooltips" c:type="GtkTooltips*"/>
</parameter>
<parameter name="tip_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tip_private" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="ToolItemGroup"
c:type="GtkToolItemGroup"
doc="This should not be accessed directly. Use the accessor functions below."
parent="Container"
glib:type-name="GtkToolItemGroup"
glib:get-type="gtk_tool_item_group_get_type"
glib:type-struct="ToolItemGroupClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="ToolShell"/>
<constructor name="new"
c:identifier="gtk_tool_item_group_new"
doc="Creates a new tool item group with label @label."
version="2.20">
<return-value transfer-ownership="full">
<type name="ToolItemGroup" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="set_label"
c:identifier="gtk_tool_item_group_set_label"
doc="Sets the label of the tool item group. The label is displayed in the header
of the group."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_label_widget"
c:identifier="gtk_tool_item_group_set_label_widget"
doc="Sets the label of the tool item group.
The label widget is displayed in the header of the group, in place
of the usual label."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_collapsed"
c:identifier="gtk_tool_item_group_set_collapsed"
doc="Sets whether the @group should be collapsed or expanded."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="collapsed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_ellipsize"
c:identifier="gtk_tool_item_group_set_ellipsize"
doc="Sets the ellipsization mode which should be used by labels in @group."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ellipsize" transfer-ownership="none">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</parameter>
</parameters>
</method>
<method name="set_header_relief"
c:identifier="gtk_tool_item_group_set_header_relief"
doc="Set the button relief of the group header.
See gtk_button_set_relief() for details."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="gtk_tool_item_group_get_label"
doc="Gets the label of @group.
and must not be modified. Note that %NULL is returned if a custom
label has been set with gtk_tool_item_group_set_label_widget()"
version="2.20">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="get_label_widget"
c:identifier="gtk_tool_item_group_get_label_widget"
doc="Gets the label widget of @group.
See gtk_tool_item_group_set_label_widget()."
version="2.20">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_collapsed"
c:identifier="gtk_tool_item_group_get_collapsed"
doc="Gets whether @group is collapsed or expanded."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_ellipsize"
c:identifier="gtk_tool_item_group_get_ellipsize"
doc="Gets the ellipsization mode of @group."
version="2.20">
<return-value transfer-ownership="full">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</return-value>
</method>
<method name="get_header_relief"
c:identifier="gtk_tool_item_group_get_header_relief"
doc="Gets the relief mode of the header button of @group."
version="2.20">
<return-value transfer-ownership="full">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</return-value>
</method>
<method name="insert"
c:identifier="gtk_tool_item_group_insert"
doc="The position -1 means end of list.
Inserts @item at @position in the list of children of @group."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_item_position"
c:identifier="gtk_tool_item_group_set_item_position"
doc="be a child of @group.
The position -1 means end of list.
Sets the position of @item in the list of children of @group."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_item_position"
c:identifier="gtk_tool_item_group_get_item_position"
doc="Gets the position of @item in @group as index."
version="2.20">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
</parameters>
</method>
<method name="get_n_items"
c:identifier="gtk_tool_item_group_get_n_items"
doc="Gets the number of tool items in @group."
version="2.20">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<method name="get_nth_item"
c:identifier="gtk_tool_item_group_get_nth_item"
doc="Gets the tool item at @index in group."
version="2.20">
<return-value transfer-ownership="full">
<type name="ToolItem" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_drop_item"
c:identifier="gtk_tool_item_group_get_drop_item"
doc="Gets the tool item at position (x, y)."
version="2.20">
<return-value transfer-ownership="full">
<type name="ToolItem" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="collapsed" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="ellipsize" writable="1">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</property>
<property name="header-relief" writable="1">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</property>
<property name="label" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="label-widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<field name="parent_instance">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="priv">
<type name="ToolItemGroupPrivate" c:type="GtkToolItemGroupPrivate*"/>
</field>
</class>
<record name="ToolItemGroupClass"
c:type="GtkToolItemGroupClass"
glib:is-gtype-struct-for="ToolItemGroup">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
</record>
<record name="ToolItemGroupPrivate" c:type="GtkToolItemGroupPrivate">
</record>
<record name="ToolItemPrivate" c:type="GtkToolItemPrivate">
</record>
<class name="ToolPalette"
c:type="GtkToolPalette"
doc="This should not be accessed directly. Use the accessor functions below."
parent="Container"
glib:type-name="GtkToolPalette"
glib:get-type="gtk_tool_palette_get_type"
glib:type-struct="ToolPaletteClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_tool_palette_new"
doc="Creates a new tool palette."
version="2.20">
<return-value transfer-ownership="full">
<type name="ToolPalette" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="get_drag_target_item"
c:identifier="gtk_tool_palette_get_drag_target_item"
doc="Gets the target entry for a dragged #GtkToolItem."
version="2.20">
<return-value transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</return-value>
</function>
<function name="get_drag_target_group"
c:identifier="gtk_tool_palette_get_drag_target_group"
doc="Get the target entry for a dragged #GtkToolItemGroup."
version="2.20">
<return-value transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</return-value>
</function>
<method name="set_group_position"
c:identifier="gtk_tool_palette_set_group_position"
doc="Sets the position of the group as an index of the tool palette.
If position is 0 the group will become the first child, if position is
-1 it will become the last child."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="ToolItemGroup" c:type="GtkToolItemGroup*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_exclusive"
c:identifier="gtk_tool_palette_set_exclusive"
doc="Sets whether the group should be exclusive or not.
If an exclusive group is expanded all other groups are collapsed."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="ToolItemGroup" c:type="GtkToolItemGroup*"/>
</parameter>
<parameter name="exclusive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_expand"
c:identifier="gtk_tool_palette_set_expand"
doc="Sets whether the group should be given extra space."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="ToolItemGroup" c:type="GtkToolItemGroup*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_group_position"
c:identifier="gtk_tool_palette_get_group_position"
doc="Gets the position of @group in @palette as index.
See gtk_tool_palette_set_group_position()."
version="2.20">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="ToolItemGroup" c:type="GtkToolItemGroup*"/>
</parameter>
</parameters>
</method>
<method name="get_exclusive"
c:identifier="gtk_tool_palette_get_exclusive"
doc="Gets whether @group is exclusive or not.
See gtk_tool_palette_set_exclusive()."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="ToolItemGroup" c:type="GtkToolItemGroup*"/>
</parameter>
</parameters>
</method>
<method name="get_expand"
c:identifier="gtk_tool_palette_get_expand"
doc="Gets whether group should be given extra space.
See gtk_tool_palette_set_expand()."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
<type name="ToolItemGroup" c:type="GtkToolItemGroup*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_size"
c:identifier="gtk_tool_palette_set_icon_size"
doc="palette shall have
Sets the size of icons in the tool palette."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_size"
transfer-ownership="none"
doc="the #GtkIconSize that icons in the tool">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="unset_icon_size"
c:identifier="gtk_tool_palette_unset_icon_size"
doc="Unsets the tool palette icon size set with gtk_tool_palette_set_icon_size(),
so that user preferences will be used to determine the icon size."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_style"
c:identifier="gtk_tool_palette_set_style"
doc="Sets the style (text, icons or both) of items in the tool palette."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</parameter>
</parameters>
</method>
<method name="unset_style"
c:identifier="gtk_tool_palette_unset_style"
doc="Unsets a toolbar style set with gtk_tool_palette_set_style(),
so that user preferences will be used to determine the toolbar style."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_icon_size"
c:identifier="gtk_tool_palette_get_icon_size"
doc="Gets the size of icons in the tool palette.
See gtk_tool_palette_set_icon_size()."
version="2.20">
<return-value transfer-ownership="full"
doc="the #GtkIconSize of icons in the tool palette">
<type name="int" c:type="GtkIconSize"/>
</return-value>
</method>
<method name="get_style"
c:identifier="gtk_tool_palette_get_style"
doc="Gets the style (icons, text or both) of items in the tool palette."
version="2.20">
<return-value transfer-ownership="full">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</return-value>
</method>
<method name="get_drop_item"
c:identifier="gtk_tool_palette_get_drop_item"
doc="Gets the item at position (x, y).
See gtk_tool_palette_get_drop_group()."
version="2.20">
<return-value transfer-ownership="full">
<type name="ToolItem" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_drop_group"
c:identifier="gtk_tool_palette_get_drop_group"
doc="Gets the group at position (x, y).
if there is no such group"
version="2.20">
<return-value transfer-ownership="full">
<type name="ToolItemGroup" c:type="GtkToolItemGroup*"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_drag_item"
c:identifier="gtk_tool_palette_get_drag_item"
doc="Get the dragged item from the selection.
This could be a #GtkToolItem or a #GtkToolItemGroup."
version="2.20">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="selection" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</method>
<method name="set_drag_source"
c:identifier="gtk_tool_palette_set_drag_source"
doc="which the widget should support
Sets the tool palette as a drag source.
Enables all groups and items in the tool palette as drag sources
on button 1 and button 3 press with copy and move actions.
See gtk_drag_source_set()."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="ToolPaletteDragTargets"
c:type="GtkToolPaletteDragTargets"/>
</parameter>
</parameters>
</method>
<method name="add_drag_dest"
c:identifier="gtk_tool_palette_add_drag_dest"
doc="on that widget
should support
Sets @palette as drag source (see gtk_tool_palette_set_drag_source())
and sets @widget as a drag destination for drags from @palette.
See gtk_drag_dest_set()."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="DestDefaults" c:type="GtkDestDefaults"/>
</parameter>
<parameter name="targets" transfer-ownership="none">
<type name="ToolPaletteDragTargets"
c:type="GtkToolPaletteDragTargets"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</method>
<method name="get_hadjustment"
c:identifier="gtk_tool_palette_get_hadjustment"
doc="Gets the horizontal adjustment of the tool palette."
version="2.20">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="get_vadjustment"
c:identifier="gtk_tool_palette_get_vadjustment"
doc="Gets the vertical adjustment of the tool palette."
version="2.20">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<property name="icon-size"
version="2.20"
writable="1"
doc="The size of the icons in a tool palette is normally determined by
the #GtkSettings:toolbar-icon-size setting. When this property is set,
it overrides the setting.
This should only be used for special-purpose tool palettes, normal
application tool palettes should respect the user preferences for the
size of icons.">
<type name="IconSize" c:type="GtkIconSize"/>
</property>
<property name="icon-size-set"
version="2.20"
writable="1"
doc="Is %TRUE if the #GtkToolPalette:icon-size property has been set.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="toolbar-style"
version="2.20"
writable="1"
doc="The style of items in the tool palette.">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</property>
<field name="parent_instance">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="priv">
<type name="ToolPalettePrivate" c:type="GtkToolPalettePrivate*"/>
</field>
<glib:signal name="set-scroll-adjustments"
doc="Set the scroll adjustments for the viewport.
Usually scrolled containers like GtkScrolledWindow will emit this
signal to connect two instances of GtkScrollbar to the scroll
directions of the GtkToolpalette."
version="2.20">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ToolPaletteClass"
c:type="GtkToolPaletteClass"
glib:is-gtype-struct-for="ToolPalette">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="set_scroll_adjustments">
<callback name="set_scroll_adjustments"
c:type="set_scroll_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<bitfield name="ToolPaletteDragTargets"
doc="Flags used to specify the supported drag targets."
glib:type-name="GtkToolPaletteDragTargets"
glib:get-type="gtk_tool_palette_drag_targets_get_type"
c:type="GtkToolPaletteDragTargets">
<member name="items"
value="1"
c:identifier="GTK_TOOL_PALETTE_DRAG_ITEMS"
glib:nick="items"/>
<member name="groups"
value="2"
c:identifier="GTK_TOOL_PALETTE_DRAG_GROUPS"
glib:nick="groups"/>
</bitfield>
<record name="ToolPalettePrivate" c:type="GtkToolPalettePrivate">
</record>
<interface name="ToolShell"
c:type="GtkToolShell"
doc="Dummy structure for accessing instances of #GtkToolShellIface."
glib:type-name="GtkToolShell"
glib:get-type="gtk_tool_shell_get_type"
glib:type-struct="ToolShellIface">
<prerequisite name="Widget"/>
<virtual-method name="get_icon_size" invoker="get_icon_size">
<return-value transfer-ownership="full">
<type name="IconSize" c:type="GtkIconSize"/>
</return-value>
</virtual-method>
<virtual-method name="get_orientation" invoker="get_orientation">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</virtual-method>
<virtual-method name="get_style" invoker="get_style">
<return-value transfer-ownership="full">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</return-value>
</virtual-method>
<virtual-method name="get_relief_style" invoker="get_relief_style">
<return-value transfer-ownership="full">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</return-value>
</virtual-method>
<virtual-method name="rebuild_menu" invoker="rebuild_menu">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="get_text_orientation"
invoker="get_text_orientation">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</virtual-method>
<virtual-method name="get_text_alignment" invoker="get_text_alignment">
<return-value transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</return-value>
</virtual-method>
<virtual-method name="get_ellipsize_mode" invoker="get_ellipsize_mode">
<return-value transfer-ownership="full">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</return-value>
</virtual-method>
<virtual-method name="get_text_size_group" invoker="get_text_size_group">
<return-value transfer-ownership="full">
<type name="SizeGroup" c:type="GtkSizeGroup*"/>
</return-value>
</virtual-method>
<method name="get_icon_size"
c:identifier="gtk_tool_shell_get_icon_size"
doc="Retrieves the icon size for the tool shell. Tool items must not call this
function directly, but rely on gtk_tool_item_get_icon_size() instead."
version="2.14">
<return-value transfer-ownership="full"
doc="the current size for icons of @shell">
<type name="int" c:type="GtkIconSize"/>
</return-value>
</method>
<method name="get_orientation"
c:identifier="gtk_tool_shell_get_orientation"
doc="Retrieves the current orientation for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_orientation()
instead."
version="2.14">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<method name="get_style"
c:identifier="gtk_tool_shell_get_style"
doc="Retrieves whether the tool shell has text, icons, or both. Tool items must
not call this function directly, but rely on gtk_tool_item_get_style()
instead."
version="2.14">
<return-value transfer-ownership="full">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</return-value>
</method>
<method name="get_relief_style"
c:identifier="gtk_tool_shell_get_relief_style"
doc="Returns the relief style of buttons on @shell. Tool items must not call this
function directly, but rely on gtk_tool_item_get_relief_style() instead."
version="2.14">
<return-value transfer-ownership="full">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</return-value>
</method>
<method name="rebuild_menu"
c:identifier="gtk_tool_shell_rebuild_menu"
doc="Calling this function signals the tool shell that the overflow menu item for
tool items have changed. If there is an overflow menu and if it is visible
when this function it called, the menu will be rebuilt.
Tool items must not call this function directly, but rely on
gtk_tool_item_rebuild_menu() instead."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_text_orientation"
c:identifier="gtk_tool_shell_get_text_orientation"
doc="Retrieves the current text orientation for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_text_orientation()
instead."
version="2.14">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<method name="get_text_alignment"
c:identifier="gtk_tool_shell_get_text_alignment"
doc="Retrieves the current text alignment for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_text_alignment()
instead."
version="2.14">
<return-value transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</return-value>
</method>
<method name="get_ellipsize_mode"
c:identifier="gtk_tool_shell_get_ellipsize_mode">
<return-value transfer-ownership="full">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</return-value>
</method>
<method name="get_text_size_group"
c:identifier="gtk_tool_shell_get_text_size_group"
doc="Retrieves the current text size group for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_text_size_group()
instead."
version="2.14">
<return-value transfer-ownership="full">
<type name="SizeGroup" c:type="GtkSizeGroup*"/>
</return-value>
</method>
</interface>
<record name="ToolShellIface"
c:type="GtkToolShellIface"
glib:is-gtype-struct-for="ToolShell"
doc="Virtual function table for the #GtkToolShell interface.">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_icon_size">
<callback name="get_icon_size" c:type="get_icon_size">
<return-value transfer-ownership="full">
<type name="IconSize" c:type="GtkIconSize"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_orientation">
<callback name="get_orientation" c:type="get_orientation">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_style">
<callback name="get_style" c:type="get_style">
<return-value transfer-ownership="full">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_relief_style">
<callback name="get_relief_style" c:type="get_relief_style">
<return-value transfer-ownership="full">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="rebuild_menu">
<callback name="rebuild_menu" c:type="rebuild_menu">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_text_orientation">
<callback name="get_text_orientation" c:type="get_text_orientation">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_text_alignment">
<callback name="get_text_alignment" c:type="get_text_alignment">
<return-value transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_ellipsize_mode">
<callback name="get_ellipsize_mode" c:type="get_ellipsize_mode">
<return-value transfer-ownership="full">
<type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_text_size_group">
<callback name="get_text_size_group" c:type="get_text_size_group">
<return-value transfer-ownership="full">
<type name="SizeGroup" c:type="GtkSizeGroup*"/>
</return-value>
<parameters>
<parameter name="shell" transfer-ownership="none">
<type name="ToolShell" c:type="GtkToolShell*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="Toolbar"
c:type="GtkToolbar"
parent="Container"
glib:type-name="GtkToolbar"
glib:get-type="gtk_toolbar_get_type"
glib:type-struct="ToolbarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<implements name="ToolShell"/>
<constructor name="new"
c:identifier="gtk_toolbar_new"
doc="Creates a new toolbar.">
<return-value transfer-ownership="full">
<type name="Toolbar" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="insert"
c:identifier="gtk_toolbar_insert"
doc="Insert a #GtkToolItem into the toolbar at position @pos. If @pos is
0 the item is prepended to the start of the toolbar. If @pos is
negative, the item is appended to the end of the toolbar."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
<parameter name="pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_item_index"
c:identifier="gtk_toolbar_get_item_index"
doc="Returns the position of @item on the toolbar, starting from 0.
It is an error if @item is not a child of the toolbar."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
</parameters>
</method>
<method name="get_n_items"
c:identifier="gtk_toolbar_get_n_items"
doc="Returns the number of items on the toolbar."
version="2.4">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_nth_item"
c:identifier="gtk_toolbar_get_nth_item"
doc="Returns the @n&lt;!-- --&gt;&apos;th item on @toolbar, or %NULL if the
toolbar does not contain an @n&lt;!-- --&gt;&apos;th item.
isn&apos;t an @n&lt;!-- --&gt;&apos;th item."
version="2.4">
<return-value transfer-ownership="full">
<type name="ToolItem" c:type="GtkToolItem*"/>
</return-value>
<parameters>
<parameter name="n" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_show_arrow"
c:identifier="gtk_toolbar_get_show_arrow"
doc="Returns whether the toolbar has an overflow menu.
See gtk_toolbar_set_show_arrow()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_show_arrow"
c:identifier="gtk_toolbar_set_show_arrow"
doc="Sets whether to show an overflow menu when
items that there are not room are available through an
overflow menu."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="show_arrow" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_style"
c:identifier="gtk_toolbar_get_style"
doc="Retrieves whether the toolbar has text, icons, or both . See
gtk_toolbar_set_style().">
<return-value transfer-ownership="full">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</return-value>
</method>
<method name="set_style"
c:identifier="gtk_toolbar_set_style"
doc="Alters the view of @toolbar to display either icons only, text only, or both.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</parameter>
</parameters>
</method>
<method name="unset_style"
c:identifier="gtk_toolbar_unset_style"
doc="Unsets a toolbar style set with gtk_toolbar_set_style(), so that
user preferences will be used to determine the toolbar style.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_icon_size"
c:identifier="gtk_toolbar_get_icon_size"
doc="Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size().
the toolbar.">
<return-value transfer-ownership="full"
doc="the current icon size for the icons on">
<type name="int" c:type="GtkIconSize"/>
</return-value>
</method>
<method name="set_icon_size"
c:identifier="gtk_toolbar_set_icon_size"
doc="toolbar shall have.
This function sets the size of stock icons in the toolbar. You
can call it both before you add the icons and after they&apos;ve been
added. The size you set will override user preferences for the default
icon size.
This should only be used for special-purpose toolbars, normal
application toolbars should respect the user preferences for the
size of icons.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_size"
transfer-ownership="none"
doc="The #GtkIconSize that stock icons in the">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="unset_icon_size"
c:identifier="gtk_toolbar_unset_icon_size"
doc="Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that
user preferences will be used to determine the icon size.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_relief_style"
c:identifier="gtk_toolbar_get_relief_style"
doc="Returns the relief style of buttons on @toolbar. See
gtk_button_set_relief()."
version="2.4">
<return-value transfer-ownership="full">
<type name="ReliefStyle" c:type="GtkReliefStyle"/>
</return-value>
</method>
<method name="get_drop_index"
c:identifier="gtk_toolbar_get_drop_index"
doc="Returns the position corresponding to the indicated point on
this function returns the position a new item should be
inserted."
version="2.4">
<return-value transfer-ownership="none" doc="on the toolbar.">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_drop_highlight_item"
c:identifier="gtk_toolbar_set_drop_highlight_item"
doc="Highlights @toolbar to give an idea of what it would look like
if @item was added to @toolbar at the position indicated by @index_.
If @item is %NULL, highlighting is turned off. In that case @index_
is ignored.
The @tool_item passed to this function must not be part of any widget
hierarchy. When an item is set as drop highlight item it can not
added to any widget hierarchy or used as highlight item for another
toolbar."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tool_item"
transfer-ownership="none"
allow-none="1"
doc="a #GtkToolItem, or %NULL to turn of highlighting">
<type name="ToolItem" c:type="GtkToolItem*"/>
</parameter>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_orientation"
c:identifier="gtk_toolbar_get_orientation"
doc="Retrieves the current orientation of the toolbar. See
gtk_toolbar_set_orientation()."
deprecated="Use gtk_orientable_get_orientation() instead."
deprecated-version="2.16">
<return-value transfer-ownership="full">
<type name="Orientation" c:type="GtkOrientation"/>
</return-value>
</method>
<method name="set_orientation"
c:identifier="gtk_toolbar_set_orientation"
doc="Sets whether a toolbar should appear horizontally or vertically."
deprecated="Use gtk_orientable_set_orientation() instead."
deprecated-version="2.16">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</method>
<method name="get_tooltips"
c:identifier="gtk_toolbar_get_tooltips"
doc="Retrieves whether tooltips are enabled. See
gtk_toolbar_set_tooltips().
is now used instead."
deprecated="The toolkit-wide #GtkSettings:gtk-enable-tooltips property"
deprecated-version="2.14">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_tooltips"
c:identifier="gtk_toolbar_set_tooltips"
doc="Sets if the tooltips of a toolbar should be active or not.
is now used instead."
deprecated="The toolkit-wide #GtkSettings:gtk-enable-tooltips property"
deprecated-version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="enable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="append_item"
c:identifier="gtk_toolbar_append_item"
doc="Inserts a new item into the toolbar. You must specify the position
in the toolbar where it will be inserted.
arguments. Use G_CALLBACK() to cast the function to #GCallback."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="icon" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="6">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="prepend_item"
c:identifier="gtk_toolbar_prepend_item"
doc="Adds a new button to the beginning (top or left edges) of the given toolbar.
arguments. Use G_CALLBACK() to cast the function to #GCallback."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="icon" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="6">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="insert_item"
c:identifier="gtk_toolbar_insert_item"
doc="Inserts a new item into the toolbar. You must specify the position in the
toolbar where it will be inserted.
arguments. Use G_CALLBACK() to cast the function to #GCallback."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="icon" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="6">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert_stock"
c:identifier="gtk_toolbar_insert_stock"
doc="-1 means at the end.
Inserts a stock item at the specified position of the toolbar. If
except that underscores used to mark mnemonics are removed.
arguments. Use G_CALLBACK() to cast the function to #GCallback."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tooltip_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="5">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="append_space"
c:identifier="gtk_toolbar_append_space"
doc="Adds a new space to the end of the toolbar."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="prepend_space"
c:identifier="gtk_toolbar_prepend_space"
doc="Adds a new space to the beginning of the toolbar."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="insert_space"
c:identifier="gtk_toolbar_insert_space"
doc="Inserts a new space in the toolbar at the specified position."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="remove_space"
c:identifier="gtk_toolbar_remove_space"
doc="Removes a space from the specified position."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="append_element"
c:identifier="gtk_toolbar_append_element"
doc="Adds a new element to the end of a toolbar.
If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element.
If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine
the radio group for the new element. In all other cases, @widget must
be %NULL.
arguments. Use G_CALLBACK() to cast the function to #GCallback."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ToolbarChildType" c:type="GtkToolbarChildType"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="a #GtkWidget, or %NULL.">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="icon" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="8">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="prepend_element"
c:identifier="gtk_toolbar_prepend_element"
doc="Adds a new element to the beginning of a toolbar.
If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element.
If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine
the radio group for the new element. In all other cases, @widget must
be %NULL.
arguments. Use G_CALLBACK() to cast the function to #GCallback."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ToolbarChildType" c:type="GtkToolbarChildType"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="a #GtkWidget, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="icon" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="8">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="insert_element"
c:identifier="gtk_toolbar_insert_element"
doc="will be.
Inserts a new element in the toolbar at the given position.
If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element.
If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine
the radio group for the new element. In all other cases, @widget must
be %NULL.
arguments. Use G_CALLBACK() to cast the function to #GCallback."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ToolbarChildType" c:type="GtkToolbarChildType"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="a #GtkWidget, or %NULL.">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="icon" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
closure="8">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="append_widget"
c:identifier="gtk_toolbar_append_widget"
doc="Adds a widget to the end of the given toolbar."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tooltip_text"
transfer-ownership="none"
allow-none="1"
doc="the element&apos;s tooltip.">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text"
transfer-ownership="none"
allow-none="1"
doc="used for context-sensitive help about this toolbar element.">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="prepend_widget"
c:identifier="gtk_toolbar_prepend_widget"
doc="Adds a widget to the beginning of the given toolbar."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tooltip_text"
transfer-ownership="none"
allow-none="1"
doc="the element&apos;s tooltip.">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text"
transfer-ownership="none"
allow-none="1"
doc="used for context-sensitive help about this toolbar element.">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</method>
<method name="insert_widget"
c:identifier="gtk_toolbar_insert_widget"
doc="Inserts a widget in the toolbar at the given position."
deprecated="Use gtk_toolbar_insert() instead."
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tooltip_text"
transfer-ownership="none"
allow-none="1"
doc="the element&apos;s tooltip.">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="tooltip_private_text"
transfer-ownership="none"
allow-none="1"
doc="used for context-sensitive help about this toolbar element.">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="icon-size"
version="2.10"
writable="1"
doc="The size of the icons in a toolbar is normally determined by
the toolbar-icon-size setting. When this property is set, it
overrides the setting.
This should only be used for special-purpose toolbars, normal
application toolbars should respect the user preferences for the
size of icons.">
<type name="int" c:type="gint"/>
</property>
<property name="icon-size-set"
version="2.10"
writable="1"
doc="Is %TRUE if the icon-size property has been set.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="show-arrow" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="toolbar-style" writable="1">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</property>
<property name="tooltips"
version="2.8"
writable="1"
doc="If the tooltips of the toolbar should be active or not.">
<type name="boolean" c:type="gboolean"/>
</property>
<field name="container">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="num_children">
<type name="int" c:type="gint"/>
</field>
<field name="children">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="orientation">
<type name="Orientation" c:type="GtkOrientation"/>
</field>
<field name="style">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</field>
<field name="icon_size">
<type name="IconSize" c:type="GtkIconSize"/>
</field>
<field name="tooltips">
<type name="Tooltips" c:type="GtkTooltips*"/>
</field>
<field name="button_maxw">
<type name="int" c:type="gint"/>
</field>
<field name="button_maxh">
<type name="int" c:type="gint"/>
</field>
<field name="_gtk_reserved1">
<type name="uint" c:type="guint"/>
</field>
<field name="_gtk_reserved2">
<type name="uint" c:type="guint"/>
</field>
<field name="style_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="icon_size_set" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="focus-home-or-end"
doc="A keybinding signal used internally by GTK+. This signal can&apos;t
be used in application code">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="focus_home" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="orientation-changed"
doc="Emitted when the orientation of the toolbar changes.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="popup-context-menu"
doc="Emitted when the user right-clicks the toolbar or uses the
keybinding to display a popup menu.
Application developers should handle this signal if they want
to display a context menu on the toolbar. The context-menu should
appear at the coordinates given by @x and @y. The mouse button
number is given by the @button parameter. If the menu was popped
up using the keybaord, @button is -1.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="style-changed"
doc="Emitted when the style of the toolbar changes.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ToolbarChild" c:type="GtkToolbarChild">
<field name="type" writable="1">
<type name="ToolbarChildType" c:type="GtkToolbarChildType"/>
</field>
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="icon" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="label" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
</record>
<enumeration name="ToolbarChildType"
glib:type-name="GtkToolbarChildType"
glib:get-type="gtk_toolbar_child_type_get_type"
c:type="GtkToolbarChildType">
<member name="space"
value="0"
c:identifier="GTK_TOOLBAR_CHILD_SPACE"
glib:nick="space"/>
<member name="button"
value="1"
c:identifier="GTK_TOOLBAR_CHILD_BUTTON"
glib:nick="button"/>
<member name="togglebutton"
value="2"
c:identifier="GTK_TOOLBAR_CHILD_TOGGLEBUTTON"
glib:nick="togglebutton"/>
<member name="radiobutton"
value="3"
c:identifier="GTK_TOOLBAR_CHILD_RADIOBUTTON"
glib:nick="radiobutton"/>
<member name="widget"
value="4"
c:identifier="GTK_TOOLBAR_CHILD_WIDGET"
glib:nick="widget"/>
</enumeration>
<record name="ToolbarClass"
c:type="GtkToolbarClass"
glib:is-gtype-struct-for="Toolbar">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="orientation_changed">
<callback name="orientation_changed" c:type="orientation_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="toolbar" transfer-ownership="none">
<type name="Toolbar" c:type="GtkToolbar*"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</callback>
</field>
<field name="style_changed">
<callback name="style_changed" c:type="style_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="toolbar" transfer-ownership="none">
<type name="Toolbar" c:type="GtkToolbar*"/>
</parameter>
<parameter name="style" transfer-ownership="none">
<type name="ToolbarStyle" c:type="GtkToolbarStyle"/>
</parameter>
</parameters>
</callback>
</field>
<field name="popup_context_menu">
<callback name="popup_context_menu" c:type="popup_context_menu">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="toolbar" transfer-ownership="none">
<type name="Toolbar" c:type="GtkToolbar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="button_number" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="ToolbarPrivate" c:type="GtkToolbarPrivate">
</record>
<enumeration name="ToolbarSpaceStyle"
glib:type-name="GtkToolbarSpaceStyle"
glib:get-type="gtk_toolbar_space_style_get_type"
c:type="GtkToolbarSpaceStyle">
<member name="empty"
value="0"
c:identifier="GTK_TOOLBAR_SPACE_EMPTY"
glib:nick="empty"/>
<member name="line"
value="1"
c:identifier="GTK_TOOLBAR_SPACE_LINE"
glib:nick="line"/>
</enumeration>
<enumeration name="ToolbarStyle"
glib:type-name="GtkToolbarStyle"
glib:get-type="gtk_toolbar_style_get_type"
c:type="GtkToolbarStyle">
<member name="icons"
value="0"
c:identifier="GTK_TOOLBAR_ICONS"
glib:nick="icons"/>
<member name="text"
value="1"
c:identifier="GTK_TOOLBAR_TEXT"
glib:nick="text"/>
<member name="both"
value="2"
c:identifier="GTK_TOOLBAR_BOTH"
glib:nick="both"/>
<member name="both_horiz"
value="3"
c:identifier="GTK_TOOLBAR_BOTH_HORIZ"
glib:nick="both-horiz"/>
</enumeration>
<class name="Tooltip"
c:type="GtkTooltip"
parent="GObject.Object"
glib:type-name="GtkTooltip"
glib:get-type="gtk_tooltip_get_type">
<function name="trigger_tooltip_query"
c:identifier="gtk_tooltip_trigger_tooltip_query"
doc="Triggers a new tooltip query on @display, in order to update the current
visible tooltip, or to show/hide the current tooltip. This function is
useful to call when, for example, the state of the widget changed by a
key press."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</parameter>
</parameters>
</function>
<method name="set_markup"
c:identifier="gtk_tooltip_set_markup"
doc="Sets the text of the tooltip to be @markup, which is marked up
with the &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
If @markup is %NULL, the label will be hidden."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="markup"
transfer-ownership="none"
allow-none="1"
doc="or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_text"
c:identifier="gtk_tooltip_set_text"
doc="Sets the text of the tooltip to be @text. If @text is %NULL, the label
will be hidden. See also gtk_tooltip_set_markup()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text"
transfer-ownership="none"
allow-none="1"
doc="a text string or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_icon"
c:identifier="gtk_tooltip_set_icon"
doc="Sets the icon of the tooltip (which is in front of the text) to be"
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pixbuf"
transfer-ownership="none"
allow-none="1"
doc="a #GdkPixbuf, or %NULL">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_from_stock"
c:identifier="gtk_tooltip_set_icon_from_stock"
doc="Sets the icon of the tooltip (which is in front of the text) to be
the stock item indicated by @stock_id with the size indicated
by @size. If @stock_id is %NULL, the image will be hidden."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="stock_id"
transfer-ownership="none"
allow-none="1"
doc="a stock id, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="set_icon_from_icon_name"
c:identifier="gtk_tooltip_set_icon_from_icon_name"
doc="Sets the icon of the tooltip (which is in front of the text) to be
the icon indicated by @icon_name with the size indicated
by @size. If @icon_name is %NULL, the image will be hidden."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon_name"
transfer-ownership="none"
allow-none="1"
doc="an icon name, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="set_icon_from_gicon"
c:identifier="gtk_tooltip_set_icon_from_gicon"
doc="Sets the icon of the tooltip (which is in front of the text)
to be the icon indicated by @gicon with the size indicated
by @size. If @gicon is %NULL, the image will be hidden."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gicon"
transfer-ownership="none"
allow-none="1"
doc="a #GIcon representing the icon, or %NULL">
<type name="Gio.Icon" c:type="GIcon*"/>
</parameter>
<parameter name="size"
transfer-ownership="none"
doc="a stock icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</method>
<method name="set_custom"
c:identifier="gtk_tooltip_set_custom"
doc="Replaces the widget packed into the tooltip with
away.
By default a box with a #GtkImage and #GtkLabel is embedded in
the tooltip, which can be configured using gtk_tooltip_set_markup()
and gtk_tooltip_set_icon()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="custom_widget"
transfer-ownership="none"
allow-none="1"
doc="a #GtkWidget, or %NULL to unset the old custom widget.">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_tip_area"
c:identifier="gtk_tooltip_set_tip_area"
doc="Sets the area of the widget, where the contents of this tooltip apply,
to be @rect (in widget coordinates). This is especially useful for
properly setting tooltips on #GtkTreeView rows and cells, #GtkIconViews,
etc.
For setting tooltips on #GtkTreeView, please refer to the convenience
gtk_tree_view_set_tooltip_cell()."
version="2.12">
<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>
</class>
<class name="Tooltips"
c:type="GtkTooltips"
parent="Object"
glib:type-name="GtkTooltips"
glib:get-type="gtk_tooltips_get_type"
glib:type-struct="TooltipsClass">
<constructor name="new" c:identifier="gtk_tooltips_new">
<return-value transfer-ownership="full">
<type name="Tooltips" c:type="GtkTooltips*"/>
</return-value>
</constructor>
<function name="data_get" c:identifier="gtk_tooltips_data_get">
<return-value transfer-ownership="full">
<type name="TooltipsData" c:type="GtkTooltipsData*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="get_info_from_tip_window"
c:identifier="gtk_tooltips_get_info_from_tip_window"
doc="in @tip_window, or %NULL
are displayed, or %NULL
Determines the tooltips and the widget they belong to from the window in
which they are displayed.
This function is mostly intended for use by accessibility technologies;
applications should have little use for it."
version="2.4"
deprecated="2.12:">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tip_window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="tooltips" transfer-ownership="none">
<type name="Tooltips" c:type="GtkTooltips**"/>
</parameter>
<parameter name="current_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget**"/>
</parameter>
</parameters>
</function>
<method name="enable" c:identifier="gtk_tooltips_enable">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="disable" c:identifier="gtk_tooltips_disable">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_delay" c:identifier="gtk_tooltips_set_delay">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="delay" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_tip"
c:identifier="gtk_tooltips_set_tip"
doc="Adds a tooltip containing the message @tip_text to the specified #GtkWidget."
deprecated="2.12:">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="tip_text"
transfer-ownership="none"
allow-none="1"
doc="a string containing the tip itself.">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="tip_private"
transfer-ownership="none"
allow-none="1"
doc="a string of any further information that may be useful if the user gets stuck.">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="force_window" c:identifier="gtk_tooltips_force_window">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<field name="parent_instance">
<type name="Object" c:type="GtkObject"/>
</field>
<field name="tip_window">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="tip_label">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="active_tips_data">
<type name="TooltipsData" c:type="GtkTooltipsData*"/>
</field>
<field name="tips_data_list">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="delay" bits="30">
<type name="uint" c:type="guint"/>
</field>
<field name="enabled" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="have_grab" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_sticky_delay" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="timer_tag">
<type name="int" c:type="gint"/>
</field>
<field name="last_popdown">
<type name="GLib.TimeVal" c:type="GTimeVal"/>
</field>
</class>
<record name="TooltipsClass"
c:type="GtkTooltipsClass"
glib:is-gtype-struct-for="Tooltips">
<field name="parent_class">
<type name="ObjectClass" c:type="GtkObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="TooltipsData" c:type="GtkTooltipsData">
<field name="tooltips" writable="1">
<type name="Tooltips" c:type="GtkTooltips*"/>
</field>
<field name="widget" writable="1">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="tip_text" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="tip_private" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<callback name="TranslateFunc" c:type="GtkTranslateFunc">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="TreeCellDataFunc" c:type="GtkTreeCellDataFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="TreeDestroyCountFunc" c:type="GtkTreeDestroyCountFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="children" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="3">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<interface name="TreeDragDest"
c:type="GtkTreeDragDest"
glib:type-name="GtkTreeDragDest"
glib:get-type="gtk_tree_drag_dest_get_type"
glib:type-struct="TreeDragDestIface">
<virtual-method name="drag_data_received" invoker="drag_data_received">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="row_drop_possible" invoker="row_drop_possible">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</virtual-method>
<method name="drag_data_received"
c:identifier="gtk_tree_drag_dest_drag_data_received"
doc="Asks the #GtkTreeDragDest to insert a row before the path @dest,
deriving the contents of the row from @selection_data. If @dest is
outside the tree so that inserting before it is impossible, %FALSE
will be returned. Also, %FALSE may be returned if the new row is
not created for some model-specific reason. Should robustly handle
a @dest no longer found in the model!">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</method>
<method name="row_drop_possible"
c:identifier="gtk_tree_drag_dest_row_drop_possible"
doc="Determines whether a drop is possible before the given @dest_path,
at the same depth as @dest_path. i.e., can we drop the data in
exist; the return value will almost certainly be %FALSE if the
parent of @dest_path doesn&apos;t exist, though.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</method>
</interface>
<record name="TreeDragDestIface"
c:type="GtkTreeDragDestIface"
glib:is-gtype-struct-for="TreeDragDest">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="drag_data_received">
<callback name="drag_data_received" c:type="drag_data_received">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_dest" transfer-ownership="none">
<type name="TreeDragDest" c:type="GtkTreeDragDest*"/>
</parameter>
<parameter name="dest" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_drop_possible">
<callback name="row_drop_possible" c:type="row_drop_possible">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_dest" transfer-ownership="none">
<type name="TreeDragDest" c:type="GtkTreeDragDest*"/>
</parameter>
<parameter name="dest_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="TreeDragSource"
c:type="GtkTreeDragSource"
glib:type-name="GtkTreeDragSource"
glib:get-type="gtk_tree_drag_source_get_type"
glib:type-struct="TreeDragSourceIface">
<virtual-method name="row_draggable" invoker="row_draggable">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="drag_data_get" invoker="drag_data_get">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="drag_data_delete" invoker="drag_data_delete">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</virtual-method>
<method name="row_draggable"
c:identifier="gtk_tree_drag_source_row_draggable"
doc="Asks the #GtkTreeDragSource whether a particular row can be used as
the source of a DND operation. If the source doesn&apos;t implement
this interface, the row is assumed draggable.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="drag_data_delete"
c:identifier="gtk_tree_drag_source_drag_data_delete"
doc="Asks the #GtkTreeDragSource to delete the row at @path, because
it was moved somewhere else via drag-and-drop. Returns %FALSE
if the deletion fails because @path no longer exists, or for
some model-specific reason. Should robustly handle a @path no
longer found in the model!">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="drag_data_get"
c:identifier="gtk_tree_drag_source_drag_data_get"
doc="Asks the #GtkTreeDragSource to fill in @selection_data with a
representation of the row at @path. @selection_data-&gt;target gives
the required type of the data. Should robustly handle a @path no
longer found in the model!">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</method>
</interface>
<record name="TreeDragSourceIface"
c:type="GtkTreeDragSourceIface"
glib:is-gtype-struct-for="TreeDragSource">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="row_draggable">
<callback name="row_draggable" c:type="row_draggable">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_source" transfer-ownership="none">
<type name="TreeDragSource" c:type="GtkTreeDragSource*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_data_get">
<callback name="drag_data_get" c:type="drag_data_get">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_source" transfer-ownership="none">
<type name="TreeDragSource" c:type="GtkTreeDragSource*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_data_delete">
<callback name="drag_data_delete" c:type="drag_data_delete">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_source" transfer-ownership="none">
<type name="TreeDragSource" c:type="GtkTreeDragSource*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="TreeIter"
c:type="GtkTreeIter"
glib:type-name="GtkTreeIter"
glib:get-type="gtk_tree_iter_get_type">
<field name="stamp" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="user_data" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="user_data2" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="user_data3" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<method name="copy"
c:identifier="gtk_tree_iter_copy"
doc="Creates a dynamically allocated tree iterator as a copy of @iter.
This function is not intended for use in applications, because you
can just copy the structs by value
(&lt;literal&gt;GtkTreeIter new_iter = iter;&lt;/literal&gt;).
You must free this iter with gtk_tree_iter_free().">
<return-value transfer-ownership="full">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_tree_iter_free"
doc="Frees an iterator that has been allocated by gtk_tree_iter_copy().
This function is mainly used for language bindings.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<callback name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="a" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="b" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="3">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<interface name="TreeModel"
c:type="GtkTreeModel"
glib:type-name="GtkTreeModel"
glib:get-type="gtk_tree_model_get_type"
glib:type-struct="TreeModelIface">
<virtual-method name="get_flags" invoker="get_flags">
<return-value transfer-ownership="full">
<type name="TreeModelFlags" c:type="GtkTreeModelFlags"/>
</return-value>
</virtual-method>
<virtual-method name="get_n_columns" invoker="get_n_columns">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</virtual-method>
<virtual-method name="get_column_type" invoker="get_column_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_iter" invoker="get_iter">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_path" invoker="get_path">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_value" invoker="get_value">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="iter_next" invoker="iter_next">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="iter_children" invoker="iter_children">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="iter_has_child" invoker="iter_has_child">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="iter_n_children" invoker="iter_n_children">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="iter_nth_child" invoker="iter_nth_child">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="n" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="iter_parent" invoker="iter_parent">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="ref_node" invoker="ref_node">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="unref_node" invoker="unref_node">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_flags"
c:identifier="gtk_tree_model_get_flags"
doc="Returns a set of flags supported by this interface. The flags are a bitwise
combination of #GtkTreeModelFlags. The flags supported should not change
during the lifecycle of the @tree_model.">
<return-value transfer-ownership="full">
<type name="TreeModelFlags" c:type="GtkTreeModelFlags"/>
</return-value>
</method>
<method name="get_n_columns"
c:identifier="gtk_tree_model_get_n_columns"
doc="Returns the number of columns supported by @tree_model.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_column_type"
c:identifier="gtk_tree_model_get_column_type"
doc="Returns the type of the column.">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_iter"
c:identifier="gtk_tree_model_get_iter"
doc="Sets @iter to a valid iterator pointing to @path.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="get_iter_from_string"
c:identifier="gtk_tree_model_get_iter_from_string"
doc="Sets @iter to a valid iterator pointing to @path_string, if it
exists. Otherwise, @iter is left invalid and %FALSE is returned.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_string_from_iter"
c:identifier="gtk_tree_model_get_string_from_iter"
doc="Generates a string representation of the iter. This string is a &apos;:&apos;
separated list of numbers. For example, &quot;4:10:0:3&quot; would be an
acceptable return value for this string."
version="2.2">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="get_iter_first"
c:identifier="gtk_tree_model_get_iter_first"
doc="Initializes @iter with the first iterator in the tree (the one at the path
&quot;0&quot;) and returns %TRUE. Returns %FALSE if the tree is empty.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="get_path"
c:identifier="gtk_tree_model_get_path"
doc="Returns a newly-created #GtkTreePath referenced by @iter. This path should
be freed with gtk_tree_path_free().">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="get_value"
c:identifier="gtk_tree_model_get_value"
doc="Initializes and sets @value to that at @column.
When done with @value, g_value_unset() needs to be called
to free any allocated memory.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="value"
direction="inout"
transfer-ownership="none"
doc="An empty #GValue to set.">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="iter_next"
c:identifier="gtk_tree_model_iter_next"
doc="Sets @iter to point to the node following it at the current level. If there
is no next @iter, %FALSE is returned and @iter is set to be invalid.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="iter_children"
c:identifier="gtk_tree_model_iter_children"
doc="Sets @iter to point to the first child of @parent. If @parent has no
children, %FALSE is returned and @iter is set to be invalid. @parent
will remain a valid node after this function has been called.
If @parent is %NULL returns the first node, equivalent to
&lt;literal&gt;gtk_tree_model_get_iter_first (tree_model, iter);&lt;/literal&gt;">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="iter_has_child"
c:identifier="gtk_tree_model_iter_has_child"
doc="Returns %TRUE if @iter has children, %FALSE otherwise.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="iter_n_children"
c:identifier="gtk_tree_model_iter_n_children"
doc="Returns the number of children that @iter has. As a special case, if @iter
is %NULL, then the number of toplevel nodes is returned.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeIter, or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="iter_nth_child"
c:identifier="gtk_tree_model_iter_nth_child"
doc="Sets @iter to be the child of @parent, using the given index. The first
index is 0. If @n is too big, or @parent has no children, @iter is set
to an invalid iterator and %FALSE is returned. @parent will remain a valid
node after this function has been called. As a special case, if @parent is
%NULL, then the @n&lt;!-- --&gt;th root node is set.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeIter to get the child from, or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="n" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="iter_parent"
c:identifier="gtk_tree_model_iter_parent"
doc="Sets @iter to be the parent of @child. If @child is at the toplevel, and
doesn&apos;t have a parent, then @iter is set to an invalid iterator and %FALSE
is returned. @child will remain a valid node after this function has been
called.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="ref_node"
c:identifier="gtk_tree_model_ref_node"
doc="Lets the tree ref the node. This is an optional method for models to
implement. To be more specific, models may ignore this call as it exists
primarily for performance reasons.
This function is primarily meant as a way for views to let caching model
know when nodes are being displayed (and hence, whether or not to cache that
node.) For example, a file-system based model would not want to keep the
entire file-hierarchy in memory, just the sections that are currently being
displayed by every current view.
A model should be expected to be able to get an iter independent of its
reffed state.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="unref_node"
c:identifier="gtk_tree_model_unref_node"
doc="Lets the tree unref the node. This is an optional method for models to
implement. To be more specific, models may ignore this call as it exists
primarily for performance reasons.
For more information on what this means, see gtk_tree_model_ref_node().
Please note that nodes that are deleted are not unreffed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="get"
c:identifier="gtk_tree_model_get"
doc="Gets the value of one or more cells in the row referenced by @iter.
The variable argument list should contain integer column numbers,
each column number followed by a place to store the value being
retrieved. The list is terminated by a -1. For example, to get a
value from column 0 with type %G_TYPE_STRING, you would
where &lt;literal&gt;place_string_here&lt;/literal&gt; is a &lt;type&gt;gchar*&lt;/type&gt; to be
filled with the string.
If appropriate, the returned values have to be freed or unreferenced.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="foreach"
c:identifier="gtk_tree_model_foreach"
doc="Calls func on each node in model in a depth-first fashion.
If @func returns %TRUE, then the tree ceases to be walked, and
gtk_tree_model_foreach() returns.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="TreeModelForeachFunc"
c:type="GtkTreeModelForeachFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="row_changed"
c:identifier="gtk_tree_model_row_changed"
doc="Emits the &quot;row-changed&quot; signal on @tree_model.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="row_inserted"
c:identifier="gtk_tree_model_row_inserted"
doc="Emits the &quot;row-inserted&quot; signal on @tree_model">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="row_has_child_toggled"
c:identifier="gtk_tree_model_row_has_child_toggled"
doc="Emits the &quot;row-has-child-toggled&quot; signal on @tree_model. This should be
called by models after the child state of a node changes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="row_deleted"
c:identifier="gtk_tree_model_row_deleted"
doc="Emits the &quot;row-deleted&quot; signal on @tree_model. This should be called by
models after a row has been removed. The location pointed to by @path
should be the location that the row previously was at. It may not be a
valid location anymore.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="rows_reordered"
c:identifier="gtk_tree_model_rows_reordered"
doc="reordered
reordered, or %NULL if the depth of @path is 0.
to its old position before the re-ordering,
i.e. @new_order&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;.
Emits the &quot;rows-reordered&quot; signal on @tree_model. This should be called by
models when their rows have been reordered.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="new_order"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<glib:signal name="row-changed"
doc="This signal is emitted when a row in the model has changed.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="row-deleted"
doc="This signal is emitted when a row has been deleted.
Note that no iterator is passed to the signal handler,
since the row is already deleted.
Implementations of GtkTreeModel must emit row-deleted
&lt;emphasis&gt;before&lt;/emphasis&gt; removing the node from its
internal data structures. This is because models and
views which access and monitor this model might have
references on the node which need to be released in the
row-deleted handler.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="row-has-child-toggled"
doc="This signal is emitted when a row has gotten the first child row or lost
its last child row.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="row-inserted"
doc="This signal is emitted when a new row has been inserted in the model.
Note that the row may still be empty at this point, since
it is a common pattern to first insert an empty row, and
then fill it with the desired values.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="rows-reordered"
doc="have been reordered
each child to its old position before the re-ordering,
i.e. @new_order&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;.
This signal is emitted when the children of a node in the #GtkTreeModel
have been reordered.
Note that this signal is &lt;emphasis&gt;not&lt;/emphasis&gt; emitted
when rows are reordered by DND, since this is implemented
by removing and then reinserting the row.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
<parameter name="new_order" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
</interface>
<class name="TreeModelFilter"
c:type="GtkTreeModelFilter"
parent="GObject.Object"
glib:type-name="GtkTreeModelFilter"
glib:get-type="gtk_tree_model_filter_get_type"
glib:type-struct="TreeModelFilterClass">
<implements name="TreeDragSource"/>
<implements name="TreeModel"/>
<constructor name="new"
c:identifier="gtk_tree_model_filter_new"
doc="Creates a new #GtkTreeModel, with @child_model as the child_model
and @root as the virtual root."
version="2.4">
<return-value transfer-ownership="full">
<type name="TreeModelFilter" c:type="GtkTreeModel*"/>
</return-value>
<parameters>
<parameter name="child_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="root"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreePath or %NULL.">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</constructor>
<method name="set_visible_func"
c:identifier="gtk_tree_model_filter_set_visible_func"
doc="Sets the visible function used when filtering the @filter to be @func. The
function should return %TRUE if the given row should be visible and
%FALSE otherwise.
If the condition calculated by the function changes over time (e.g. because
it depends on some global parameters), you must call
gtk_tree_model_filter_refilter() to keep the visibility information of
the model uptodate.
Note that @func is called whenever a row is inserted, when it may still be
empty. The visible function should therefore take special care of empty
rows, like in the example below.
&lt;informalexample&gt;&lt;programlisting&gt;
static gboolean
visible_func (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
/&amp;ast; Visible if row is non-empty and first column is &quot;HI&quot; &amp;ast;/
gchar *str;
gboolean visible = FALSE;
gtk_tree_model_get (model, iter, 0, &amp;str, -1);
if (str &amp;&amp; strcmp (str, &quot;HI&quot;) == 0)
visible = TRUE;
g_free (str);
return visible;
}
&lt;/programlisting&gt;&lt;/informalexample&gt;"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TreeModelFilterVisibleFunc"
c:type="GtkTreeModelFilterVisibleFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="User data to pass to the visible function, or %NULL.">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier of @data, or %NULL.">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_modify_func"
c:identifier="gtk_tree_model_filter_set_modify_func"
doc="With the @n_columns and @types parameters, you give an array of column
types for this model (which will be exposed to the parent model/view).
The @func, @data and @destroy parameters are for specifying the modify
function. The modify function will get called for &lt;emphasis&gt;each&lt;/emphasis&gt;
data access, the goal of the modify function is to return the data which
should be displayed at the location specified using the parameters of the
modify function."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="types" direction="out" transfer-ownership="full">
<type name="GType" c:type="GType*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="4"
destroy="5">
<type name="TreeModelFilterModifyFunc"
c:type="GtkTreeModelFilterModifyFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="User data to pass to the modify function, or %NULL.">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier of @data, or %NULL.">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_visible_column"
c:identifier="gtk_tree_model_filter_set_visible_column"
doc="Sets @column of the child_model to be the column where @filter should
look for visibility information. @columns should be a column of type
%G_TYPE_BOOLEAN, where %TRUE means that a row is visible, and %FALSE
if not."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_model"
c:identifier="gtk_tree_model_filter_get_model"
doc="Returns a pointer to the child model of @filter."
version="2.4">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="convert_child_iter_to_iter"
c:identifier="gtk_tree_model_filter_convert_child_iter_to_iter"
doc="Sets @filter_iter to point to the row in @filter that corresponds to the
row pointed at by @child_iter. If @filter_iter was not set, %FALSE is
returned.
valid iterator pointing to a visible row in child model."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="child_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="convert_iter_to_child_iter"
c:identifier="gtk_tree_model_filter_convert_iter_to_child_iter"
doc="Sets @child_iter to point to the row pointed to by @filter_iter."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="filter_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="convert_child_path_to_path"
c:identifier="gtk_tree_model_filter_convert_child_path_to_path"
doc="Converts @child_path to a path relative to @filter. That is, @child_path
points to a path in the child model. The rerturned path will point to the
same row in the filtered model. If @child_path isn&apos;t a valid path on the
child model or points to a row which is not visible in @filter, then %NULL
is returned."
version="2.4">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="child_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="convert_path_to_child_path"
c:identifier="gtk_tree_model_filter_convert_path_to_child_path"
doc="Converts @filter_path to a path on the child model of @filter. That is,
point to the same location in the model not being filtered. If @filter_path
does not point to a location in the child model, %NULL is returned."
version="2.4">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="filter_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="refilter"
c:identifier="gtk_tree_model_filter_refilter"
doc="Emits ::row_changed for each row in the child model, which causes
the filter to re-evaluate whether a row is visible or not."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="clear_cache"
c:identifier="gtk_tree_model_filter_clear_cache"
doc="This function should almost never be called. It clears the @filter
of any cached iterators that haven&apos;t been reffed with
gtk_tree_model_ref_node(). This might be useful if the child model
being filtered is static (and doesn&apos;t change often) and there has been
a lot of unreffed access to nodes. As a side effect of this function,
all unreffed iters will be invalid."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<property name="child-model" writable="1" construct-only="1">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<property name="virtual-root" writable="1" construct-only="1">
<type name="TreePath" c:type="GtkTreePath"/>
</property>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="TreeModelFilterPrivate"
c:type="GtkTreeModelFilterPrivate*"/>
</field>
</class>
<record name="TreeModelFilterClass"
c:type="GtkTreeModelFilterClass"
glib:is-gtype-struct-for="TreeModelFilter">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved0">
<callback name="gtk_reserved0" c:type="_gtk_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="TreeModelFilterModifyFunc"
c:type="GtkTreeModelFilterModifyFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="TreeModelFilterPrivate" c:type="GtkTreeModelFilterPrivate">
</record>
<callback name="TreeModelFilterVisibleFunc"
c:type="GtkTreeModelFilterVisibleFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<bitfield name="TreeModelFlags"
glib:type-name="GtkTreeModelFlags"
glib:get-type="gtk_tree_model_flags_get_type"
c:type="GtkTreeModelFlags">
<member name="iters_persist"
value="1"
c:identifier="GTK_TREE_MODEL_ITERS_PERSIST"
glib:nick="iters-persist"/>
<member name="list_only"
value="2"
c:identifier="GTK_TREE_MODEL_LIST_ONLY"
glib:nick="list-only"/>
</bitfield>
<callback name="TreeModelForeachFunc" c:type="GtkTreeModelForeachFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="TreeModelIface"
c:type="GtkTreeModelIface"
glib:is-gtype-struct-for="TreeModel">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="row_changed">
<callback name="row_changed" c:type="row_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_inserted">
<callback name="row_inserted" c:type="row_inserted">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_has_child_toggled">
<callback name="row_has_child_toggled" c:type="row_has_child_toggled">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_deleted">
<callback name="row_deleted" c:type="row_deleted">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="rows_reordered">
<callback name="rows_reordered" c:type="rows_reordered">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="new_order"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_flags">
<callback name="get_flags" c:type="get_flags">
<return-value transfer-ownership="full">
<type name="TreeModelFlags" c:type="GtkTreeModelFlags"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_n_columns">
<callback name="get_n_columns" c:type="get_n_columns">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_column_type">
<callback name="get_column_type" c:type="get_column_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_iter">
<callback name="get_iter" c:type="get_iter">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_path">
<callback name="get_path" c:type="get_path">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_value">
<callback name="get_value" c:type="get_value">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iter_next">
<callback name="iter_next" c:type="iter_next">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iter_children">
<callback name="iter_children" c:type="iter_children">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iter_has_child">
<callback name="iter_has_child" c:type="iter_has_child">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iter_n_children">
<callback name="iter_n_children" c:type="iter_n_children">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iter_nth_child">
<callback name="iter_nth_child" c:type="iter_nth_child">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="n" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iter_parent">
<callback name="iter_parent" c:type="iter_parent">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="ref_node">
<callback name="ref_node" c:type="ref_node">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unref_node">
<callback name="unref_node" c:type="unref_node">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="TreeModelSort"
c:type="GtkTreeModelSort"
parent="GObject.Object"
glib:type-name="GtkTreeModelSort"
glib:get-type="gtk_tree_model_sort_get_type"
glib:type-struct="TreeModelSortClass">
<implements name="TreeDragSource"/>
<implements name="TreeModel"/>
<implements name="TreeSortable"/>
<constructor name="new_with_model"
c:identifier="gtk_tree_model_sort_new_with_model"
doc="Creates a new #GtkTreeModel, with @child_model as the child model.">
<return-value transfer-ownership="full">
<type name="TreeModelSort" c:type="GtkTreeModel*"/>
</return-value>
<parameters>
<parameter name="child_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</constructor>
<method name="get_model"
c:identifier="gtk_tree_model_sort_get_model"
doc="Returns the model the #GtkTreeModelSort is sorting.">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="convert_child_path_to_path"
c:identifier="gtk_tree_model_sort_convert_child_path_to_path"
doc="Converts @child_path to a path relative to @tree_model_sort. That is,
point to the same row in the sorted model. If @child_path isn&apos;t a valid
path on the child model, then %NULL is returned.">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="child_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="convert_child_iter_to_iter"
c:identifier="gtk_tree_model_sort_convert_child_iter_to_iter"
doc="Sets @sort_iter to point to the row in @tree_model_sort that corresponds to
the row pointed at by @child_iter. If @sort_iter was not set, %FALSE
valid iterator pointer to a visible row in the child model.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="sort_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="child_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="convert_path_to_child_path"
c:identifier="gtk_tree_model_sort_convert_path_to_child_path"
doc="Converts @sorted_path to a path on the child model of @tree_model_sort.
That is, @sorted_path points to a location in @tree_model_sort. The
returned path will point to the same location in the model not being
sorted. If @sorted_path does not point to a location in the child model,
%NULL is returned.">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="sorted_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="convert_iter_to_child_iter"
c:identifier="gtk_tree_model_sort_convert_iter_to_child_iter"
doc="Sets @child_iter to point to the row pointed to by @sorted_iter.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="sorted_iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="reset_default_sort_func"
c:identifier="gtk_tree_model_sort_reset_default_sort_func"
doc="This resets the default sort function to be in the &apos;unsorted&apos; state. That
is, it is in the same order as the child model. It will re-sort the model
to be in the same order as the child model only if the #GtkTreeModelSort
is in &apos;unsorted&apos; state.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="clear_cache"
c:identifier="gtk_tree_model_sort_clear_cache"
doc="This function should almost never be called. It clears the @tree_model_sort
of any cached iterators that haven&apos;t been reffed with
gtk_tree_model_ref_node(). This might be useful if the child model being
sorted is static (and doesn&apos;t change often) and there has been a lot of
unreffed access to nodes. As a side effect of this function, all unreffed
iters will be invalid.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="iter_is_valid"
c:identifier="gtk_tree_model_sort_iter_is_valid"
doc="&lt;warning&gt;&lt;para&gt;
This function is slow. Only use it for debugging and/or testing purposes.
&lt;/para&gt;&lt;/warning&gt;
Checks if the given iter is a valid iter for this #GtkTreeModelSort."
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<property name="model" writable="1" construct-only="1">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="root">
<type name="any" c:type="gpointer"/>
</field>
<field name="stamp">
<type name="int" c:type="gint"/>
</field>
<field name="child_flags">
<type name="uint" c:type="guint"/>
</field>
<field name="child_model">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</field>
<field name="zero_ref_count">
<type name="int" c:type="gint"/>
</field>
<field name="sort_list">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="sort_column_id">
<type name="int" c:type="gint"/>
</field>
<field name="order">
<type name="SortType" c:type="GtkSortType"/>
</field>
<field name="default_sort_func">
<type name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc"/>
</field>
<field name="default_sort_data">
<type name="any" c:type="gpointer"/>
</field>
<field name="default_sort_destroy">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
<field name="changed_id">
<type name="uint" c:type="guint"/>
</field>
<field name="inserted_id">
<type name="uint" c:type="guint"/>
</field>
<field name="has_child_toggled_id">
<type name="uint" c:type="guint"/>
</field>
<field name="deleted_id">
<type name="uint" c:type="guint"/>
</field>
<field name="reordered_id">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="TreeModelSortClass"
c:type="GtkTreeModelSortClass"
glib:is-gtype-struct-for="TreeModelSort">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="TreePath"
c:type="GtkTreePath"
glib:type-name="GtkTreePath"
glib:get-type="gtk_tree_path_get_type">
<constructor name="new"
c:identifier="gtk_tree_path_new"
doc="Creates a new #GtkTreePath. This structure refers to a row.">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
</constructor>
<constructor name="new_from_string"
c:identifier="gtk_tree_path_new_from_string"
doc="Creates a new #GtkTreePath initialized to @path. @path is expected to be a
colon separated list of numbers. For example, the string &quot;10:4:0&quot; would
create a path of depth 3 pointing to the 11th child of the root node, the 5th
child of that 11th child, and the 1st child of that 5th child. If an invalid
path string is passed in, %NULL is returned.">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_indices"
c:identifier="gtk_tree_path_new_from_indices"
doc="Creates a new path with @first_index and @varargs as indices."
version="2.2">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
<parameters>
<parameter name="first_index" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<constructor name="new_first"
c:identifier="gtk_tree_path_new_first"
doc="Creates a new #GtkTreePath. The string representation of this path is &quot;0&quot;">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
</constructor>
<method name="to_string"
c:identifier="gtk_tree_path_to_string"
doc="Generates a string representation of the path. This string is a &apos;:&apos;
separated list of numbers. For example, &quot;4:10:0:3&quot; would be an acceptable return value for this string.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="append_index"
c:identifier="gtk_tree_path_append_index"
doc="Appends a new index to a path. As a result, the depth of the path is
increased.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="prepend_index"
c:identifier="gtk_tree_path_prepend_index"
doc="Prepends a new index to a path. As a result, the depth of the path is
increased.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_depth"
c:identifier="gtk_tree_path_get_depth"
doc="Returns the current depth of @path.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_indices"
c:identifier="gtk_tree_path_get_indices"
doc="Returns the current indices of @path. This is an array of integers, each
representing a node in a tree. This value should not be freed.">
<return-value transfer-ownership="full">
<type name="int" c:type="gint*"/>
</return-value>
</method>
<method name="free" c:identifier="gtk_tree_path_free" doc="Frees @path.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="copy"
c:identifier="gtk_tree_path_copy"
doc="Creates a new #GtkTreePath as a copy of @path.">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
</method>
<method name="compare"
c:identifier="gtk_tree_path_compare"
doc="Compares two paths. If @a appears before @b in a tree, then -1 is returned.
If @b appears before @a, then 1 is returned. If the two nodes are equal,
then 0 is returned.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="b" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="next"
c:identifier="gtk_tree_path_next"
doc="Moves the @path to point to the next node at the current depth.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="prev"
c:identifier="gtk_tree_path_prev"
doc="Moves the @path to point to the previous node at the current depth,
if it exists.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="up"
c:identifier="gtk_tree_path_up"
doc="Moves the @path to point to its parent node, if it has a parent.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="down"
c:identifier="gtk_tree_path_down"
doc="Moves @path to point to the first child of the current path.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="is_ancestor"
c:identifier="gtk_tree_path_is_ancestor"
doc="Returns %TRUE if @descendant is a descendant of @path.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="descendant" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="is_descendant"
c:identifier="gtk_tree_path_is_descendant"
doc="Returns %TRUE if @path is a descendant of @ancestor.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ancestor" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
</record>
<record name="TreeRowReference"
c:type="GtkTreeRowReference"
glib:type-name="GtkTreeRowReference"
glib:get-type="gtk_tree_row_reference_get_type">
<constructor name="new"
c:identifier="gtk_tree_row_reference_new"
doc="Creates a row reference based on @path. This reference will keep pointing
to the node pointed to by @path, so long as it exists. It listens to all
signals emitted by @model, and updates its path appropriately. If @path
isn&apos;t a valid path in @model, then %NULL is returned.">
<return-value transfer-ownership="full">
<type name="TreeRowReference" c:type="GtkTreeRowReference*"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_proxy"
c:identifier="gtk_tree_row_reference_new_proxy"
doc="You do not need to use this function. Creates a row reference based on
so long as it exists. If @path isn&apos;t a valid path in @model, then %NULL is
returned. However, unlike references created with
gtk_tree_row_reference_new(), it does not listen to the model for changes.
The creator of the row reference must do this explicitly using
gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(),
gtk_tree_row_reference_reordered().
These functions must be called exactly once per proxy when the
corresponding signal on the model is emitted. This single call
updates all row references for that proxy. Since built-in GTK+
objects like #GtkTreeView already use this mechanism internally,
using them as the proxy object will produce unpredictable results.
Further more, passing the same object as @model and @proxy
doesn&apos;t work for reasons of internal implementation.
This type of row reference is primarily meant by structures that need to
carefully monitor exactly when a row reference updates itself, and is not
generally needed by most applications.">
<return-value transfer-ownership="full">
<type name="TreeRowReference" c:type="GtkTreeRowReference*"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</constructor>
<method name="get_path"
c:identifier="gtk_tree_row_reference_get_path"
doc="Returns a path that the row reference currently points to, or %NULL if the
path pointed to is no longer valid.">
<return-value transfer-ownership="full">
<type name="TreePath" c:type="GtkTreePath*"/>
</return-value>
</method>
<method name="get_model"
c:identifier="gtk_tree_row_reference_get_model"
doc="Returns the model that the row reference is monitoring."
version="2.8">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="valid"
c:identifier="gtk_tree_row_reference_valid"
doc="Returns %TRUE if the @reference is non-%NULL and refers to a current valid
path.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="copy"
c:identifier="gtk_tree_row_reference_copy"
doc="Copies a #GtkTreeRowReference."
version="2.2">
<return-value transfer-ownership="full">
<type name="TreeRowReference" c:type="GtkTreeRowReference*"/>
</return-value>
</method>
<method name="free"
c:identifier="gtk_tree_row_reference_free"
doc="Free&apos;s @reference. @reference may be %NULL.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<class name="TreeSelection"
c:type="GtkTreeSelection"
parent="GObject.Object"
glib:type-name="GtkTreeSelection"
glib:get-type="gtk_tree_selection_get_type"
glib:type-struct="TreeSelectionClass">
<method name="set_mode"
c:identifier="gtk_tree_selection_set_mode"
doc="Sets the selection mode of the @selection. If the previous type was
#GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was
previously selected.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</parameter>
</parameters>
</method>
<method name="get_mode"
c:identifier="gtk_tree_selection_get_mode"
doc="Gets the selection mode for @selection. See
gtk_tree_selection_set_mode().">
<return-value transfer-ownership="full">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</return-value>
</method>
<method name="set_select_function"
c:identifier="gtk_tree_selection_set_select_function"
doc="Sets the selection function. If set, this function is called before any node
is selected or unselected, giving some control over which nodes are selected.
The select function should return %TRUE if the state of the node may be toggled,
and %FALSE if the state of the node should be left unchanged.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TreeSelectionFunc" c:type="GtkTreeSelectionFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_user_data"
c:identifier="gtk_tree_selection_get_user_data"
doc="Returns the user data for the selection function.">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
</method>
<method name="get_tree_view"
c:identifier="gtk_tree_selection_get_tree_view"
doc="Returns the tree view associated with @selection.">
<return-value transfer-ownership="full">
<type name="TreeView" c:type="GtkTreeView*"/>
</return-value>
</method>
<method name="get_select_function"
c:identifier="gtk_tree_selection_get_select_function"
doc="Returns the current selection function."
version="2.14">
<return-value transfer-ownership="full">
<type name="TreeSelectionFunc" c:type="GtkTreeSelectionFunc"/>
</return-value>
</method>
<method name="get_selected"
c:identifier="gtk_tree_selection_get_selected"
doc="Sets @iter to the currently selected node if @selection is set to
#GTK_SELECTION_SINGLE or #GTK_SELECTION_BROWSE. @iter may be NULL if you
just want to test if @selection has any selected nodes. @model is filled
with the current model as a convenience. This function will not work if you
use @selection is #GTK_SELECTION_MULTIPLE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="model"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="A pointer to set to the #GtkTreeModel, or NULL.">
<type name="TreeModel" c:type="GtkTreeModel**"/>
</parameter>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeIter, or NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="get_selected_rows"
c:identifier="gtk_tree_selection_get_selected_rows"
doc="Creates a list of path of all selected rows. Additionally, if you are
planning on modifying the model after calling this function, you may
want to convert the returned list into a list of #GtkTreeRowReference&lt;!-- --&gt;s.
To do this, you can use gtk_tree_row_reference_new().
To free the return value, use:
|[
g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL);
g_list_free (list);
]|"
version="2.2">
<return-value transfer-ownership="full"
doc="A #GList containing a #GtkTreePath for each selected row.">
<type name="GLib.List" c:type="GList*">
<type name="TreePath"/>
</type>
</return-value>
<parameters>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="A pointer to set to the #GtkTreeModel, or NULL.">
<type name="TreeModel" c:type="GtkTreeModel**"/>
</parameter>
</parameters>
</method>
<method name="count_selected_rows"
c:identifier="gtk_tree_selection_count_selected_rows"
doc="Returns the number of rows that have been selected in @tree."
version="2.2">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="selected_foreach"
c:identifier="gtk_tree_selection_selected_foreach"
doc="Calls a function for each selected node. Note that you cannot modify
the tree or selection from within this function. As a result,
gtk_tree_selection_get_selected_rows() might be more useful.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="TreeSelectionForeachFunc"
c:type="GtkTreeSelectionForeachFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="select_path"
c:identifier="gtk_tree_selection_select_path"
doc="Select the row at @path.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="unselect_path"
c:identifier="gtk_tree_selection_unselect_path"
doc="Unselects the row at @path.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="select_iter"
c:identifier="gtk_tree_selection_select_iter"
doc="Selects the specified iterator.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="unselect_iter"
c:identifier="gtk_tree_selection_unselect_iter"
doc="Unselects the specified iterator.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="path_is_selected"
c:identifier="gtk_tree_selection_path_is_selected"
doc="Returns %TRUE if the row pointed to by @path is currently selected. If @path
does not point to a valid location, %FALSE is returned">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="iter_is_selected"
c:identifier="gtk_tree_selection_iter_is_selected"
doc="Returns %TRUE if the row at @iter is currently selected.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="select_all"
c:identifier="gtk_tree_selection_select_all"
doc="Selects all the nodes. @selection must be set to #GTK_SELECTION_MULTIPLE
mode.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unselect_all"
c:identifier="gtk_tree_selection_unselect_all"
doc="Unselects all the nodes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="select_range"
c:identifier="gtk_tree_selection_select_range"
doc="Selects a range of nodes, determined by @start_path and @end_path inclusive.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="end_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="unselect_range"
c:identifier="gtk_tree_selection_unselect_range"
doc="Unselects a range of nodes, determined by @start_path and @end_path
inclusive."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="end_path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="tree_view">
<type name="TreeView" c:type="GtkTreeView*"/>
</field>
<field name="type">
<type name="SelectionMode" c:type="GtkSelectionMode"/>
</field>
<field name="user_func">
<type name="TreeSelectionFunc" c:type="GtkTreeSelectionFunc"/>
</field>
<field name="user_data">
<type name="any" c:type="gpointer"/>
</field>
<field name="destroy">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
<glib:signal name="changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="TreeSelectionClass"
c:type="GtkTreeSelectionClass"
glib:is-gtype-struct-for="TreeSelection">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="changed">
<callback name="changed" c:type="changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="selection" transfer-ownership="none">
<type name="TreeSelection" c:type="GtkTreeSelection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="TreeSelectionForeachFunc"
c:type="GtkTreeSelectionForeachFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="TreeSelectionFunc" c:type="GtkTreeSelectionFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="selection" transfer-ownership="none">
<type name="TreeSelection" c:type="GtkTreeSelection*"/>
</parameter>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="path_currently_selected" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<interface name="TreeSortable"
c:type="GtkTreeSortable"
glib:type-name="GtkTreeSortable"
glib:get-type="gtk_tree_sortable_get_type"
glib:type-struct="TreeSortableIface">
<prerequisite name="TreeModel"/>
<virtual-method name="get_sort_column_id" invoker="get_sort_column_id">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="sort_column_id"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="order" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_sort_column_id" invoker="set_sort_column_id">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_column_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="order" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_sort_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_column_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_default_sort_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none">
<type name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="has_default_sort_func"
invoker="has_default_sort_func">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="sort_column_changed"
c:identifier="gtk_tree_sortable_sort_column_changed"
doc="Emits a #GtkTreeSortable::sort-column-changed signal on @sortable.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_sort_column_id"
c:identifier="gtk_tree_sortable_get_sort_column_id"
doc="Fills in @sort_column_id and @order with the current sort column and the
order. It returns %TRUE unless the @sort_column_id is
%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or
%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID.
column ids.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="sort_column_id"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="order" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType*"/>
</parameter>
</parameters>
</method>
<method name="set_sort_column_id"
c:identifier="gtk_tree_sortable_set_sort_column_id"
doc="Sets the current sort column to be @sort_column_id. The @sortable will
resort itself to reflect this change, after emitting a
#GtkTreeSortable::sort-column-changed signal. @sortable may either be
a regular column id, or one of the following special values:
&lt;variablelist&gt;
&lt;varlistentry&gt;
&lt;term&gt;%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID&lt;/term&gt;
&lt;listitem&gt;the default sort function will be used, if it is set&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID&lt;/term&gt;
&lt;listitem&gt;no sorting will occur&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;/variablelist&gt;">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_column_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="order" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType"/>
</parameter>
</parameters>
</method>
<method name="set_sort_func"
c:identifier="gtk_tree_sortable_set_sort_func"
doc="Sets the comparison function used when sorting to be @sort_func. If the
current sort column id of @sortable is the same as @sort_column_id, then
the model will sort using this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_column_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="sort_func"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
allow-none="1"
doc="User data to pass to @sort_func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier of @user_data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_default_sort_func"
c:identifier="gtk_tree_sortable_set_default_sort_func"
doc="Sets the default comparison function used when sorting to be @sort_func.
If the current sort column id of @sortable is
%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using
this function.
If @sort_func is %NULL, then there will be no default comparison function.
This means that once the model has been sorted, it can&apos;t go back to the
default state. In this case, when the current sort column id of @sortable
is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
allow-none="1"
doc="User data to pass to @sort_func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier of @user_data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="has_default_sort_func"
c:identifier="gtk_tree_sortable_has_default_sort_func"
doc="Returns %TRUE if the model has a default sort function. This is used
primarily by GtkTreeViewColumns in order to determine if a model can
go back to the default state, or not.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<glib:signal name="sort-column-changed"
doc="The ::sort-column-changed signal is emitted when the sort column
or sort order of @sortable is changed. The signal is emitted before
the contents of @sortable are resorted.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</interface>
<record name="TreeSortableIface"
c:type="GtkTreeSortableIface"
glib:is-gtype-struct-for="TreeSortable">
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="sort_column_changed">
<callback name="sort_column_changed" c:type="sort_column_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sortable" transfer-ownership="none">
<type name="TreeSortable" c:type="GtkTreeSortable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_sort_column_id">
<callback name="get_sort_column_id" c:type="get_sort_column_id">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="sortable" transfer-ownership="none">
<type name="TreeSortable" c:type="GtkTreeSortable*"/>
</parameter>
<parameter name="sort_column_id"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="order" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_sort_column_id">
<callback name="set_sort_column_id" c:type="set_sort_column_id">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sortable" transfer-ownership="none">
<type name="TreeSortable" c:type="GtkTreeSortable*"/>
</parameter>
<parameter name="sort_column_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="order" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_sort_func">
<callback name="set_sort_func" c:type="set_sort_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sortable" transfer-ownership="none">
<type name="TreeSortable" c:type="GtkTreeSortable*"/>
</parameter>
<parameter name="sort_column_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="TreeIterCompareFunc"
c:type="GtkTreeIterCompareFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_default_sort_func">
<callback name="set_default_sort_func" c:type="set_default_sort_func">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sortable" transfer-ownership="none">
<type name="TreeSortable" c:type="GtkTreeSortable*"/>
</parameter>
<parameter name="func" transfer-ownership="none">
<type name="TreeIterCompareFunc"
c:type="GtkTreeIterCompareFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="has_default_sort_func">
<callback name="has_default_sort_func" c:type="has_default_sort_func">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="sortable" transfer-ownership="none">
<type name="TreeSortable" c:type="GtkTreeSortable*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="TreeStore"
c:type="GtkTreeStore"
parent="GObject.Object"
glib:type-name="GtkTreeStore"
glib:get-type="gtk_tree_store_get_type"
glib:type-struct="TreeStoreClass">
<implements name="Buildable"/>
<implements name="TreeDragDest"/>
<implements name="TreeDragSource"/>
<implements name="TreeModel"/>
<implements name="TreeSortable"/>
<constructor name="new"
c:identifier="gtk_tree_store_new"
doc="Creates a new tree store as with @n_columns columns each of the types passed
in. Note that only types derived from standard GObject fundamental types
are supported.
As an example, &lt;literal&gt;gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING,
GDK_TYPE_PIXBUF);&lt;/literal&gt; will create a new #GtkTreeStore with three columns, of type
&lt;type&gt;int&lt;/type&gt;, &lt;type&gt;string&lt;/type&gt; and #GdkPixbuf respectively.">
<return-value transfer-ownership="full">
<type name="TreeStore" c:type="GtkTreeStore*"/>
</return-value>
<parameters>
<parameter name="n_columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<constructor name="newv"
c:identifier="gtk_tree_store_newv"
doc="Non vararg creation function. Used primarily by language bindings.">
<return-value transfer-ownership="full">
<type name="TreeStore" c:type="GtkTreeStore*"/>
</return-value>
<parameters>
<parameter name="n_columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="types"
transfer-ownership="none"
doc="an array of #GType types for the columns, from first to last">
<array length="0" c:type="GType*">
<type name="GType"/>
</array>
</parameter>
</parameters>
</constructor>
<method name="set_column_types"
c:identifier="gtk_tree_store_set_column_types"
doc="This function is meant primarily for #GObjects that inherit from
#GtkTreeStore, and should only be used when constructing a new
#GtkTreeStore. It will not function after a row has been added,
or a method on the #GtkTreeModel interface is called.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_columns" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="types"
transfer-ownership="none"
doc="An array of #GType types, one for each column">
<array length="1" c:type="GType*">
<type name="GType"/>
</array>
</parameter>
</parameters>
</method>
<method name="set_value"
c:identifier="gtk_tree_store_set_value"
doc="Sets the data in the cell specified by @iter and @column.
The type of @value must be convertible to the type of the
column.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="set"
c:identifier="gtk_tree_store_set"
doc="Sets the value of one or more cells in the row referenced by @iter.
The variable argument list should contain integer column numbers,
each column number followed by the value to be set.
The list is terminated by a -1. For example, to set column 0 with type
%G_TYPE_STRING to &quot;Foo&quot;, you would write
&lt;literal&gt;gtk_tree_store_set (store, iter, 0, &quot;Foo&quot;, -1)&lt;/literal&gt;.
The value will be copied or referenced by the store if appropriate.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set_valuesv"
c:identifier="gtk_tree_store_set_valuesv"
doc="A variant of gtk_tree_store_set_valist() which takes
the columns and values as two arrays, instead of varargs. This
function is mainly intended for language bindings or in case
the number of columns to change is not known until run-time."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="columns"
transfer-ownership="none"
doc="an array of column numbers">
<array length="4" c:type="gint*">
<type name="int"/>
</array>
</parameter>
<parameter name="values"
transfer-ownership="none"
doc="an array of GValues">
<array length="4" c:type="GValue*">
<type name="GObject.Value"/>
</array>
</parameter>
<parameter name="n_values" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="remove"
c:identifier="gtk_tree_store_remove"
doc="Removes @iter from @tree_store. After being removed, @iter is set to the
next valid row at that level, or invalidated if it previously pointed to the
last one.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="insert"
c:identifier="gtk_tree_store_insert"
doc="Creates a new row at @position. If parent is non-%NULL, then the row will be
made a child of @parent. Otherwise, the row will be created at the toplevel.
If @position is larger than the number of rows at that level, then the new
row will be inserted to the end of the list. @iter will be changed to point
to this new row. The row will be empty after this function is called. To
fill in values, you need to call gtk_tree_store_set() or
gtk_tree_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert_before"
c:identifier="gtk_tree_store_insert_before"
doc="Inserts a new row before @sibling. If @sibling is %NULL, then the row will
be appended to @parent &apos;s children. If @parent and @sibling are %NULL, then
the row will be appended to the toplevel. If both @sibling and @parent are
set, then @parent must be the parent of @sibling. When @sibling is set,
this function is called. To fill in values, you need to call
gtk_tree_store_set() or gtk_tree_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="sibling"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="insert_after"
c:identifier="gtk_tree_store_insert_after"
doc="Inserts a new row after @sibling. If @sibling is %NULL, then the row will be
prepended to @parent &apos;s children. If @parent and @sibling are %NULL, then
the row will be prepended to the toplevel. If both @sibling and @parent are
set, then @parent must be the parent of @sibling. When @sibling is set,
this function is called. To fill in values, you need to call
gtk_tree_store_set() or gtk_tree_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="sibling"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="insert_with_values"
c:identifier="gtk_tree_store_insert_with_values"
doc="Creates a new row at @position. @iter will be changed to point to this
new row. If @position is larger than the number of rows on the list, then
the new row will be appended to the list. The row will be filled with
the values given to this function.
Calling
&lt;literal&gt;gtk_tree_store_insert_with_values (tree_store, iter, position, ...)&lt;/literal&gt;
has the same effect as calling
|[
gtk_tree_store_insert (tree_store, iter, position);
gtk_tree_store_set (tree_store, iter, ...);
]|
with the different that the former will only emit a row_inserted signal,
while the latter will emit row_inserted, row_changed and if the tree store
is sorted, rows_reordered. Since emitting the rows_reordered signal
repeatedly can affect the performance of the program,
gtk_tree_store_insert_with_values() should generally be preferred when
inserting rows in a sorted tree store."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="An unset #GtkTreeIter to set the new row, or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="insert_with_valuesv"
c:identifier="gtk_tree_store_insert_with_valuesv"
doc="A variant of gtk_tree_store_insert_with_values() which takes
the columns and values as two arrays, instead of varargs. This
function is mainly intended for language bindings."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="An unset #GtkTreeIter to set the new row, or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="columns" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="values" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="n_values" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="prepend"
c:identifier="gtk_tree_store_prepend"
doc="Prepends a new row to @tree_store. If @parent is non-%NULL, then it will prepend
the new row before the first child of @parent, otherwise it will prepend a row
to the top level. @iter will be changed to point to this new row. The row
will be empty after this function is called. To fill in values, you need to
call gtk_tree_store_set() or gtk_tree_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="append"
c:identifier="gtk_tree_store_append"
doc="Appends a new row to @tree_store. If @parent is non-%NULL, then it will append the
new row after the last child of @parent, otherwise it will append a row to
the top level. @iter will be changed to point to this new row. The row will
be empty after this function is called. To fill in values, you need to call
gtk_tree_store_set() or gtk_tree_store_set_value().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="A valid #GtkTreeIter, or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="is_ancestor"
c:identifier="gtk_tree_store_is_ancestor"
doc="Returns %TRUE if @iter is an ancestor of @descendant. That is, @iter is the
parent (or grandparent or great-grandparent) of @descendant.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="descendant" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="iter_depth"
c:identifier="gtk_tree_store_iter_depth"
doc="Returns the depth of @iter. This will be 0 for anything on the root level, 1
for anything down a level, etc.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="clear"
c:identifier="gtk_tree_store_clear"
doc="Removes all rows from @tree_store">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="iter_is_valid"
c:identifier="gtk_tree_store_iter_is_valid"
doc="purposes.
Checks if the given iter is a valid iter for this #GtkTreeStore."
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="reorder"
c:identifier="gtk_tree_store_reorder"
doc="to its old position before the re-ordering,
i.e. @new_order&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;.
Reorders the children of @parent in @tree_store to follow the order
indicated by @new_order. Note that this function only works with
unsorted stores."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="new_order"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="swap"
c:identifier="gtk_tree_store_swap"
doc="Swaps @a and @b in the same level of @tree_store. Note that this function
only works with unsorted stores."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="a" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="b" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="move_before"
c:identifier="gtk_tree_store_move_before"
doc="Moves @iter in @tree_store to the position before @position. @iter and
works with unsorted stores. If @position is %NULL, @iter will be
moved to the end of the level."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreeIter or %NULL.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="move_after"
c:identifier="gtk_tree_store_move_after"
doc="Moves @iter in @tree_store to the position after @position. @iter and
works with unsorted stores. If @position is %NULL, @iter will be moved
to the start of the level."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="position"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreeIter.">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="stamp">
<type name="int" c:type="gint"/>
</field>
<field name="root">
<type name="any" c:type="gpointer"/>
</field>
<field name="last">
<type name="any" c:type="gpointer"/>
</field>
<field name="n_columns">
<type name="int" c:type="gint"/>
</field>
<field name="sort_column_id">
<type name="int" c:type="gint"/>
</field>
<field name="sort_list">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="order">
<type name="SortType" c:type="GtkSortType"/>
</field>
<field name="column_headers">
<type name="any" c:type="GType*"/>
</field>
<field name="default_sort_func">
<type name="TreeIterCompareFunc" c:type="GtkTreeIterCompareFunc"/>
</field>
<field name="default_sort_data">
<type name="any" c:type="gpointer"/>
</field>
<field name="default_sort_destroy">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
<field name="columns_dirty" bits="1">
<type name="uint" c:type="guint"/>
</field>
</class>
<record name="TreeStoreClass"
c:type="GtkTreeStoreClass"
glib:is-gtype-struct-for="TreeStore">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="TreeView"
c:type="GtkTreeView"
parent="Container"
glib:type-name="GtkTreeView"
glib:get-type="gtk_tree_view_get_type"
glib:type-struct="TreeViewClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_tree_view_new"
doc="Creates a new #GtkTreeView widget.">
<return-value transfer-ownership="full">
<type name="TreeView" c:type="GtkWidget*"/>
</return-value>
</constructor>
<constructor name="new_with_model"
c:identifier="gtk_tree_view_new_with_model"
doc="Creates a new #GtkTreeView widget with the model initialized to @model.">
<return-value transfer-ownership="full">
<type name="TreeView" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</constructor>
<method name="get_model"
c:identifier="gtk_tree_view_get_model"
doc="Returns the model the #GtkTreeView is based on. Returns %NULL if the
model is unset.">
<return-value transfer-ownership="full">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</return-value>
</method>
<method name="set_model"
c:identifier="gtk_tree_view_set_model"
doc="Sets the model for a #GtkTreeView. If the @tree_view already has a model
set, it will remove it before setting the new model. If @model is %NULL,
then it will unset the old model.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="The model.">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
</parameters>
</method>
<method name="get_selection"
c:identifier="gtk_tree_view_get_selection"
doc="Gets the #GtkTreeSelection associated with @tree_view.">
<return-value transfer-ownership="full">
<type name="TreeSelection" c:type="GtkTreeSelection*"/>
</return-value>
</method>
<method name="get_hadjustment"
c:identifier="gtk_tree_view_get_hadjustment"
doc="Gets the #GtkAdjustment currently being used for the horizontal aspect.
used.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_hadjustment"
c:identifier="gtk_tree_view_set_hadjustment"
doc="Sets the #GtkAdjustment for the current horizontal aspect.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="The #GtkAdjustment to set, or %NULL">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_vadjustment"
c:identifier="gtk_tree_view_get_vadjustment"
doc="Gets the #GtkAdjustment currently being used for the vertical aspect.
used.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_vadjustment"
c:identifier="gtk_tree_view_set_vadjustment"
doc="Sets the #GtkAdjustment for the current vertical aspect.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="The #GtkAdjustment to set, or %NULL">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="get_headers_visible"
c:identifier="gtk_tree_view_get_headers_visible"
doc="Returns %TRUE if the headers on the @tree_view are visible.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_headers_visible"
c:identifier="gtk_tree_view_set_headers_visible"
doc="Sets the visibility state of the headers.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="headers_visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="columns_autosize"
c:identifier="gtk_tree_view_columns_autosize"
doc="Resizes all columns to their optimal width. Only works after the
treeview has been realized.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_headers_clickable"
c:identifier="gtk_tree_view_get_headers_clickable"
doc="Returns whether all header columns are clickable."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_headers_clickable"
c:identifier="gtk_tree_view_set_headers_clickable"
doc="Allow the column title buttons to be clicked.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_rules_hint"
c:identifier="gtk_tree_view_set_rules_hint">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_rules_hint"
c:identifier="gtk_tree_view_get_rules_hint">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="append_column"
c:identifier="gtk_tree_view_append_column"
doc="Appends @column to the list of columns. If @tree_view has &quot;fixed_height&quot;
mode enabled, then @column must have its &quot;sizing&quot; property set to be
GTK_TREE_VIEW_COLUMN_FIXED.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
</parameters>
</method>
<method name="remove_column"
c:identifier="gtk_tree_view_remove_column"
doc="Removes @column from @tree_view.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
</parameters>
</method>
<method name="insert_column"
c:identifier="gtk_tree_view_insert_column"
doc="This inserts the @column into the @tree_view at @position. If @position is
-1, then the column is inserted at the end. If @tree_view has
&quot;fixed_height&quot; mode enabled, then @column must have its &quot;sizing&quot; property
set to be GTK_TREE_VIEW_COLUMN_FIXED.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="insert_column_with_attributes"
c:identifier="gtk_tree_view_insert_column_with_attributes"
doc="Creates a new #GtkTreeViewColumn and inserts it into the @tree_view at
the end. The column is initialized with the attributes given. If @tree_view
has &quot;fixed_height&quot; mode enabled, then the new column will have its sizing
property set to be GTK_TREE_VIEW_COLUMN_FIXED.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="insert_column_with_data_func"
c:identifier="gtk_tree_view_insert_column_with_data_func"
doc="Convenience function that inserts a new column into the #GtkTreeView
with the given cell renderer and a #GtkCellDataFunc to set cell renderer
attributes (normally using data from the model). See also
gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start().
If @tree_view has &quot;fixed_height&quot; mode enabled, then the new column will have its
&quot;sizing&quot; property set to be GTK_TREE_VIEW_COLUMN_FIXED.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="5"
destroy="6">
<type name="TreeCellDataFunc" c:type="GtkTreeCellDataFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="dnotify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_column"
c:identifier="gtk_tree_view_get_column"
doc="Gets the #GtkTreeViewColumn at the given position in the #tree_view.
range of columns.">
<return-value transfer-ownership="full">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</return-value>
<parameters>
<parameter name="n" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_columns"
c:identifier="gtk_tree_view_get_columns"
doc="Returns a #GList of all the #GtkTreeViewColumn s currently in @tree_view.
The returned list must be freed with g_list_free ().">
<return-value transfer-ownership="container"
doc="A list of #GtkTreeViewColumn s">
<type name="GLib.List" c:type="GList*">
<type name="TreeViewColumn"/>
</type>
</return-value>
</method>
<method name="move_column_after"
c:identifier="gtk_tree_view_move_column_after"
doc="Moves @column to be after to @base_column. If @base_column is %NULL, then">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="base_column"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeViewColumn to be moved relative to, or %NULL.">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
</parameters>
</method>
<method name="set_expander_column"
c:identifier="gtk_tree_view_set_expander_column"
doc="Sets the column to draw the expander arrow at. It must be in @tree_view.
If @column is %NULL, then the expander arrow is always at the first
visible column.
If you do not want expander arrow to appear in your tree, set the
expander column to a hidden column.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
</parameters>
</method>
<method name="get_expander_column"
c:identifier="gtk_tree_view_get_expander_column"
doc="Returns the column that is the current expander column. This
column has the expander arrow drawn next to it.">
<return-value transfer-ownership="full">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</return-value>
</method>
<method name="set_column_drag_function"
c:identifier="gtk_tree_view_set_column_drag_function"
doc="Sets a user function for determining where a column may be dropped when
dragged. This function is called on every column pair in turn at the
beginning of a column drag to determine where a drop can take place. The
dragged, the two #GtkTreeViewColumn s determining the drop spot, and
are %NULL, then they indicate an edge. If @func is set to be %NULL, then
dropped everywhere.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
allow-none="1"
scope="notified"
closure="2"
destroy="3"
doc="A function to determine which columns are reorderable, or %NULL.">
<type name="TreeViewColumnDropFunc"
c:type="GtkTreeViewColumnDropFunc"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
allow-none="1"
doc="User data to be passed to @func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier for @user_data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="scroll_to_point"
c:identifier="gtk_tree_view_scroll_to_point"
doc="Scrolls the tree view such that the top-left corner of the visible
area is @tree_x, @tree_y, where @tree_x and @tree_y are specified
in tree coordinates. The @tree_view must be realized before
this function is called. If it isn&apos;t, you probably want to be
using gtk_tree_view_scroll_to_cell().
If either @tree_x or @tree_y are -1, then that direction isn&apos;t scrolled.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="tree_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="scroll_to_cell"
c:identifier="gtk_tree_view_scroll_to_cell"
doc="Moves the alignments of @tree_view to the position specified by @column and
if @path is %NULL no vertical scrolling occurs. At a minimum, one of @column
or @path need to be non-%NULL. @row_align determines where the row is
placed, and @col_align determines where @column is placed. Both are expected
to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means
right/bottom alignment, 0.5 means center.
If @use_align is %FALSE, then the alignment arguments are ignored, and the
tree does the minimum amount of work to scroll the cell onto the screen.
This means that the cell will be scrolled to the edge closest to its current
position. If the cell is currently visible on the screen, nothing is done.
This function only works if the model is set, and @path is a valid row on the
model. If the model changes before the @tree_view is realized, the centered
path will be modified to reflect this change.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="The path of the row to move to, or %NULL.">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="column"
transfer-ownership="none"
allow-none="1"
doc="The #GtkTreeViewColumn to move horizontally to, or %NULL.">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="use_align" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="row_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
<parameter name="col_align" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="row_activated"
c:identifier="gtk_tree_view_row_activated"
doc="Activates the cell determined by @path and @column.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
</parameters>
</method>
<method name="expand_all"
c:identifier="gtk_tree_view_expand_all"
doc="Recursively expands all nodes in the @tree_view.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="collapse_all"
c:identifier="gtk_tree_view_collapse_all"
doc="Recursively collapses all visible, expanded nodes in @tree_view.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="expand_to_path"
c:identifier="gtk_tree_view_expand_to_path"
doc="Expands the row at @path. This will also expand all parent rows of"
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="expand_row"
c:identifier="gtk_tree_view_expand_row"
doc="Opens the row so its children are visible.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="open_all" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="collapse_row"
c:identifier="gtk_tree_view_collapse_row"
doc="Collapses a row (hides its child rows, if they exist).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="map_expanded_rows"
c:identifier="gtk_tree_view_map_expanded_rows"
doc="Calls @func on all expanded rows.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="TreeViewMappingFunc" c:type="GtkTreeViewMappingFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="row_expanded"
c:identifier="gtk_tree_view_row_expanded"
doc="Returns %TRUE if the node pointed to by @path is expanded in @tree_view.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="set_reorderable"
c:identifier="gtk_tree_view_set_reorderable"
doc="This function is a convenience function to allow you to reorder
models that support the #GtkDragSourceIface and the
#GtkDragDestIface. Both #GtkTreeStore and #GtkListStore support
these. If @reorderable is %TRUE, then the user can reorder the
model by dragging and dropping rows. The developer can listen to
these changes by connecting to the model&apos;s row_inserted and
row_deleted signals. The reordering is implemented by setting up
the tree view as a drag source and destination. Therefore, drag and
drop can not be used in a reorderable view for any other purpose.
This function does not give you any degree of control over the order -- any
reordering is allowed. If more control is needed, you should probably
handle drag and drop manually.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="reorderable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_reorderable"
c:identifier="gtk_tree_view_get_reorderable"
doc="Retrieves whether the user can reorder the tree via drag-and-drop. See
gtk_tree_view_set_reorderable().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_cursor"
c:identifier="gtk_tree_view_set_cursor"
doc="Sets the current keyboard focus to be at @path, and selects it. This is
useful when you want to focus the user&apos;s attention on a particular row. If
it. Additionally, if @focus_column is specified, and @start_editing is
%TRUE, then editing should be started in the specified cell.
This function is often followed by @gtk_widget_grab_focus (@tree_view)
in order to give keyboard focus to the widget. Please note that editing
can only happen when the widget is realized.
If @path is invalid for @model, the current cursor (if any) will be unset
and the function will return without failing.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="focus_column"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreeViewColumn, or %NULL">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="start_editing" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_on_cell"
c:identifier="gtk_tree_view_set_cursor_on_cell"
doc="Sets the current keyboard focus to be at @path, and selects it. This is
useful when you want to focus the user&apos;s attention on a particular row. If
it. If @focus_column and @focus_cell are not %NULL, and @focus_column
contains 2 or more editable or activatable cells, then focus is given to
the cell specified by @focus_cell. Additionally, if @focus_column is
specified, and @start_editing is %TRUE, then editing should be started in
the specified cell. This function is often followed by
widget. Please note that editing can only happen when the widget is
realized.
If @path is invalid for @model, the current cursor (if any) will be unset
and the function will return without failing."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="focus_column"
transfer-ownership="none"
allow-none="1"
doc="A #GtkTreeViewColumn, or %NULL">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="focus_cell"
transfer-ownership="none"
allow-none="1"
doc="A #GtkCellRenderer, or %NULL">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="start_editing" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_cursor"
c:identifier="gtk_tree_view_get_cursor"
doc="Fills in @path and @focus_column with the current path and focus column. If
the cursor isn&apos;t currently set, then *@path will be %NULL. If no column
currently has focus, then *@focus_column will be %NULL.
The returned #GtkTreePath must be freed with gtk_tree_path_free() when
you are done with it.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="A pointer to be filled with the current cursor path, or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="focus_column"
transfer-ownership="none"
allow-none="1"
doc="A pointer to be filled with the current focus column, or %NULL">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn**"/>
</parameter>
</parameters>
</method>
<method name="get_bin_window"
c:identifier="gtk_tree_view_get_bin_window"
doc="Returns the window that @tree_view renders to. This is used primarily to
compare to &lt;literal&gt;event-&gt;window&lt;/literal&gt; to confirm that the event on">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="get_path_at_pos"
c:identifier="gtk_tree_view_get_path_at_pos"
doc="Finds the path at the point (@x, @y), relative to bin_window coordinates
(please see gtk_tree_view_get_bin_window()).
That is, @x and @y are relative to an events coordinates. @x and @y must
come from an event on the @tree_view only where &lt;literal&gt;event-&gt;window ==
gtk_tree_view_get_bin_window (&lt;!-- --&gt;)&lt;/literal&gt;. It is primarily for
things like popup menus. If @path is non-%NULL, then it will be filled
with the #GtkTreePath at that point. This path should be freed with
gtk_tree_path_free(). If @column is non-%NULL, then it will be filled
with the column at that point. @cell_x and @cell_y return the coordinates
relative to the cell background (i.e. the @background_area passed to
gtk_cell_renderer_render()). This function is only meaningful if
if @tree_view is not realized or does not have a model.
For converting widget coordinates (eg. the ones you get from
GtkWidget::query-tooltip), please see
gtk_tree_view_convert_widget_to_bin_window_coords().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="path"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="A pointer to a #GtkTreePath pointer to be filled in, or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="column"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn**"/>
</parameter>
<parameter name="cell_x"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="A pointer where the X coordinate relative to the cell can be placed, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="cell_y"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="A pointer where the Y coordinate relative to the cell can be placed, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_cell_area"
c:identifier="gtk_tree_view_get_cell_area"
doc="Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by @path and the column specified by @column. If @path is
%NULL, or points to a path not currently displayed, the @y and @height fields
of the rectangle will be filled with 0. If @column is %NULL, the @x and @width
fields will be filled with 0. The sum of all cell rects does not cover the
entire tree; there are extra pixels in between rows, for example. The
returned rectangle is equivalent to the @cell_area passed to
gtk_cell_renderer_render(). This function is only valid if @tree_view is
realized.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreePath for the row, or %NULL to get only horizontal coordinates">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="column"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="rect" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="get_background_area"
c:identifier="gtk_tree_view_get_background_area"
doc="Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by @path and the column specified by @column. If @path is
%NULL, or points to a node not found in the tree, the @y and @height fields of
the rectangle will be filled with 0. If @column is %NULL, the @x and @width
fields will be filled with 0. The returned rectangle is equivalent to the
areas tile to cover the entire bin window. Contrast with the @cell_area,
returned by gtk_tree_view_get_cell_area(), which returns only the cell
itself, excluding surrounding borders and the tree expander area.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreePath for the row, or %NULL to get only horizontal coordinates">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="column"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordiantes">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="rect" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="get_visible_rect"
c:identifier="gtk_tree_view_get_visible_rect"
doc="Fills @visible_rect with the currently-visible region of the
buffer, in tree coordinates. Convert to bin_window coordinates with
gtk_tree_view_convert_tree_to_bin_window_coords().
Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
scrollable area of the tree.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible_rect" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="widget_to_tree_coords"
c:identifier="gtk_tree_view_widget_to_tree_coords"
doc="Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree).
incorrect. For converting coordinates relative to the widget to
bin_window coordinates, please see
gtk_tree_view_convert_widget_to_bin_window_coords()."
deprecated="Due to historial reasons the name of this function is"
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="wy" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="tx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="ty" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="tree_to_widget_coords"
c:identifier="gtk_tree_view_tree_to_widget_coords"
doc="Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates.
incorrect. For converting bin_window coordinates to coordinates relative
to bin_window, please see
gtk_tree_view_convert_bin_window_to_widget_coords()."
deprecated="Due to historial reasons the name of this function is"
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ty" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="wx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="wy" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_visible_range"
c:identifier="gtk_tree_view_get_visible_range"
doc="Sets @start_path and @end_path to be the first and last visible path.
Note that there may be invisible paths in between.
The paths should be freed with gtk_tree_path_free() after use."
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="start_path"
transfer-ownership="none"
allow-none="1"
doc="Return location for start of region, or %NULL.">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="end_path"
transfer-ownership="none"
allow-none="1"
doc="Return location for end of region, or %NULL.">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
</parameters>
</method>
<method name="enable_model_drag_source"
c:identifier="gtk_tree_view_enable_model_drag_source"
doc="widget
Turns @tree_view into a drag source for automatic DND. Calling this
method sets #GtkTreeView:reorderable to %FALSE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start_button_mask" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</method>
<method name="enable_model_drag_dest"
c:identifier="gtk_tree_view_enable_model_drag_dest"
doc="widget
Turns @tree_view into a drop destination for automatic DND. Calling
this method sets #GtkTreeView:reorderable to %FALSE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</method>
<method name="unset_rows_drag_source"
c:identifier="gtk_tree_view_unset_rows_drag_source"
doc="Undoes the effect of
gtk_tree_view_enable_model_drag_source(). Calling this method sets
#GtkTreeView:reorderable to %FALSE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unset_rows_drag_dest"
c:identifier="gtk_tree_view_unset_rows_drag_dest"
doc="Undoes the effect of
gtk_tree_view_enable_model_drag_dest(). Calling this method sets
#GtkTreeView:reorderable to %FALSE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_drag_dest_row"
c:identifier="gtk_tree_view_set_drag_dest_row"
doc="Sets the row that is highlighted for feedback.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="The path of the row to highlight, or %NULL.">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="pos" transfer-ownership="none">
<type name="TreeViewDropPosition"
c:type="GtkTreeViewDropPosition"/>
</parameter>
</parameters>
</method>
<method name="get_drag_dest_row"
c:identifier="gtk_tree_view_get_drag_dest_row"
doc="Gets information about the row that is highlighted for feedback.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="Return location for the path of the highlighted row, or %NULL.">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="pos"
transfer-ownership="none"
allow-none="1"
doc="Return location for the drop position, or %NULL">
<type name="TreeViewDropPosition"
c:type="GtkTreeViewDropPosition*"/>
</parameter>
</parameters>
</method>
<method name="get_dest_row_at_pos"
c:identifier="gtk_tree_view_get_dest_row_at_pos"
doc="Determines the destination row for a given position. @drag_x and
meaningful if @tree_view is realized. Therefore this function will always
return %FALSE if @tree_view is not realized or does not have a model.
is indeed the case.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="drag_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="Return location for the path of the highlighted row, or %NULL.">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="pos"
transfer-ownership="none"
allow-none="1"
doc="Return location for the drop position, or %NULL">
<type name="TreeViewDropPosition"
c:type="GtkTreeViewDropPosition*"/>
</parameter>
</parameters>
</method>
<method name="create_row_drag_icon"
c:identifier="gtk_tree_view_create_row_drag_icon"
doc="Creates a #GdkPixmap representation of the row at @path.
This image is used for a drag icon.">
<return-value transfer-ownership="full">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="set_enable_search"
c:identifier="gtk_tree_view_set_enable_search"
doc="If @enable_search is set, then the user can type in text to search through
the tree interactively (this is sometimes called &quot;typeahead find&quot;).
Note that even if this is %FALSE, the user can still initiate a search
using the &quot;start-interactive-search&quot; key binding.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="enable_search" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_enable_search"
c:identifier="gtk_tree_view_get_enable_search"
doc="Returns whether or not the tree allows to start interactive searching
by typing in text.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_search_column"
c:identifier="gtk_tree_view_get_search_column"
doc="Gets the column searched on by the interactive search code.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_search_column"
c:identifier="gtk_tree_view_set_search_column"
doc="Sets @column as the column where the interactive search code should
search in for the current model.
If the search column is set, users can use the &quot;start-interactive-search&quot;
key binding to bring up search popup. The enable-search property controls
whether simply typing text will also start an interactive search.
Note that @column refers to a column of the current model. The search
column is reset to -1 when the model is changed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_search_equal_func"
c:identifier="gtk_tree_view_get_search_equal_func"
doc="Returns the compare function currently in use.">
<return-value transfer-ownership="full">
<type name="TreeViewSearchEqualFunc"
c:type="GtkTreeViewSearchEqualFunc"/>
</return-value>
</method>
<method name="set_search_equal_func"
c:identifier="gtk_tree_view_set_search_equal_func"
doc="Sets the compare function for the interactive search capabilities; note
that somewhat like strcmp() returning 0 for equality
#GtkTreeViewSearchEqualFunc returns %FALSE on matches.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="search_equal_func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TreeViewSearchEqualFunc"
c:type="GtkTreeViewSearchEqualFunc"/>
</parameter>
<parameter name="search_user_data"
transfer-ownership="none"
allow-none="1"
doc="user data to pass to @search_equal_func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="search_destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier for @search_user_data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_search_entry"
c:identifier="gtk_tree_view_get_search_entry"
doc="Returns the #GtkEntry which is currently in use as interactive search
entry for @tree_view. In case the built-in entry is being used, %NULL
will be returned."
version="2.10">
<return-value transfer-ownership="full">
<type name="Entry" c:type="GtkEntry*"/>
</return-value>
</method>
<method name="set_search_entry"
c:identifier="gtk_tree_view_set_search_entry"
doc="Sets the entry which the interactive search code will use for this
in our interface at all time at a fixed position. Passing %NULL for
entry again."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="entry"
transfer-ownership="none"
allow-none="1"
doc="the entry the interactive search code of @tree_view should use or %NULL">
<type name="Entry" c:type="GtkEntry*"/>
</parameter>
</parameters>
</method>
<method name="get_search_position_func"
c:identifier="gtk_tree_view_get_search_position_func"
doc="Returns the positioning function currently in use."
version="2.10">
<return-value transfer-ownership="full">
<type name="TreeViewSearchPositionFunc"
c:type="GtkTreeViewSearchPositionFunc"/>
</return-value>
</method>
<method name="set_search_position_func"
c:identifier="gtk_tree_view_set_search_position_func"
doc="to use the default search position function
Sets the function to use when positioning the search dialog."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
allow-none="1"
scope="notified"
closure="2"
destroy="3"
doc="the function to use to position the search dialog, or %NULL">
<type name="TreeViewSearchPositionFunc"
c:type="GtkTreeViewSearchPositionFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="user data to pass to @func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier for @data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="convert_widget_to_tree_coords"
c:identifier="gtk_tree_view_convert_widget_to_tree_coords"
doc="Converts widget coordinates to coordinates for the
tree (the full scrollable area of the tree)."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="wy" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="tx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="ty" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="convert_tree_to_widget_coords"
c:identifier="gtk_tree_view_convert_tree_to_widget_coords"
doc="Converts tree coordinates (coordinates in full scrollable area of the tree)
to widget coordinates."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ty" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="wx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="wy" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="convert_widget_to_bin_window_coords"
c:identifier="gtk_tree_view_convert_widget_to_bin_window_coords"
doc="Converts widget coordinates to coordinates for the bin_window
(see gtk_tree_view_get_bin_window())."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="wy" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="bx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="by" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="convert_bin_window_to_widget_coords"
c:identifier="gtk_tree_view_convert_bin_window_to_widget_coords"
doc="Converts bin_window coordinates (see gtk_tree_view_get_bin_window())
to widget relative coordinates."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="bx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="by" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="wx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="wy" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="convert_tree_to_bin_window_coords"
c:identifier="gtk_tree_view_convert_tree_to_bin_window_coords"
doc="Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="ty" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="bx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="by" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="convert_bin_window_to_tree_coords"
c:identifier="gtk_tree_view_convert_bin_window_to_tree_coords"
doc="Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree)."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="bx" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="by" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="tx" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="ty" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_destroy_count_func"
c:identifier="gtk_tree_view_set_destroy_count_func"
doc="This function should almost never be used. It is meant for private use by
ATK for determining the number of visible children that are removed when the
user collapses a row, or a row is deleted.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
allow-none="1"
scope="notified"
closure="2"
destroy="3"
doc="Function to be called when a view row is destroyed, or %NULL">
<type name="TreeDestroyCountFunc"
c:type="GtkTreeDestroyCountFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="User data to be passed to @func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="Destroy notifier for @data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="set_fixed_height_mode"
c:identifier="gtk_tree_view_set_fixed_height_mode"
doc="Enables or disables the fixed height mode of @tree_view.
Fixed height mode speeds up #GtkTreeView by assuming that all
rows have the same height.
Only enable this option if all rows are the same height and all
columns are of type %GTK_TREE_VIEW_COLUMN_FIXED."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="enable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_fixed_height_mode"
c:identifier="gtk_tree_view_get_fixed_height_mode"
doc="Returns whether fixed height mode is turned on for @tree_view."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_hover_selection"
c:identifier="gtk_tree_view_set_hover_selection"
doc="Enables of disables the hover selection mode of @tree_view.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes
%GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hover" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_hover_selection"
c:identifier="gtk_tree_view_get_hover_selection"
doc="Returns whether hover selection mode is turned on for @tree_view."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_hover_expand"
c:identifier="gtk_tree_view_set_hover_expand"
doc="Enables of disables the hover expansion mode of @tree_view.
Hover expansion makes rows expand or collapse if the pointer
moves over them."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_hover_expand"
c:identifier="gtk_tree_view_get_hover_expand"
doc="Returns whether hover expansion mode is turned on for @tree_view."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_rubber_banding"
c:identifier="gtk_tree_view_set_rubber_banding"
doc="Enables or disables rubber banding in @tree_view. If the selection mode
is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select
multiple rows by dragging the mouse."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="enable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_rubber_banding"
c:identifier="gtk_tree_view_get_rubber_banding"
doc="Returns whether rubber banding is turned on for @tree_view. If the
selection mode is #GTK_SELECTION_MULTIPLE, rubber banding will allow the
user to select multiple rows by dragging the mouse."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_rubber_banding_active"
c:identifier="gtk_tree_view_is_rubber_banding_active"
doc="Returns whether a rubber banding operation is currently being done
in @tree_view.
done in @tree_view."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_row_separator_func"
c:identifier="gtk_tree_view_get_row_separator_func"
doc="Returns the current row separator function."
version="2.6">
<return-value transfer-ownership="full">
<type name="TreeViewRowSeparatorFunc"
c:type="GtkTreeViewRowSeparatorFunc"/>
</return-value>
</method>
<method name="set_row_separator_func"
c:identifier="gtk_tree_view_set_row_separator_func"
doc="Sets the row separator function, which is used to determine
whether a row should be drawn as a separator. If the row separator
function is %NULL, no separators are drawn. This is the default value."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TreeViewRowSeparatorFunc"
c:type="GtkTreeViewRowSeparatorFunc"/>
</parameter>
<parameter name="data"
transfer-ownership="none"
allow-none="1"
doc="user data to pass to @func, or %NULL">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy"
transfer-ownership="none"
allow-none="1"
scope="call"
doc="destroy notifier for @data, or %NULL">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="get_grid_lines"
c:identifier="gtk_tree_view_get_grid_lines"
doc="Returns which grid lines are enabled in @tree_view.
are enabled."
version="2.10">
<return-value transfer-ownership="full">
<type name="TreeViewGridLines" c:type="GtkTreeViewGridLines"/>
</return-value>
</method>
<method name="set_grid_lines"
c:identifier="gtk_tree_view_set_grid_lines"
doc="enable.
Sets which grid lines to draw in @tree_view."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="grid_lines" transfer-ownership="none">
<type name="TreeViewGridLines" c:type="GtkTreeViewGridLines"/>
</parameter>
</parameters>
</method>
<method name="get_enable_tree_lines"
c:identifier="gtk_tree_view_get_enable_tree_lines"
doc="Returns whether or not tree lines are drawn in @tree_view.
otherwise."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_enable_tree_lines"
c:identifier="gtk_tree_view_set_enable_tree_lines"
doc="Sets whether to draw lines interconnecting the expanders in @tree_view.
This does not have any visible effects for lists."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="enabled" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_show_expanders"
c:identifier="gtk_tree_view_set_show_expanders"
doc="Sets whether to draw and enable expanders and indent child rows in
and there will be no way to expand and collapse rows by default. Also
note that hiding the expanders will disable the default indentation. You
can set a custom indentation in this case using
gtk_tree_view_set_level_indentation().
This does not have any visible effects for lists."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="enabled" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_show_expanders"
c:identifier="gtk_tree_view_get_show_expanders"
doc="Returns whether or not expanders are drawn in @tree_view.
otherwise."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_level_indentation"
c:identifier="gtk_tree_view_set_level_indentation"
doc="Sets the amount of extra indentation for child levels to use in @tree_view
in addition to the default indentation. The value should be specified in
pixels, a value of 0 disables this feature and in this case only the default
indentation will be used.
This does not have any visible effects for lists."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="indentation" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_level_indentation"
c:identifier="gtk_tree_view_get_level_indentation"
doc="Returns the amount, in pixels, of extra indentation for child levels
in @tree_view."
version="2.12">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_tooltip_row"
c:identifier="gtk_tree_view_set_tooltip_row"
doc="Sets the tip area of @tooltip to be the area covered by the row at @path.
See also gtk_tree_view_set_tooltip_column() for a simpler alternative.
See also gtk_tooltip_set_tip_area()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_cell"
c:identifier="gtk_tree_view_set_tooltip_cell"
doc="Sets the tip area of @tooltip to the area @path, @column and @cell have
in common. For example if @path is %NULL and @column is set, the tip
area will be set to the full area covered by @column. See also
gtk_tooltip_set_tip_area().
Note that if @path is not specified and @cell is set and part of a column
containing the expander, the tooltip might not show and hide at the correct
position. In such cases @path must be set to the current node under the
mouse cursor for this function to operate correctly.
See also gtk_tree_view_set_tooltip_column() for a simpler alternative."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip*"/>
</parameter>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreePath or %NULL">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="column"
transfer-ownership="none"
allow-none="1"
doc="a #GtkTreeViewColumn or %NULL">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="cell"
transfer-ownership="none"
allow-none="1"
doc="a #GtkCellRenderer or %NULL">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip_context"
c:identifier="gtk_tree_view_get_tooltip_context"
doc="This function is supposed to be used in a #GtkWidget::query-tooltip
signal handler for #GtkTreeView. The @x, @y and @keyboard_tip values
which are received in the signal handler, should be passed to this
function without modification.
The return value indicates whether there is a tree view row at the given
coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard
tooltips the row returned will be the cursor row. When %TRUE, then any of
that row and the corresponding model. @x and @y will always be converted
to be relative to @tree_view&apos;s bin_window if @keyboard_tooltip is %FALSE."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="keyboard_tip" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="model"
transfer-ownership="none"
allow-none="1"
doc="a pointer to receive a #GtkTreeModel or %NULL">
<type name="TreeModel" c:type="GtkTreeModel**"/>
</parameter>
<parameter name="path"
transfer-ownership="none"
allow-none="1"
doc="a pointer to receive a #GtkTreePath or %NULL">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
<parameter name="iter"
transfer-ownership="none"
allow-none="1"
doc="a pointer to receive a #GtkTreeIter or %NULL">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_column"
c:identifier="gtk_tree_view_set_tooltip_column"
doc="If you only plan to have simple (text-only) tooltips on full rows, you
can use this function to have #GtkTreeView handle these automatically
for you. @column should be set to the column in @tree_view&apos;s model
containing the tooltip texts, or -1 to disable this feature.
When enabled, #GtkWidget::has-tooltip will be set to %TRUE and
Note that the signal handler sets the text with gtk_tooltip_set_markup(),
so &amp;amp;, &amp;lt;, etc have to be escaped in the text."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip_column"
c:identifier="gtk_tree_view_get_tooltip_column"
doc="Returns the column of @tree_view&apos;s model which is being used for
displaying tooltips on @tree_view&apos;s rows.
used, or -1 if this is disabled."
version="2.12">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<property name="enable-grid-lines" writable="1">
<type name="TreeViewGridLines" c:type="GtkTreeViewGridLines"/>
</property>
<property name="enable-search" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="enable-tree-lines" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="expander-column" writable="1">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn"/>
</property>
<property name="fixed-height-mode"
version="2.4"
writable="1"
doc="Setting the ::fixed-height-mode property to %TRUE speeds up
#GtkTreeView by assuming that all rows have the same height.
Only enable this option if all rows are the same height.
Please see gtk_tree_view_set_fixed_height_mode() for more
information on this option.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="hadjustment" writable="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="headers-clickable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="headers-visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="hover-expand"
version="2.6"
writable="1"
doc="Enables of disables the hover expansion mode of @tree_view.
Hover expansion makes rows expand or collapse if the pointer moves
over them.
This mode is primarily intended for treeviews in popups, e.g.
in #GtkComboBox or #GtkEntryCompletion.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="hover-selection"
version="2.6"
writable="1"
doc="Enables of disables the hover selection mode of @tree_view.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes
%GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE.
This mode is primarily intended for treeviews in popups, e.g.
in #GtkComboBox or #GtkEntryCompletion.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="level-indentation"
version="2.12"
writable="1"
doc="Extra indentation for each level.">
<type name="int" c:type="gint"/>
</property>
<property name="model" writable="1">
<type name="TreeModel" c:type="GtkTreeModel"/>
</property>
<property name="reorderable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="rubber-banding" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="rules-hint" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="search-column" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="show-expanders"
version="2.12"
writable="1"
doc="%TRUE if the view has expanders.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="tooltip-column" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="vadjustment" writable="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<field name="parent">
<type name="Container" c:type="GtkContainer"/>
</field>
<field name="priv">
<type name="TreeViewPrivate" c:type="GtkTreeViewPrivate*"/>
</field>
<glib:signal name="columns-changed"
doc="The number of columns of the treeview has changed.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cursor-changed"
doc="The position of the cursor (focused cell) has changed.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="expand-collapse-cursor-row">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-cursor">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="row-activated"
doc="The &quot;row-activated&quot; signal is emitted when the method
gtk_tree_view_row_activated() is called or the user double clicks
a treeview row. It is also emitted when a non-editable row is
Enter is pressed.
For selection handling refer to the &lt;link linkend=&quot;TreeWidget&quot;&gt;tree
widget conceptual overview&lt;/link&gt; as well as #GtkTreeSelection.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="row-collapsed"
doc="The given row has been collapsed (child nodes are hidden).">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="row-expanded"
doc="The given row has been expanded (child nodes are shown).">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="select-all">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="select-cursor-parent">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="select-cursor-row">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-scroll-adjustments">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="start-interactive-search">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="test-collapse-row"
doc="The given row is about to be collapsed (hide its children nodes). Use this
signal if you need to control the collapsibility of individual rows.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="test-expand-row"
doc="The given row is about to be expanded (show its children nodes). Use this
signal if you need to control the expandability of individual rows.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="toggle-cursor-row">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="unselect-all">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
</class>
<record name="TreeViewClass"
c:type="GtkTreeViewClass"
glib:is-gtype-struct-for="TreeView">
<field name="parent_class">
<type name="ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="set_scroll_adjustments">
<callback name="set_scroll_adjustments"
c:type="set_scroll_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_activated">
<callback name="row_activated" c:type="row_activated">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="test_expand_row">
<callback name="test_expand_row" c:type="test_expand_row">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="test_collapse_row">
<callback name="test_collapse_row" c:type="test_collapse_row">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_expanded">
<callback name="row_expanded" c:type="row_expanded">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="row_collapsed">
<callback name="row_collapsed" c:type="row_collapsed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="columns_changed">
<callback name="columns_changed" c:type="columns_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cursor_changed">
<callback name="cursor_changed" c:type="cursor_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_cursor">
<callback name="move_cursor" c:type="move_cursor">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="MovementStep" c:type="GtkMovementStep"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_all">
<callback name="select_all" c:type="select_all">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unselect_all">
<callback name="unselect_all" c:type="unselect_all">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_cursor_row">
<callback name="select_cursor_row" c:type="select_cursor_row">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="start_editing" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="toggle_cursor_row">
<callback name="toggle_cursor_row" c:type="toggle_cursor_row">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="expand_collapse_cursor_row">
<callback name="expand_collapse_cursor_row"
c:type="expand_collapse_cursor_row">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="logical" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="open_all" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="select_cursor_parent">
<callback name="select_cursor_parent" c:type="select_cursor_parent">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_interactive_search">
<callback name="start_interactive_search"
c:type="start_interactive_search">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved0">
<callback name="gtk_reserved0" c:type="_gtk_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="TreeViewColumn"
c:type="GtkTreeViewColumn"
parent="Object"
glib:type-name="GtkTreeViewColumn"
glib:get-type="gtk_tree_view_column_get_type"
glib:type-struct="TreeViewColumnClass">
<implements name="Buildable"/>
<implements name="CellLayout"/>
<constructor name="new"
c:identifier="gtk_tree_view_column_new"
doc="Creates a new #GtkTreeViewColumn.">
<return-value transfer-ownership="full">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</return-value>
</constructor>
<constructor name="new_with_attributes"
c:identifier="gtk_tree_view_column_new_with_attributes"
doc="Creates a new #GtkTreeViewColumn with a number of default values. This is
equivalent to calling gtk_tree_view_column_set_title(),
gtk_tree_view_column_pack_start(), and
gtk_tree_view_column_set_attributes() on the newly created #GtkTreeViewColumn.
Here&apos;s a simple example:
|[
enum { TEXT_COLUMN, COLOR_COLUMN, N_COLUMNS };
...
{
GtkTreeViewColumn *column;
GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes (&quot;Title&quot;,
renderer,
&quot;text&quot;, TEXT_COLUMN,
&quot;foreground&quot;, COLOR_COLUMN,
NULL);
}
]|">
<return-value transfer-ownership="full">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<method name="pack_start"
c:identifier="gtk_tree_view_column_pack_start"
doc="Packs the @cell into the beginning of the column. If @expand is %FALSE, then
the @cell is allocated no more space than it needs. Any unused space is divided
evenly between cells for which @expand is %TRUE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="pack_end"
c:identifier="gtk_tree_view_column_pack_end"
doc="Adds the @cell to end of the column. If @expand is %FALSE, then the @cell
is allocated no more space than it needs. Any unused space is divided
evenly between cells for which @expand is %TRUE.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="clear"
c:identifier="gtk_tree_view_column_clear"
doc="Unsets all the mappings on all renderers on the @tree_column.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_cell_renderers"
c:identifier="gtk_tree_view_column_get_cell_renderers"
doc="Returns a newly-allocated #GList of all the cell renderers in the column,
in no particular order. The list must be freed with g_list_free()."
deprecated="use gtk_cell_layout_get_cells() instead."
deprecated-version="2.18">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
</method>
<method name="add_attribute"
c:identifier="gtk_tree_view_column_add_attribute"
doc="Adds an attribute mapping to the list in @tree_column. The @column is the
column of the model to get a value from, and the @attribute is the
parameter on @cell_renderer to be set from the value. So for example
if column 2 of the model contains strings, you could have the
&quot;text&quot; attribute of a #GtkCellRendererText get its values from
column 2.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_renderer" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="attribute" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_attributes"
c:identifier="gtk_tree_view_column_set_attributes"
doc="Sets the attributes in the list as the attributes of @tree_column.
The attributes should be in attribute/column order, as in
gtk_tree_view_column_add_attribute(). All existing attributes
are removed, and replaced with the new attributes.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_renderer" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set_cell_data_func"
c:identifier="gtk_tree_view_column_set_cell_data_func"
doc="Sets the #GtkTreeViewColumnFunc to use for the column. This
function is used instead of the standard attributes mapping for
setting the column value, and should set the value of @tree_column&apos;s
cell renderer as appropriate. @func may be %NULL to remove an
older one.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_renderer" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="TreeCellDataFunc" c:type="GtkTreeCellDataFunc"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="clear_attributes"
c:identifier="gtk_tree_view_column_clear_attributes"
doc="Clears all existing attributes previously set with
gtk_tree_view_column_set_attributes().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_renderer" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</method>
<method name="set_spacing"
c:identifier="gtk_tree_view_column_set_spacing"
doc="Sets the spacing field of @tree_column, which is the number of pixels to
place between cell renderers packed into it.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_spacing"
c:identifier="gtk_tree_view_column_get_spacing"
doc="Returns the spacing of @tree_column.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_visible"
c:identifier="gtk_tree_view_column_set_visible"
doc="Sets the visibility of @tree_column.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible"
c:identifier="gtk_tree_view_column_get_visible"
doc="Returns %TRUE if @tree_column is visible.
the tree will show the column.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_resizable"
c:identifier="gtk_tree_view_column_set_resizable"
doc="If @resizable is %TRUE, then the user can explicitly resize the column by
grabbing the outer edge of the column button. If resizable is %TRUE and
sizing mode of the column is #GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing
mode is changed to #GTK_TREE_VIEW_COLUMN_GROW_ONLY.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="resizable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_resizable"
c:identifier="gtk_tree_view_column_get_resizable"
doc="Returns %TRUE if the @tree_column can be resized by the end user.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_sizing"
c:identifier="gtk_tree_view_column_set_sizing"
doc="Sets the growth behavior of @tree_column to @type.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="TreeViewColumnSizing"
c:type="GtkTreeViewColumnSizing"/>
</parameter>
</parameters>
</method>
<method name="get_sizing"
c:identifier="gtk_tree_view_column_get_sizing"
doc="Returns the current type of @tree_column.">
<return-value transfer-ownership="full">
<type name="TreeViewColumnSizing" c:type="GtkTreeViewColumnSizing"/>
</return-value>
</method>
<method name="get_width"
c:identifier="gtk_tree_view_column_get_width"
doc="Returns the current size of @tree_column in pixels.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_fixed_width"
c:identifier="gtk_tree_view_column_get_fixed_width"
doc="Gets the fixed width of the column. This value is only meaning may not be
the actual width of the column on the screen, just what is requested.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_fixed_width"
c:identifier="gtk_tree_view_column_set_fixed_width"
doc="Sets the size of the column in pixels. This is meaningful only if the sizing
type is #GTK_TREE_VIEW_COLUMN_FIXED. The size of the column is clamped to
the min/max width for the column. Please note that the min/max width of the
column doesn&apos;t actually affect the &quot;fixed_width&quot; property of the widget, just
the actual size when displayed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fixed_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_min_width"
c:identifier="gtk_tree_view_column_set_min_width"
doc="Sets the minimum width of the @tree_column. If @min_width is -1, then the
minimum width is unset.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="min_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_min_width"
c:identifier="gtk_tree_view_column_get_min_width"
doc="Returns the minimum width in pixels of the @tree_column, or -1 if no minimum
width is set.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_max_width"
c:identifier="gtk_tree_view_column_set_max_width"
doc="Sets the maximum width of the @tree_column. If @max_width is -1, then the
maximum width is unset. Note, the column can actually be wider than max
width if it&apos;s the last column in a view. In this case, the column expands to
fill any extra space.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="max_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_max_width"
c:identifier="gtk_tree_view_column_get_max_width"
doc="Returns the maximum width in pixels of the @tree_column, or -1 if no maximum
width is set.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="clicked"
c:identifier="gtk_tree_view_column_clicked"
doc="Emits the &quot;clicked&quot; signal on the column. This function will only work if">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_title"
c:identifier="gtk_tree_view_column_set_title"
doc="Sets the title of the @tree_column. If a custom widget has been set, then
this value is ignored.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_title"
c:identifier="gtk_tree_view_column_get_title"
doc="Returns the title of the widget.
modified or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_expand"
c:identifier="gtk_tree_view_column_set_expand"
doc="Sets the column to take available extra space. This space is shared equally
amongst all columns that have the expand set to %TRUE. If no column has this
option set, then the last column gets all extra space. By default, every
column is created with this %FALSE."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="expand" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_expand"
c:identifier="gtk_tree_view_column_get_expand"
doc="Return %TRUE if the column expands to take any available space."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_clickable"
c:identifier="gtk_tree_view_column_set_clickable"
doc="Sets the header to be active if @active is %TRUE. When the header is active,
then it can take keyboard focus, and can be clicked.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clickable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_clickable"
c:identifier="gtk_tree_view_column_get_clickable"
doc="Returns %TRUE if the user can click on the header for the column.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_widget"
c:identifier="gtk_tree_view_column_set_widget"
doc="Sets the widget in the header to be @widget. If widget is %NULL, then the
header button is set with a #GtkLabel set to the title of @tree_column.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="A child #GtkWidget, or %NULL.">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_widget"
c:identifier="gtk_tree_view_column_get_widget"
doc="Returns the #GtkWidget in the button on the column header. If a custom
widget has not been set then %NULL is returned.">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_alignment"
c:identifier="gtk_tree_view_column_set_alignment"
doc="Sets the alignment of the title or custom widget inside the column header.
The alignment determines its location inside the button -- 0.0 for left, 0.5
for center, 1.0 for right.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xalign" transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="get_alignment"
c:identifier="gtk_tree_view_column_get_alignment"
doc="Returns the current x alignment of @tree_column. This value can range
between 0.0 and 1.0.">
<return-value transfer-ownership="none">
<type name="float" c:type="gfloat"/>
</return-value>
</method>
<method name="set_reorderable"
c:identifier="gtk_tree_view_column_set_reorderable"
doc="If @reorderable is %TRUE, then the column can be reordered by the end user
dragging the header.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="reorderable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_reorderable"
c:identifier="gtk_tree_view_column_get_reorderable"
doc="Returns %TRUE if the @tree_column can be reordered by the user.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_sort_column_id"
c:identifier="gtk_tree_view_column_set_sort_column_id"
doc="Sets the logical @sort_column_id that this column sorts on when this column
is selected for sorting. Doing so makes the column header clickable.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sort_column_id" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_sort_column_id"
c:identifier="gtk_tree_view_column_get_sort_column_id"
doc="Gets the logical @sort_column_id that the model sorts on when this
column is selected for sorting.
See gtk_tree_view_column_set_sort_column_id().
this column can&apos;t be used for sorting.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="set_sort_indicator"
c:identifier="gtk_tree_view_column_set_sort_indicator"
doc="Call this function with a @setting of %TRUE to display an arrow in
the header button indicating the column is sorted. Call
gtk_tree_view_column_set_sort_order() to change the direction of
the arrow.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_sort_indicator"
c:identifier="gtk_tree_view_column_get_sort_indicator"
doc="Gets the value set by gtk_tree_view_column_set_sort_indicator().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_sort_order"
c:identifier="gtk_tree_view_column_set_sort_order"
doc="Changes the appearance of the sort indicator.
This &lt;emphasis&gt;does not&lt;/emphasis&gt; actually sort the model. Use
gtk_tree_view_column_set_sort_column_id() if you want automatic sorting
support. This function is primarily for custom sorting behavior, and should
be used in conjunction with gtk_tree_sortable_set_sort_column() to do
that. For custom models, the mechanism will vary.
The sort indicator changes direction to indicate normal sort or reverse sort.
Note that you must have the sort indicator enabled to see anything when
calling this function; see gtk_tree_view_column_set_sort_indicator().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="order" transfer-ownership="none">
<type name="SortType" c:type="GtkSortType"/>
</parameter>
</parameters>
</method>
<method name="get_sort_order"
c:identifier="gtk_tree_view_column_get_sort_order"
doc="Gets the value set by gtk_tree_view_column_set_sort_order().">
<return-value transfer-ownership="full">
<type name="SortType" c:type="GtkSortType"/>
</return-value>
</method>
<method name="cell_set_cell_data"
c:identifier="gtk_tree_view_column_cell_set_cell_data"
doc="Sets the cell renderer based on the @tree_model and @iter. That is, for
every attribute mapping in @tree_column, it will get a value from the set
column on the @iter, and use that value to set the attribute on the cell
renderer. This is used primarily by the #GtkTreeView.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="is_expander" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="is_expanded" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="cell_get_size"
c:identifier="gtk_tree_view_column_cell_get_size"
doc="Obtains the width and height needed to render the column. This is used
primarily by the #GtkTreeView.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell_area"
transfer-ownership="none"
allow-none="1"
doc="The area a cell in the column will be allocated, or %NULL">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="x_offset"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return x offset of a cell relative to @cell_area, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y_offset"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return y offset of a cell relative to @cell_area, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="width"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return width needed to render a cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to return height needed to render a cell, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="cell_is_visible"
c:identifier="gtk_tree_view_column_cell_is_visible"
doc="Returns %TRUE if any of the cells packed into the @tree_column are visible.
For this to be meaningful, you must first initialize the cells with
gtk_tree_view_column_cell_set_cell_data()">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="focus_cell"
c:identifier="gtk_tree_view_column_focus_cell"
doc="Sets the current keyboard focus to be at @cell, if the column contains
2 or more editable and activatable cells."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cell" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
</parameters>
</method>
<method name="cell_get_position"
c:identifier="gtk_tree_view_column_cell_get_position"
doc="Obtains the horizontal position and size of a cell in a column. If the
cell is not found in the column, @start_pos and @width are not changed and
%FALSE is returned.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="cell_renderer" transfer-ownership="none">
<type name="CellRenderer" c:type="GtkCellRenderer*"/>
</parameter>
<parameter name="start_pos"
direction="out"
transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="queue_resize"
c:identifier="gtk_tree_view_column_queue_resize"
doc="Flags the column, and the cell renderers added to this column, to have
their sizes renegotiated."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_tree_view"
c:identifier="gtk_tree_view_column_get_tree_view"
doc="Returns the #GtkTreeView wherein @tree_column has been inserted. If
returned.
%NULL otherwise."
version="2.12">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<property name="alignment" writable="1">
<type name="float" c:type="gfloat"/>
</property>
<property name="clickable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="expand" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="fixed-width" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="max-width" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="min-width" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="reorderable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="resizable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="sizing" writable="1">
<type name="TreeViewColumnSizing" c:type="GtkTreeViewColumnSizing"/>
</property>
<property name="sort-column-id"
version="2.18"
writable="1"
doc="Logical sort column ID this column sorts on when selected for sorting. Setting the sort column ID makes the column header
clickable. Set to %-1 to make the column unsortable.">
<type name="int" c:type="gint"/>
</property>
<property name="sort-indicator" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="sort-order" writable="1">
<type name="SortType" c:type="GtkSortType"/>
</property>
<property name="spacing" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="title" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="widget" writable="1">
<type name="Widget" c:type="GtkWidget"/>
</property>
<property name="width">
<type name="int" c:type="gint"/>
</property>
<field name="parent">
<type name="Object" c:type="GtkObject"/>
</field>
<field name="tree_view">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="button">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="child">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="arrow">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="alignment">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="editable_widget">
<type name="CellEditable" c:type="GtkCellEditable*"/>
</field>
<field name="xalign">
<type name="float" c:type="gfloat"/>
</field>
<field name="property_changed_signal">
<type name="uint" c:type="guint"/>
</field>
<field name="spacing">
<type name="int" c:type="gint"/>
</field>
<field name="column_type">
<type name="TreeViewColumnSizing" c:type="GtkTreeViewColumnSizing"/>
</field>
<field name="requested_width">
<type name="int" c:type="gint"/>
</field>
<field name="button_request">
<type name="int" c:type="gint"/>
</field>
<field name="resized_width">
<type name="int" c:type="gint"/>
</field>
<field name="width">
<type name="int" c:type="gint"/>
</field>
<field name="fixed_width">
<type name="int" c:type="gint"/>
</field>
<field name="min_width">
<type name="int" c:type="gint"/>
</field>
<field name="max_width">
<type name="int" c:type="gint"/>
</field>
<field name="drag_x">
<type name="int" c:type="gint"/>
</field>
<field name="drag_y">
<type name="int" c:type="gint"/>
</field>
<field name="title">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="cell_list">
<type name="GLib.List" c:type="GList*"/>
</field>
<field name="sort_clicked_signal">
<type name="uint" c:type="guint"/>
</field>
<field name="sort_column_changed_signal">
<type name="uint" c:type="guint"/>
</field>
<field name="sort_column_id">
<type name="int" c:type="gint"/>
</field>
<field name="sort_order">
<type name="SortType" c:type="GtkSortType"/>
</field>
<field name="visible" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="resizable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="clickable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="dirty" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="show_sort_indicator" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="maybe_reordered" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="reorderable" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="use_resized_width" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="expand" bits="1">
<type name="uint" c:type="guint"/>
</field>
<glib:signal name="clicked">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="TreeViewColumnClass"
c:type="GtkTreeViewColumnClass"
glib:is-gtype-struct-for="TreeViewColumn">
<field name="parent_class">
<type name="ObjectClass" c:type="GtkObjectClass"/>
</field>
<field name="clicked">
<callback name="clicked" c:type="clicked">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="TreeViewColumnDropFunc" c:type="GtkTreeViewColumnDropFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="prev_column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="next_column" transfer-ownership="none">
<type name="TreeViewColumn" c:type="GtkTreeViewColumn*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="TreeViewColumnSizing"
glib:type-name="GtkTreeViewColumnSizing"
glib:get-type="gtk_tree_view_column_sizing_get_type"
c:type="GtkTreeViewColumnSizing">
<member name="grow_only"
value="0"
c:identifier="GTK_TREE_VIEW_COLUMN_GROW_ONLY"
glib:nick="grow-only"/>
<member name="autosize"
value="1"
c:identifier="GTK_TREE_VIEW_COLUMN_AUTOSIZE"
glib:nick="autosize"/>
<member name="fixed"
value="2"
c:identifier="GTK_TREE_VIEW_COLUMN_FIXED"
glib:nick="fixed"/>
</enumeration>
<enumeration name="TreeViewDropPosition"
glib:type-name="GtkTreeViewDropPosition"
glib:get-type="gtk_tree_view_drop_position_get_type"
c:type="GtkTreeViewDropPosition">
<member name="before"
value="0"
c:identifier="GTK_TREE_VIEW_DROP_BEFORE"
glib:nick="before"/>
<member name="after"
value="1"
c:identifier="GTK_TREE_VIEW_DROP_AFTER"
glib:nick="after"/>
<member name="into_or_before"
value="2"
c:identifier="GTK_TREE_VIEW_DROP_INTO_OR_BEFORE"
glib:nick="into-or-before"/>
<member name="into_or_after"
value="3"
c:identifier="GTK_TREE_VIEW_DROP_INTO_OR_AFTER"
glib:nick="into-or-after"/>
</enumeration>
<enumeration name="TreeViewGridLines"
glib:type-name="GtkTreeViewGridLines"
glib:get-type="gtk_tree_view_grid_lines_get_type"
c:type="GtkTreeViewGridLines">
<member name="none"
value="0"
c:identifier="GTK_TREE_VIEW_GRID_LINES_NONE"
glib:nick="none"/>
<member name="horizontal"
value="1"
c:identifier="GTK_TREE_VIEW_GRID_LINES_HORIZONTAL"
glib:nick="horizontal"/>
<member name="vertical"
value="2"
c:identifier="GTK_TREE_VIEW_GRID_LINES_VERTICAL"
glib:nick="vertical"/>
<member name="both"
value="3"
c:identifier="GTK_TREE_VIEW_GRID_LINES_BOTH"
glib:nick="both"/>
</enumeration>
<callback name="TreeViewMappingFunc" c:type="GtkTreeViewMappingFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="TreeViewMode"
glib:type-name="GtkTreeViewMode"
glib:get-type="gtk_tree_view_mode_get_type"
c:type="GtkTreeViewMode">
<member name="line"
value="0"
c:identifier="GTK_TREE_VIEW_LINE"
glib:nick="line"/>
<member name="item"
value="1"
c:identifier="GTK_TREE_VIEW_ITEM"
glib:nick="item"/>
</enumeration>
<record name="TreeViewPrivate" c:type="GtkTreeViewPrivate">
</record>
<callback name="TreeViewRowSeparatorFunc"
c:type="GtkTreeViewRowSeparatorFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="TreeViewSearchEqualFunc"
c:type="GtkTreeViewSearchEqualFunc">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="column" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="key" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="search_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="TreeViewSearchPositionFunc"
c:type="GtkTreeViewSearchPositionFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="tree_view" transfer-ownership="none">
<type name="TreeView" c:type="GtkTreeView*"/>
</parameter>
<parameter name="search_dialog" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="TypeInfo" c:type="GtkTypeInfo">
<field name="type_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="object_size" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="class_size" writable="1">
<type name="uint" c:type="guint"/>
</field>
<field name="class_init_func" writable="1">
<type name="ClassInitFunc" c:type="GtkClassInitFunc"/>
</field>
<field name="object_init_func" writable="1">
<type name="ObjectInitFunc" c:type="GtkObjectInitFunc"/>
</field>
<field name="reserved_1" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="reserved_2" writable="1">
<type name="any" c:type="gpointer"/>
</field>
<field name="base_class_init_func" writable="1">
<type name="ClassInitFunc" c:type="GtkClassInitFunc"/>
</field>
</record>
<class name="UIManager"
c:type="GtkUIManager"
parent="GObject.Object"
glib:type-name="GtkUIManager"
glib:get-type="gtk_ui_manager_get_type"
glib:type-struct="UIManagerClass">
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_ui_manager_new"
doc="Creates a new ui manager object."
version="2.4">
<return-value transfer-ownership="full">
<type name="UIManager" c:type="GtkUIManager*"/>
</return-value>
</constructor>
<virtual-method name="get_widget" invoker="get_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_action" invoker="get_action">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_add_tearoffs"
c:identifier="gtk_ui_manager_set_add_tearoffs"
doc="Sets the &quot;add_tearoffs&quot; property, which controls whether menus
generated by this #GtkUIManager will have tearoff menu items.
Note that this only affects regular menus. Generated popup
menus never have tearoff menu items."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="add_tearoffs" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_add_tearoffs"
c:identifier="gtk_ui_manager_get_add_tearoffs"
doc="Returns whether menus generated by this #GtkUIManager
will have tearoff menu items."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="insert_action_group"
c:identifier="gtk_ui_manager_insert_action_group"
doc="Inserts an action group into the list of action groups associated
with @self. Actions in earlier groups hide actions with the same
name in later groups."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action_group" transfer-ownership="none">
<type name="ActionGroup" c:type="GtkActionGroup*"/>
</parameter>
<parameter name="pos" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="remove_action_group"
c:identifier="gtk_ui_manager_remove_action_group"
doc="Removes an action group from the list of action groups associated
with @self."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action_group" transfer-ownership="none">
<type name="ActionGroup" c:type="GtkActionGroup*"/>
</parameter>
</parameters>
</method>
<method name="get_action_groups"
c:identifier="gtk_ui_manager_get_action_groups"
doc="Returns the list of action groups associated with @self.
action groups. The list is owned by GTK+
and should not be modified."
version="2.4">
<return-value transfer-ownership="none" doc="a #GList of">
<type name="GLib.List" c:type="GList*">
<type name="ActionGroup"/>
</type>
</return-value>
</method>
<method name="get_accel_group"
c:identifier="gtk_ui_manager_get_accel_group"
doc="Returns the #GtkAccelGroup associated with @self."
version="2.4">
<return-value transfer-ownership="none" doc="the #GtkAccelGroup.">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</return-value>
</method>
<method name="get_widget"
c:identifier="gtk_ui_manager_get_widget"
doc="Looks up a widget by following a path.
The path consists of the names specified in the XML description of the UI.
separated by &apos;/&apos;. Elements which don&apos;t have a name or action attribute in
the XML (e.g. &amp;lt;popup&amp;gt;) can be addressed by their XML element name
(e.g. &quot;popup&quot;). The root element (&quot;/ui&quot;) can be omitted in the path.
Note that the widget found by following a path that ends in a &amp;lt;menu&amp;gt;
element is the menuitem to which the menu is attached, not the menu itself.
Also note that the widgets constructed by a ui manager are not tied to
the lifecycle of the ui manager. If you add the widgets returned by this
function to some container or explicitly ref them, they will survive the
destruction of the ui manager.
was found."
version="2.4">
<return-value transfer-ownership="none"
doc="the widget found by following the path, or %NULL if no widget">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_toplevels"
c:identifier="gtk_ui_manager_get_toplevels"
doc="types are #GTK_UI_MANAGER_MENUBAR, #GTK_UI_MANAGER_TOOLBAR and
#GTK_UI_MANAGER_POPUP.
Obtains a list of all toplevel widgets of the requested types.
all toplevel widgets of the requested types. Free the returned list with g_slist_free()."
version="2.4">
<return-value transfer-ownership="container"
doc="a newly-allocated #GSList of">
<type name="GLib.SList" c:type="GSList*">
<type name="Widget"/>
</type>
</return-value>
<parameters>
<parameter name="types" transfer-ownership="none">
<type name="UIManagerItemType" c:type="GtkUIManagerItemType"/>
</parameter>
</parameters>
</method>
<method name="get_action"
c:identifier="gtk_ui_manager_get_action"
doc="Looks up an action by following a path. See gtk_ui_manager_get_widget()
for more information about paths.
or %NULL if no widget was found."
version="2.4">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_ui_from_string"
c:identifier="gtk_ui_manager_add_ui_from_string"
doc="Parses a string containing a &lt;link linkend=&quot;XML-UI&quot;&gt;UI definition&lt;/link&gt; and
merges it with the current contents of @self. An enclosing &amp;lt;ui&amp;gt;
element is added if it is missing.
to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred,
the return value is 0."
version="2.4"
throws="1">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="ssize_t" c:type="gssize"/>
</parameter>
</parameters>
</method>
<method name="add_ui_from_file"
c:identifier="gtk_ui_manager_add_ui_from_file"
doc="Parses a file containing a &lt;link linkend=&quot;XML-UI&quot;&gt;UI definition&lt;/link&gt; and
merges it with the current contents of @self.
to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred,
the return value is 0."
version="2.4"
throws="1">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_ui"
c:identifier="gtk_ui_manager_add_ui"
doc="is added after its siblings.
Adds a UI element to the current contents of @self.
If @type is %GTK_UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or
separator if such an element can be inserted at the place determined by
the place determined by @path.
If @path points to a menuitem or toolitem, the new element will be inserted
before or after this item, depending on @top."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="action"
transfer-ownership="none"
allow-none="1"
doc="the name of the action to be proxied, or %NULL to add a separator">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="UIManagerItemType" c:type="GtkUIManagerItemType"/>
</parameter>
<parameter name="top" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="remove_ui"
c:identifier="gtk_ui_manager_remove_ui"
doc="Unmerges the part of @self&lt;!-- --&gt;s content identified by @merge_id."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_ui"
c:identifier="gtk_ui_manager_get_ui"
doc="Creates a &lt;link linkend=&quot;XML-UI&quot;&gt;UI definition&lt;/link&gt; of the merged UI.
the merged UI."
version="2.4">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="ensure_update"
c:identifier="gtk_ui_manager_ensure_update"
doc="Makes sure that all pending updates to the UI have been completed.
This may occasionally be necessary, since #GtkUIManager updates the
UI in an idle function. A typical example where this function is
useful is to enforce that the menubar and toolbar have been added to
the main window before showing it:
|[
gtk_container_add (GTK_CONTAINER (window), vbox);
g_signal_connect (merge, &quot;add-widget&quot;,
G_CALLBACK (add_widget), vbox);
gtk_ui_manager_add_ui_from_file (merge, &quot;my-menus&quot;);
gtk_ui_manager_add_ui_from_file (merge, &quot;my-toolbars&quot;);
gtk_ui_manager_ensure_update (merge);
gtk_widget_show (window);
]|"
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="new_merge_id"
c:identifier="gtk_ui_manager_new_merge_id"
doc="Returns an unused merge id, suitable for use with
gtk_ui_manager_add_ui()."
version="2.4">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</method>
<property name="add-tearoffs"
version="2.4"
writable="1"
doc="The &quot;add-tearoffs&quot; property controls whether generated menus
have tearoff menu items.
Note that this only affects regular menus. Generated popup
menus never have tearoff menu items.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="ui">
<type name="utf8" c:type="gchararray"/>
</property>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="private_data">
<type name="UIManagerPrivate" c:type="GtkUIManagerPrivate*"/>
</field>
<glib:signal name="actions-changed"
doc="The &quot;actions-changed&quot; signal is emitted whenever the set of actions
changes."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="add-widget"
doc="The add_widget signal is emitted for each generated menubar and toolbar.
It is not emitted for generated popup menus, which can be obtained by
gtk_ui_manager_get_widget()."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="connect-proxy"
doc="The connect_proxy signal is emitted after connecting a proxy to
an action in the group.
This is intended for simple customizations for which a custom action
class would be too clumsy, e.g. showing tooltips for menuitems in the
statusbar."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="disconnect-proxy"
doc="The disconnect_proxy signal is emitted after disconnecting a proxy
from an action in the group."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="post-activate"
doc="The post_activate signal is emitted just after the @action
is activated.
This is intended for applications to get notification
just after any action is activated."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="pre-activate"
doc="The pre_activate signal is emitted just before the @action
is activated.
This is intended for applications to get notification
just before any action is activated."
version="2.4">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="UIManagerClass"
c:type="GtkUIManagerClass"
glib:is-gtype-struct-for="UIManager">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="add_widget">
<callback name="add_widget" c:type="add_widget">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="actions_changed">
<callback name="actions_changed" c:type="actions_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="connect_proxy">
<callback name="connect_proxy" c:type="connect_proxy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="disconnect_proxy">
<callback name="disconnect_proxy" c:type="disconnect_proxy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
<parameter name="proxy" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pre_activate">
<callback name="pre_activate" c:type="pre_activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="post_activate">
<callback name="post_activate" c:type="post_activate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="merge" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="Action" c:type="GtkAction*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_widget">
<callback name="get_widget" c:type="get_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="manager" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_action">
<callback name="get_action" c:type="get_action">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
<parameters>
<parameter name="manager" transfer-ownership="none">
<type name="UIManager" c:type="GtkUIManager*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<bitfield name="UIManagerItemType"
glib:type-name="GtkUIManagerItemType"
glib:get-type="gtk_ui_manager_item_type_get_type"
c:type="GtkUIManagerItemType">
<member name="auto"
value="0"
c:identifier="GTK_UI_MANAGER_AUTO"
glib:nick="auto"/>
<member name="menubar"
value="1"
c:identifier="GTK_UI_MANAGER_MENUBAR"
glib:nick="menubar"/>
<member name="menu"
value="2"
c:identifier="GTK_UI_MANAGER_MENU"
glib:nick="menu"/>
<member name="toolbar"
value="4"
c:identifier="GTK_UI_MANAGER_TOOLBAR"
glib:nick="toolbar"/>
<member name="placeholder"
value="8"
c:identifier="GTK_UI_MANAGER_PLACEHOLDER"
glib:nick="placeholder"/>
<member name="popup"
value="16"
c:identifier="GTK_UI_MANAGER_POPUP"
glib:nick="popup"/>
<member name="menuitem"
value="32"
c:identifier="GTK_UI_MANAGER_MENUITEM"
glib:nick="menuitem"/>
<member name="toolitem"
value="64"
c:identifier="GTK_UI_MANAGER_TOOLITEM"
glib:nick="toolitem"/>
<member name="separator"
value="128"
c:identifier="GTK_UI_MANAGER_SEPARATOR"
glib:nick="separator"/>
<member name="accelerator"
value="256"
c:identifier="GTK_UI_MANAGER_ACCELERATOR"
glib:nick="accelerator"/>
<member name="popup_with_accels"
value="512"
c:identifier="GTK_UI_MANAGER_POPUP_WITH_ACCELS"
glib:nick="popup-with-accels"/>
</bitfield>
<record name="UIManagerPrivate" c:type="GtkUIManagerPrivate">
</record>
<enumeration name="Unit"
glib:type-name="GtkUnit"
glib:get-type="gtk_unit_get_type"
c:type="GtkUnit">
<member name="pixel"
value="0"
c:identifier="GTK_UNIT_PIXEL"
glib:nick="pixel"/>
<member name="points"
value="1"
c:identifier="GTK_UNIT_POINTS"
glib:nick="points"/>
<member name="inch"
value="2"
c:identifier="GTK_UNIT_INCH"
glib:nick="inch"/>
<member name="mm" value="3" c:identifier="GTK_UNIT_MM" glib:nick="mm"/>
</enumeration>
<enumeration name="UpdateType"
glib:type-name="GtkUpdateType"
glib:get-type="gtk_update_type_get_type"
c:type="GtkUpdateType">
<member name="continuous"
value="0"
c:identifier="GTK_UPDATE_CONTINUOUS"
glib:nick="continuous"/>
<member name="discontinuous"
value="1"
c:identifier="GTK_UPDATE_DISCONTINUOUS"
glib:nick="discontinuous"/>
<member name="delayed"
value="2"
c:identifier="GTK_UPDATE_DELAYED"
glib:nick="delayed"/>
</enumeration>
<class name="VBox"
c:type="GtkVBox"
parent="Box"
glib:type-name="GtkVBox"
glib:get-type="gtk_vbox_get_type"
glib:type-struct="VBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_vbox_new"
doc="Creates a new #GtkVBox.">
<return-value transfer-ownership="full">
<type name="VBox" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="homogeneous" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<field name="box">
<type name="Box" c:type="GtkBox"/>
</field>
</class>
<record name="VBoxClass"
c:type="GtkVBoxClass"
glib:is-gtype-struct-for="VBox">
<field name="parent_class">
<type name="BoxClass" c:type="GtkBoxClass"/>
</field>
</record>
<class name="VButtonBox"
c:type="GtkVButtonBox"
parent="ButtonBox"
glib:type-name="GtkVButtonBox"
glib:get-type="gtk_vbutton_box_get_type"
glib:type-struct="VButtonBoxClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_vbutton_box_new">
<return-value transfer-ownership="full">
<type name="VButtonBox" c:type="GtkWidget*"/>
</return-value>
</constructor>
<function name="get_spacing_default"
c:identifier="gtk_vbutton_box_get_spacing_default">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</function>
<function name="set_spacing_default"
c:identifier="gtk_vbutton_box_set_spacing_default">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="spacing" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="get_layout_default"
c:identifier="gtk_vbutton_box_get_layout_default">
<return-value transfer-ownership="full">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</return-value>
</function>
<function name="set_layout_default"
c:identifier="gtk_vbutton_box_set_layout_default">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layout" transfer-ownership="none">
<type name="ButtonBoxStyle" c:type="GtkButtonBoxStyle"/>
</parameter>
</parameters>
</function>
<field name="button_box">
<type name="ButtonBox" c:type="GtkButtonBox"/>
</field>
</class>
<record name="VButtonBoxClass"
c:type="GtkVButtonBoxClass"
glib:is-gtype-struct-for="VButtonBox">
<field name="parent_class">
<type name="ButtonBoxClass" c:type="GtkButtonBoxClass"/>
</field>
</record>
<class name="VPaned"
c:type="GtkVPaned"
parent="Paned"
glib:type-name="GtkVPaned"
glib:get-type="gtk_vpaned_get_type"
glib:type-struct="VPanedClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_vpaned_new">
<return-value transfer-ownership="full">
<type name="VPaned" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="paned">
<type name="Paned" c:type="GtkPaned"/>
</field>
</class>
<record name="VPanedClass"
c:type="GtkVPanedClass"
glib:is-gtype-struct-for="VPaned">
<field name="parent_class">
<type name="PanedClass" c:type="GtkPanedClass"/>
</field>
</record>
<class name="VRuler"
c:type="GtkVRuler"
parent="Ruler"
glib:type-name="GtkVRuler"
glib:get-type="gtk_vruler_get_type"
glib:type-struct="VRulerClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_vruler_new">
<return-value transfer-ownership="full">
<type name="VRuler" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="ruler">
<type name="Ruler" c:type="GtkRuler"/>
</field>
</class>
<record name="VRulerClass"
c:type="GtkVRulerClass"
glib:is-gtype-struct-for="VRuler">
<field name="parent_class">
<type name="RulerClass" c:type="GtkRulerClass"/>
</field>
</record>
<class name="VScale"
c:type="GtkVScale"
doc="The #GtkVScale struct contains private data only, and
should be accessed using the functions below."
parent="Scale"
glib:type-name="GtkVScale"
glib:get-type="gtk_vscale_get_type"
glib:type-struct="VScaleClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_vscale_new"
doc="Creates a new #GtkVScale.">
<return-value transfer-ownership="full">
<type name="VScale" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="adjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_range"
c:identifier="gtk_vscale_new_with_range"
doc="Creates a new vertical scale widget that lets the user input a
number between @min and @max (including @min and @max) with the
increment @step. @step must be nonzero; it&apos;s the distance the
slider moves when using the arrow keys to adjust the scale value.
Note that the way in which the precision is derived works best if @step
is a power of ten. If the resulting precision is not suitable for your
needs, use gtk_scale_set_digits() to correct it.">
<return-value transfer-ownership="full">
<type name="VScale" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="min" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="step"
transfer-ownership="none"
doc="used with keyboard shortcuts">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</constructor>
<field name="scale">
<type name="Scale" c:type="GtkScale"/>
</field>
</class>
<record name="VScaleClass"
c:type="GtkVScaleClass"
glib:is-gtype-struct-for="VScale">
<field name="parent_class">
<type name="ScaleClass" c:type="GtkScaleClass"/>
</field>
</record>
<class name="VScrollbar"
c:type="GtkVScrollbar"
doc="The #GtkVScrollbar struct contains private data and should be accessed
using the functions below."
parent="Scrollbar"
glib:type-name="GtkVScrollbar"
glib:get-type="gtk_vscrollbar_get_type"
glib:type-struct="VScrollbarClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_vscrollbar_new"
doc="Creates a new vertical scrollbar.">
<return-value transfer-ownership="full">
<type name="VScrollbar" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="the #GtkAdjustment to use, or %NULL to create a new adjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<field name="scrollbar">
<type name="Scrollbar" c:type="GtkScrollbar"/>
</field>
</class>
<record name="VScrollbarClass"
c:type="GtkVScrollbarClass"
glib:is-gtype-struct-for="VScrollbar">
<field name="parent_class">
<type name="ScrollbarClass" c:type="GtkScrollbarClass"/>
</field>
</record>
<class name="VSeparator"
c:type="GtkVSeparator"
doc="The #GtkVSeparator struct contains private data only, and
should be accessed using the functions below."
parent="Separator"
glib:type-name="GtkVSeparator"
glib:get-type="gtk_vseparator_get_type"
glib:type-struct="VSeparatorClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new"
c:identifier="gtk_vseparator_new"
doc="Creates a new #GtkVSeparator.">
<return-value transfer-ownership="full">
<type name="VSeparator" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="separator">
<type name="Separator" c:type="GtkSeparator"/>
</field>
</class>
<record name="VSeparatorClass"
c:type="GtkVSeparatorClass"
glib:is-gtype-struct-for="VSeparator">
<field name="parent_class">
<type name="SeparatorClass" c:type="GtkSeparatorClass"/>
</field>
</record>
<class name="Viewport"
c:type="GtkViewport"
parent="Bin"
glib:type-name="GtkViewport"
glib:get-type="gtk_viewport_get_type"
glib:type-struct="ViewportClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_viewport_new"
doc="Creates a new #GtkViewport with the given adjustments.">
<return-value transfer-ownership="full">
<type name="Viewport" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<method name="get_hadjustment"
c:identifier="gtk_viewport_get_hadjustment"
doc="Returns the horizontal adjustment of the viewport.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="get_vadjustment"
c:identifier="gtk_viewport_get_vadjustment"
doc="Returns the vertical adjustment of the viewport.">
<return-value transfer-ownership="full">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_hadjustment"
c:identifier="gtk_viewport_set_hadjustment"
doc="Sets the horizontal adjustment of the viewport.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="a #GtkAdjustment.">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="set_vadjustment"
c:identifier="gtk_viewport_set_vadjustment"
doc="Sets the vertical adjustment of the viewport.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="adjustment"
transfer-ownership="none"
allow-none="1"
doc="a #GtkAdjustment.">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="set_shadow_type"
c:identifier="gtk_viewport_set_shadow_type">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
</parameters>
</method>
<method name="get_shadow_type"
c:identifier="gtk_viewport_get_shadow_type"
doc="Gets the shadow type of the #GtkViewport. See
gtk_viewport_set_shadow_type().">
<return-value transfer-ownership="full">
<type name="ShadowType" c:type="GtkShadowType"/>
</return-value>
</method>
<method name="get_bin_window"
c:identifier="gtk_viewport_get_bin_window"
doc="Gets the bin window of the #GtkViewport."
version="2.20">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<property name="hadjustment" writable="1" construct="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<property name="shadow-type" writable="1">
<type name="ShadowType" c:type="GtkShadowType"/>
</property>
<property name="vadjustment" writable="1" construct="1">
<type name="Adjustment" c:type="GtkAdjustment"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="shadow_type">
<type name="ShadowType" c:type="GtkShadowType"/>
</field>
<field name="view_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="bin_window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="hadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<field name="vadjustment">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</field>
<glib:signal name="set-scroll-adjustments">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ViewportClass"
c:type="GtkViewportClass"
glib:is-gtype-struct-for="Viewport">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="set_scroll_adjustments">
<callback name="set_scroll_adjustments"
c:type="set_scroll_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="viewport" transfer-ownership="none">
<type name="Viewport" c:type="GtkViewport*"/>
</parameter>
<parameter name="hadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment" transfer-ownership="none">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<enumeration name="Visibility"
glib:type-name="GtkVisibility"
glib:get-type="gtk_visibility_get_type"
c:type="GtkVisibility">
<member name="none"
value="0"
c:identifier="GTK_VISIBILITY_NONE"
glib:nick="none"/>
<member name="partial"
value="1"
c:identifier="GTK_VISIBILITY_PARTIAL"
glib:nick="partial"/>
<member name="full"
value="2"
c:identifier="GTK_VISIBILITY_FULL"
glib:nick="full"/>
</enumeration>
<class name="VolumeButton"
c:type="GtkVolumeButton"
parent="ScaleButton"
glib:type-name="GtkVolumeButton"
glib:get-type="gtk_volume_button_get_type"
glib:type-struct="VolumeButtonClass">
<implements name="Activatable"/>
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<implements name="Orientable"/>
<constructor name="new" c:identifier="gtk_volume_button_new">
<return-value transfer-ownership="full">
<type name="VolumeButton" c:type="GtkWidget*"/>
</return-value>
</constructor>
<field name="parent">
<type name="ScaleButton" c:type="GtkScaleButton"/>
</field>
</class>
<record name="VolumeButtonClass"
c:type="GtkVolumeButtonClass"
glib:is-gtype-struct-for="VolumeButton">
<field name="parent_class">
<type name="ScaleButtonClass" c:type="GtkScaleButtonClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<class name="Widget"
c:type="GtkWidget"
parent="Object"
abstract="1"
glib:type-name="GtkWidget"
glib:get-type="gtk_widget_get_type"
glib:type-struct="WidgetClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_widget_new"
doc="%NULL-terminated
This is a convenience function for creating a widget and setting
its properties in one go. For example you might write:
&lt;literal&gt;gtk_widget_new (GTK_TYPE_LABEL, &quot;label&quot;, &quot;Hello World&quot;, &quot;xalign&quot;,
0.0, NULL)&lt;/literal&gt; to create a left-aligned label. Equivalent to
g_object_new(), but returns a widget so you don&apos;t have to
cast the object yourself.">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</constructor>
<function name="push_colormap"
c:identifier="gtk_widget_push_colormap"
doc="Pushes @cmap onto a global stack of colormaps; the topmost
colormap on the stack will be used to create all widgets.
Remove @cmap with gtk_widget_pop_colormap(). There&apos;s little
reason to use this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cmap" transfer-ownership="none">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</parameter>
</parameters>
</function>
<function name="push_composite_child"
c:identifier="gtk_widget_push_composite_child"
doc="Makes all newly-created widgets as composite children until
the corresponding gtk_widget_pop_composite_child() call.
A composite child is a child that&apos;s an implementation detail of the
container it&apos;s inside and should not be visible to people using the
container. Composite children aren&apos;t treated differently by GTK (but
see gtk_container_foreach() vs. gtk_container_forall()), but e.g. GUI
builders might want to treat them in a different way.
Here is a simple example:
|[
gtk_widget_push_composite_child ();
scrolled_window-&gt;hscrollbar = gtk_hscrollbar_new (hadjustment);
gtk_widget_set_composite_name (scrolled_window-&gt;hscrollbar, &quot;hscrollbar&quot;);
gtk_widget_pop_composite_child ();
gtk_widget_set_parent (scrolled_window-&gt;hscrollbar,
GTK_WIDGET (scrolled_window));
g_object_ref (scrolled_window-&gt;hscrollbar);
]|">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="pop_composite_child"
c:identifier="gtk_widget_pop_composite_child"
doc="Cancels the effect of a previous call to gtk_widget_push_composite_child().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="pop_colormap"
c:identifier="gtk_widget_pop_colormap"
doc="Removes a colormap pushed with gtk_widget_push_colormap().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="set_default_colormap"
c:identifier="gtk_widget_set_default_colormap"
doc="Sets the default colormap to use when creating widgets.
gtk_widget_push_colormap() is a better function to use if
you only want to affect a few widgets, rather than all widgets.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="colormap" transfer-ownership="none">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</parameter>
</parameters>
</function>
<function name="get_default_style"
c:identifier="gtk_widget_get_default_style"
doc="Returns the default style used by all widgets initially.
by GTK+ and should not be modified or freed.">
<return-value transfer-ownership="none"
doc="the default style. This #GtkStyle object is owned">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
</function>
<function name="get_default_colormap"
c:identifier="gtk_widget_get_default_colormap"
doc="Obtains the default colormap used to create widgets.">
<return-value transfer-ownership="none" doc="default widget colormap">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</return-value>
</function>
<function name="get_default_visual"
c:identifier="gtk_widget_get_default_visual"
doc="Obtains the visual of the default colormap. Not really useful;
used to be useful before gdk_colormap_get_visual() existed.">
<return-value transfer-ownership="none"
doc="visual of the default colormap">
<type name="Gdk.Visual" c:type="GdkVisual*"/>
</return-value>
</function>
<function name="set_default_direction"
c:identifier="gtk_widget_set_default_direction"
doc="%GTK_TEXT_DIR_NONE.
Sets the default reading direction for widgets where the
direction has not been explicitly set by gtk_widget_set_direction().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dir" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
</parameters>
</function>
<function name="get_default_direction"
c:identifier="gtk_widget_get_default_direction"
doc="Obtains the current default reading direction. See
gtk_widget_set_default_direction().">
<return-value transfer-ownership="full">
<type name="TextDirection" c:type="GtkTextDirection"/>
</return-value>
</function>
<virtual-method name="dispatch_child_properties_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_pspecs" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pspecs" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="show_all" invoker="show_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="hide_all" invoker="hide_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="get_accessible" invoker="get_accessible">
<return-value transfer-ownership="full">
<type name="Atk.Object" c:type="AtkObject*"/>
</return-value>
</virtual-method>
<method name="destroy"
c:identifier="gtk_widget_destroy"
doc="Destroys a widget. Equivalent to gtk_object_destroy(), except that
you don&apos;t have to cast the widget to #GtkObject. When a widget is
destroyed, it will break any references it holds to other objects.
If the widget is inside a container, the widget will be removed
from the container. If the widget is a toplevel (derived from
#GtkWindow), it will be removed from the list of toplevels, and the
reference GTK+ holds to it will be removed. Removing a
widget from its container or the list of toplevels results in the
widget being finalized, unless you&apos;ve added additional references
to the widget with g_object_ref().
In most cases, only toplevel widgets (windows) require explicit
destruction, because when you destroy a toplevel its children will
be destroyed as well.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="destroyed"
c:identifier="gtk_widget_destroyed"
doc="This function sets *@widget_pointer to %NULL if @widget_pointer !=
%NULL. It&apos;s intended to be used as a callback connected to the
&quot;destroy&quot; signal of a widget. You connect gtk_widget_destroyed()
as a signal handler, and pass the address of your widget variable
as user data. Then when the widget is destroyed, the variable will
be set to %NULL. Useful for example to avoid multiple copies
of the same dialog.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget_pointer"
direction="inout"
transfer-ownership="none"
doc="address of a variable that contains @widget">
<type name="Widget" c:type="GtkWidget**"/>
</parameter>
</parameters>
</method>
<method name="ref"
c:identifier="gtk_widget_ref"
doc="Adds a reference to a widget. This function is exactly the same
as calling g_object_ref(), and exists mostly for historical
reasons. It can still be convenient to avoid casting a widget
to a #GObject, it saves a small amount of typing."
deprecated="Use g_object_ref() instead."
deprecated-version="2.12">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="unref"
c:identifier="gtk_widget_unref"
doc="Inverse of gtk_widget_ref(). Equivalent to g_object_unref()."
deprecated="Use g_object_unref() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set"
c:identifier="gtk_widget_set"
doc="%NULL-terminated
Precursor of g_object_set()."
deprecated="Use g_object_set() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="unparent"
c:identifier="gtk_widget_unparent"
doc="This function is only for use in widget implementations.
Should be called by implementations of the remove method
on #GtkContainer, to dissociate a child from the container.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="show"
c:identifier="gtk_widget_show"
doc="Flags a widget to be displayed. Any widget that isn&apos;t shown will
not appear on the screen. If you want to show all the widgets in a
container, it&apos;s easier to call gtk_widget_show_all() on the
container, instead of individually showing the widgets.
Remember that you have to show the containers containing a widget,
in addition to the widget itself, before it will appear onscreen.
When a toplevel container is shown, it is immediately realized and
mapped; other shown widgets are realized and mapped when their
toplevel container is realized and mapped.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="show_now"
c:identifier="gtk_widget_show_now"
doc="Shows a widget. If the widget is an unmapped toplevel widget
(i.e. a #GtkWindow that has not yet been shown), enter the main
loop and wait for the window to actually be mapped. Be careful;
because the main loop is running, anything can happen during
this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="hide"
c:identifier="gtk_widget_hide"
doc="Reverses the effects of gtk_widget_show(), causing the widget to be
hidden (invisible to the user).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="show_all"
c:identifier="gtk_widget_show_all"
doc="Recursively shows a widget, and any child widgets (if the widget is
a container).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="hide_all"
c:identifier="gtk_widget_hide_all"
doc="Recursively hides a widget and any child widgets.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_no_show_all"
c:identifier="gtk_widget_set_no_show_all"
doc="Sets the #GtkWidget:no-show-all property, which determines whether
calls to gtk_widget_show_all() and gtk_widget_hide_all() will affect
this widget.
This is mostly for use in constructing widget hierarchies with externally
controlled visibility, see #GtkUIManager."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="no_show_all" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_no_show_all"
c:identifier="gtk_widget_get_no_show_all"
doc="Returns the current value of the GtkWidget:no-show-all property,
which determines whether calls to gtk_widget_show_all() and
gtk_widget_hide_all() will affect this widget."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="map"
c:identifier="gtk_widget_map"
doc="This function is only for use in widget implementations. Causes
a widget to be mapped if it isn&apos;t already.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unmap"
c:identifier="gtk_widget_unmap"
doc="This function is only for use in widget implementations. Causes
a widget to be unmapped if it&apos;s currently mapped.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="realize"
c:identifier="gtk_widget_realize"
doc="Creates the GDK (windowing system) resources associated with a
widget. For example, @widget-&gt;window will be created when a widget
is realized. Normally realization happens implicitly; if you show
a widget and all its parent containers, then the widget will be
realized and mapped automatically.
Realizing a widget requires all
the widget&apos;s parent widgets to be realized; calling
gtk_widget_realize() realizes the widget&apos;s parents in addition to
when you realize it, bad things will happen.
This function is primarily used in widget implementations, and
isn&apos;t very useful otherwise. Many times when you think you might
need it, a better approach is to connect to a signal that will be
called after the widget is realized automatically, such as
GtkWidget::expose-event. Or simply g_signal_connect () to the
GtkWidget::realize signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unrealize"
c:identifier="gtk_widget_unrealize"
doc="This function is only useful in widget implementations.
Causes a widget to be unrealized (frees all GDK resources
associated with the widget, such as @widget-&gt;window).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="queue_draw"
c:identifier="gtk_widget_queue_draw"
doc="Equivalent to calling gtk_widget_queue_draw_area() for the
entire area of a widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="queue_draw_area"
c:identifier="gtk_widget_queue_draw_area"
doc="Invalidates the rectangular area of @widget defined by @x, @y,
widget&apos;s window and all its child windows. Once the main loop
becomes idle (after the current batch of events has been processed,
roughly), the window will receive expose events for the union of
all regions that have been invalidated.
Normally you would only use this function in widget
implementations. You might also use it, or
gdk_window_invalidate_rect() directly, to schedule a redraw of a
#GtkDrawingArea or some portion thereof.
Frequently you can just call gdk_window_invalidate_rect() or
gdk_window_invalidate_region() instead of this function. Those
functions will invalidate only a single window, instead of the
widget and all its children.
The advantage of adding to the invalidated region compared to
simply drawing immediately is efficiency; using an invalid region
ensures that you only have to redraw one time.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="queue_clear"
c:identifier="gtk_widget_queue_clear"
doc="This function does the same as gtk_widget_queue_draw()."
deprecated="Use gtk_widget_queue_draw() instead."
deprecated-version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="queue_clear_area"
c:identifier="gtk_widget_queue_clear_area"
doc="This function is no longer different from
gtk_widget_queue_draw_area(), though it once was. Now it just calls
gtk_widget_queue_draw_area(). Originally
gtk_widget_queue_clear_area() would force a redraw of the
background for %GTK_NO_WINDOW widgets, and
gtk_widget_queue_draw_area() would not. Now both functions ensure
the background will be redrawn."
deprecated="Use gtk_widget_queue_draw_area() instead."
deprecated-version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="queue_resize"
c:identifier="gtk_widget_queue_resize"
doc="This function is only for use in widget implementations.
Flags a widget to have its size renegotiated; should
be called when a widget for some reason has a new size request.
For example, when you change the text in a #GtkLabel, #GtkLabel
queues a resize to ensure there&apos;s enough space for the new text.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="queue_resize_no_redraw"
c:identifier="gtk_widget_queue_resize_no_redraw"
doc="This function works like gtk_widget_queue_resize(),
except that the widget is not invalidated."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="draw"
c:identifier="gtk_widget_draw"
doc="In GTK+ 1.2, this function would immediately render the
region @area of a widget, by invoking the virtual draw method of a
widget. In GTK+ 2.0, the draw method is gone, and instead
gtk_widget_draw() simply invalidates the specified region of the
widget, then updates the invalid region of the widget immediately.
Usually you don&apos;t want to update the region immediately for
performance reasons, so in general gtk_widget_queue_draw_area() is
a better choice if you want to draw a region of a widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="size_request"
c:identifier="gtk_widget_size_request"
doc="This function is typically used when implementing a #GtkContainer
subclass. Obtains the preferred size of a widget. The container
uses this information to arrange its child widgets and decide what
size allocations to give them with gtk_widget_size_allocate().
You can also call this function from an application, with some
caveats. Most notably, getting a size request requires the widget
to be associated with a screen, because font information may be
needed. Multihead-aware applications should keep this in mind.
Also remember that the size request is not necessarily the size
a widget will actually be allocated.
See also gtk_widget_get_child_requisition().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="requisition" transfer-ownership="none">
<type name="Requisition" c:type="GtkRequisition*"/>
</parameter>
</parameters>
</method>
<method name="size_allocate"
c:identifier="gtk_widget_size_allocate"
doc="This function is only used by #GtkContainer subclasses, to assign a size
and position to their child widgets.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allocation" transfer-ownership="none">
<type name="Allocation" c:type="GtkAllocation*"/>
</parameter>
</parameters>
</method>
<method name="get_child_requisition"
c:identifier="gtk_widget_get_child_requisition"
doc="This function is only for use in widget implementations. Obtains
geometry on the widget (e.g. with gtk_widget_set_size_request()),
in which case it returns that geometry instead of the widget&apos;s
requisition.
This function differs from gtk_widget_size_request() in that
it retrieves the last size request value from @widget-&gt;requisition,
while gtk_widget_size_request() actually calls the &quot;size_request&quot; method
on @widget to compute the size request and fill in @widget-&gt;requisition,
and only then returns @widget-&gt;requisition.
Because this function does not call the &quot;size_request&quot; method, it
can only be used when you know that @widget-&gt;requisition is
up-to-date, that is, gtk_widget_size_request() has been called
since the last time a resize was queued. In general, only container
implementations have this information; applications should use
gtk_widget_size_request().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="requisition" transfer-ownership="none">
<type name="Requisition" c:type="GtkRequisition*"/>
</parameter>
</parameters>
</method>
<method name="add_accelerator" c:identifier="gtk_widget_add_accelerator">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_signal" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="accel_flags" transfer-ownership="none">
<type name="AccelFlags" c:type="GtkAccelFlags"/>
</parameter>
</parameters>
</method>
<method name="remove_accelerator"
c:identifier="gtk_widget_remove_accelerator"
doc="Removes an accelerator from @widget, previously installed with
gtk_widget_add_accelerator().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</method>
<method name="set_accel_path"
c:identifier="gtk_widget_set_accel_path"
doc="Given an accelerator group, @accel_group, and an accelerator path,
key binding that is defined for @accel_path is pressed, @widget
will be activated. This removes any accelerators (for any
accelerator group) installed by previous calls to
gtk_widget_set_accel_path(). Associating accelerators with
paths allows them to be modified by the user and the modifications
to be saved for future use. (See gtk_accel_map_save().)
This function is a low level function that would most likely
be used by a menu creation system like #GtkUIManager. If you
use #GtkUIManager, setting up accelerator paths will be done
automatically.
Even when you you aren&apos;t using #GtkUIManager, if you only want to
set up accelerators on menu items gtk_menu_item_set_accel_path()
provides a somewhat more convenient interface.
Note that @accel_path string will be stored in a #GQuark. Therefore, if you
pass a static string, you can save some memory by interning it first with
g_intern_static_string().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_path"
transfer-ownership="none"
allow-none="1"
doc="path used to look up the accelerator">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accel_group"
transfer-ownership="none"
allow-none="1"
doc="a #GtkAccelGroup.">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</method>
<method name="list_accel_closures"
c:identifier="gtk_widget_list_accel_closures">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
</method>
<method name="can_activate_accel"
c:identifier="gtk_widget_can_activate_accel"
doc="Determines whether an accelerator that activates the signal
identified by @signal_id can currently be activated.
This is done by emitting the #GtkWidget::can-activate-accel
signal on @widget; if the signal isn&apos;t overridden by a
handler or in a derived widget, then the default check is
that the widget must be sensitive, and the widget and all
its ancestors mapped."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="mnemonic_activate"
c:identifier="gtk_widget_mnemonic_activate"
doc="Emits the #GtkWidget::mnemonic-activate signal.
The default handler for this signal activates the @widget if
is %TRUE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="group_cycling" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="event"
c:identifier="gtk_widget_event"
doc="Rarely-used function. This function is used to emit
the event signals on a widget (those signals should never
be emitted without using this function to do so).
If you want to synthesize an event though, don&apos;t use this function;
instead, use gtk_main_do_event() so the event will behave as if
it were in the event queue. Don&apos;t synthesize expose events; instead,
use gdk_window_invalidate_rect() to invalidate a region of the
window.
the event was handled)">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</method>
<method name="send_expose"
c:identifier="gtk_widget_send_expose"
doc="Very rarely-used function. This function is used to emit
an expose event signals on a widget. This function is not
normally used directly. The only time it is used is when
propagating an expose event to a child %NO_WINDOW widget, and
that is normally done using gtk_container_propagate_expose().
If you want to force an area of a window to be redrawn,
use gdk_window_invalidate_rect() or gdk_window_invalidate_region().
To cause the redraw to be done immediately, follow that call
with a call to gdk_window_process_updates().
the event was handled)">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</method>
<method name="activate"
c:identifier="gtk_widget_activate"
doc="For widgets that can be &quot;activated&quot; (buttons, menu items, etc.)
this function activates them. Activation is what happens when you
press Enter on a widget during key navigation. If @widget isn&apos;t
activatable, the function returns %FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_scroll_adjustments"
c:identifier="gtk_widget_set_scroll_adjustments"
doc="For widgets that support scrolling, sets the scroll adjustments and
returns %TRUE. For widgets that don&apos;t support scrolling, does
nothing and returns %FALSE. Widgets that don&apos;t support scrolling
can be scrolled by placing them in a #GtkViewport, which does
support scrolling.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="hadjustment"
transfer-ownership="none"
allow-none="1"
doc="an adjustment for horizontal scrolling, or %NULL">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="vadjustment"
transfer-ownership="none"
allow-none="1"
doc="an adjustment for vertical scrolling, or %NULL">
<type name="Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<method name="reparent"
c:identifier="gtk_widget_reparent"
doc="Moves a widget from one #GtkContainer to another, handling reference
count issues to avoid destroying the widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="new_parent" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="intersect"
c:identifier="gtk_widget_intersect"
doc="Computes the intersection of a @widget&apos;s area and @area, storing
the intersection in @intersection, and returns %TRUE if there was
an intersection. @intersection may be %NULL if you&apos;re only
interested in whether there was an intersection.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="area" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="intersection" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="region_intersect"
c:identifier="gtk_widget_region_intersect"
doc="for %NO_WINDOW widgets; relative to the parent window
of @widget-&gt;window for widgets with their own window.
and @region. The coordinates of the return value are
relative to @widget-&gt;window for %NO_WINDOW widgets, and
relative to the parent window of @widget-&gt;window for
widgets with their own window.
Computes the intersection of a @widget&apos;s area and @region, returning
the intersection. The result may be empty, use gdk_region_empty() to
check.">
<return-value transfer-ownership="full">
<type name="Gdk.Region" c:type="GdkRegion*"/>
</return-value>
<parameters>
<parameter name="region" transfer-ownership="none">
<type name="Gdk.Region" c:type="GdkRegion*"/>
</parameter>
</parameters>
</method>
<method name="freeze_child_notify"
c:identifier="gtk_widget_freeze_child_notify"
doc="Stops emission of #GtkWidget::child-notify signals on @widget. The
signals are queued until gtk_widget_thaw_child_notify() is called
on @widget.
This is the analogue of g_object_freeze_notify() for child properties.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="child_notify"
c:identifier="gtk_widget_child_notify"
doc="class of @widget&lt;!-- --&gt;&apos;s parent
Emits a #GtkWidget::child-notify signal for the
&lt;link linkend=&quot;child-properties&quot;&gt;child property&lt;/link&gt; @child_property
on @widget.
This is the analogue of g_object_notify() for child properties.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child_property" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="thaw_child_notify"
c:identifier="gtk_widget_thaw_child_notify"
doc="Reverts the effect of a previous call to gtk_widget_freeze_child_notify().
This causes all queued #GtkWidget::child-notify signals on @widget to be
emitted.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_can_focus"
c:identifier="gtk_widget_set_can_focus"
doc="Specifies whether @widget can own the input focus. See
gtk_widget_grab_focus() for actually setting the input focus on a
widget."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="can_focus" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_can_focus"
c:identifier="gtk_widget_get_can_focus"
doc="Determines whether @widget can own the input focus. See
gtk_widget_set_can_focus()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="has_focus"
c:identifier="gtk_widget_has_focus"
doc="Determines if the widget has the global input focus. See
gtk_widget_is_focus() for the difference between having the global
input focus, and only having the focus within a toplevel."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_focus"
c:identifier="gtk_widget_is_focus"
doc="Determines if the widget is the focus widget within its
toplevel. (This does not mean that the %HAS_FOCUS flag is
necessarily set; %HAS_FOCUS will only be set if the
toplevel widget additionally has the global input focus.)">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="grab_focus"
c:identifier="gtk_widget_grab_focus"
doc="Causes @widget to have the keyboard focus for the #GtkWindow it&apos;s
inside. @widget must be a focusable widget, such as a #GtkEntry;
something like #GtkFrame won&apos;t work.
More precisely, it must have the %GTK_CAN_FOCUS flag set. Use
gtk_widget_set_can_focus() to modify that flag.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_can_default"
c:identifier="gtk_widget_set_can_default"
doc="Specifies whether @widget can be a default widget. See
gtk_widget_grab_default() for details about the meaning of
&quot;default&quot;."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="can_default" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_can_default"
c:identifier="gtk_widget_get_can_default"
doc="Determines whether @widget can be a default widget. See
gtk_widget_set_can_default()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="has_default"
c:identifier="gtk_widget_has_default"
doc="Determines whether @widget is the current default widget within its
toplevel. See gtk_widget_set_can_default().
its toplevel, %FALSE otherwise"
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="grab_default"
c:identifier="gtk_widget_grab_default"
doc="Causes @widget to become the default widget. @widget must have the
%GTK_CAN_DEFAULT flag set; typically you have to set this flag
yourself by calling &lt;literal&gt;gtk_widget_set_can_default (@widget,
%TRUE)&lt;/literal&gt;. The default widget is activated when
the user presses Enter in a window. Default widgets must be
activatable, that is, gtk_widget_activate() should affect them.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_receives_default"
c:identifier="gtk_widget_set_receives_default"
doc="Specifies whether @widget will be treated as the default widget
within its toplevel when it has the focus, even if another widget
is the default.
See gtk_widget_grab_default() for details about the meaning of
&quot;default&quot;."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="receives_default" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_receives_default"
c:identifier="gtk_widget_get_receives_default"
doc="Determines whether @widget is alyways treated as default widget
withing its toplevel when it has the focus, even if another widget
is the default.
See gtk_widget_set_receives_default().
%FALSE otherwise"
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="has_grab"
c:identifier="gtk_widget_has_grab"
doc="Determines whether the widget is currently grabbing events, so it
is the only widget receiving input events (keyboard and mouse).
See also gtk_grab_add()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_name"
c:identifier="gtk_widget_set_name"
doc="Widgets can be named, which allows you to refer to them from a
gtkrc file. You can apply a style to widgets with a particular name
in the gtkrc file. See the documentation for gtkrc files (on the
same page as the docs for #GtkRcStyle).
Note that widget names are separated by periods in paths (see
gtk_widget_path()), so names with embedded periods may cause confusion.">
<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_name"
c:identifier="gtk_widget_get_name"
doc="Retrieves the name of a widget. See gtk_widget_set_name() for the
significance of widget names.
should not be modified or freed">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_state"
c:identifier="gtk_widget_set_state"
doc="This function is for use in widget implementations. Sets the state
of a widget (insensitive, prelighted, etc.) Usually you should set
the state using wrapper functions such as gtk_widget_set_sensitive().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
</parameters>
</method>
<method name="get_state"
c:identifier="gtk_widget_get_state"
doc="Returns the widget&apos;s state. See gtk_widget_set_state()."
version="2.18">
<return-value transfer-ownership="full">
<type name="StateType" c:type="GtkStateType"/>
</return-value>
</method>
<method name="set_sensitive"
c:identifier="gtk_widget_set_sensitive"
doc="Sets the sensitivity of a widget. A widget is sensitive if the user
can interact with it. Insensitive widgets are &quot;grayed out&quot; and the
user can&apos;t interact with them. Insensitive widgets are known as
&quot;inactive&quot;, &quot;disabled&quot;, or &quot;ghosted&quot; in some other toolkits.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sensitive" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_sensitive"
c:identifier="gtk_widget_get_sensitive"
doc="Returns the widget&apos;s sensitivity (in the sense of returning
the value that has been set using gtk_widget_set_sensitive()).
The effective sensitivity of a widget is however determined by both its
own and its parent widget&apos;s sensitivity. See gtk_widget_is_sensitive()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_sensitive"
c:identifier="gtk_widget_is_sensitive"
doc="Returns the widget&apos;s effective sensitivity, which means
it is sensitive itself and also its parent widget is sensntive"
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_visible"
c:identifier="gtk_widget_set_visible"
doc="Sets the visibility state of @widget. Note that setting this to
%TRUE doesn&apos;t mean the widget is actually viewable, see
gtk_widget_get_visible().
This function simply calls gtk_widget_show() or gtk_widget_hide()
but is nicer to use when the visibility of the widget depends on
some condition."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_visible"
c:identifier="gtk_widget_get_visible"
doc="Determines whether the widget is visible. Note that this doesn&apos;t
take into account whether the widget&apos;s parent is also visible
or the widget is obscured in any way.
See gtk_widget_set_visible()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_has_window"
c:identifier="gtk_widget_set_has_window"
doc="Specifies whether @widget has a #GdkWindow of its own. Note that
all realized widgets have a non-%NULL &quot;window&quot; pointer
(gtk_widget_get_window() never returns a %NULL window when a widget
is realized), but for many of them it&apos;s actually the #GdkWindow of
one of its parent widgets. Widgets that create a %window for
themselves in GtkWidget::realize() however must announce this by
calling this function with @has_window = %TRUE.
This function should only be called by widget implementations,
and they should call it in their init() function."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="has_window" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_window"
c:identifier="gtk_widget_get_has_window"
doc="Determines whether @widget has a #GdkWindow of its own. See
gtk_widget_set_has_window()."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_toplevel"
c:identifier="gtk_widget_is_toplevel"
doc="Determines whether @widget is a toplevel widget. Currently only
#GtkWindow and #GtkInvisible are toplevel widgets. Toplevel
widgets have no parent widget."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="is_drawable"
c:identifier="gtk_widget_is_drawable"
doc="Determines whether @widget can be drawn to. A widget can be drawn
to if it is mapped and visible."
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_realized"
c:identifier="gtk_widget_set_realized"
doc="Marks the widget as being realized.
This function should only ever be called in a derived widget&apos;s
&quot;realize&quot; or &quot;unrealize&quot; implementation."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="realized" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_realized"
c:identifier="gtk_widget_get_realized"
doc="Determines whether @widget is realized."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_mapped"
c:identifier="gtk_widget_set_mapped"
doc="Marks the widget as being realized.
This function should only ever be called in a derived widget&apos;s
&quot;map&quot; or &quot;unmap&quot; implementation."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mapped" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_mapped"
c:identifier="gtk_widget_get_mapped"
doc="Whether the widget is mapped."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_app_paintable"
c:identifier="gtk_widget_set_app_paintable"
doc="Sets whether the application intends to draw on the widget in
an #GtkWidget::expose-event handler.
This is a hint to the widget and does not affect the behavior of
the GTK+ core; many widgets ignore this flag entirely. For widgets
that do pay attention to the flag, such as #GtkEventBox and #GtkWindow,
the effect is to suppress default themed drawing of the widget&apos;s
background. (Children of the widget will still be drawn.) The application
is then entirely responsible for drawing the widget background.
Note that the background is still drawn when the widget is mapped.
If this is not suitable (e.g. because you want to make a transparent
window using an RGBA visual), you can work around this by doing:
|[
gtk_widget_realize (window);
gdk_window_set_back_pixmap (window-&gt;window, NULL, FALSE);
gtk_widget_show (window);
]|">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="app_paintable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_app_paintable"
c:identifier="gtk_widget_get_app_paintable"
doc="Determines whether the application intends to draw on the widget in
an #GtkWidget::expose-event handler.
See gtk_widget_set_app_paintable()"
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_double_buffered"
c:identifier="gtk_widget_set_double_buffered"
doc="Widgets are double buffered by default; you can use this function
to turn off the buffering. &quot;Double buffered&quot; simply means that
gdk_window_begin_paint_region() and gdk_window_end_paint() are called
automatically around expose events sent to the
widget. gdk_window_begin_paint() diverts all drawing to a widget&apos;s
window to an offscreen buffer, and gdk_window_end_paint() draws the
buffer to the screen. The result is that users see the window
update in one smooth step, and don&apos;t see individual graphics
primitives being rendered.
In very simple terms, double buffered widgets don&apos;t flicker,
so you would only use this function to turn off double buffering
if you had special needs and really knew what you were doing.
expose events, since even the clearing to the background color or
pixmap will not happen automatically (as it is done in
gdk_window_begin_paint()).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="double_buffered" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_double_buffered"
c:identifier="gtk_widget_get_double_buffered"
doc="Determines whether the widget is double buffered.
See gtk_widget_set_double_buffered()"
version="2.18">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_redraw_on_allocate"
c:identifier="gtk_widget_set_redraw_on_allocate"
doc="when it is allocated to a new size. Otherwise, only the
new portion of the widget will be redrawn.
Sets whether the entire widget is queued for drawing when its size
allocation changes. By default, this setting is %TRUE and
the entire widget is redrawn on every size change. If your widget
leaves the upper left unchanged when made bigger, turning this
setting off will improve performance.
Note that for %NO_WINDOW widgets setting this flag to %FALSE turns
its position changes; this is to allow containers that don&apos;t draw
anything to avoid excess invalidations. If you set this flag on a
%NO_WINDOW widget that &lt;emphasis&gt;does&lt;/emphasis&gt; draw on @widget-&gt;window,
you are responsible for invalidating both the old and new allocation
of the widget when the widget is moved and responsible for invalidating
regions newly when the widget increases size.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="redraw_on_allocate" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_parent"
c:identifier="gtk_widget_set_parent"
doc="This function is useful only when implementing subclasses of
#GtkContainer.
Sets the container as the parent of @widget, and takes care of
some details such as updating the state and style of the child
to reflect its new location. The opposite function is
gtk_widget_unparent().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_parent"
c:identifier="gtk_widget_get_parent"
doc="Returns the parent container of @widget.">
<return-value transfer-ownership="none"
doc="the parent container of @widget, or %NULL">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_parent_window"
c:identifier="gtk_widget_set_parent_window"
doc="Sets a non default parent window for @widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent_window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
</parameters>
</method>
<method name="get_parent_window"
c:identifier="gtk_widget_get_parent_window"
doc="Gets @widget&apos;s parent window.">
<return-value transfer-ownership="none"
doc="the parent window of @widget.">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="set_child_visible"
c:identifier="gtk_widget_set_child_visible"
doc="Sets whether @widget should be mapped along with its when its parent
is mapped and @widget has been shown with gtk_widget_show().
The child visibility can be set for widget before it is added to
a container with gtk_widget_set_parent(), to avoid mapping
children unnecessary before immediately unmapping them. However
it will be reset to its default state of %TRUE when the widget
is removed from a container.
Note that changing the child visibility of a widget does not
queue a resize on the widget. Most of the time, the size of
a widget is computed from all visible children, whether or
not they are mapped. If this is not the case, the container
can queue a resize itself.
This function is only useful for container implementations and
never should be called by an application.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="is_visible" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_child_visible"
c:identifier="gtk_widget_get_child_visible"
doc="Gets the value set with gtk_widget_set_child_visible().
If you feel a need to use this function, your code probably
needs reorganization.
This function is only useful for container implementations and
never should be called by an application.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_window"
c:identifier="gtk_widget_set_window"
doc="Sets a widget&apos;s window. This function should only be used in a
widget&apos;s GtkWidget::realize() implementation. The %window passed is
usually either new window created with gdk_window_new(), or the
window of its parent widget as returned by
gtk_widget_get_parent_window().
Widgets must indicate whether they will create their own #GdkWindow
by calling gtk_widget_set_has_window(). This is usually done in the
widget&apos;s init() function."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
</parameters>
</method>
<method name="get_window"
c:identifier="gtk_widget_get_window"
doc="Returns the widget&apos;s window if it is realized, %NULL otherwise"
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="get_allocation"
c:identifier="gtk_widget_get_allocation"
doc="Retrieves the widget&apos;s allocation."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allocation"
direction="out"
transfer-ownership="full"
doc="a pointer to a #GtkAllocation to copy to">
<type name="Allocation" c:type="GtkAllocation*"/>
</parameter>
</parameters>
</method>
<method name="set_allocation"
c:identifier="gtk_widget_set_allocation"
doc="Sets the widget&apos;s allocation. This should not be used
directly, but from within a widget&apos;s size_allocate method."
version="2.18">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allocation" transfer-ownership="none">
<type name="Allocation" c:type="GtkAllocation*"/>
</parameter>
</parameters>
</method>
<method name="get_requisition"
c:identifier="gtk_widget_get_requisition"
doc="Retrieves the widget&apos;s requisition.
This function should only be used by widget implementations in
order to figure whether the widget&apos;s requisition has actually
changed after some internal state change (so that they can call
gtk_widget_queue_resize() instead of gtk_widget_queue_draw()).
Normally, gtk_widget_size_request() should be used."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="requisition"
direction="out"
transfer-ownership="full"
doc="a pointer to a #GtkRequisition to copy to">
<type name="Requisition" c:type="GtkRequisition*"/>
</parameter>
</parameters>
</method>
<method name="child_focus"
c:identifier="gtk_widget_child_focus"
doc="This function is used by custom widget implementations; if you&apos;re
writing an app, you&apos;d use gtk_widget_grab_focus() to move the focus
to a particular widget, and gtk_container_set_focus_chain() to
change the focus tab order. So you may want to investigate those
functions instead.
gtk_widget_child_focus() is called by containers as the user moves
around the window using keyboard shortcuts. @direction indicates
what kind of motion is taking place (up, down, left, right, tab
forward, tab backward). gtk_widget_child_focus() emits the
#GtkWidget::focus signal; widgets override the default handler
for this signal in order to implement appropriate focus behavior.
The default ::focus handler for a widget should return %TRUE if
moving in @direction left the focus on a focusable location inside
that widget, and %FALSE if moving in @direction moved the focus
outside the widget. If returning %TRUE, widgets normally
call gtk_widget_grab_focus() to place the focus accordingly;
if returning %FALSE, they don&apos;t modify the current focus location.
This function replaces gtk_container_focus() from GTK+ 1.2.
It was necessary to check that the child was visible, sensitive,
and focusable before calling gtk_container_focus().
gtk_widget_child_focus() returns %FALSE if the widget is not
currently in a focusable state, so there&apos;s no need for those checks.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</method>
<method name="keynav_failed"
c:identifier="gtk_widget_keynav_failed"
doc="This function should be called whenever keyboard navigation within
a single widget hits a boundary. The function emits the
#GtkWidget::keynav-failed signal on the widget and its return
value should be interpreted in a way similar to the return value of
gtk_widget_child_focus():
When %TRUE is returned, stay in the widget, the failed keyboard
navigation is Ok and/or there is nowhere we can/should move the
focus to.
When %FALSE is returned, the caller should continue with keyboard
navigation outside the widget, e.g. by calling
gtk_widget_child_focus() on the widget&apos;s toplevel.
The default ::keynav-failed handler returns %TRUE for
%GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other
values of #GtkDirectionType, it looks at the
#GtkSettings:gtk-keynav-cursor-only setting and returns %FALSE
if the setting is %TRUE. This way the entire user interface
becomes cursor-navigatable on input devices such as mobile phones
which only have cursor keys but no tab key.
Whenever the default handler returns %TRUE, it also calls
gtk_widget_error_bell() to notify the user of the failed keyboard
navigation.
A use case for providing an own implementation of ::keynav-failed
(either by connecting to it or by overriding it) would be a row of
#GtkEntry widgets where the user should be able to navigate the
entire row with the cursor keys, as e.g. known from user interfaces
that require entering license keys.
if the emitting widget should try to handle the keyboard
navigation attempt in its parent container(s)."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</method>
<method name="error_bell"
c:identifier="gtk_widget_error_bell"
doc="Notifies the user about an input-related error on this widget.
If the #GtkSettings:gtk-error-bell setting is %TRUE, it calls
gdk_window_beep(), otherwise it does nothing.
Note that the effect of gdk_window_beep() can be configured in many
ways, depending on the windowing backend and the desktop environment
or window manager that is used."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_size_request"
c:identifier="gtk_widget_set_size_request"
doc="Sets the minimum size of a widget; that is, the widget&apos;s size
request will be @width by @height. You can use this function to
force a widget to be either larger or smaller than it normally
would be.
In most cases, gtk_window_set_default_size() is a better choice for
toplevel windows than this function; setting the default size will
still allow users to shrink the window. Setting the size request
will force them to leave the window at least as large as the size
request. When dealing with window sizes,
gtk_window_set_geometry_hints() can be a useful function as well.
Note the inherent danger of setting any fixed size - themes,
translations into other languages, different fonts, and user action
can all change the appropriate size for a given widget. So, it&apos;s
basically impossible to hardcode a size that will always be
correct.
The size request of a widget is the smallest size a widget can
accept while still functioning well and drawing itself correctly.
However in some strange cases a widget may be allocated less than
its requested size, and in many cases a widget may be allocated more
space than it requested.
If the size request in a given direction is -1 (unset), then
the &quot;natural&quot; size request of the widget will be used instead.
Widgets can&apos;t actually be allocated a size less than 1 by 1, but
you can pass 0,0 to this function to mean &quot;as small as possible.&quot;">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_size_request"
c:identifier="gtk_widget_get_size_request"
doc="Gets the size request that was explicitly set for the widget using
gtk_widget_set_size_request(). A value of -1 stored in @width or
and the natural requisition of the widget will be used intead. See
gtk_widget_set_size_request(). To get the size a widget will
actually use, call gtk_widget_size_request() instead of
this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for width, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for height, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_uposition"
c:identifier="gtk_widget_set_uposition"
doc="Sets the position of a widget. The funny &quot;u&quot; in the name comes from
the &quot;user position&quot; hint specified by the X Window System, and
exists for legacy reasons. This function doesn&apos;t work if a widget
is inside a container; it&apos;s only really useful on #GtkWindow.
Don&apos;t use this function to center dialogs over the main application
window; most window managers will do the centering on your behalf
if you call gtk_window_set_transient_for(), and it&apos;s really not
possible to get the centering to work correctly in all cases from
application code. But if you insist, use gtk_window_set_position()
to set #GTK_WIN_POS_CENTER_ON_PARENT, don&apos;t do the centering
manually.
Note that although @x and @y can be individually unset, the position
is not honoured unless both @x and @y are set.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_usize"
c:identifier="gtk_widget_set_usize"
doc="Sets the minimum size of a widget; that is, the widget&apos;s size
request will be @width by @height. You can use this function to
force a widget to be either larger or smaller than it is. The
strange &quot;usize&quot; name dates from the early days of GTK+, and derives
from X Window System terminology. In many cases,
gtk_window_set_default_size() is a better choice for toplevel
windows than this function; setting the default size will still
allow users to shrink the window. Setting the usize will force them
to leave the window at least as large as the usize. When dealing
with window sizes, gtk_window_set_geometry_hints() can be a useful
function as well.
Note the inherent danger of setting any fixed size - themes,
translations into other languages, different fonts, and user action
can all change the appropriate size for a given widget. So, it&apos;s
basically impossible to hardcode a size that will always be
correct."
deprecated="Use gtk_widget_set_size_request() instead."
deprecated-version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_events"
c:identifier="gtk_widget_set_events"
doc="Sets the event mask (see #GdkEventMask) for a widget. The event
mask determines which events a widget will receive. Keep in mind
that different widgets have different default event masks, and by
changing the event mask you may disrupt a widget&apos;s functionality,
so be careful. This function must be called while a widget is
unrealized. Consider gtk_widget_add_events() for widgets that are
already realized, or if you want to preserve the existing event
mask. This function can&apos;t be used with #GTK_NO_WINDOW widgets;
to get events on those widgets, place them inside a #GtkEventBox
and receive events on the event box.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="events" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_events"
c:identifier="gtk_widget_add_events"
doc="Adds the events in the bitfield @events to the event mask for">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="events" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_extension_events"
c:identifier="gtk_widget_set_extension_events"
doc="Sets the extension events mask to @mode. See #GdkExtensionMode
and gdk_input_set_extension_events().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="mode" transfer-ownership="none">
<type name="Gdk.ExtensionMode" c:type="GdkExtensionMode"/>
</parameter>
</parameters>
</method>
<method name="get_extension_events"
c:identifier="gtk_widget_get_extension_events"
doc="Retrieves the extension events the widget will receive; see
gdk_input_set_extension_events().">
<return-value transfer-ownership="full">
<type name="Gdk.ExtensionMode" c:type="GdkExtensionMode"/>
</return-value>
</method>
<method name="get_toplevel"
c:identifier="gtk_widget_get_toplevel"
doc="This function returns the topmost widget in the container hierarchy
returned as the topmost widget. No reference will be added to the
returned widget; it should not be unreferenced.
Note the difference in behavior vs. gtk_widget_get_ancestor();
&lt;literal&gt;gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)&lt;/literal&gt;
would return
%NULL if @widget wasn&apos;t inside a toplevel window, and if the
window was inside a #GtkWindow-derived widget which was in turn
inside the toplevel #GtkWindow. While the second case may
seem unlikely, it actually happens when a #GtkPlug is embedded
inside a #GtkSocket within the same application.
To reliably find the toplevel #GtkWindow, use
gtk_widget_get_toplevel() and check if the %TOPLEVEL flags
is set on the result.
|[
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
if (gtk_widget_is_toplevel (toplevel))
{
/&amp;ast; Perform action on toplevel. &amp;ast;/
}
]|
if there&apos;s no ancestor.">
<return-value transfer-ownership="none"
doc="the topmost ancestor of @widget, or @widget itself">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="get_ancestor"
c:identifier="gtk_widget_get_ancestor"
doc="Gets the first ancestor of @widget with type @widget_type. For example,
&lt;literal&gt;gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)&lt;/literal&gt; gets
the first #GtkBox that&apos;s an ancestor of @widget. No reference will be
added to the returned widget; it should not be unreferenced. See note
about checking for a toplevel #GtkWindow in the docs for
gtk_widget_get_toplevel().
Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor()
considers @widget to be an ancestor of itself.">
<return-value transfer-ownership="none"
doc="the ancestor widget, or %NULL if not found">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="widget_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="get_colormap"
c:identifier="gtk_widget_get_colormap"
doc="Gets the colormap that will be used to render @widget. No reference will
be added to the returned colormap; it should not be unreferenced.">
<return-value transfer-ownership="none"
doc="the colormap used by @widget">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</return-value>
</method>
<method name="get_visual"
c:identifier="gtk_widget_get_visual"
doc="Gets the visual that will be used to render @widget.">
<return-value transfer-ownership="none" doc="the visual for @widget">
<type name="Gdk.Visual" c:type="GdkVisual*"/>
</return-value>
</method>
<method name="get_screen"
c:identifier="gtk_widget_get_screen"
doc="Get the #GdkScreen from the toplevel window associated with
this widget. This function can only be called after the widget
has been added to a widget hierarchy with a #GtkWindow
at the top.
In general, you should only create screen specific
resources when a widget has been realized, and you should
free those resources when the widget is unrealized."
version="2.2">
<return-value transfer-ownership="none"
doc="the #GdkScreen for the toplevel for this widget.">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</return-value>
</method>
<method name="has_screen"
c:identifier="gtk_widget_has_screen"
doc="Checks whether there is a #GdkScreen is associated with
this widget. All toplevel widgets have an associated
screen, and all widgets added into a hierarchy with a toplevel
window at the top.
with the widget."
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_display"
c:identifier="gtk_widget_get_display"
doc="Get the #GdkDisplay for the toplevel window associated with
this widget. This function can only be called after the widget
has been added to a widget hierarchy with a #GtkWindow at the top.
In general, you should only create display specific
resources when a widget has been realized, and you should
free those resources when the widget is unrealized."
version="2.2">
<return-value transfer-ownership="none"
doc="the #GdkDisplay for the toplevel for this widget.">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</return-value>
</method>
<method name="get_root_window"
c:identifier="gtk_widget_get_root_window"
doc="Get the root window where this widget is located. This function can
only be called after the widget has been added to a widget
hierarchy with #GtkWindow at the top.
The root window is useful for such purposes as creating a popup
#GdkWindow associated with the window. In general, you should only
create display specific resources when a widget has been realized,
and you should free those resources when the widget is unrealized."
version="2.2">
<return-value transfer-ownership="none"
doc="the #GdkWindow root window for the toplevel for this widget.">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</return-value>
</method>
<method name="get_settings"
c:identifier="gtk_widget_get_settings"
doc="Gets the settings object holding the settings (global property
settings, RC file information, etc) used for this widget.
Note that this function can only be called when the #GtkWidget
is attached to a toplevel, since the settings object is specific
to a particular #GdkScreen.">
<return-value transfer-ownership="none"
doc="the relevant #GtkSettings object">
<type name="Settings" c:type="GtkSettings*"/>
</return-value>
</method>
<method name="get_clipboard"
c:identifier="gtk_widget_get_clipboard"
doc="to use. %GDK_SELECTION_CLIPBOARD gives the
default clipboard. Another common value
is %GDK_SELECTION_PRIMARY, which gives
the primary X selection.
Returns the clipboard object for the given selection to
be used with @widget. @widget must have a #GdkDisplay
associated with it, so must be attached to a toplevel
window.
clipboard already exists, a new one will
be created. Once a clipboard object has
been created, it is persistent for all time."
version="2.2">
<return-value transfer-ownership="none"
doc="the appropriate clipboard object. If no">
<type name="Clipboard" c:type="GtkClipboard*"/>
</return-value>
<parameters>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</method>
<method name="get_snapshot"
c:identifier="gtk_widget_get_snapshot"
doc="Create a #GdkPixmap of the contents of the widget and its children.
Works even if the widget is obscured. The depth and visual of the
resulting pixmap is dependent on the widget being snapshot and likely
differs from those of a target widget displaying the pixmap.
The function gdk_pixbuf_get_from_drawable() can be used to convert
the pixmap to a visual independant representation.
The snapshot area used by this function is the @widget&apos;s allocation plus
any extra space occupied by additional windows belonging to this widget
(such as the arrows of a spin button).
Thus, the resulting snapshot pixmap is possibly larger than the allocation.
If @clip_rect is non-%NULL, the resulting pixmap is shrunken to
match the specified clip_rect. The (x,y) coordinates of @clip_rect are
interpreted widget relative. If width or height of @clip_rect are 0 or
negative, the width or height of the resulting pixmap will be shrunken
by the respective amount.
For instance a @clip_rect &lt;literal&gt;{ +5, +5, -10, -10 }&lt;/literal&gt; will
chop off 5 pixels at each side of the snapshot pixmap.
If non-%NULL, @clip_rect will contain the exact widget-relative snapshot
coordinates upon return. A @clip_rect of &lt;literal&gt;{ -1, -1, 0, 0 }&lt;/literal&gt;
can be used to preserve the auto-grown snapshot area and use @clip_rect
as a pure output parameter.
The returned pixmap can be %NULL, if the resulting @clip_area was empty."
version="2.14">
<return-value transfer-ownership="full">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</return-value>
<parameters>
<parameter name="clip_rect"
transfer-ownership="none"
allow-none="1"
doc="a #GdkRectangle or %NULL">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
</parameters>
</method>
<method name="get_accessible"
c:identifier="gtk_widget_get_accessible"
doc="Returns the accessible object that describes the widget to an
assistive technology.
If no accessibility library is loaded (i.e. no ATK implementation library is
loaded via &lt;envar&gt;GTK_MODULES&lt;/envar&gt; or via another application library,
such as libgnome), then this #AtkObject instance may be a no-op. Likewise,
if no class-specific #AtkObject implementation is available for the widget
instance in question, it will inherit an #AtkObject implementation from the
first ancestor class for which such an implementation is defined.
The documentation of the &lt;ulink url=&quot;http://developer.gnome.org/doc/API/2.0/atk/index.html&quot;&gt;ATK&lt;/ulink&gt;
library contains more information about accessible objects and their uses.">
<return-value transfer-ownership="none"
doc="the #AtkObject associated with @widget">
<type name="Atk.Object" c:type="AtkObject*"/>
</return-value>
</method>
<method name="set_colormap"
c:identifier="gtk_widget_set_colormap"
doc="Sets the colormap for the widget to the given value. Widget must not
have been previously realized. This probably should only be used
from an &lt;function&gt;init()&lt;/function&gt; function (i.e. from the constructor
for the widget).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="colormap" transfer-ownership="none">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</parameter>
</parameters>
</method>
<method name="get_events"
c:identifier="gtk_widget_get_events"
doc="Returns the event mask for the widget (a bitfield containing flags
from the #GdkEventMask enumeration). These are the events that the widget
will receive.">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
<method name="get_pointer"
c:identifier="gtk_widget_get_pointer"
doc="Obtains the location of the mouse pointer in widget coordinates.
Widget coordinates are a bit odd; for historical reasons, they are
defined as @widget-&gt;window coordinates for widgets that are not
#GTK_NO_WINDOW widgets, and are relative to @widget-&gt;allocation.x,">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the X coordinate, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="y"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for the Y coordinate, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="is_ancestor"
c:identifier="gtk_widget_is_ancestor"
doc="Determines whether @widget is somewhere inside @ancestor, possibly with
intermediate containers.
grandchild, great grandchild, etc.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ancestor" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="translate_coordinates"
c:identifier="gtk_widget_translate_coordinates"
doc="Translate coordinates relative to @src_widget&apos;s allocation to coordinates
relative to @dest_widget&apos;s allocations. In order to perform this
operation, both widgets must be realized, and must share a common
toplevel.
was no common ancestor. In this case, nothing is stored in
*@dest_x and *@dest_y. Otherwise %TRUE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="src_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="src_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="dest_x"
direction="out"
transfer-ownership="full"
doc="location to store X position relative to @dest_widget">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="dest_y"
direction="out"
transfer-ownership="full"
doc="location to store Y position relative to @dest_widget">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="hide_on_delete"
c:identifier="gtk_widget_hide_on_delete"
doc="Utility function; intended to be connected to the #GtkWidget::delete-event
signal on a #GtkWindow. The function calls gtk_widget_hide() on its
argument, then returns %TRUE. If connected to ::delete-event, the
result is that clicking the close button for a window (on the
window frame, top right corner usually) will hide but not destroy
the window. By default, GTK+ destroys windows when ::delete-event
is received.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="style_attach"
c:identifier="gtk_widget_style_attach"
doc="This function attaches the widget&apos;s #GtkStyle to the widget&apos;s
#GdkWindow. It is a replacement for
&lt;programlisting&gt;
widget-&gt;style = gtk_style_attach (widget-&gt;style, widget-&gt;window);
&lt;/programlisting&gt;
and should only ever be called in a derived widget&apos;s &quot;realize&quot;
implementation which does not chain up to its parent class&apos;
&quot;realize&quot; implementation, because one of the parent classes
(finally #GtkWidget) would attach the style itself."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="has_rc_style"
c:identifier="gtk_widget_has_rc_style"
doc="Determines if the widget style has been looked up through the rc mechanism.
mechanism, %FALSE otherwise."
version="2.20">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_style"
c:identifier="gtk_widget_set_style"
doc="gtk_widget_set_style() and go back to the default style
Sets the #GtkStyle for a widget (@widget-&gt;style). You probably don&apos;t
want to use this function; it interacts badly with themes, because
themes work by replacing the #GtkStyle. Instead, use
gtk_widget_modify_style().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style"
transfer-ownership="none"
allow-none="1"
doc="a #GtkStyle, or %NULL to remove the effect of a previous">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</method>
<method name="ensure_style"
c:identifier="gtk_widget_ensure_style"
doc="Ensures that @widget has a style (@widget-&gt;style). Not a very useful
function; most of the time, if you want the style, the widget is
realized, and realized widgets are guaranteed to have a style
already.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_style"
c:identifier="gtk_widget_get_style"
doc="Simply an accessor function that returns @widget-&gt;style.">
<return-value transfer-ownership="none"
doc="the widget&apos;s #GtkStyle">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
</method>
<method name="modify_style"
c:identifier="gtk_widget_modify_style"
doc="Modifies style values on the widget. Modifications made using this
technique take precedence over style values set via an RC file,
however, they will be overriden if a style is explicitely set on
the widget using gtk_widget_set_style(). The #GtkRcStyle structure
is designed so each field can either be set or unset, so it is
possible, using this function, to modify some style values and
leave the others unchanged.
Note that modifications made with this function are not cumulative
with previous calls to gtk_widget_modify_style() or with such
functions as gtk_widget_modify_fg(). If you wish to retain
previous values, you must first call gtk_widget_get_modifier_style(),
make your modifications to the returned style, then call
gtk_widget_modify_style() with that style. On the other hand,
if you first call gtk_widget_modify_style(), subsequent calls
to such functions gtk_widget_modify_fg() will have a cumulative
effect with the initial modifications.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
</parameters>
</method>
<method name="get_modifier_style"
c:identifier="gtk_widget_get_modifier_style"
doc="Returns the current modifier style for the widget. (As set by
gtk_widget_modify_style().) If no style has previously set, a new
#GtkRcStyle will be created with all values unset, and set as the
modifier style for the widget. If you make changes to this rc
style, you must call gtk_widget_modify_style(), passing in the
returned rc style, to make sure that your changes take effect.
normally end up destroying it, because gtk_widget_modify_style() copies
the passed-in style and sets the copy as the new modifier style,
thus dropping any reference to the old modifier style. Add a reference
to the modifier style if you want to keep it alive.
owned by the widget. If you want to keep a pointer to value this
around, you must add a refcount using g_object_ref().">
<return-value transfer-ownership="none"
doc="the modifier style for the widget. This rc style is">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</return-value>
</method>
<method name="modify_fg"
c:identifier="gtk_widget_modify_fg"
doc="or %NULL to undo the effect of previous calls to
of gtk_widget_modify_fg().
Sets the foreground color for a widget in a particular state.
All other style values are left untouched. See also
gtk_widget_modify_style().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none" allow-none="1">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="modify_bg"
c:identifier="gtk_widget_modify_bg"
doc="or %NULL to undo the effect of previous calls to
of gtk_widget_modify_bg().
Sets the background color for a widget in a particular state.
All other style values are left untouched. See also
gtk_widget_modify_style().
Note that &quot;no window&quot; widgets (which have the %GTK_NO_WINDOW flag set)
draw on their parent container&apos;s window and thus may not draw any
background themselves. This is the case for e.g. #GtkLabel. To modify
the background of such widgets, you have to set the background color
on their parent; if you want to set the background of a rectangular
area around a label, try placing the label in a #GtkEventBox widget
and setting the background color on that.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none" allow-none="1">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="modify_text"
c:identifier="gtk_widget_modify_text"
doc="or %NULL to undo the effect of previous calls to
of gtk_widget_modify_text().
Sets the text color for a widget in a particular state. All other
style values are left untouched. The text color is the foreground
color used along with the base color (see gtk_widget_modify_base())
for widgets such as #GtkEntry and #GtkTextView. See also
gtk_widget_modify_style().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none" allow-none="1">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="modify_base"
c:identifier="gtk_widget_modify_base"
doc="or %NULL to undo the effect of previous calls to
of gtk_widget_modify_base().
Sets the base color for a widget in a particular state.
All other style values are left untouched. The base color
is the background color used along with the text color
(see gtk_widget_modify_text()) for widgets such as #GtkEntry
and #GtkTextView. See also gtk_widget_modify_style().
Note that &quot;no window&quot; widgets (which have the %GTK_NO_WINDOW flag set)
draw on their parent container&apos;s window and thus may not draw any
background themselves. This is the case for e.g. #GtkLabel. To modify
the background of such widgets, you have to set the base color on their
parent; if you want to set the background of a rectangular area around
a label, try placing the label in a #GtkEventBox widget and setting
the base color on that.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none" allow-none="1">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="modify_cursor"
c:identifier="gtk_widget_modify_cursor"
doc="allocated), or %NULL to undo the effect of previous calls to
of gtk_widget_modify_cursor().
allocated), or %NULL to undo the effect of previous calls to
of gtk_widget_modify_cursor().
Sets the cursor color to use in a widget, overriding the
#GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color
style properties. All other style values are left untouched.
See also gtk_widget_modify_style()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="primary" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
<parameter name="secondary" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</method>
<method name="modify_font"
c:identifier="gtk_widget_modify_font"
doc="the effect of previous calls to gtk_widget_modify_font().
Sets the font to use for a widget. All other style values are left
untouched. See also gtk_widget_modify_style().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="font_desc"
transfer-ownership="none"
allow-none="1"
doc="the font description to use, or %NULL to undo">
<type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
</parameter>
</parameters>
</method>
<method name="create_pango_context"
c:identifier="gtk_widget_create_pango_context"
doc="Creates a new #PangoContext with the appropriate font map,
font description, and base direction for drawing text for
this widget. See also gtk_widget_get_pango_context().">
<return-value transfer-ownership="full">
<type name="Pango.Context" c:type="PangoContext*"/>
</return-value>
</method>
<method name="get_pango_context"
c:identifier="gtk_widget_get_pango_context"
doc="Gets a #PangoContext with the appropriate font map, font description,
and base direction for this widget. Unlike the context returned
by gtk_widget_create_pango_context(), this context is owned by
the widget (it can be used until the screen for the widget changes
or the widget is removed from its toplevel), and will be updated to
match any changes to the widget&apos;s attributes.
If you create and keep a #PangoLayout using this context, you must
deal with changes to the context by calling pango_layout_context_changed()
on the layout in response to the #GtkWidget::style-set and
#GtkWidget::direction-changed signals for the widget.">
<return-value transfer-ownership="none"
doc="the #PangoContext for the widget.">
<type name="Pango.Context" c:type="PangoContext*"/>
</return-value>
</method>
<method name="create_pango_layout"
c:identifier="gtk_widget_create_pango_layout"
doc="Creates a new #PangoLayout with the appropriate font map,
font description, and base direction for drawing text for
this widget.
If you keep a #PangoLayout created in this way around, in order to
notify the layout of changes to the base direction or font of this
widget, you must call pango_layout_context_changed() in response to
the #GtkWidget::style-set and #GtkWidget::direction-changed signals
for the widget.">
<return-value transfer-ownership="full">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="render_icon"
c:identifier="gtk_widget_render_icon"
doc="render at the size of the source and don&apos;t scale (if there are
multiple source sizes, GTK+ picks one of the available sizes).
A convenience function that uses the theme engine and RC file
settings for @widget to look up @stock_id and render it to
a pixbuf. @stock_id should be a stock icon ID such as
#GTK_STOCK_OPEN or #GTK_STOCK_OK. @size should be a size
such as #GTK_ICON_SIZE_MENU. @detail should be a string that
identifies the widget or code doing the rendering, so that
theme engines can special-case rendering for that widget or code.
The pixels in the returned #GdkPixbuf are shared with the rest of
the application and should not be modified. The pixbuf should be freed
after use with g_object_unref().">
<return-value transfer-ownership="full">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none" doc="1 means">
<type name="int" c:type="GtkIconSize"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="render detail to pass to theme engine">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_composite_name"
c:identifier="gtk_widget_set_composite_name"
doc="Sets a widgets composite name. The widget must be
a composite child of its parent; see gtk_widget_push_composite_child().">
<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_composite_name"
c:identifier="gtk_widget_get_composite_name"
doc="Obtains the composite name of a widget.
a composite child. The string should be freed when it is no
longer needed.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="reset_rc_styles"
c:identifier="gtk_widget_reset_rc_styles"
doc="Reset the styles of @widget and all descendents, so when
they are looked up again, they get the correct values
for the currently loaded RC file settings.
This function is not useful for applications.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="style_get_property"
c:identifier="gtk_widget_style_get_property"
doc="Gets the value of a style property of @widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="style_get"
c:identifier="gtk_widget_style_get"
doc="return the property values, starting with the location for
Gets the values of a multiple style properties of @widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</method>
<method name="set_direction"
c:identifier="gtk_widget_set_direction"
doc="Sets the reading direction on a particular widget. This direction
controls the primary direction for widgets containing text,
and also the direction in which the children of a container are
packed. The ability to set the direction is present in order
so that correct localization into languages with right-to-left
reading directions can be done. Generally, applications will
let the default reading direction present, except for containers
where the containers are arranged in an order that is explicitely
visual rather than logical (such as buttons for text justification).
If the direction is set to %GTK_TEXT_DIR_NONE, then the value
set by gtk_widget_set_default_direction() will be used.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="dir" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
</parameters>
</method>
<method name="get_direction"
c:identifier="gtk_widget_get_direction"
doc="Gets the reading direction for a particular widget. See
gtk_widget_set_direction().">
<return-value transfer-ownership="full">
<type name="TextDirection" c:type="GtkTextDirection"/>
</return-value>
</method>
<method name="is_composited"
c:identifier="gtk_widget_is_composited"
doc="Whether @widget can rely on having its alpha channel
drawn correctly. On X11 this function returns whether a
compositing manager is running for @widget&apos;s screen.
Please note that the semantics of this call will change
in the future if used on a widget that has a composited
window in its hierarchy (as set by gdk_window_set_composited()).
channel being drawn correctly."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="shape_combine_mask"
c:identifier="gtk_widget_shape_combine_mask"
doc="Sets a shape for this widget&apos;s GDK window. This allows for
transparent windows etc., see gdk_window_shape_combine_mask()
for more information.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="shape_mask"
transfer-ownership="none"
allow-none="1"
doc="shape to be added, or %NULL to remove an existing shape">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="offset_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="offset_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="input_shape_combine_mask"
c:identifier="gtk_widget_input_shape_combine_mask"
doc="Sets an input shape for this widget&apos;s GDK window. This allows for
windows which react to mouse click in a nonrectangular region, see
gdk_window_input_shape_combine_mask() for more information."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="shape_mask"
transfer-ownership="none"
allow-none="1"
doc="shape to be added, or %NULL to remove an existing shape">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="offset_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="offset_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="reset_shapes"
c:identifier="gtk_widget_reset_shapes"
doc="Recursively resets the shape on this widget and its descendants.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="path"
c:identifier="gtk_widget_path"
doc="Obtains the full path to @widget. The path is simply the name of a
widget and all its parents in the container hierarchy, separated by
periods. The name of a widget comes from
gtk_widget_get_name(). Paths are used to apply styles to a widget
in gtkrc configuration files. Widget names are the type of the
widget by default (e.g. &quot;GtkButton&quot;) or can be set to an
application-specific value with gtk_widget_set_name(). By setting
the name of a widget, you allow users or theme authors to apply
styles to that specific widget in their gtkrc
file. @path_reversed_p fills in the path in reverse order,
i.e. starting with @widget&apos;s name instead of starting with the name
of @widget&apos;s outermost ancestor.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path_length"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store length of the path, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="path"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store allocated path string, or %NULL">
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="path_reversed"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store allocated reverse path string, or %NULL">
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</method>
<method name="class_path"
c:identifier="gtk_widget_class_path"
doc="string, or %NULL
Same as gtk_widget_path(), but always uses the name of a widget&apos;s type,
never uses a custom name set with gtk_widget_set_name().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path_length"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the length of the class path, or %NULL">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="path"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the class path as an allocated string, or %NULL">
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="path_reversed"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the reverse class path as an allocated">
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</method>
<method name="list_mnemonic_labels"
c:identifier="gtk_widget_list_mnemonic_labels"
doc="Returns a newly allocated list of the widgets, normally labels, for
which this widget is a the target of a mnemonic (see for example,
gtk_label_set_mnemonic_widget()).
The widgets in the list are not individually referenced. If you
want to iterate through the list and perform actions involving
callbacks that might destroy the widgets, you
&lt;emphasis&gt;must&lt;/emphasis&gt; call &lt;literal&gt;g_list_foreach (result,
(GFunc)g_object_ref, NULL)&lt;/literal&gt; first, and then unref all the
widgets afterwards.
mnemonic labels; free this list
with g_list_free() when you are done with it."
version="2.4">
<return-value transfer-ownership="container" doc="the list of">
<type name="GLib.List" c:type="GList*">
<type name="Widget"/>
</type>
</return-value>
</method>
<method name="add_mnemonic_label"
c:identifier="gtk_widget_add_mnemonic_label"
doc="Adds a widget to the list of mnemonic labels for
this widget. (See gtk_widget_list_mnemonic_labels()). Note the
list of mnemonic labels for the widget is cleared when the
widget is destroyed, so the caller must make sure to update
its internal state at this point as well, by using a connection
to the #GtkWidget::destroy signal or a weak notifier."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="remove_mnemonic_label"
c:identifier="gtk_widget_remove_mnemonic_label"
doc="Removes a widget from the list of mnemonic labels for
this widget. (See gtk_widget_list_mnemonic_labels()). The widget
must have previously been added to the list with
gtk_widget_add_mnemonic_label()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="label" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip_window"
c:identifier="gtk_widget_set_tooltip_window"
doc="Replaces the default, usually yellow, window used for displaying
tooltips with @custom_window. GTK+ will take care of showing and
hiding @custom_window at the right moment, to behave likewise as
the default tooltip window. If @custom_window is %NULL, the default
tooltip window will be used.
If the custom window should have the default theming it needs to
have the name &quot;gtk-tooltip&quot;, see gtk_widget_set_name()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="custom_window"
transfer-ownership="none"
allow-none="1"
doc="a #GtkWindow, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip_window"
c:identifier="gtk_widget_get_tooltip_window"
doc="Returns the #GtkWindow of the current tooltip. This can be the
GtkWindow created by default, or the custom tooltip window set
using gtk_widget_set_tooltip_window()."
version="2.12">
<return-value transfer-ownership="none"
doc="The #GtkWindow of the current tooltip.">
<type name="Window" c:type="GtkWindow*"/>
</return-value>
</method>
<method name="trigger_tooltip_query"
c:identifier="gtk_widget_trigger_tooltip_query"
doc="Triggers a tooltip query on the display where the toplevel of @widget
is located. See gtk_tooltip_trigger_tooltip_query() for more
information."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_tooltip_text"
c:identifier="gtk_widget_set_tooltip_text"
doc="Sets @text as the contents of the tooltip. This function will take
care of setting GtkWidget:has-tooltip to %TRUE and of the default
handler for the GtkWidget::query-tooltip signal.
See also the GtkWidget:tooltip-text property and gtk_tooltip_set_text()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip_text"
c:identifier="gtk_widget_get_tooltip_text"
doc="Gets the contents of the tooltip for @widget.
returned string with g_free() when done."
version="2.12">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_tooltip_markup"
c:identifier="gtk_widget_set_tooltip_markup"
doc="Sets @markup as the contents of the tooltip, which is marked up with
the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
This function will take care of setting GtkWidget:has-tooltip to %TRUE
and of the default handler for the GtkWidget::query-tooltip signal.
See also the GtkWidget:tooltip-markup property and
gtk_tooltip_set_markup()."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="markup"
transfer-ownership="none"
allow-none="1"
doc="the contents of the tooltip for @widget, or %NULL">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_tooltip_markup"
c:identifier="gtk_widget_get_tooltip_markup"
doc="Gets the contents of the tooltip for @widget.
returned string with g_free() when done."
version="2.12">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_has_tooltip"
c:identifier="gtk_widget_set_has_tooltip"
doc="Sets the has-tooltip property on @widget to @has_tooltip. See
GtkWidget:has-tooltip for more information."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="has_tooltip" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_tooltip"
c:identifier="gtk_widget_get_has_tooltip"
doc="Returns the current value of the has-tooltip property. See
GtkWidget:has-tooltip for more information."
version="2.12">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="get_action"
c:identifier="gtk_widget_get_action"
doc="Returns the #GtkAction that @widget is a proxy for.
See also gtk_action_get_proxies().
%NULL, if it is not attached to an action."
version="2.10"
deprecated="Use gtk_activatable_get_related_action() instead."
deprecated-version="2.16">
<return-value transfer-ownership="full">
<type name="Action" c:type="GtkAction*"/>
</return-value>
</method>
<property name="app-paintable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="can-default" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="can-focus" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="composite-child">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="double-buffered" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="events" writable="1">
<type name="Gdk.EventMask" c:type="GdkEventMask"/>
</property>
<property name="extension-events" writable="1">
<type name="Gdk.ExtensionMode" c:type="GdkExtensionMode"/>
</property>
<property name="has-default" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="has-focus" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="has-tooltip"
version="2.12"
writable="1"
doc="Enables or disables the emission of #GtkWidget::query-tooltip on @widget.
A value of %TRUE indicates that @widget can have a tooltip, in this case
the widget will be queried using #GtkWidget::query-tooltip to determine
whether it will provide a tooltip or not.
Note that setting this property to %TRUE for the first time will change
the event masks of the GdkWindows of this widget to include leave-notify
and motion-notify events. This cannot and will not be undone when the
property is set to %FALSE again.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="height-request" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="is-focus" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="name" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="no-show-all" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="parent" writable="1">
<type name="Container" c:type="GtkContainer"/>
</property>
<property name="receives-default" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="sensitive" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="style" writable="1">
<type name="Style" c:type="GtkStyle"/>
</property>
<property name="tooltip-markup"
version="2.12"
writable="1"
doc="Sets the text of tooltip to be the given string, which is marked up
with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
Also see gtk_tooltip_set_markup().
This is a convenience property which will take care of getting the
will automatically be set to %TRUE and there will be taken care of
#GtkWidget::query-tooltip in the default signal handler.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="tooltip-text"
version="2.12"
writable="1"
doc="Sets the text of tooltip to be the given string.
Also see gtk_tooltip_set_text().
This is a convenience property which will take care of getting the
will automatically be set to %TRUE and there will be taken care of
#GtkWidget::query-tooltip in the default signal handler.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="width-request" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="window"
version="2.14"
doc="The widget&apos;s window if it is realized, %NULL otherwise.">
<type name="Gdk.Window" c:type="GdkWindow"/>
</property>
<field name="object">
<type name="Object" c:type="GtkObject"/>
</field>
<field name="private_flags">
<type name="uint16" c:type="guint16"/>
</field>
<field name="state">
<type name="uint8" c:type="guint8"/>
</field>
<field name="saved_state">
<type name="uint8" c:type="guint8"/>
</field>
<field name="name">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="style">
<type name="Style" c:type="GtkStyle*"/>
</field>
<field name="requisition">
<type name="Requisition" c:type="GtkRequisition"/>
</field>
<field name="allocation">
<type name="Allocation" c:type="GtkAllocation"/>
</field>
<field name="window">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="parent">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<glib:signal name="accel-closures-changed">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="button-press-event"
doc="The ::button-press-event signal will be emitted when a button
(typically from a mouse) is pressed.
To receive this signal, the #GdkWindow associated to the
widget needs to enable the #GDK_BUTTON_PRESS_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="button-release-event"
doc="The ::button-release-event signal will be emitted when a button
(typically from a mouse) is released.
To receive this signal, the #GdkWindow associated to the
widget needs to enable the #GDK_BUTTON_RELEASE_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="can-activate-accel"
doc="Determines whether an accelerator that activates the signal
identified by @signal_id can currently be activated.
This signal is present to allow applications and derived
widgets to override the default #GtkWidget handling
for determining whether an accelerator can be activated.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="child-notify"
doc="The ::child-notify signal is emitted for each
&lt;link linkend=&quot;child-properties&quot;&gt;child property&lt;/link&gt; that has
changed on an object. The signal&apos;s detail holds the property name.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParam"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="client-event"
doc="The ::client-event will be emitted when the @widget&apos;s window
receives a message (via a ClientMessage event) from another
application.
the event. %FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="composited-changed"
doc="The ::composited-changed signal is emitted when the composited
status of @widget&lt;!-- --&gt;s screen changes.
See gdk_screen_is_composited().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="configure-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="damage-event"
doc="Emitted when a redirected window belonging to @widget gets drawn into.
The region/area members of the event shows what area of the redirected
drawable was drawn into.
%FALSE to propagate the event further."
version="2.14">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="delete-event"
doc="The ::delete-event signal is emitted if a user requests that
a toplevel window is closed. The default handler for this signal
destroys the window. Connecting gtk_widget_hide_on_delete() to
this signal will cause the window to be hidden instead, so that
it can later be shown again without reconstructing it.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="destroy-event"
doc="The ::destroy-event signal is emitted when a #GdkWindow is destroyed.
You rarely get this signal, because most widgets disconnect themselves
from their window before they destroy it, so no widget owns the
window at destroy time.
To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask
automatically for all new windows.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="direction-changed"
doc="The ::direction-changed signal is emitted when the text direction
of a widget changes.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="previous_direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-begin"
doc="The ::drag-begin signal is emitted on the drag source when a drag is
started. A typical reason to connect to this signal is to set up a
custom drag icon with gtk_drag_source_set_icon().
Note that some widgets set up a drag icon in the default handler of
this signal, so you may have to use g_signal_connect_after() to
override what the default handler did.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-data-delete"
doc="The ::drag-data-delete signal is emitted on the drag source when a drag
with the action %GDK_ACTION_MOVE is successfully completed. The signal
handler is responsible for deleting the data that has been dropped. What
&quot;delete&quot; means depends on the context of the drag operation.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-data-get"
doc="#GtkTargetList
The ::drag-data-get signal is emitted on the drag source when the drop
site requests the data which is dragged. It is the responsibility of
the signal handler to fill @data with the data in the format which
is indicated by @info. See gtk_selection_data_set() and
gtk_selection_data_set_text().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-data-received"
doc="#GtkTargetList
The ::drag-data-received signal is emitted on the drop site when the
dragged data has been received. If the data was received in order to
determine whether the drop will be accepted, the handler is expected
to call gdk_drag_status() and &lt;emphasis&gt;not&lt;/emphasis&gt; finish the drag.
If the data was received in response to a #GtkWidget::drag-drop signal
(and this is the last target to be received), the handler for this
signal is expected to process the received data and then call
gtk_drag_finish(), setting the @success parameter depending on whether
the data was processed successfully.
The handler may inspect and modify @drag_context-&gt;action before calling
gtk_drag_finish(), e.g. to implement %GDK_ACTION_ASK as shown in the
following example:
|[
void
drag_data_received (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
GtkSelectionData *data,
guint info,
guint time)
{
if ((data-&gt;length &gt;= 0) &amp;&amp; (data-&gt;format == 8))
{
if (drag_context-&gt;action == GDK_ACTION_ASK)
{
GtkWidget *dialog;
gint response;
dialog = gtk_message_dialog_new (NULL,
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_YES_NO,
&quot;Move the data ?\n&quot;);
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
if (response == GTK_RESPONSE_YES)
drag_context-&gt;action = GDK_ACTION_MOVE;
else
drag_context-&gt;action = GDK_ACTION_COPY;
}
gtk_drag_finish (drag_context, TRUE, FALSE, time);
return;
}
gtk_drag_finish (drag_context, FALSE, FALSE, time);
}
]|">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-drop"
doc="The ::drag-drop signal is emitted on the drop site when the user drops
the data onto the widget. The signal handler must determine whether
the cursor position is in a drop zone or not. If it is not in a drop
zone, it returns %FALSE and no further processing is necessary.
Otherwise, the handler returns %TRUE. In this case, the handler must
ensure that gtk_drag_finish() is called to let the source know that
the drop is done. The call to gtk_drag_finish() can be done either
directly or in a #GtkWidget::drag-data-received handler which gets
triggered by calling gtk_drag_get_data() to receive the data for one
or more of the supported targets.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-end"
doc="The ::drag-end signal is emitted on the drag source when a drag is
finished. A typical reason to connect to this signal is to undo
things done in #GtkWidget::drag-begin.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-failed"
doc="The ::drag-failed signal is emitted on the drag source when a drag has
failed. The signal handler may hook custom code to handle a failed DND
operation based on the type of error, it returns %TRUE is the failure has
been already handled (not showing the default &quot;drag operation failed&quot;
animation), otherwise it returns %FALSE."
version="2.12">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
<parameter name="result" transfer-ownership="none">
<type name="DragResult" c:type="GtkDragResult"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-leave"
doc="The ::drag-leave signal is emitted on the drop site when the cursor
leaves the widget. A typical reason to connect to this signal is to
undo things done in #GtkWidget::drag-motion, e.g. undo highlighting
with gtk_drag_unhighlight()">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
<parameter name="time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="drag-motion"
doc="The drag-motion signal is emitted on the drop site when the user
moves the cursor over the widget during a drag. The signal handler
must determine whether the cursor position is in a drop zone or not.
If it is not in a drop zone, it returns %FALSE and no further processing
is necessary. Otherwise, the handler returns %TRUE. In this case, the
handler is responsible for providing the necessary information for
displaying feedback to the user, by calling gdk_drag_status().
If the decision whether the drop will be accepted or rejected can&apos;t be
made based solely on the cursor position and the type of the data, the
handler may inspect the dragged data by calling gtk_drag_get_data() and
defer the gdk_drag_status() call to the #GtkWidget::drag-data-received
handler. Note that you cannot not pass #GTK_DEST_DEFAULT_DROP,
#GTK_DEST_DEFAULT_MOTION or #GTK_DEST_DEFAULT_ALL to gtk_drag_dest_set()
when using the drag-motion signal that way.
Also note that there is no drag-enter signal. The drag receiver has to
keep track of whether he has received any drag-motion signals since the
last #GtkWidget::drag-leave and if not, treat the drag-motion signal as
an &quot;enter&quot; signal. Upon an &quot;enter&quot;, the handler will typically highlight
the drop site with gtk_drag_highlight().
|[
static void
drag_motion (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time)
{
GdkAtom target;
PrivateData *private_data = GET_PRIVATE_DATA (widget);
if (!private_data-&gt;drag_highlight)
{
private_data-&gt;drag_highlight = 1;
gtk_drag_highlight (widget);
}
target = gtk_drag_dest_find_target (widget, context, NULL);
if (target == GDK_NONE)
gdk_drag_status (context, 0, time);
else
{
private_data-&gt;pending_status = context-&gt;suggested_action;
gtk_drag_get_data (widget, context, target, time);
}
return TRUE;
}
static void
drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection_data,
guint info,
guint time)
{
PrivateData *private_data = GET_PRIVATE_DATA (widget);
if (private_data-&gt;suggested_action)
{
private_data-&gt;suggested_action = 0;
/&amp;ast; We are getting this data due to a request in drag_motion,
* rather than due to a request in drag_drop, so we are just
* supposed to call gdk_drag_status (), not actually paste in
* the data.
&amp;ast;/
str = gtk_selection_data_get_text (selection_data);
if (!data_is_acceptable (str))
gdk_drag_status (context, 0, time);
else
gdk_drag_status (context, private_data-&gt;suggested_action, time);
}
else
{
/&amp;ast; accept the drop &amp;ast;/
}
}
]|">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="drag_context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="enter-notify-event"
doc="The ::enter-notify-event will be emitted when the pointer enters
the @widget&apos;s window.
To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_ENTER_NOTIFY_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="event"
doc="The GTK+ main loop will emit three signals for each GDK event delivered
signal that matches the type of event delivered (e.g.
#GtkWidget::key-press-event) and finally a generic
#GtkWidget::event-after signal.
and to cancel the emission of the second specific ::event signal.
%FALSE to propagate the event further and to allow the emission of
the second signal. The ::event-after signal is emitted regardless of
the return value.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="event-after"
doc="After the emission of the #GtkWidget::event signal and (optionally)
the second more specific signal, ::event-after will be emitted
regardless of the previous two signals handlers return values.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="expose-event"
doc="The ::expose-event signal is emitted when an area of a previously
obscured #GdkWindow is made visible and needs to be redrawn.
#GTK_NO_WINDOW widgets will get a synthesized event from their parent
widget.
To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_EXPOSURE_MASK mask.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="focus">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="focus-in-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="focus-out-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="grab-broken-event"
doc="Emitted when a pointer or keyboard grab on a window belonging
to @widget gets broken.
On X11, this happens when the grab window becomes unviewable
(i.e. it or one of its ancestors is unmapped), or if the same
application grabs the pointer or keyboard again.
the event. %FALSE to propagate the event further."
version="2.8">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="grab-focus">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="grab-notify"
doc="if it becomes unshadowed
The ::grab-notify signal is emitted when a widget becomes
shadowed by a GTK+ grab (not a pointer or keyboard grab) on
another widget, or when it becomes unshadowed due to a grab
being removed.
A widget is shadowed by a gtk_grab_add() when the topmost
grab widget in the grab stack of its window group is not
its ancestor.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="was_grabbed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="hide">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="hierarchy-changed"
doc="if the widget was previously unanchored
The ::hierarchy-changed signal is emitted when the
anchored state of a widget changes. A widget is
&lt;firstterm&gt;anchored&lt;/firstterm&gt; when its toplevel
ancestor is a #GtkWindow. This signal is emitted when
a widget changes from un-anchored to anchored or vice-versa.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="previous_toplevel"
transfer-ownership="none"
allow-none="1"
doc="the previous toplevel ancestor, or %NULL">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="key-press-event"
doc="The ::key-press-event signal is emitted when a key is pressed.
To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_KEY_PRESS_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="key-release-event"
doc="The ::key-release-event signal is emitted when a key is pressed.
To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_KEY_RELEASE_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="keynav-failed"
doc="Gets emitted if keyboard navigation fails.
See gtk_widget_keynav_failed() for details.
if the emitting widget should try to handle the keyboard
navigation attempt in its parent container(s)."
version="2.12">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="leave-notify-event"
doc="The ::leave-notify-event will be emitted when the pointer leaves
the @widget&apos;s window.
To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_LEAVE_NOTIFY_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="map">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="map-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="mnemonic-activate">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="arg1" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="motion-notify-event"
doc="The ::motion-notify-event signal is emitted when the pointer moves
over the widget&apos;s #GdkWindow.
To receive this signal, the #GdkWindow associated to the widget
needs to enable the #GDK_POINTER_MOTION_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="move-focus">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="no-expose-event"
doc="The ::no-expose-event will be emitted when the @widget&apos;s window is
drawn as a copy of another #GdkDrawable (with gdk_draw_drawable() or
gdk_window_copy_area()) which was completely unobscured. If the source
window was partially obscured #GdkEventExpose events will be generated
for those areas.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="parent-set"
doc="just got its initial parent.
The ::parent-set signal is emitted when a new parent
has been set on a widget.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="old_parent"
transfer-ownership="none"
allow-none="1"
doc="the previous parent, or %NULL if the widget">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="popup-menu">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
</glib:signal>
<glib:signal name="property-notify-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="proximity-in-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="proximity-out-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="query-tooltip"
doc="been emitted, relative to @widget-&gt;window
been emitted, relative to @widget-&gt;window
Emitted when #GtkWidget:has-tooltip is %TRUE and the #GtkSettings:gtk-tooltip-timeout
has expired with the cursor hovering &quot;above&quot; @widget; or emitted when @widget got
focus in keyboard mode.
Using the given coordinates, the signal handler should determine
whether a tooltip should be shown for @widget. If this is the case
%TRUE should be returned, %FALSE otherwise. Note that if
should not be used.
The signal handler is free to manipulate @tooltip with the therefore
destined function calls."
version="2.12">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="keyboard_mode" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="realize">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="screen-changed"
doc="widget was not associated with a screen before
The ::screen-changed signal gets emitted when the
screen of a widget has changed.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="previous_screen"
transfer-ownership="none"
allow-none="1"
doc="the previous screen, or %NULL if the">
<type name="Gdk.Screen" c:type="GdkScreen"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="scroll-event"
doc="The ::scroll-event signal is emitted when a button in the 4 to 7
range is pressed. Wheel mice are usually configured to generate
button press events for buttons 4 and 5 when the wheel is turned.
To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_BUTTON_PRESS_MASK mask.
This signal will be sent to the grab widget if there is one.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="selection-clear-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="selection-get">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="selection-notify-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="selection-received">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData"/>
</parameter>
<parameter name="time" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="selection-request-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="show">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="show-help">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="help_type" transfer-ownership="none">
<type name="WidgetHelpType" c:type="GtkWidgetHelpType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="size-allocate">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allocation" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="size-request">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="requisition" transfer-ownership="none">
<type name="Requisition" c:type="GtkRequisition"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="state-changed"
doc="The ::state-changed signal is emitted when the widget state changes.
See gtk_widget_get_state().">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="style-set"
doc="just got its initial style
The ::style-set signal is emitted when a new style has been set
on a widget. Note that style-modifying functions like
gtk_widget_modify_base() also cause this signal to be emitted.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="previous_style"
transfer-ownership="none"
allow-none="1"
doc="the previous style, or %NULL if the widget">
<type name="Style" c:type="GtkStyle"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="unmap">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="unmap-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="unrealize">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="visibility-notify-event"
doc="The ::visibility-notify-event will be emitted when the @widget&apos;s window
is obscured or unobscured.
To receive this signal the #GdkWindow associated to the widget needs
to enable the #GDK_VISIBILITY_NOTIFY_MASK mask.
%FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="window-state-event"
doc="The ::window-state-event will be emitted when the state of the
toplevel window associated to the @widget changes.
To receive this signal the #GdkWindow associated to the widget
needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable
this mask automatically for all new windows.
event. %FALSE to propagate the event further.">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="WidgetAuxInfo" c:type="GtkWidgetAuxInfo">
<field name="x" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="y" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="width" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="height" writable="1">
<type name="int" c:type="gint"/>
</field>
<field name="x_set" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="y_set" writable="1" bits="1">
<type name="uint" c:type="guint"/>
</field>
</record>
<record name="WidgetClass"
c:type="GtkWidgetClass"
glib:is-gtype-struct-for="Widget"
doc="&lt;structfield&gt;activate_signal&lt;/structfield&gt;
The signal to emit when a widget of this class is activated,
gtk_widget_activate() handles the emission. Implementation of this
signal is optional.
&lt;structfield&gt;set_scroll_adjustment_signal&lt;/structfield&gt;
This signal is emitted when a widget of this class is added
to a scrolling aware parent, gtk_widget_set_scroll_adjustments()
handles the emission.
Implementation of this signal is optional.">
<field name="parent_class">
<type name="ObjectClass" c:type="GtkObjectClass"/>
</field>
<field name="activate_signal">
<type name="uint" c:type="guint"/>
</field>
<field name="set_scroll_adjustments_signal">
<type name="uint" c:type="guint"/>
</field>
<field name="dispatch_child_properties_changed">
<callback name="dispatch_child_properties_changed"
c:type="dispatch_child_properties_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="n_pspecs" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="pspecs" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
</callback>
</field>
<field name="show">
<callback name="show" c:type="show">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="show_all">
<callback name="show_all" c:type="show_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="hide">
<callback name="hide" c:type="hide">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="hide_all">
<callback name="hide_all" c:type="hide_all">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="map">
<callback name="map" c:type="map">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unmap">
<callback name="unmap" c:type="unmap">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="realize">
<callback name="realize" c:type="realize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unrealize">
<callback name="unrealize" c:type="unrealize">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="size_request">
<callback name="size_request" c:type="size_request">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="requisition" transfer-ownership="none">
<type name="Requisition" c:type="GtkRequisition*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="size_allocate">
<callback name="size_allocate" c:type="size_allocate">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="allocation" transfer-ownership="none">
<type name="Allocation" c:type="GtkAllocation*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="state_changed">
<callback name="state_changed" c:type="state_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="previous_state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="parent_set">
<callback name="parent_set" c:type="parent_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="previous_parent" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="hierarchy_changed">
<callback name="hierarchy_changed" c:type="hierarchy_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="previous_toplevel" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="style_set">
<callback name="style_set" c:type="style_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="previous_style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="direction_changed">
<callback name="direction_changed" c:type="direction_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="previous_direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
</parameters>
</callback>
</field>
<field name="grab_notify">
<callback name="grab_notify" c:type="grab_notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="was_grabbed" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="child_notify">
<callback name="child_notify" c:type="child_notify">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="mnemonic_activate">
<callback name="mnemonic_activate" c:type="mnemonic_activate">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="group_cycling" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="grab_focus">
<callback name="grab_focus" c:type="grab_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus">
<callback name="focus" c:type="focus">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="event">
<callback name="event" c:type="event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="button_press_event">
<callback name="button_press_event" c:type="button_press_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventButton" c:type="GdkEventButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="button_release_event">
<callback name="button_release_event" c:type="button_release_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventButton" c:type="GdkEventButton*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="scroll_event">
<callback name="scroll_event" c:type="scroll_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventScroll" c:type="GdkEventScroll*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="motion_notify_event">
<callback name="motion_notify_event" c:type="motion_notify_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventMotion" c:type="GdkEventMotion*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="delete_event">
<callback name="delete_event" c:type="delete_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventAny" c:type="GdkEventAny*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="destroy_event">
<callback name="destroy_event" c:type="destroy_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventAny" c:type="GdkEventAny*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="expose_event">
<callback name="expose_event" c:type="expose_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventExpose" c:type="GdkEventExpose*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="key_press_event">
<callback name="key_press_event" c:type="key_press_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="key_release_event">
<callback name="key_release_event" c:type="key_release_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="enter_notify_event">
<callback name="enter_notify_event" c:type="enter_notify_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventCrossing" c:type="GdkEventCrossing*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="leave_notify_event">
<callback name="leave_notify_event" c:type="leave_notify_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventCrossing" c:type="GdkEventCrossing*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="configure_event">
<callback name="configure_event" c:type="configure_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventConfigure" c:type="GdkEventConfigure*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_in_event">
<callback name="focus_in_event" c:type="focus_in_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventFocus" c:type="GdkEventFocus*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_out_event">
<callback name="focus_out_event" c:type="focus_out_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventFocus" c:type="GdkEventFocus*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="map_event">
<callback name="map_event" c:type="map_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventAny" c:type="GdkEventAny*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unmap_event">
<callback name="unmap_event" c:type="unmap_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventAny" c:type="GdkEventAny*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="property_notify_event">
<callback name="property_notify_event" c:type="property_notify_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventProperty" c:type="GdkEventProperty*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_clear_event">
<callback name="selection_clear_event" c:type="selection_clear_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventSelection" c:type="GdkEventSelection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_request_event">
<callback name="selection_request_event"
c:type="selection_request_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventSelection" c:type="GdkEventSelection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_notify_event">
<callback name="selection_notify_event"
c:type="selection_notify_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventSelection" c:type="GdkEventSelection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="proximity_in_event">
<callback name="proximity_in_event" c:type="proximity_in_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventProximity" c:type="GdkEventProximity*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="proximity_out_event">
<callback name="proximity_out_event" c:type="proximity_out_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventProximity" c:type="GdkEventProximity*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="visibility_notify_event">
<callback name="visibility_notify_event"
c:type="visibility_notify_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventVisibility" c:type="GdkEventVisibility*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="client_event">
<callback name="client_event" c:type="client_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventClient" c:type="GdkEventClient*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="no_expose_event">
<callback name="no_expose_event" c:type="no_expose_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventAny" c:type="GdkEventAny*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="window_state_event">
<callback name="window_state_event" c:type="window_state_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventWindowState" c:type="GdkEventWindowState*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_get">
<callback name="selection_get" c:type="selection_get">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="selection_received">
<callback name="selection_received" c:type="selection_received">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_begin">
<callback name="drag_begin" c:type="drag_begin">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_end">
<callback name="drag_end" c:type="drag_end">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_data_get">
<callback name="drag_data_get" c:type="drag_data_get">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_data_delete">
<callback name="drag_data_delete" c:type="drag_data_delete">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_leave">
<callback name="drag_leave" c:type="drag_leave">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_motion">
<callback name="drag_motion" c:type="drag_motion">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_drop">
<callback name="drag_drop" c:type="drag_drop">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drag_data_received">
<callback name="drag_data_received" c:type="drag_data_received">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="popup_menu">
<callback name="popup_menu" c:type="popup_menu">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="show_help">
<callback name="show_help" c:type="show_help">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="help_type" transfer-ownership="none">
<type name="WidgetHelpType" c:type="GtkWidgetHelpType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_accessible">
<callback name="get_accessible" c:type="get_accessible">
<return-value transfer-ownership="full">
<type name="Atk.Object" c:type="AtkObject*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="screen_changed">
<callback name="screen_changed" c:type="screen_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="previous_screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="can_activate_accel">
<callback name="can_activate_accel" c:type="can_activate_accel">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="grab_broken_event">
<callback name="grab_broken_event" c:type="grab_broken_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventGrabBroken" c:type="GdkEventGrabBroken*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="composited_changed">
<callback name="composited_changed" c:type="composited_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="query_tooltip">
<callback name="query_tooltip" c:type="query_tooltip">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="keyboard_tooltip" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="tooltip" transfer-ownership="none">
<type name="Tooltip" c:type="GtkTooltip*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved5">
<callback name="gtk_reserved5" c:type="_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved6">
<callback name="gtk_reserved6" c:type="_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved7">
<callback name="gtk_reserved7" c:type="_gtk_reserved7">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<method name="install_style_property"
c:identifier="gtk_widget_class_install_style_property"
doc="Installs a style property on a widget class. The parser for the
style property is determined by the value type of @pspec.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
<method name="install_style_property_parser"
c:identifier="gtk_widget_class_install_style_property_parser"
doc="Installs a style property on a widget class.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="parser" transfer-ownership="none" scope="call">
<type name="RcPropertyParser" c:type="GtkRcPropertyParser"/>
</parameter>
</parameters>
</method>
<method name="find_style_property"
c:identifier="gtk_widget_class_find_style_property"
doc="style property with that name.
Finds a style property of a widget class by name."
version="2.2">
<return-value transfer-ownership="full"
doc="the #GParamSpec of the style property or %NULL if @class has no">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</return-value>
<parameters>
<parameter name="property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="list_style_properties"
c:identifier="gtk_widget_class_list_style_properties"
doc="be freed with g_free().
Returns all style properties of a widget class."
version="2.2">
<return-value transfer-ownership="full">
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</return-value>
<parameters>
<parameter name="n_properties"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</method>
</record>
<bitfield name="WidgetFlags"
doc="#GtkMenu&lt;!-- --&gt;s have this flag set throughout their lifetime.
Toplevel widgets always contain their own #GdkWindow.
Visible action (e.g. drawing) is performed on the parent&apos;s #GdkWindow.
A realized widget has an associated #GdkWindow.
Only realized widgets can be mapped. It means that gdk_window_show()
has been called on the widgets window(s).
widget will be mapped as soon as its parent is mapped.
The sensitivity of a widget determines whether it will receive
certain events (e.g. button or key presses). One premise for
the widget&apos;s sensitivity is to have this flag set.
parents of the widget.
This is the second premise for the widget&apos;s sensitivity. Once
it has %GTK_SENSITIVE and %GTK_PARENT_SENSITIVE set, its state is
effectively sensitive. This is expressed (and can be examined) by
the #GTK_WIDGET_IS_SENSITIVE macro.
have %GTK_CAN_FOCUS set. The flag will be unset once another widget
grabs the focus.
gtk_widget_grab_default() and will reserve space to draw the default if possible
should be drawn appropriately if possible
widget is in the grab_widgets stack, and will be the preferred one for
receiving events other than ones of cosmetic value.
mechanism. It does not imply that the widget actually had a style
defined through the rc mechanism.
gtk_widget_push_composite_child(), gtk_widget_pop_composite_child().
Must be set on widgets whose window the application directly draws on,
in order to keep GTK+ from overwriting the drawn stuff. See
&lt;xref linkend=&quot;app-paintable-widgets&quot;/&gt; for a detailed
description of this flag.
%GTK_HAS_DEFAULT set even if there is a different widget set as default.
Indicates that exposes done on the widget should be
double-buffered. See &lt;xref linkend=&quot;double-buffering&quot;/&gt; for a
detailed discussion of how double-buffering works in GTK+ and
why you may want to disable it for special cases.
Tells about certain properties of the widget."
glib:type-name="GtkWidgetFlags"
glib:get-type="gtk_widget_flags_get_type"
c:type="GtkWidgetFlags">
<member name="toplevel"
value="16"
c:identifier="GTK_TOPLEVEL"
glib:nick="toplevel"/>
<member name="no_window"
value="32"
c:identifier="GTK_NO_WINDOW"
glib:nick="no-window"/>
<member name="realized"
value="64"
c:identifier="GTK_REALIZED"
glib:nick="realized"/>
<member name="mapped"
value="128"
c:identifier="GTK_MAPPED"
glib:nick="mapped"/>
<member name="visible"
value="256"
c:identifier="GTK_VISIBLE"
glib:nick="visible"/>
<member name="sensitive"
value="512"
c:identifier="GTK_SENSITIVE"
glib:nick="sensitive"/>
<member name="parent_sensitive"
value="1024"
c:identifier="GTK_PARENT_SENSITIVE"
glib:nick="parent-sensitive"/>
<member name="can_focus"
value="2048"
c:identifier="GTK_CAN_FOCUS"
glib:nick="can-focus"/>
<member name="has_focus"
value="4096"
c:identifier="GTK_HAS_FOCUS"
glib:nick="has-focus"/>
<member name="can_default"
value="8192"
c:identifier="GTK_CAN_DEFAULT"
glib:nick="can-default"/>
<member name="has_default"
value="16384"
c:identifier="GTK_HAS_DEFAULT"
glib:nick="has-default"/>
<member name="has_grab"
value="32768"
c:identifier="GTK_HAS_GRAB"
glib:nick="has-grab"/>
<member name="rc_style"
value="65536"
c:identifier="GTK_RC_STYLE"
glib:nick="rc-style"/>
<member name="composite_child"
value="131072"
c:identifier="GTK_COMPOSITE_CHILD"
glib:nick="composite-child"/>
<member name="no_reparent"
value="262144"
c:identifier="GTK_NO_REPARENT"
glib:nick="no-reparent"/>
<member name="app_paintable"
value="524288"
c:identifier="GTK_APP_PAINTABLE"
glib:nick="app-paintable"/>
<member name="receives_default"
value="1048576"
c:identifier="GTK_RECEIVES_DEFAULT"
glib:nick="receives-default"/>
<member name="double_buffered"
value="2097152"
c:identifier="GTK_DOUBLE_BUFFERED"
glib:nick="double-buffered"/>
<member name="no_show_all"
value="4194304"
c:identifier="GTK_NO_SHOW_ALL"
glib:nick="no-show-all"/>
</bitfield>
<enumeration name="WidgetHelpType"
glib:type-name="GtkWidgetHelpType"
glib:get-type="gtk_widget_help_type_get_type"
c:type="GtkWidgetHelpType">
<member name="tooltip"
value="0"
c:identifier="GTK_WIDGET_HELP_TOOLTIP"
glib:nick="tooltip"/>
<member name="whats_this"
value="1"
c:identifier="GTK_WIDGET_HELP_WHATS_THIS"
glib:nick="whats-this"/>
</enumeration>
<record name="WidgetShapeInfo" c:type="GtkWidgetShapeInfo">
<field name="offset_x" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="offset_y" writable="1">
<type name="int16" c:type="gint16"/>
</field>
<field name="shape_mask" writable="1">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</field>
</record>
<class name="Window"
c:type="GtkWindow"
parent="Bin"
glib:type-name="GtkWindow"
glib:get-type="gtk_window_get_type"
glib:type-struct="WindowClass">
<implements name="Atk.ImplementorIface"/>
<implements name="Buildable"/>
<constructor name="new"
c:identifier="gtk_window_new"
doc="Creates a new #GtkWindow, which is a toplevel window that can
contain other widgets. Nearly always, the type of the window should
be #GTK_WINDOW_TOPLEVEL. If you&apos;re implementing something like a
popup menu from scratch (which is a bad idea, just use #GtkMenu),
you might use #GTK_WINDOW_POPUP. #GTK_WINDOW_POPUP is not for
dialogs, though in some other toolkits dialogs are called &quot;popups&quot;.
In GTK+, #GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip.
On X11, popup windows are not controlled by the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;.
If you simply want an undecorated window (no window borders), use
gtk_window_set_decorated(), don&apos;t use #GTK_WINDOW_POPUP.">
<return-value transfer-ownership="full">
<type name="Window" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="WindowType" c:type="GtkWindowType"/>
</parameter>
</parameters>
</constructor>
<function name="set_default_icon_list"
c:identifier="gtk_window_set_default_icon_list"
doc="Sets an icon list to be used as fallback for windows that haven&apos;t
had gtk_window_set_icon_list() called on them to set up a
window-specific icon list. This function allows you to set up the
icon for all windows in your app at once.
See gtk_window_set_icon_list() for more details.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</function>
<function name="get_default_icon_list"
c:identifier="gtk_window_get_default_icon_list"
doc="Gets the value set by gtk_window_set_default_icon_list().
The list is a copy and should be freed with g_list_free(),
but the pixbufs in the list have not had their reference count
incremented.">
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*"/>
</return-value>
</function>
<function name="set_default_icon"
c:identifier="gtk_window_set_default_icon"
doc="Sets an icon to be used as fallback for windows that haven&apos;t
had gtk_window_set_icon() called on them from a pixbuf."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</function>
<function name="set_default_icon_name"
c:identifier="gtk_window_set_default_icon_name"
doc="Sets an icon to be used as fallback for windows that haven&apos;t
had gtk_window_set_icon_list() called on them from a named
themed icon, see gtk_window_set_icon_name()."
version="2.6">
<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>
</function>
<function name="get_default_icon_name"
c:identifier="gtk_window_get_default_icon_name"
doc="Returns the fallback icon name for windows that has been set
with gtk_window_set_default_icon_name(). The returned
string is owned by GTK+ and should not be modified. It
is only valid until the next call to
gtk_window_set_default_icon_name()."
version="2.16">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="set_default_icon_from_file"
c:identifier="gtk_window_set_default_icon_from_file"
doc="Sets an icon to be used as fallback for windows that haven&apos;t
had gtk_window_set_icon_list() called on them from a file
on disk. Warns on failure if @err is %NULL."
version="2.2"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="set_auto_startup_notification"
c:identifier="gtk_window_set_auto_startup_notification"
doc="By default, after showing the first #GtkWindow, GTK+ calls
gdk_notify_startup_complete(). Call this function to disable
the automatic startup notification. You might do this if your
first window is a splash screen, and you want to delay notification
until after your real main window has been shown, for example.
In that example, you would disable startup notification
temporarily, show your splash screen, then re-enable it so that
showing the main window would automatically result in notification."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="list_toplevels"
c:identifier="gtk_window_list_toplevels"
doc="Returns a list of all existing toplevel windows. The widgets
in the list are not individually referenced. If you want
to iterate through the list and perform actions involving
callbacks that might destroy the widgets, you &lt;emphasis&gt;must&lt;/emphasis&gt; call
&lt;literal&gt;g_list_foreach (result, (GFunc)g_object_ref, NULL)&lt;/literal&gt; first, and
then unref all the widgets afterwards.">
<return-value transfer-ownership="container"
doc="list of toplevel widgets">
<type name="GLib.List" c:type="GList*">
<type name="Widget"/>
</type>
</return-value>
</function>
<virtual-method name="move_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_title"
c:identifier="gtk_window_set_title"
doc="Sets the title of the #GtkWindow. The title of a window will be
displayed in its title bar; on the X Window System, the title bar
is rendered by the &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
manager&lt;/link&gt;, so exactly how the title appears to users may vary
according to a user&apos;s exact configuration. The title should help a
user distinguish this window from other windows they may have
open. A good title might include the application name and current
document filename, for example.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_title"
c:identifier="gtk_window_get_title"
doc="Retrieves the title of the window. See gtk_window_set_title().
been set explicitely. The returned string is owned by the widget
and must not be modified or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_wmclass"
c:identifier="gtk_window_set_wmclass"
doc="Don&apos;t use this function. It sets the X Window System &quot;class&quot; and
&quot;name&quot; hints for a window. According to the ICCCM, you should
always set these to the same value for all windows in an
application, and GTK+ sets them to that value by default, so calling
this function is sort of pointless. However, you may want to call
gtk_window_set_role() on each window in your application, for the
benefit of the session manager. Setting the role allows the window
manager to restore window positions when loading a saved session.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="wmclass_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="wmclass_class" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_role"
c:identifier="gtk_window_set_role"
doc="This function is only useful on X11, not with other GTK+ targets.
In combination with the window title, the window role allows a
&lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; to identify &quot;the
same&quot; window when an application is restarted. So for example you
might set the &quot;toolbox&quot; role on your app&apos;s toolbox window, so that
when the user restarts their session, the window manager can put
the toolbox back in the same place.
If a window already has a unique title, you don&apos;t need to set the
role, since the WM can use the title to identify the window when
restoring the session.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="role" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_startup_id"
c:identifier="gtk_window_set_startup_id"
doc="Startup notification identifiers are used by desktop environment to
track application startup, to provide user feedback and other
features. This function changes the corresponding property on the
underlying GdkWindow. Normally, startup identifier is managed
automatically and you should only use this function in special cases
like transferring focus from other processes. You should use this
function before calling gtk_window_present() or any equivalent
function generating a window map event.
This function is only useful on X11, not with other GTK+ targets."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="startup_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_role"
c:identifier="gtk_window_get_role"
doc="Returns the role of the window. See gtk_window_set_role() for
further explanation.
returned is owned by the widget and must not be modified
or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="add_accel_group"
c:identifier="gtk_window_add_accel_group"
doc="Associate @accel_group with @window, such that calling
gtk_accel_groups_activate() on @window will activate accelerators
in @accel_group.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</method>
<method name="remove_accel_group"
c:identifier="gtk_window_remove_accel_group"
doc="Reverses the effects of gtk_window_add_accel_group().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accel_group" transfer-ownership="none">
<type name="AccelGroup" c:type="GtkAccelGroup*"/>
</parameter>
</parameters>
</method>
<method name="set_position"
c:identifier="gtk_window_set_position"
doc="Sets a position constraint for this window. If the old or new
constraint is %GTK_WIN_POS_CENTER_ALWAYS, this will also cause
the window to be repositioned to satisfy the new constraint.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="position" transfer-ownership="none">
<type name="WindowPosition" c:type="GtkWindowPosition"/>
</parameter>
</parameters>
</method>
<method name="activate_focus"
c:identifier="gtk_window_activate_focus"
doc="Activates the current focused widget within the window.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_focus"
c:identifier="gtk_window_set_focus"
doc="any focus widget for the toplevel window.
If @focus is not the current focus widget, and is focusable, sets
it as the focus widget for the window. If @focus is %NULL, unsets
the focus widget for this window. To set the focus to a particular
widget in the toplevel, it is usually more convenient to use
gtk_widget_grab_focus() instead of this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="focus"
transfer-ownership="none"
allow-none="1"
doc="widget to be the new focus widget, or %NULL to unset">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_focus"
c:identifier="gtk_window_get_focus"
doc="Retrieves the current focused widget within the window.
Note that this is the widget that would have the focus
if the toplevel window focused; if the toplevel window
is not focused then &lt;literal&gt;gtk_widget_has_focus (widget)&lt;/literal&gt; will
not be %TRUE for the widget.">
<return-value transfer-ownership="none"
doc="the currently focused widget, or %NULL if there is none.">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="set_default"
c:identifier="gtk_window_set_default"
doc="default widget for the toplevel.
The default widget is the widget that&apos;s activated when the user
presses Enter in a dialog (for example). This function sets or
unsets the default widget for a #GtkWindow about. When setting
(rather than unsetting) the default widget it&apos;s generally easier to
call gtk_widget_grab_focus() on the widget. Before making a widget
the default widget, you must set the #GTK_CAN_DEFAULT flag on the
widget you&apos;d like to make the default using GTK_WIDGET_SET_FLAGS().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="default_widget"
transfer-ownership="none"
allow-none="1"
doc="widget to be the default, or %NULL to unset the">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="get_default_widget"
c:identifier="gtk_window_get_default_widget"
doc="Returns the default widget for @window. See gtk_window_set_default()
for more details."
version="2.14">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</method>
<method name="activate_default"
c:identifier="gtk_window_activate_default"
doc="Activates the default widget for the window, unless the current
focused widget has been configured to receive the default action
(see gtk_widget_set_receives_default()), in which case the
focused widget is activated.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_transient_for"
c:identifier="gtk_window_set_transient_for"
doc="Dialog windows should be set transient for the main application
window they were spawned from. This allows &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window managers&lt;/link&gt; to e.g. keep the
dialog on top of the main window, or center the dialog over the
main window. gtk_dialog_new_with_buttons() and other convenience
functions in GTK+ will sometimes call
gtk_window_set_transient_for() on your behalf.
Passing %NULL for @parent unsets the current transient window.
On Windows, this function puts the child window on top of the parent,
much as the window manager would have done on X.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="parent window, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</method>
<method name="get_transient_for"
c:identifier="gtk_window_get_transient_for"
doc="Fetches the transient parent for this window. See
gtk_window_set_transient_for().
if no transient parent has been set.">
<return-value transfer-ownership="none"
doc="the transient parent for this window, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</return-value>
</method>
<method name="set_opacity"
c:identifier="gtk_window_set_opacity"
doc="Request the windowing system to make @window partially transparent,
with opacity 0 being fully transparent and 1 fully opaque. (Values
of the opacity parameter are clamped to the [0,1] range.) On X11
this has any effect only on X screens with a compositing manager
running. See gtk_widget_is_composited(). On Windows it should work
always.
Note that setting a window&apos;s opacity after the window has been
shown causes it to flicker once on Windows."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="opacity" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="get_opacity"
c:identifier="gtk_window_get_opacity"
doc="Fetches the requested opacity for this window. See
gtk_window_set_opacity()."
version="2.12">
<return-value transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</return-value>
</method>
<method name="set_type_hint"
c:identifier="gtk_window_set_type_hint"
doc="By setting the type hint for the window, you allow the window
manager to decorate and handle the window in a way which is
suitable to the function of the window in your application.
This function should be called before the window becomes visible.
gtk_dialog_new_with_buttons() and other convenience functions in GTK+
will sometimes call gtk_window_set_type_hint() on your behalf.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hint" transfer-ownership="none">
<type name="Gdk.WindowTypeHint" c:type="GdkWindowTypeHint"/>
</parameter>
</parameters>
</method>
<method name="get_type_hint"
c:identifier="gtk_window_get_type_hint"
doc="Gets the type hint for this window. See gtk_window_set_type_hint().">
<return-value transfer-ownership="full">
<type name="Gdk.WindowTypeHint" c:type="GdkWindowTypeHint"/>
</return-value>
</method>
<method name="set_skip_taskbar_hint"
c:identifier="gtk_window_set_skip_taskbar_hint"
doc="Windows may set a hint asking the desktop environment not to display
the window in the task bar. This function sets this hint."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_skip_taskbar_hint"
c:identifier="gtk_window_get_skip_taskbar_hint"
doc="Gets the value set by gtk_window_set_skip_taskbar_hint()"
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_skip_pager_hint"
c:identifier="gtk_window_set_skip_pager_hint"
doc="Windows may set a hint asking the desktop environment not to display
the window in the pager. This function sets this hint.
(A &quot;pager&quot; is any desktop navigation tool such as a workspace
switcher that displays a thumbnail representation of the windows
on the screen.)"
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_skip_pager_hint"
c:identifier="gtk_window_get_skip_pager_hint"
doc="Gets the value set by gtk_window_set_skip_pager_hint()."
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_urgency_hint"
c:identifier="gtk_window_set_urgency_hint"
doc="Windows may set a hint asking the desktop environment to draw
the users attention to the window. This function sets this hint."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_urgency_hint"
c:identifier="gtk_window_get_urgency_hint"
doc="Gets the value set by gtk_window_set_urgency_hint()"
version="2.8">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_accept_focus"
c:identifier="gtk_window_set_accept_focus"
doc="Windows may set a hint asking the desktop environment not to receive
the input focus. This function sets this hint."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_accept_focus"
c:identifier="gtk_window_get_accept_focus"
doc="Gets the value set by gtk_window_set_accept_focus()."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_focus_on_map"
c:identifier="gtk_window_set_focus_on_map"
doc="Windows may set a hint asking the desktop environment not to receive
the input focus when the window is mapped. This function sets this
hint."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_focus_on_map"
c:identifier="gtk_window_get_focus_on_map"
doc="Gets the value set by gtk_window_set_focus_on_map().
mapped."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_destroy_with_parent"
c:identifier="gtk_window_set_destroy_with_parent"
doc="If @setting is %TRUE, then destroying the transient parent of @window
will also destroy @window itself. This is useful for dialogs that
shouldn&apos;t persist beyond the lifetime of the main window they&apos;re
associated with, for example.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_destroy_with_parent"
c:identifier="gtk_window_get_destroy_with_parent"
doc="Returns whether the window will be destroyed with its transient parent. See
gtk_window_set_destroy_with_parent ().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_mnemonics_visible"
c:identifier="gtk_window_set_mnemonics_visible"
doc="Sets the #GtkWindow:mnemonics-visible property."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_mnemonics_visible"
c:identifier="gtk_window_get_mnemonics_visible">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_resizable"
c:identifier="gtk_window_set_resizable"
doc="Sets whether the user can resize a window. Windows are user resizable
by default.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="resizable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_resizable"
c:identifier="gtk_window_get_resizable"
doc="Gets the value set by gtk_window_set_resizable().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_gravity"
c:identifier="gtk_window_set_gravity"
doc="Window gravity defines the meaning of coordinates passed to
gtk_window_move(). See gtk_window_move() and #GdkGravity for
more details.
The default window gravity is #GDK_GRAVITY_NORTH_WEST which will
typically &quot;do what you mean.&quot;">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gravity" transfer-ownership="none">
<type name="Gdk.Gravity" c:type="GdkGravity"/>
</parameter>
</parameters>
</method>
<method name="get_gravity"
c:identifier="gtk_window_get_gravity"
doc="Gets the value set by gtk_window_set_gravity().">
<return-value transfer-ownership="none" doc="window gravity">
<type name="Gdk.Gravity" c:type="GdkGravity"/>
</return-value>
</method>
<method name="set_geometry_hints"
c:identifier="gtk_window_set_geometry_hints"
doc="This function sets up hints about how a window can be resized by
the user. You can set a minimum and maximum size; allowed resize
increments (e.g. for xterm, you can only resize by the size of a
character); aspect ratios; and more. See the #GdkGeometry struct.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="geometry_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="geometry" transfer-ownership="none">
<type name="Gdk.Geometry" c:type="GdkGeometry*"/>
</parameter>
<parameter name="geom_mask" transfer-ownership="none">
<type name="Gdk.WindowHints" c:type="GdkWindowHints"/>
</parameter>
</parameters>
</method>
<method name="set_screen" c:identifier="gtk_window_set_screen">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="screen" transfer-ownership="none">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</method>
<method name="get_screen" c:identifier="gtk_window_get_screen">
<return-value transfer-ownership="full">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</return-value>
</method>
<method name="is_active"
c:identifier="gtk_window_is_active"
doc="Returns whether the window is part of the current active toplevel.
(That is, the toplevel window receiving keystrokes.)
The return value is %TRUE if the window is active toplevel
itself, but also if it is, say, a #GtkPlug embedded in the active toplevel.
You might use this function if you wanted to draw a widget
differently in an active window from a widget in an inactive window.
See gtk_window_has_toplevel_focus()"
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="has_toplevel_focus"
c:identifier="gtk_window_has_toplevel_focus"
doc="Returns whether the input focus is within this GtkWindow.
For real toplevel windows, this is identical to gtk_window_is_active(),
but for embedded windows, like #GtkPlug, the results will differ."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_has_frame"
c:identifier="gtk_window_set_has_frame"
doc="that causes GTK+ to draw its own window border. For most applications,
you want gtk_window_set_decorated() instead, which tells the window
manager whether to draw the window border.)
If this function is called on a window with setting of %TRUE, before
it is realized or showed, it will have a &quot;frame&quot; window around
frame_event you can receive all events targeted at the frame.
This function is used by the linux-fb port to implement managed
windows, but it could conceivably be used by X-programs that
want to do their own window decorations.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_has_frame"
c:identifier="gtk_window_get_has_frame"
doc="Accessor for whether the window has a frame window exterior to
via gtk_window_set_has_frame().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_frame_dimensions"
c:identifier="gtk_window_set_frame_dimensions"
doc="port; see gtk_window_set_has_frame(). It will have no effect on the
window border drawn by the window manager, which is the normal
case when using the X Window system.)
For windows with frames (see gtk_window_set_has_frame()) this function
can be used to change the size of the frame border.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="left" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="top" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="right" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="bottom" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_frame_dimensions"
c:identifier="gtk_window_get_frame_dimensions"
doc="framebuffer port; see gtk_window_set_has_frame(). It will not
return the size of the window border drawn by the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;, which is the normal
case when using a windowing system. See
gdk_window_get_frame_extents() to get the standard window border
extents.)
Retrieves the dimensions of the frame window for this toplevel.
See gtk_window_set_has_frame(), gtk_window_set_frame_dimensions().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="left"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the width of the frame at the left, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="top"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the height of the frame at the top, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="right"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the width of the frame at the returns, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="bottom"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the height of the frame at the bottom, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="set_decorated"
c:identifier="gtk_window_set_decorated"
doc="By default, windows are decorated with a title bar, resize
controls, etc. Some &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
managers&lt;/link&gt; allow GTK+ to disable these decorations, creating a
borderless window. If you set the decorated property to %FALSE
using this function, GTK+ will do its best to convince the window
manager not to decorate the window. Depending on the system, this
function may not have any effect when called on a window that is
already visible, so you should call it before calling gtk_window_show().
On Windows, this function always works, since there&apos;s no window manager
policy involved.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_decorated"
c:identifier="gtk_window_get_decorated"
doc="Returns whether the window has been set to have decorations
such as a title bar via gtk_window_set_decorated().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_deletable"
c:identifier="gtk_window_set_deletable"
doc="By default, windows have a close button in the window frame. Some
&lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window managers&lt;/link&gt; allow GTK+ to
disable this button. If you set the deletable property to %FALSE
using this function, GTK+ will do its best to convince the window
manager not to show a close button. Depending on the system, this
function may not have any effect when called on a window that is
already visible, so you should call it before calling gtk_window_show().
On Windows, this function always works, since there&apos;s no window manager
policy involved."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_deletable"
c:identifier="gtk_window_get_deletable"
doc="Returns whether the window has been set to have a close button
via gtk_window_set_deletable()."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_icon_list"
c:identifier="gtk_window_set_icon_list"
doc="Sets up the icon representing a #GtkWindow. The icon is used when
the window is minimized (also known as iconified). Some window
managers or desktop environments may also place it in the window
frame, or display it in other contexts.
gtk_window_set_icon_list() allows you to pass in the same icon in
several hand-drawn sizes. The list should contain the natural sizes
your icon is available in; that is, don&apos;t scale the image before
passing it to GTK+. Scaling is postponed until the last minute,
when the desired final size is known, to allow best quality.
By passing several sizes, you may improve the final image quality
of the icon, by reducing or eliminating automatic image scaling.
larger images (64x64, 128x128) if you have them.
See also gtk_window_set_default_icon_list() to set the icon
for all windows in your application in one go.
Note that transient windows (those who have been set transient for another
window using gtk_window_set_transient_for()) will inherit their
icon from their transient parent. So there&apos;s no need to explicitly
set the icon on transient windows.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<type name="GLib.List" c:type="GList*"/>
</parameter>
</parameters>
</method>
<method name="get_icon_list"
c:identifier="gtk_window_get_icon_list"
doc="Retrieves the list of icons set by gtk_window_set_icon_list().
The list is copied, but the reference count on each
member won&apos;t be incremented.">
<return-value transfer-ownership="container"
doc="copy of window&apos;s icon list">
<type name="GLib.List" c:type="GList*">
<type name="GdkPixbuf.Pixbuf"/>
</type>
</return-value>
</method>
<method name="set_icon"
c:identifier="gtk_window_set_icon"
doc="Sets up the icon representing a #GtkWindow. This icon is used when
the window is minimized (also known as iconified). Some window
managers or desktop environments may also place it in the window
frame, or display it in other contexts.
The icon should be provided in whatever size it was naturally
drawn; that is, don&apos;t scale the image before passing it to
GTK+. Scaling is postponed until the last minute, when the desired
final size is known, to allow best quality.
If you have your icon hand-drawn in multiple sizes, use
gtk_window_set_icon_list(). Then the best size will be used.
This function is equivalent to calling gtk_window_set_icon_list()
with a 1-element list.
See also gtk_window_set_default_icon_list() to set the icon
for all windows in your application in one go.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="icon"
transfer-ownership="none"
allow-none="1"
doc="icon image, or %NULL">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_name"
c:identifier="gtk_window_set_icon_name"
doc="Sets the icon for the window from a named themed icon. See
the docs for #GtkIconTheme for more details.
Note that this has nothing to do with the WM_ICON_NAME
property which is mentioned in the ICCCM."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name"
transfer-ownership="none"
allow-none="1"
doc="the name of the themed icon">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_icon_from_file"
c:identifier="gtk_window_set_icon_from_file"
doc="Sets the icon for @window.
Warns on failure if @err is %NULL.
This function is equivalent to calling gtk_window_set_icon()
with a pixbuf created by loading the image from @filename."
version="2.2"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_icon"
c:identifier="gtk_window_get_icon"
doc="Gets the value set by gtk_window_set_icon() (or if you&apos;ve
called gtk_window_set_icon_list(), gets the first icon in
the icon list).">
<return-value transfer-ownership="none" doc="icon for window">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
</method>
<method name="get_icon_name"
c:identifier="gtk_window_get_icon_name"
doc="Returns the name of the themed icon for the window,
see gtk_window_set_icon_name().
no themed icon"
version="2.6">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</method>
<method name="set_modal"
c:identifier="gtk_window_set_modal"
doc="Sets a window modal or non-modal. Modal windows prevent interaction
with other windows in the same application. To keep modal dialogs
on top of main application windows, use
gtk_window_set_transient_for() to make the dialog transient for the
parent; most &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window managers&lt;/link&gt;
will then disallow lowering the dialog below the parent.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="modal" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="get_modal"
c:identifier="gtk_window_get_modal"
doc="Returns whether the window is modal. See gtk_window_set_modal().
establishes a grab when shown">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</method>
<method name="add_mnemonic"
c:identifier="gtk_window_add_mnemonic"
doc="Adds a mnemonic to this window.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="remove_mnemonic"
c:identifier="gtk_window_remove_mnemonic"
doc="Removes a mnemonic from this window.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
<method name="mnemonic_activate"
c:identifier="gtk_window_mnemonic_activate"
doc="Activates the targets associated with the mnemonic.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifier" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</method>
<method name="set_mnemonic_modifier"
c:identifier="gtk_window_set_mnemonic_modifier"
doc="mnemonics on this window.
Sets the mnemonic modifier for this window.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="modifier" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</method>
<method name="get_mnemonic_modifier"
c:identifier="gtk_window_get_mnemonic_modifier"
doc="Returns the mnemonic modifier for this window. See
gtk_window_set_mnemonic_modifier().
mnemonics on this window.">
<return-value transfer-ownership="full">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</return-value>
</method>
<method name="activate_key"
c:identifier="gtk_window_activate_key"
doc="Activates mnemonics and accelerators for this #GtkWindow. This is normally
called by the default ::key_press_event handler for toplevel windows,
however in some cases it may be useful to call this directly when
overriding the standard key handling for a toplevel window."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</method>
<method name="propagate_key_event"
c:identifier="gtk_window_propagate_key_event"
doc="Propagate a key press or release event to the focus widget and
up the focus container chain until a widget handles @event.
This is normally called by the default ::key_press_event and
::key_release_event handlers for toplevel windows,
however in some cases it may be useful to call this directly when
overriding the standard key handling for a toplevel window."
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</method>
<method name="present"
c:identifier="gtk_window_present"
doc="Presents a window to the user. This may mean raising the window
in the stacking order, deiconifying it, moving it to the current
desktop, and/or giving it the keyboard focus, possibly dependent
on the user&apos;s platform, window manager, and preferences.
If @window is hidden, this function calls gtk_widget_show()
as well.
This function should be used when the user tries to open a window
that&apos;s already open. Say for example the preferences dialog is
currently open, and the user chooses Preferences from the menu
a second time; use gtk_window_present() to move the already-open dialog
where the user can see it.
If you are calling this function in response to a user interaction,
it is preferable to use gtk_window_present_with_time().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="present_with_time"
c:identifier="gtk_window_present_with_time"
doc="button or key press event) which triggered this call
Presents a window to the user in response to a user interaction.
If you need to present a window without a timestamp, use
gtk_window_present(). See gtk_window_present() for details."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timestamp" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="iconify"
c:identifier="gtk_window_iconify"
doc="Asks to iconify (i.e. minimize) the specified @window. Note that
you shouldn&apos;t assume the window is definitely iconified afterward,
because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could deiconify it
again, or there may not be a window manager in which case
iconification isn&apos;t possible, etc. But normally the window will end
up iconified. Just don&apos;t write code that crashes if not.
It&apos;s permitted to call this function before showing a window,
in which case the window will be iconified before it ever appears
onscreen.
You can track iconification via the &quot;window-state-event&quot; signal
on #GtkWidget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="deiconify"
c:identifier="gtk_window_deiconify"
doc="Asks to deiconify (i.e. unminimize) the specified @window. Note
that you shouldn&apos;t assume the window is definitely deiconified
afterward, because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could iconify it
again before your code which assumes deiconification gets to run.
You can track iconification via the &quot;window-state-event&quot; signal
on #GtkWidget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="stick"
c:identifier="gtk_window_stick"
doc="Asks to stick @window, which means that it will appear on all user
desktops. Note that you shouldn&apos;t assume the window is definitely
stuck afterward, because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could unstick it
again, and some window managers do not support sticking
windows. But normally the window will end up stuck. Just don&apos;t
write code that crashes if not.
It&apos;s permitted to call this function before showing a window.
You can track stickiness via the &quot;window-state-event&quot; signal
on #GtkWidget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unstick"
c:identifier="gtk_window_unstick"
doc="Asks to unstick @window, which means that it will appear on only
one of the user&apos;s desktops. Note that you shouldn&apos;t assume the
window is definitely unstuck afterward, because other entities
(e.g. the user or &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
manager&lt;/link&gt;) could stick it again. But normally the window will
end up stuck. Just don&apos;t write code that crashes if not.
You can track stickiness via the &quot;window-state-event&quot; signal
on #GtkWidget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="maximize"
c:identifier="gtk_window_maximize"
doc="Asks to maximize @window, so that it becomes full-screen. Note that
you shouldn&apos;t assume the window is definitely maximized afterward,
because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could unmaximize it
again, and not all window managers support maximization. But
normally the window will end up maximized. Just don&apos;t write code
that crashes if not.
It&apos;s permitted to call this function before showing a window,
in which case the window will be maximized when it appears onscreen
initially.
You can track maximization via the &quot;window-state-event&quot; signal
on #GtkWidget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unmaximize"
c:identifier="gtk_window_unmaximize"
doc="Asks to unmaximize @window. Note that you shouldn&apos;t assume the
window is definitely unmaximized afterward, because other entities
(e.g. the user or &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
manager&lt;/link&gt;) could maximize it again, and not all window
managers honor requests to unmaximize. But normally the window will
end up unmaximized. Just don&apos;t write code that crashes if not.
You can track maximization via the &quot;window-state-event&quot; signal
on #GtkWidget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="fullscreen"
c:identifier="gtk_window_fullscreen"
doc="Asks to place @window in the fullscreen state. Note that you
shouldn&apos;t assume the window is definitely full screen afterward,
because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could unfullscreen it
again, and not all window managers honor requests to fullscreen
windows. But normally the window will end up fullscreen. Just
don&apos;t write code that crashes if not.
You can track the fullscreen state via the &quot;window-state-event&quot; signal
on #GtkWidget."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unfullscreen"
c:identifier="gtk_window_unfullscreen"
doc="Asks to toggle off the fullscreen state for @window. Note that you
shouldn&apos;t assume the window is definitely not full screen
afterward, because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could fullscreen it
again, and not all window managers honor requests to unfullscreen
windows. But normally the window will end up restored to its normal
state. Just don&apos;t write code that crashes if not.
You can track the fullscreen state via the &quot;window-state-event&quot; signal
on #GtkWidget."
version="2.2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_keep_above"
c:identifier="gtk_window_set_keep_above"
doc="Asks to keep @window above, so that it stays on top. Note that
you shouldn&apos;t assume the window is definitely above afterward,
because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could not keep it above,
and not all window managers support keeping windows above. But
normally the window will end kept above. Just don&apos;t write code
that crashes if not.
It&apos;s permitted to call this function before showing a window,
in which case the window will be kept above when it appears onscreen
initially.
You can track the above state via the &quot;window-state-event&quot; signal
on #GtkWidget.
Note that, according to the &lt;ulink
url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&gt;Extended Window
Manager Hints&lt;/ulink&gt; specification, the above state is mainly meant
for user preferences and should not be used by applications e.g. for
drawing attention to their dialogs."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_keep_below"
c:identifier="gtk_window_set_keep_below"
doc="Asks to keep @window below, so that it stays in bottom. Note that
you shouldn&apos;t assume the window is definitely below afterward,
because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could not keep it below,
and not all window managers support putting windows below. But
normally the window will be kept below. Just don&apos;t write code
that crashes if not.
It&apos;s permitted to call this function before showing a window,
in which case the window will be kept below when it appears onscreen
initially.
You can track the below state via the &quot;window-state-event&quot; signal
on #GtkWidget.
Note that, according to the &lt;ulink
url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&gt;Extended Window
Manager Hints&lt;/ulink&gt; specification, the above state is mainly meant
for user preferences and should not be used by applications e.g. for
drawing attention to their dialogs."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="setting" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="begin_resize_drag"
c:identifier="gtk_window_begin_resize_drag"
doc="Starts resizing a window. This function is used if an application
has window resizing controls. When GDK can support it, the resize
will be done using the standard mechanism for the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; or windowing
system. Otherwise, GDK will try to emulate window resizing,
potentially not all that well, depending on the windowing system.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="edge" transfer-ownership="none">
<type name="Gdk.WindowEdge" c:type="GdkWindowEdge"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="root_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="root_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="timestamp" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="begin_move_drag"
c:identifier="gtk_window_begin_move_drag"
doc="Starts moving a window. This function is used if an application has
window movement grips. When GDK can support it, the window movement
will be done using the standard mechanism for the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; or windowing
system. Otherwise, GDK will try to emulate window movement,
potentially not all that well, depending on the windowing system.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="button" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="root_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="root_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="timestamp" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_policy" c:identifier="gtk_window_set_policy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="allow_shrink" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="allow_grow" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="auto_shrink" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_default_size"
c:identifier="gtk_window_set_default_size"
doc="Sets the default size of a window. If the window&apos;s &quot;natural&quot; size
(its size request) is larger than the default, the default will be
ignored. More generally, if the default size does not obey the
geometry hints for the window (gtk_window_set_geometry_hints() can
be used to set these explicitly), the default size will be clamped
to the nearest permitted size.
Unlike gtk_widget_set_size_request(), which sets a size request for
a widget and thus would keep users from shrinking the window, this
function only sets the initial size, just as if the user had
resized the window themselves. Users can still shrink the window
again as they normally would. Setting a default size of -1 means to
use the &quot;natural&quot; default size (the size request of the window).
For more control over a window&apos;s initial size and how resizing works,
investigate gtk_window_set_geometry_hints().
For some uses, gtk_window_resize() is a more appropriate function.
gtk_window_resize() changes the current size of the window, rather
than the size to be used on initial display. gtk_window_resize() always
affects the window itself, not the geometry widget.
The default size of a window only affects the first time a window is
shown; if a window is hidden and re-shown, it will remember the size
it had prior to hiding, rather than using the default size.
Windows can&apos;t actually be 0x0 in size, they must be at least 1x1, but
passing 0 for @width and @height is OK, resulting in a 1x1 default size.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_default_size"
c:identifier="gtk_window_get_default_size"
doc="Gets the default size of the window. A value of -1 for the width or
height indicates that a default size has not been explicitly set
for that dimension, so the &quot;natural&quot; size of the window will be
used.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the default width, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="location to store the default height, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="resize"
c:identifier="gtk_window_resize"
doc="Resizes the window as if the user had done so, obeying geometry
constraints. The default geometry constraint is that windows may
not be smaller than their size request; to override this
constraint, call gtk_widget_set_size_request() to set the window&apos;s
request to a smaller value.
If gtk_window_resize() is called before showing a window for the
first time, it overrides any default size set with
gtk_window_set_default_size().
Windows may not be resized smaller than 1 by 1 pixels.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_size"
c:identifier="gtk_window_get_size"
doc="Obtains the current size of @window. If @window is not onscreen,
it returns the size GTK+ will suggest to the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; for the initial window
size (but this is not reliably the same as the size the window
manager will actually select). The size obtained by
gtk_window_get_size() is the last size received in a
#GdkEventConfigure, that is, GTK+ uses its locally-stored size,
rather than querying the X server for the size. As a result, if you
call gtk_window_resize() then immediately call
gtk_window_get_size(), the size won&apos;t have taken effect yet. After
the window manager processes the resize request, GTK+ receives
notification that the size has changed via a configure event, and
the size of the window gets updated.
because the size of the window may change between the time that you
get the size and the time that you perform some action assuming
that size is the current size. To avoid race conditions, connect to
&quot;configure-event&quot; on the window and adjust your size-dependent
state to match the size delivered in the #GdkEventConfigure.
size of the window manager decorations (aka the window frame or
border). Those are not drawn by GTK+ and GTK+ has no reliable
method of determining their size.
the window onscreen, there may be a better way. The preferred
way is to simply set the window&apos;s semantic type with
gtk_window_set_type_hint(), which allows the window manager to
e.g. center dialogs. Also, if you set the transient parent of
dialogs with gtk_window_set_transient_for() window managers
will often center the dialog over its parent window. It&apos;s
much preferred to let the window manager handle these
things rather than doing it yourself, because all apps will
behave consistently and according to user prefs if the window
manager handles it. Also, the window manager can take the size
of the window decorations/border into account, while your
application cannot.
In any case, if you insist on application-specified window
positioning, there&apos;s &lt;emphasis&gt;still&lt;/emphasis&gt; a better way than
doing it yourself - gtk_window_set_position() will frequently
handle the details for you.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for width, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height"
direction="out"
transfer-ownership="full"
allow-none="1"
doc="return location for height, or %NULL">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="move"
c:identifier="gtk_window_move"
doc="Asks the &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; to move
this; most window managers ignore requests for initial window
positions (instead using a user-defined placement algorithm) and
honor requests after the window has already been shown.
reference point for the window. The gravity determines two things:
first, the location of the reference point in root window
coordinates; and second, which point on the window is positioned at
the reference point.
By default the gravity is #GDK_GRAVITY_NORTH_WEST, so the reference
point is simply the @x, @y supplied to gtk_window_move(). The
top-left corner of the window decorations (aka window frame or
border) will be placed at @x, @y. Therefore, to position a window
at the top left of the screen, you want to use the default gravity
(which is #GDK_GRAVITY_NORTH_WEST) and move the window to 0,0.
To position a window at the bottom right corner of the screen, you
would set #GDK_GRAVITY_SOUTH_EAST, which means that the reference
point is at @x + the window width and @y + the window height, and
the bottom-right corner of the window border will be placed at that
reference point. So, to place a window in the bottom right corner
you would first set gravity to south east, then write:
&lt;literal&gt;gtk_window_move (window, gdk_screen_width () - window_width,
gdk_screen_height () - window_height)&lt;/literal&gt; (note that this
example does not take multi-head scenarios into account).
The Extended Window Manager Hints specification at &lt;ulink
url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&gt;
http://www.freedesktop.org/Standards/wm-spec&lt;/ulink&gt; has a
nice table of gravities in the &quot;implementation notes&quot; section.
The gtk_window_get_position() documentation may also be relevant.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_position"
c:identifier="gtk_window_get_position"
doc="This function returns the position you need to pass to
gtk_window_move() to keep @window in its current position. This
means that the meaning of the returned value varies with window
gravity. See gtk_window_move() for more details.
If you haven&apos;t changed the window gravity, its gravity will be
#GDK_GRAVITY_NORTH_WEST. This means that gtk_window_get_position()
gets the position of the top-left corner of the window manager
frame for the window. gtk_window_move() sets the position of this
same top-left corner.
gtk_window_get_position() is not 100% reliable because the X Window System
does not specify a way to obtain the geometry of the
decorations placed on a window by the window manager.
Thus GTK+ is using a &quot;best guess&quot; that works with most
window managers.
Moreover, nearly all window managers are historically broken with
respect to their handling of window gravity. So moving a window to
its current position as returned by gtk_window_get_position() tends
to result in moving the window slightly. Window managers are
slowly getting better over time.
If a window has gravity #GDK_GRAVITY_STATIC the window manager
frame is not relevant, and thus gtk_window_get_position() will
always produce accurate results. However you can&apos;t use static
gravity to do things like place a window in a corner of the screen,
because static gravity ignores the window manager decorations.
If you are saving and restoring your application&apos;s window
positions, you should know that it&apos;s impossible for applications to
do this without getting it somewhat wrong because applications do
not have sufficient knowledge of window manager state. The Correct
Mechanism is to support the session management protocol (see the
&quot;GnomeClient&quot; object in the GNOME libraries for example) and allow
the window manager to save your window sizes and positions.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="root_x" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="root_y" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="parse_geometry"
c:identifier="gtk_window_parse_geometry"
doc="Parses a standard X Window System geometry string - see the
manual page for X (type &apos;man X&apos;) for details on this.
gtk_window_parse_geometry() does work on all GTK+ ports
including Win32 but is primarily intended for an X environment.
If either a size or a position can be extracted from the
geometry string, gtk_window_parse_geometry() returns %TRUE
and calls gtk_window_set_default_size() and/or gtk_window_move()
to resize/move the window.
If gtk_window_parse_geometry() returns %TRUE, it will also
set the #GDK_HINT_USER_POS and/or #GDK_HINT_USER_SIZE hints
indicating to the window manager that the size/position of
the window was user-specified. This causes most window
managers to honor the geometry.
Note that for gtk_window_parse_geometry() to work as expected, it has
to be called when the window has its &quot;final&quot; size, i.e. after calling
gtk_widget_show_all() on the contents and gtk_window_set_geometry_hints()
on the window.
|[
#include &lt;gtk/gtk.h&gt;
static void
fill_with_content (GtkWidget *vbox)
{
/&amp;ast; fill with content... &amp;ast;/
}
int
main (int argc, char *argv[])
{
GtkWidget *window, *vbox;
GdkGeometry size_hints = {
100, 50, 0, 0, 100, 50, 10, 10, 0.0, 0.0, GDK_GRAVITY_NORTH_WEST
};
gtk_init (&amp;argc, &amp;argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
fill_with_content (vbox);
gtk_widget_show_all (vbox);
gtk_window_set_geometry_hints (GTK_WINDOW (window),
window,
&amp;size_hints,
GDK_HINT_MIN_SIZE |
GDK_HINT_BASE_SIZE |
GDK_HINT_RESIZE_INC);
if (argc &amp;gt; 1)
{
if (!gtk_window_parse_geometry (GTK_WINDOW (window), argv[1]))
fprintf (stderr, &quot;Failed to parse &apos;%s&apos;\n&quot;, argv[1]);
}
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
]|">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="geometry" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_group"
c:identifier="gtk_window_get_group"
doc="Returns the group for @window or the default group, if
window group."
version="2.10">
<return-value transfer-ownership="none"
doc="the #GtkWindowGroup for a window or the default group">
<type name="WindowGroup" c:type="GtkWindowGroup*"/>
</return-value>
</method>
<method name="reshow_with_initial_size"
c:identifier="gtk_window_reshow_with_initial_size"
doc="Hides @window, then reshows it, resetting the
default size and position of the window. Used
by GUI builders only.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_window_type"
c:identifier="gtk_window_get_window_type"
doc="Gets the type of the window. See #GtkWindowType."
version="2.20">
<return-value transfer-ownership="full">
<type name="WindowType" c:type="GtkWindowType"/>
</return-value>
</method>
<method name="remove_embedded_xid"
c:identifier="gtk_window_remove_embedded_xid">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xid" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</method>
<method name="add_embedded_xid"
c:identifier="gtk_window_add_embedded_xid">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="xid" transfer-ownership="none">
<type name="Gdk.NativeWindow" c:type="GdkNativeWindow"/>
</parameter>
</parameters>
</method>
<property name="accept-focus"
version="2.4"
writable="1"
doc="Whether the window should receive the input focus.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="allow-grow" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="allow-shrink" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="decorated"
version="2.4"
writable="1"
doc="Whether the window should be decorated by the window manager.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="default-height" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="default-width" writable="1">
<type name="int" c:type="gint"/>
</property>
<property name="deletable"
version="2.10"
writable="1"
doc="Whether the window frame should have a close button.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="destroy-with-parent" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="focus-on-map"
version="2.6"
writable="1"
doc="Whether the window should receive the input focus when mapped.">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="gravity"
version="2.4"
writable="1"
doc="The window gravity of the window. See gtk_window_move() and #GdkGravity for
more details about window gravity.">
<type name="Gdk.Gravity" c:type="GdkGravity"/>
</property>
<property name="has-toplevel-focus">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="icon" writable="1">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
</property>
<property name="icon-name"
version="2.6"
writable="1"
doc="The :icon-name property specifies the name of the themed icon to
use as the window icon. See #GtkIconTheme for more details.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="is-active">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="mnemonics-visible" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="modal" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="opacity"
version="2.12"
writable="1"
doc="The requested opacity of the window. See gtk_window_set_opacity() for
more details about window opacity.">
<type name="double" c:type="gdouble"/>
</property>
<property name="resizable" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="role" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="screen" writable="1">
<type name="Gdk.Screen" c:type="GdkScreen"/>
</property>
<property name="skip-pager-hint" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="skip-taskbar-hint" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="startup-id"
version="2.12"
readable="0"
writable="1"
doc="The :startup-id is a write-only property for setting window&apos;s
startup notification identifier. See gtk_window_set_startup_id()
for more details.">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="title" writable="1">
<type name="utf8" c:type="gchararray"/>
</property>
<property name="transient-for"
version="2.10"
writable="1"
construct="1"
doc="The transient parent of the window. See gtk_window_set_transient_for() for
more details about transient windows.">
<type name="Window" c:type="GtkWindow"/>
</property>
<property name="type" writable="1" construct-only="1">
<type name="WindowType" c:type="GtkWindowType"/>
</property>
<property name="type-hint" writable="1">
<type name="Gdk.WindowTypeHint" c:type="GdkWindowTypeHint"/>
</property>
<property name="urgency-hint" writable="1">
<type name="boolean" c:type="gboolean"/>
</property>
<property name="window-position" writable="1">
<type name="WindowPosition" c:type="GtkWindowPosition"/>
</property>
<field name="bin">
<type name="Bin" c:type="GtkBin"/>
</field>
<field name="title">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="wmclass_name">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="wmclass_class">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="wm_role">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="focus_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="default_widget">
<type name="Widget" c:type="GtkWidget*"/>
</field>
<field name="transient_parent">
<type name="Window" c:type="GtkWindow*"/>
</field>
<field name="geometry_info">
<type name="WindowGeometryInfo" c:type="GtkWindowGeometryInfo*"/>
</field>
<field name="frame">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</field>
<field name="group">
<type name="WindowGroup" c:type="GtkWindowGroup*"/>
</field>
<field name="configure_request_count">
<type name="uint16" c:type="guint16"/>
</field>
<field name="allow_shrink" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="allow_grow" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="configure_notify_received" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="need_default_position" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="need_default_size" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="position" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="type" bits="4">
<type name="uint" c:type="guint"/>
</field>
<field name="has_user_ref_count" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_focus" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="modal" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="destroy_with_parent" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_frame" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="iconify_initially" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="stick_initially" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="maximize_initially" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="decorated" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="type_hint" bits="3">
<type name="uint" c:type="guint"/>
</field>
<field name="gravity" bits="5">
<type name="uint" c:type="guint"/>
</field>
<field name="is_active" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="has_toplevel_focus" bits="1">
<type name="uint" c:type="guint"/>
</field>
<field name="frame_left">
<type name="uint" c:type="guint"/>
</field>
<field name="frame_top">
<type name="uint" c:type="guint"/>
</field>
<field name="frame_right">
<type name="uint" c:type="guint"/>
</field>
<field name="frame_bottom">
<type name="uint" c:type="guint"/>
</field>
<field name="keys_changed_handler">
<type name="uint" c:type="guint"/>
</field>
<field name="mnemonic_modifier">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</field>
<field name="screen">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</field>
<glib:signal name="activate-default"
doc="The ::activate-default signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates the default widget
of @window.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="activate-focus"
doc="The ::activate-default signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates the currently
focused widget of @window.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="frame-event">
<return-value transfer-ownership="full">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="keys-changed"
doc="The ::keys-changed signal gets emitted when the set of accelerators
or mnemonics that are associated with @window changes.">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="set-focus">
<return-value transfer-ownership="full">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="WindowClass"
c:type="GtkWindowClass"
glib:is-gtype-struct-for="Window">
<field name="parent_class">
<type name="BinClass" c:type="GtkBinClass"/>
</field>
<field name="set_focus">
<callback name="set_focus" c:type="set_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="focus" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="frame_event">
<callback name="frame_event" c:type="frame_event">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate_focus">
<callback name="activate_focus" c:type="activate_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="activate_default">
<callback name="activate_default" c:type="activate_default">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="move_focus">
<callback name="move_focus" c:type="move_focus">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="DirectionType" c:type="GtkDirectionType"/>
</parameter>
</parameters>
</callback>
</field>
<field name="keys_changed">
<callback name="keys_changed" c:type="keys_changed">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="WindowGeometryInfo" c:type="GtkWindowGeometryInfo">
</record>
<class name="WindowGroup"
c:type="GtkWindowGroup"
parent="GObject.Object"
glib:type-name="GtkWindowGroup"
glib:get-type="gtk_window_group_get_type"
glib:type-struct="WindowGroupClass">
<constructor name="new"
c:identifier="gtk_window_group_new"
doc="Creates a new #GtkWindowGroup object. Grabs added with
gtk_grab_add() only affect windows within the same #GtkWindowGroup.">
<return-value transfer-ownership="full">
<type name="WindowGroup" c:type="GtkWindowGroup*"/>
</return-value>
</constructor>
<method name="add_window"
c:identifier="gtk_window_group_add_window"
doc="Adds a window to a #GtkWindowGroup.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</method>
<method name="remove_window"
c:identifier="gtk_window_group_remove_window"
doc="Removes a window from a #GtkWindowGroup.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
</parameters>
</method>
<method name="list_windows"
c:identifier="gtk_window_group_list_windows"
doc="Returns a list of the #GtkWindows that belong to @window_group.
windows inside the group."
version="2.14">
<return-value transfer-ownership="container"
doc="A newly-allocated list of">
<type name="GLib.List" c:type="GList*">
<type name="Widget"/>
</type>
</return-value>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="grabs">
<type name="GLib.SList" c:type="GSList*"/>
</field>
</class>
<record name="WindowGroupClass"
c:type="GtkWindowGroupClass"
glib:is-gtype-struct-for="WindowGroup">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="gtk_reserved1">
<callback name="gtk_reserved1" c:type="_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved2">
<callback name="gtk_reserved2" c:type="_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved3">
<callback name="gtk_reserved3" c:type="_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="gtk_reserved4">
<callback name="gtk_reserved4" c:type="_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<callback name="WindowKeysForeachFunc" c:type="GtkWindowKeysForeachFunc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="window" transfer-ownership="none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="is_mnemonic" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<enumeration name="WindowPosition"
glib:type-name="GtkWindowPosition"
glib:get-type="gtk_window_position_get_type"
c:type="GtkWindowPosition">
<member name="none"
value="0"
c:identifier="GTK_WIN_POS_NONE"
glib:nick="none"/>
<member name="center"
value="1"
c:identifier="GTK_WIN_POS_CENTER"
glib:nick="center"/>
<member name="mouse"
value="2"
c:identifier="GTK_WIN_POS_MOUSE"
glib:nick="mouse"/>
<member name="center_always"
value="3"
c:identifier="GTK_WIN_POS_CENTER_ALWAYS"
glib:nick="center-always"/>
<member name="center_on_parent"
value="4"
c:identifier="GTK_WIN_POS_CENTER_ON_PARENT"
glib:nick="center-on-parent"/>
</enumeration>
<enumeration name="WindowType"
glib:type-name="GtkWindowType"
glib:get-type="gtk_window_type_get_type"
c:type="GtkWindowType">
<member name="toplevel"
value="0"
c:identifier="GTK_WINDOW_TOPLEVEL"
glib:nick="toplevel"/>
<member name="popup"
value="1"
c:identifier="GTK_WINDOW_POPUP"
glib:nick="popup"/>
</enumeration>
<enumeration name="WrapMode"
glib:type-name="GtkWrapMode"
glib:get-type="gtk_wrap_mode_get_type"
c:type="GtkWrapMode">
<member name="none"
value="0"
c:identifier="GTK_WRAP_NONE"
glib:nick="none"/>
<member name="char"
value="1"
c:identifier="GTK_WRAP_CHAR"
glib:nick="char"/>
<member name="word"
value="2"
c:identifier="GTK_WRAP_WORD"
glib:nick="word"/>
<member name="word_char"
value="3"
c:identifier="GTK_WRAP_WORD_CHAR"
glib:nick="word-char"/>
</enumeration>
<function name="accel_groups_activate"
c:identifier="gtk_accel_groups_activate"
doc="to activate the accelerator.
Finds the first accelerator in any #GtkAccelGroup attached
to @object that matches @accel_key and @accel_mods, and
activates that accelerator.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="accel_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accel_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="accel_groups_from_object"
c:identifier="gtk_accel_groups_from_object"
doc="Gets a list of all accel groups which are attached to @object.">
<return-value transfer-ownership="none"
doc="a list of all accel groups which are attached to @object">
<type name="GLib.SList" c:type="GSList*">
<type name="AccelGroup"/>
</type>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
</parameters>
</function>
<function name="accelerator_get_default_mod_mask"
c:identifier="gtk_accelerator_get_default_mod_mask"
doc="Gets the value set by gtk_accelerator_set_default_mod_mask().">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</function>
<function name="accelerator_get_label"
c:identifier="gtk_accelerator_get_label"
doc="Converts an accelerator keyval and modifier mask into a string
which can be used to represent the accelerator to the user."
version="2.6">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="accelerator_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accelerator_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="accelerator_name"
c:identifier="gtk_accelerator_name"
doc="Converts an accelerator keyval and modifier mask
into a string parseable by gtk_accelerator_parse().
For example, if you pass in #GDK_q and #GDK_CONTROL_MASK,
this function returns &quot;&amp;lt;Control&amp;gt;q&quot;.
If you need to display accelerators in the user interface,
see gtk_accelerator_get_label().">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="accelerator_key" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="accelerator_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="accelerator_parse"
c:identifier="gtk_accelerator_parse"
doc="Parses a string representing an accelerator. The
format looks like &quot;&amp;lt;Control&amp;gt;a&quot; or &quot;&amp;lt;Shift&amp;gt;&amp;lt;Alt&amp;gt;F1&quot; or
&quot;&amp;lt;Release&amp;gt;z&quot; (the last one is for key release).
The parser is fairly liberal and allows lower or upper case,
and also abbreviations such as &quot;&amp;lt;Ctl&amp;gt;&quot; and &quot;&amp;lt;Ctrl&amp;gt;&quot;.
If the parse fails, @accelerator_key and @accelerator_mods will
be set to 0 (zero).">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accelerator" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="accelerator_key"
direction="out"
transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
<parameter name="accelerator_mods" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType*"/>
</parameter>
</parameters>
</function>
<function name="accelerator_set_default_mod_mask"
c:identifier="gtk_accelerator_set_default_mod_mask"
doc="Sets the modifiers that will be considered significant for keyboard
accelerators. The default mod mask is #GDK_CONTROL_MASK |
#GDK_SHIFT_MASK | #GDK_MOD1_MASK | #GDK_SUPER_MASK |
#GDK_HYPER_MASK | #GDK_META_MASK, that is, Control, Shift, Alt,
Super, Hyper and Meta. Other modifiers will by default be ignored
by #GtkAccelGroup.
You must include at least the three modifiers Control, Shift
and Alt in any value you pass to this function.
The default mod mask should be changed on application startup,
before using any accelerator groups.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="default_mod_mask" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="accelerator_valid"
c:identifier="gtk_accelerator_valid"
doc="Determines whether a given keyval and modifier mask constitute
a valid keyboard accelerator. For example, the #GDK_a keyval
plus #GDK_CONTROL_MASK is valid - this is a &quot;Ctrl+a&quot; accelerator.
But, you can&apos;t, for instance, use the #GDK_Control_L keyval
as an accelerator.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="alternative_dialog_button_order"
c:identifier="gtk_alternative_dialog_button_order"
doc="Returns %TRUE if dialogs are expected to use an alternative
button order on the screen @screen. See
gtk_dialog_set_alternative_button_order() for more details
about alternative button order.
If you need to use this function, you should probably connect
to the ::notify:gtk-alternative-button-order signal on the
#GtkSettings object associated to @screen, in order to be
notified if the button order setting changes."
version="2.6">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="screen"
transfer-ownership="none"
allow-none="1"
doc="a #GdkScreen, or %NULL to use the default screen">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
</parameters>
</function>
<function name="binding_entry_add_signal"
c:identifier="gtk_binding_entry_add_signal"
doc="Override or install a new key binding for @keyval with @modifiers on
emitted on the target widget, with @n_args @Varargs used as
arguments.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="binding_set" transfer-ownership="none">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="n_args" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="binding_entry_add_signall"
c:identifier="gtk_binding_entry_add_signall"
doc="Override or install a new key binding for @keyval with @modifiers on">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="binding_set" transfer-ownership="none">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="binding_args" transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*"/>
</parameter>
</parameters>
</function>
<function name="binding_entry_clear"
c:identifier="gtk_binding_entry_clear"
doc="Clears a binding entry."
deprecated="Use gtk_binding_entry_remove() instead."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="binding_set" transfer-ownership="none">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="binding_entry_remove"
c:identifier="gtk_binding_entry_remove"
doc="Remove a binding previously installed via
gtk_binding_entry_add_signal() on @binding_set.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="binding_set" transfer-ownership="none">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="binding_entry_skip"
c:identifier="gtk_binding_entry_skip"
doc="Install a binding on @binding_set which causes key lookups
to be aborted, to prevent bindings from lower priority sets
to be activated."
version="2.12">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="binding_set" transfer-ownership="none">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="binding_parse_binding"
c:identifier="gtk_binding_parse_binding"
doc="Parse a binding entry from a gtkrc file."
deprecated="There should be no need to call this function outside GTK+."
deprecated-version="2.12">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
</parameters>
</function>
<function name="binding_set_by_class"
c:identifier="gtk_binding_set_by_class"
doc="This function returns the binding set named after the type name of
the passed in class structure. New binding sets are created on
demand by this function.">
<return-value transfer-ownership="full">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</return-value>
<parameters>
<parameter name="object_class" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="binding_set_find"
c:identifier="gtk_binding_set_find"
doc="Find a binding set by its globally unique name. The @set_name can
either be a name used for gtk_binding_set_new() or the type name of
a class used in gtk_binding_set_by_class().">
<return-value transfer-ownership="full">
<type name="BindingSet" c:type="GtkBindingSet*"/>
</return-value>
<parameters>
<parameter name="set_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="bindings_activate"
c:identifier="gtk_bindings_activate"
doc="Find a key binding matching @keyval and @modifiers and activate the
binding on @object.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="bindings_activate_event"
c:identifier="gtk_bindings_activate_event"
doc="Looks up key bindings for @object to find one matching"
version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventKey" c:type="GdkEventKey*"/>
</parameter>
</parameters>
</function>
<function name="check_version"
c:identifier="gtk_check_version"
doc="Checks that the GTK+ library in use is compatible with the
given version. Generally you would pass in the constants
#GTK_MAJOR_VERSION, #GTK_MINOR_VERSION, #GTK_MICRO_VERSION
as the three arguments to this function; that produces
a check that the library in use is compatible with
the version of GTK+ the application or module was compiled
against.
of the running library is newer than the version
the running library must be binary compatible with the
version @required_major.required_minor.@required_micro
(same major version.)
This function is primarily for GTK+ modules; the module
can call this function to check that it wasn&apos;t loaded
into an incompatible version of GTK+. However, such a
a check isn&apos;t completely reliable, since the module may be
linked against an old version of GTK+ and calling the
old version of gtk_check_version(), but still get loaded
into an application using a newer version of GTK+.
given version, or a string describing the version mismatch.
The returned string is owned by GTK+ and should not be modified
or freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="required_major" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="required_minor" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="required_micro" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="disable_setlocale"
c:identifier="gtk_disable_setlocale"
doc="Prevents gtk_init(), gtk_init_check(), gtk_init_with_args() and
gtk_parse_args() from automatically
calling &lt;literal&gt;setlocale (LC_ALL, &quot;&quot;)&lt;/literal&gt;. You would
want to use this function if you wanted to set the locale for
your program to something other than the user&apos;s locale, or if
you wanted to set different values for different locale categories.
Most programs should not need to call this function.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="drag_begin"
c:identifier="gtk_drag_begin"
doc="source can provide the data.
Initiates a drag on the source side. The function
only needs to be used when the application is
starting drags itself, and is not needed when
gtk_drag_source_set() is used.">
<return-value transfer-ownership="full">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="targets" transfer-ownership="none" doc="in which the">
<type name="TargetList" c:type="GtkTargetList*"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</function>
<function name="drag_check_threshold"
c:identifier="gtk_drag_check_threshold"
doc="Checks to see if a mouse drag starting at (@start_x, @start_y) and ending
at (@current_x, @current_y) has passed the GTK+ drag threshold, and thus
should trigger the beginning of a drag-and-drop operation.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="start_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="start_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="current_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="current_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_add_image_targets"
c:identifier="gtk_drag_dest_add_image_targets"
doc="Add the image targets supported by #GtkSelection to
the target list of the drag destination. The targets
are added with @info = 0. If you need another value,
use gtk_target_list_add_image_targets() and
gtk_drag_dest_set_target_list()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_add_text_targets"
c:identifier="gtk_drag_dest_add_text_targets"
doc="Add the text targets supported by #GtkSelection to
the target list of the drag destination. The targets
are added with @info = 0. If you need another value,
use gtk_target_list_add_text_targets() and
gtk_drag_dest_set_target_list()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_add_uri_targets"
c:identifier="gtk_drag_dest_add_uri_targets"
doc="Add the URI targets supported by #GtkSelection to
the target list of the drag destination. The targets
are added with @info = 0. If you need another value,
use gtk_target_list_add_uri_targets() and
gtk_drag_dest_set_target_list()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_find_target"
c:identifier="gtk_drag_dest_find_target"
doc="gtk_drag_dest_get_target_list (@widget).
Looks for a match between @context-&gt;targets and the
returning %GDK_NONE. @dest_target_list should usually be the return
value from gtk_drag_dest_get_target_list(), but some widgets may
have different valid targets for different parts of the widget; in
that case, they will have to implement a drag_motion handler that
passes the correct target list to this function.">
<return-value transfer-ownership="full">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="target_list"
transfer-ownership="none"
allow-none="1"
doc="list of droppable targets, or %NULL to use">
<type name="TargetList" c:type="GtkTargetList*"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_get_target_list"
c:identifier="gtk_drag_dest_get_target_list"
doc="Returns the list of targets this widget can accept from
drag-and-drop.">
<return-value transfer-ownership="full">
<type name="TargetList" c:type="GtkTargetList*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_get_track_motion"
c:identifier="gtk_drag_dest_get_track_motion"
doc="Returns whether the widget has been configured to always
emit ::drag-motion signals."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_set"
c:identifier="gtk_drag_dest_set"
doc="indicating the drop types that this @widget will accept, or %NULL.
Later you can access the list with gtk_drag_dest_get_target_list()
and gtk_drag_dest_find_target().
Sets a widget as a potential drop destination, and adds default behaviors.
The default behaviors listed in @flags have an effect similar
to installing default handlers for the widget&apos;s drag-and-drop signals
(#GtkWidget:drag-motion, #GtkWidget:drag-drop, ...). They all exist
for convenience. When passing #GTK_DEST_DEFAULT_ALL for instance it is
sufficient to connect to the widget&apos;s #GtkWidget::drag-data-received
signal to get primitive, but consistent drag-and-drop support.
Things become more complicated when you try to preview the dragged data,
as described in the documentation for #GtkWidget:drag-motion. The default
behaviors described by @flags make some assumptions, that can conflict
with your own signal handlers. For instance #GTK_DEST_DEFAULT_DROP causes
invokations of gdk_drag_status() in the context of #GtkWidget:drag-motion,
and invokations of gtk_drag_finish() in #GtkWidget:drag-data-received.
Especially the later is dramatic, when your own #GtkWidget:drag-motion
handler calls gtk_drag_get_data() to inspect the dragged data.
There&apos;s no way to set a default action here, you can use the
#GtkWidget:drag-motion callback for that. Here&apos;s an example which selects
the action to use depending on whether the control key is pressed or not:
|[
static void
drag_motion (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time)
{
GdkModifierType mask;
gdk_window_get_pointer (gtk_widget_get_window (widget),
NULL, NULL, &amp;mask);
if (mask &amp; GDK_CONTROL_MASK)
gdk_drag_status (context, GDK_ACTION_COPY, time);
else
gdk_drag_status (context, GDK_ACTION_MOVE, time);
}
]|">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<type name="DestDefaults" c:type="GtkDestDefaults"/>
</parameter>
<parameter name="targets"
transfer-ownership="none"
allow-none="1"
doc="a pointer to an array of #GtkTargetEntry&lt;!-- --&gt;s">
<array length="3" c:type="GtkTargetEntry*">
<type name="TargetEntry"/>
</array>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_set_proxy"
c:identifier="gtk_drag_dest_set_proxy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="proxy_window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="protocol" transfer-ownership="none">
<type name="Gdk.DragProtocol" c:type="GdkDragProtocol"/>
</parameter>
<parameter name="use_coordinates" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_set_target_list"
c:identifier="gtk_drag_dest_set_target_list"
doc="Sets the target types that this widget can accept from drag-and-drop.
The widget must first be made into a drag destination with
gtk_drag_dest_set().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="target_list"
transfer-ownership="none"
allow-none="1"
doc="list of droppable targets, or %NULL for none">
<type name="TargetList" c:type="GtkTargetList*"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_set_track_motion"
c:identifier="gtk_drag_dest_set_track_motion"
doc="Tells the widget to emit ::drag-motion and ::drag-leave
events regardless of the targets and the %GTK_DEST_DEFAULT_MOTION
flag.
This may be used when a widget wants to do generic
actions regardless of the targets that the source offers."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="track_motion" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="drag_dest_unset" c:identifier="gtk_drag_dest_unset">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_finish" c:identifier="gtk_drag_finish">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="success" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="del" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="drag_get_data" c:identifier="gtk_drag_get_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="drag_get_source_widget"
c:identifier="gtk_drag_get_source_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
</parameters>
</function>
<function name="drag_highlight" c:identifier="gtk_drag_highlight">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_set_default_icon"
c:identifier="gtk_drag_set_default_icon"
doc="Changes the default drag icon. GTK+ retains references for the
arguments, and will release them when they are no longer needed.
changing the stock pixbuf for #GTK_STOCK_DND instead."
deprecated="Change the default drag icon via the stock system by">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="colormap" transfer-ownership="none">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask"
transfer-ownership="none"
allow-none="1"
doc="the transparency mask for an image, or %NULL">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="hot_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="hot_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="drag_set_icon_default"
c:identifier="gtk_drag_set_icon_default"
doc="th a context for the source side of a drag)
Sets the icon for a particular drag to the default
icon.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
</parameters>
</function>
<function name="drag_set_icon_name"
c:identifier="gtk_drag_set_icon_name"
doc="with a context for the source side of a drag)
Sets the icon for a given drag from a named themed icon. See
the docs for #GtkIconTheme for more details. Note that the
size of the icon depends on the icon theme (the icon is
loaded at the symbolic size #GTK_ICON_SIZE_DND), thus"
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="hot_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="hot_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="drag_set_icon_pixbuf"
c:identifier="gtk_drag_set_icon_pixbuf"
doc="with a context for the source side of a drag)
Sets @pixbuf as the icon for a given drag.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
<parameter name="hot_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="hot_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="drag_set_icon_pixmap"
c:identifier="gtk_drag_set_icon_pixmap"
doc="with a context for the source side of a drag)
Sets @pixmap as the icon for a given drag. GTK+ retains
references for the arguments, and will release them when
they are no longer needed. In general, gtk_drag_set_icon_pixbuf()
will be more convenient to use.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="colormap" transfer-ownership="none">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask"
transfer-ownership="none"
allow-none="1"
doc="the transparency mask for the icon or %NULL for none.">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
<parameter name="hot_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="hot_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="drag_set_icon_stock"
c:identifier="gtk_drag_set_icon_stock"
doc="with a context for the source side of a drag)
Sets the icon for a given drag from a stock ID.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="hot_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="hot_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="drag_set_icon_widget"
c:identifier="gtk_drag_set_icon_widget"
doc="th a context for the source side of a drag)
Changes the icon for a widget to a given widget. GTK+
will not destroy the icon, so if you don&apos;t want
it to persist, you should connect to the &quot;drag-end&quot;
signal and destroy it yourself.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="Gdk.DragContext" c:type="GdkDragContext*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="hot_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="hot_y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="drag_source_add_image_targets"
c:identifier="gtk_drag_source_add_image_targets"
doc="Add the writable image targets supported by #GtkSelection to
the target list of the drag source. The targets
are added with @info = 0. If you need another value,
use gtk_target_list_add_image_targets() and
gtk_drag_source_set_target_list()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_add_text_targets"
c:identifier="gtk_drag_source_add_text_targets"
doc="Add the text targets supported by #GtkSelection to
the target list of the drag source. The targets
are added with @info = 0. If you need another value,
use gtk_target_list_add_text_targets() and
gtk_drag_source_set_target_list()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_add_uri_targets"
c:identifier="gtk_drag_source_add_uri_targets"
doc="Add the URI targets supported by #GtkSelection to
the target list of the drag source. The targets
are added with @info = 0. If you need another value,
use gtk_target_list_add_uri_targets() and
gtk_drag_source_set_target_list()."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_get_target_list"
c:identifier="gtk_drag_source_get_target_list"
doc="Gets the list of targets this widget can provide for
drag-and-drop."
version="2.4">
<return-value transfer-ownership="full">
<type name="TargetList" c:type="GtkTargetList*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_set"
c:identifier="gtk_drag_source_set"
doc="may be %NULL
Sets up a widget so that GTK+ will start a drag operation when the user
clicks and drags on the widget. The widget must have a window.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="start_button_mask" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
<parameter name="targets"
transfer-ownership="none"
allow-none="1"
doc="the table of targets that the drag will support,">
<array length="3" c:type="GtkTargetEntry*">
<type name="TargetEntry"/>
</array>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="actions" transfer-ownership="none">
<type name="Gdk.DragAction" c:type="GdkDragAction"/>
</parameter>
</parameters>
</function>
<function name="drag_source_set_icon"
c:identifier="gtk_drag_source_set_icon"
doc="Sets the icon that will be used for drags from a particular widget
from a pixmap/mask. GTK+ retains references for the arguments, and
will release them when they are no longer needed.
Use gtk_drag_source_set_icon_pixbuf() instead.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="colormap" transfer-ownership="none">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</parameter>
<parameter name="pixmap" transfer-ownership="none">
<type name="Gdk.Pixmap" c:type="GdkPixmap*"/>
</parameter>
<parameter name="mask"
transfer-ownership="none"
allow-none="1"
doc="the transparency mask for an image.">
<type name="Gdk.Bitmap" c:type="GdkBitmap*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_set_icon_name"
c:identifier="gtk_drag_source_set_icon_name"
doc="Sets the icon that will be used for drags from a particular source
to a themed icon. See the docs for #GtkIconTheme for more details."
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="icon_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_set_icon_pixbuf"
c:identifier="gtk_drag_source_set_icon_pixbuf"
doc="Sets the icon that will be used for drags from a particular widget
from a #GdkPixbuf. GTK+ retains a reference for @pixbuf and will
release it when it is no longer needed.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_set_icon_stock"
c:identifier="gtk_drag_source_set_icon_stock"
doc="Sets the icon that will be used for drags from a particular source
to a stock icon.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_set_target_list"
c:identifier="gtk_drag_source_set_target_list"
doc="Changes the target types that this widget offers for drag-and-drop.
The widget must first be made into a drag source with
gtk_drag_source_set()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="target_list"
transfer-ownership="none"
allow-none="1"
doc="list of draggable targets, or %NULL for none">
<type name="TargetList" c:type="GtkTargetList*"/>
</parameter>
</parameters>
</function>
<function name="drag_source_unset" c:identifier="gtk_drag_source_unset">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="drag_unhighlight" c:identifier="gtk_drag_unhighlight">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="draw_arrow"
c:identifier="gtk_draw_arrow"
doc="Draws an arrow in the given rectangle on @window using the given
parameters. @arrow_type determines the direction of the arrow."
deprecated="Use gtk_paint_arrow() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="arrow_type" transfer-ownership="none">
<type name="ArrowType" c:type="GtkArrowType"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_box"
c:identifier="gtk_draw_box"
doc="Draws a box on @window with the given parameters."
deprecated="Use gtk_paint_box() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_box_gap"
c:identifier="gtk_draw_box_gap"
doc="Draws a box in @window using the given style and state and shadow type,
leaving a gap in one side."
deprecated="Use gtk_paint_box_gap() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_check"
c:identifier="gtk_draw_check"
doc="Draws a check button indicator in the given rectangle on @window with
the given parameters."
deprecated="Use gtk_paint_check() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_diamond"
c:identifier="gtk_draw_diamond"
doc="Draws a diamond in the given rectangle on @window using the given
parameters."
deprecated="Use gtk_paint_diamond() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_expander"
c:identifier="gtk_draw_expander"
doc="Draws an expander as used in #GtkTreeView."
deprecated="Use gtk_paint_expander() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="expander_style" transfer-ownership="none">
<type name="ExpanderStyle" c:type="GtkExpanderStyle"/>
</parameter>
</parameters>
</function>
<function name="draw_extension"
c:identifier="gtk_draw_extension"
doc="Draws an extension, i.e. a notebook tab."
deprecated="Use gtk_paint_extension() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</function>
<function name="draw_flat_box"
c:identifier="gtk_draw_flat_box"
doc="Draws a flat box on @window with the given parameters."
deprecated="Use gtk_paint_flat_box() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_focus"
c:identifier="gtk_draw_focus"
doc="Draws a focus indicator around the given rectangle on @window using the
given style."
deprecated="Use gtk_paint_focus() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_handle"
c:identifier="gtk_draw_handle"
doc="Draws a handle as used in #GtkHandleBox and #GtkPaned."
deprecated="Use gtk_paint_handle() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</function>
<function name="draw_hline"
c:identifier="gtk_draw_hline"
doc="Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window
using the given style and state."
deprecated="Use gtk_paint_hline() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="x1" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x2" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_insertion_cursor"
c:identifier="gtk_draw_insertion_cursor"
doc="output should not be clipped
right-to-left. Should never be #GTK_TEXT_DIR_NONE
cursor. Should be %FALSE unless the cursor is split.
Draws a text caret on @drawable at @location. This is not a style function
but merely a convenience function for drawing the standard cursor shape."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="drawable" transfer-ownership="none">
<type name="Gdk.Drawable" c:type="GdkDrawable*"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="rectangle to which the output is clipped, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="location" transfer-ownership="none">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="is_primary" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="TextDirection" c:type="GtkTextDirection"/>
</parameter>
<parameter name="draw_arrow" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="draw_layout"
c:identifier="gtk_draw_layout"
doc="graphics context of @style
Draws a layout on @window using the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="use_text" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="layout" transfer-ownership="none">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</parameter>
</parameters>
</function>
<function name="draw_option"
c:identifier="gtk_draw_option"
doc="Draws a radio button indicator in the given rectangle on @window with
the given parameters."
deprecated="Use gtk_paint_option() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_polygon"
c:identifier="gtk_draw_polygon"
doc="Draws a polygon on @window with the given parameters."
deprecated="Use gtk_paint_polygon() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="points" transfer-ownership="none">
<type name="Gdk.Point" c:type="GdkPoint*"/>
</parameter>
<parameter name="npoints" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="draw_resize_grip"
c:identifier="gtk_draw_resize_grip"
doc="Draws a resize grip in the given rectangle on @window using the given
parameters."
deprecated="Use gtk_paint_resize_grip() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
<type name="Gdk.WindowEdge" c:type="GdkWindowEdge"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_shadow"
c:identifier="gtk_draw_shadow"
doc="Draws a shadow around the given rectangle in @window
using the given style and state and shadow type."
deprecated="Use gtk_paint_shadow() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_shadow_gap"
c:identifier="gtk_draw_shadow_gap"
doc="Draws a shadow around the given rectangle in @window
using the given style and state and shadow type, leaving a
gap in one side."
deprecated="Use gtk_paint_shadow_gap() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_slider"
c:identifier="gtk_draw_slider"
doc="Draws a slider in the given rectangle on @window using the
given style and orientation.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</function>
<function name="draw_string"
c:identifier="gtk_draw_string"
doc="Draws a text string on @window with the given parameters."
deprecated="Use gtk_paint_layout() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="draw_tab"
c:identifier="gtk_draw_tab"
doc="Draws an option menu tab (i.e. the up and down pointing arrows)
in the given rectangle on @window using the given parameters."
deprecated="Use gtk_paint_tab() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="draw_vline"
c:identifier="gtk_draw_vline"
doc="Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window
using the given style and state."
deprecated="Use gtk_paint_vline() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="y1_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y2_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="events_pending" c:identifier="gtk_events_pending">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</function>
<function name="exit" c:identifier="gtk_exit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="error_code" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="false" c:identifier="gtk_false">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</function>
<function name="gc_get" c:identifier="gtk_gc_get">
<return-value transfer-ownership="full">
<type name="Gdk.GC" c:type="GdkGC*"/>
</return-value>
<parameters>
<parameter name="depth" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="colormap" transfer-ownership="none">
<type name="Gdk.Colormap" c:type="GdkColormap*"/>
</parameter>
<parameter name="values" transfer-ownership="none">
<type name="Gdk.GCValues" c:type="GdkGCValues*"/>
</parameter>
<parameter name="values_mask" transfer-ownership="none">
<type name="Gdk.GCValuesMask" c:type="GdkGCValuesMask"/>
</parameter>
</parameters>
</function>
<function name="gc_release" c:identifier="gtk_gc_release">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="gc" transfer-ownership="none">
<type name="Gdk.GC" c:type="GdkGC*"/>
</parameter>
</parameters>
</function>
<function name="get_current_event"
c:identifier="gtk_get_current_event"
doc="Obtains a copy of the event currently being processed by GTK+. For
example, if you get a &quot;clicked&quot; signal from #GtkButton, the current
event will be the #GdkEventButton that triggered the &quot;clicked&quot;
signal. The returned event must be freed with gdk_event_free().
If there is no current event, the function returns %NULL.">
<return-value transfer-ownership="full">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</return-value>
</function>
<function name="get_current_event_state"
c:identifier="gtk_get_current_event_state"
doc="If there is a current event and it has a state field, place
that state field in @state and return %TRUE, otherwise return
%FALSE.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType*"/>
</parameter>
</parameters>
</function>
<function name="get_current_event_time"
c:identifier="gtk_get_current_event_time"
doc="If there is a current event and it has a timestamp, return that
timestamp, otherwise return %GDK_CURRENT_TIME.">
<return-value transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</return-value>
</function>
<function name="get_default_language"
c:identifier="gtk_get_default_language"
doc="Returns the #PangoLanguage for the default language currently in
effect. (Note that this can change over the life of an
application.) The default language is derived from the current
locale. It determines, for example, whether GTK+ uses the
right-to-left or left-to-right text direction.
This function is equivalent to pango_language_get_default(). See
that function for details.
freed">
<return-value transfer-ownership="full">
<type name="Pango.Language" c:type="PangoLanguage*"/>
</return-value>
</function>
<function name="get_event_widget"
c:identifier="gtk_get_event_widget"
doc="If @event is %NULL or the event was not associated with any widget,
returns %NULL, otherwise returns the widget that received the event
originally.">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</function>
<function name="get_option_group"
c:identifier="gtk_get_option_group"
doc="when parsing the commandline arguments
Returns a #GOptionGroup for the commandline arguments recognized
by GTK+ and GDK. You should add this group to your #GOptionContext
with g_option_context_add_group(), if you are using
g_option_context_parse() to parse your commandline arguments.
by GTK+"
version="2.6">
<return-value transfer-ownership="full">
<type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
</return-value>
<parameters>
<parameter name="open_default_display" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="grab_add" c:identifier="gtk_grab_add">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="grab_get_current" c:identifier="gtk_grab_get_current">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
</function>
<function name="grab_remove" c:identifier="gtk_grab_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="icon_size_from_name"
c:identifier="gtk_icon_size_from_name"
doc="Looks up the icon size associated with @name.">
<return-value transfer-ownership="full">
<type name="IconSize" c:type="GtkIconSize"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="icon_size_get_name"
c:identifier="gtk_icon_size_get_name"
doc="Gets the canonical name of the given icon size. The returned string
is statically allocated and should not be freed.">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="size" transfer-ownership="none" doc="a #GtkIconSize.">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</function>
<function name="icon_size_lookup"
c:identifier="gtk_icon_size_lookup"
doc="Obtains the pixel size of a semantic icon size, possibly
modified by user preferences for the default #GtkSettings.
(See gtk_icon_size_lookup_for_settings().)
Normally @size would be
#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function
isn&apos;t normally needed, gtk_widget_render_icon() is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by gtk_icon_size_lookup(), because themes
are free to render the pixbuf however they like, including changing
the usual size.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="size" transfer-ownership="none" doc="an icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</function>
<function name="icon_size_lookup_for_settings"
c:identifier="gtk_icon_size_lookup_for_settings"
doc="which set of user preferences to used.
Obtains the pixel size of a semantic icon size, possibly
modified by user preferences for a particular
#GtkSettings. Normally @size would be
#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function
isn&apos;t normally needed, gtk_widget_render_icon() is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by gtk_icon_size_lookup(), because themes
are free to render the pixbuf however they like, including changing
the usual size."
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="settings" transfer-ownership="none">
<type name="Settings" c:type="GtkSettings*"/>
</parameter>
<parameter name="size" transfer-ownership="none" doc="an icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
<parameter name="width" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
<parameter name="height" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</function>
<function name="icon_size_register"
c:identifier="gtk_icon_size_register"
doc="Registers a new icon size, along the same lines as #GTK_ICON_SIZE_MENU,
etc. Returns the integer value for the size.">
<return-value transfer-ownership="full"
doc="integer value representing the size">
<type name="int" c:type="GtkIconSize"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="icon_size_register_alias"
c:identifier="gtk_icon_size_register_alias"
doc="Registers @alias as another name for @target.
So calling gtk_icon_size_from_name() with @alias as argument
will return @target.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="alias" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="target"
transfer-ownership="none"
doc="an existing icon size">
<type name="int" c:type="GtkIconSize"/>
</parameter>
</parameters>
</function>
<function name="idle_add" c:identifier="gtk_idle_add">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="function"
transfer-ownership="none"
scope="call"
closure="1">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="idle_add_full" c:identifier="gtk_idle_add_full">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="priority" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="function" transfer-ownership="none" scope="call">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="marshal"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="CallbackMarshal" c:type="GtkCallbackMarshal"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="idle_add_priority" c:identifier="gtk_idle_add_priority">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="priority" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="function"
transfer-ownership="none"
scope="call"
closure="2">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="idle_remove" c:identifier="gtk_idle_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="idle_handler_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="idle_remove_by_data"
c:identifier="gtk_idle_remove_by_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="init"
c:identifier="gtk_init"
doc="main() function. Changed if any arguments were handled.
Any parameters understood by gtk_init() are stripped before return.
Call this function before using any other GTK+ functions in your GUI
applications. It will initialize everything needed to operate the
toolkit and parses some standard command line options. @argc and
never see those standard arguments.
Note that there are some alternative ways to initialize GTK+:
if you are calling gtk_parse_args(), gtk_init_check(),
gtk_init_with_args() or g_option_context_parse() with
the option group returned by gtk_get_option_group(), you
&lt;emphasis&gt;don&apos;t&lt;/emphasis&gt; have to call gtk_init().
&lt;note&gt;&lt;para&gt;
This function will terminate your program if it was unable to initialize
the GUI for some reason. If you want your program to fall back to a
textual interface you want to call gtk_init_check() instead.
&lt;/para&gt;&lt;/note&gt;
&lt;note&gt;&lt;para&gt;
Since 2.18, GTK+ calls &lt;literal&gt;signal (SIGPIPE, SIG_IGN)&lt;/literal&gt;
during initialization, to ignore SIGPIPE signals, since these are
almost never wanted in graphical applications. If you do need to
handle SIGPIPE for some reason, reset the handler after gtk_init(),
but notice that other libraries (e.g. libdbus or gvfs) might do
similar things.
&lt;/para&gt;&lt;/note&gt;">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="argc"
direction="inout"
transfer-ownership="full"
doc="Address of the &lt;parameter&gt;argc&lt;/parameter&gt; parameter of your">
<type name="int" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
transfer-ownership="full"
allow-none="1">
<array length="0" c:type="char***">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</function>
<function name="init_add" c:identifier="gtk_init_add">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="function"
transfer-ownership="none"
scope="call"
closure="1">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="init_check"
c:identifier="gtk_init_check"
doc="main() function. Changed if any arguments were handled.
Any parameters understood by gtk_init() are stripped before return.
This function does the same work as gtk_init() with only
initialized. Instead it returns %FALSE on failure.
This way the application can fall back to some other means of communication
with the user - for example a curses or command line interface.
%FALSE otherwise.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="argc"
direction="inout"
transfer-ownership="full"
doc="Address of the &lt;parameter&gt;argc&lt;/parameter&gt; parameter of your">
<type name="int" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
transfer-ownership="full"
allow-none="1">
<array length="0" c:type="char***">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</function>
<function name="init_with_args"
c:identifier="gtk_init_with_args"
doc="the first line of &lt;option&gt;--help&lt;/option&gt; output, after
&lt;literal&gt;&lt;replaceable&gt;programname&lt;/replaceable&gt; [OPTION...]&lt;/literal&gt;
describing the options of your program
the &lt;option&gt;--help&lt;/option&gt; output for the options in @entries
with gettext(), or %NULL
This function does the same work as gtk_init_check().
Additionally, it allows you to add your own commandline options,
and it automatically generates nicely formatted
&lt;option&gt;--help&lt;/option&gt; output. Note that your program will
be terminated after writing out the help output.
%FALSE otherwise."
version="2.6"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="argc" direction="out" transfer-ownership="full">
<type name="int" c:type="int*"/>
</parameter>
<parameter name="argv" transfer-ownership="none">
<type name="utf8" c:type="char***"/>
</parameter>
<parameter name="parameter_string" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="entries" transfer-ownership="none">
<type name="GLib.OptionEntry" c:type="GOptionEntry*"/>
</parameter>
<parameter name="translation_domain" transfer-ownership="none">
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</function>
<function name="input_add_full" c:identifier="gtk_input_add_full">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="source" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="condition" transfer-ownership="none">
<type name="Gdk.InputCondition" c:type="GdkInputCondition"/>
</parameter>
<parameter name="function" transfer-ownership="none" scope="call">
<type name="Gdk.InputFunction" c:type="GdkInputFunction"/>
</parameter>
<parameter name="marshal"
transfer-ownership="none"
scope="notified"
closure="4"
destroy="5">
<type name="CallbackMarshal" c:type="GtkCallbackMarshal"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="input_remove" c:identifier="gtk_input_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="input_handler_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="key_snooper_install"
c:identifier="gtk_key_snooper_install">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="snooper"
transfer-ownership="none"
scope="call"
closure="1">
<type name="KeySnoopFunc" c:type="GtkKeySnoopFunc"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="key_snooper_remove" c:identifier="gtk_key_snooper_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="snooper_handler_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="main" c:identifier="gtk_main">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="main_do_event" c:identifier="gtk_main_do_event">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</function>
<function name="main_iteration" c:identifier="gtk_main_iteration">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</function>
<function name="main_iteration_do" c:identifier="gtk_main_iteration_do">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="blocking" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="main_level" c:identifier="gtk_main_level">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
</function>
<function name="main_quit" c:identifier="gtk_main_quit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="paint_arrow"
c:identifier="gtk_paint_arrow"
doc="output should not be clipped
Draws an arrow in the given rectangle on @window using the given
parameters. @arrow_type determines the direction of the arrow.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="arrow_type" transfer-ownership="none">
<type name="ArrowType" c:type="GtkArrowType"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_box"
c:identifier="gtk_paint_box"
doc="output should not be clipped
Draws a box on @window with the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_box_gap"
c:identifier="gtk_paint_box_gap"
doc="output should not be clipped
Draws a box in @window using the given style and state and shadow type,
leaving a gap in one side.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_check"
c:identifier="gtk_paint_check"
doc="output should not be clipped
Draws a check button indicator in the given rectangle on @window with
the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_diamond"
c:identifier="gtk_paint_diamond"
doc="output should not be clipped
Draws a diamond in the given rectangle on @window using the given
parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_expander"
c:identifier="gtk_paint_expander"
doc="output should not be clipped
whether the expander is collapsed, expanded, or in an
intermediate state.
Draws an expander as used in #GtkTreeView. @x and @y specify the
center the expander. The size of the expander is determined by the
&quot;expander-size&quot; style property of @widget. (If widget is not
specified or doesn&apos;t have an &quot;expander-size&quot; property, an
unspecified default size will be used, since the caller doesn&apos;t
have sufficient information to position the expander, this is
likely not useful.) The expander is expander_size pixels tall
in the collapsed position and expander_size pixels wide in the
expanded position.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="expander_style" transfer-ownership="none">
<type name="ExpanderStyle" c:type="GtkExpanderStyle"/>
</parameter>
</parameters>
</function>
<function name="paint_extension"
c:identifier="gtk_paint_extension"
doc="output should not be clipped
Draws an extension, i.e. a notebook tab.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
</parameters>
</function>
<function name="paint_flat_box"
c:identifier="gtk_paint_flat_box"
doc="output should not be clipped
Draws a flat box on @window with the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_focus"
c:identifier="gtk_paint_focus"
doc="output should not be clipped
Draws a focus indicator around the given rectangle on @window using the
given style.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_handle"
c:identifier="gtk_paint_handle"
doc="output should not be clipped
Draws a handle as used in #GtkHandleBox and #GtkPaned.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</function>
<function name="paint_hline"
c:identifier="gtk_paint_hline"
doc="output should not be clipped
Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window
using the given style and state.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="rectangle to which the output is clipped, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x1" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x2" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_layout"
c:identifier="gtk_paint_layout"
doc="graphics context of @style
output should not be clipped
Draws a layout on @window using the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="use_text" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="layout" transfer-ownership="none">
<type name="Pango.Layout" c:type="PangoLayout*"/>
</parameter>
</parameters>
</function>
<function name="paint_option"
c:identifier="gtk_paint_option"
doc="output should not be clipped
Draws a radio button indicator in the given rectangle on @window with
the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_polygon"
c:identifier="gtk_paint_polygon"
doc="output should not be clipped
Draws a polygon on @window with the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="points" transfer-ownership="none">
<type name="Gdk.Point" c:type="GdkPoint*"/>
</parameter>
<parameter name="n_points" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="fill" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="paint_resize_grip"
c:identifier="gtk_paint_resize_grip"
doc="output should not be clipped
Draws a resize grip in the given rectangle on @window using the given
parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
<type name="Gdk.WindowEdge" c:type="GdkWindowEdge"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_shadow"
c:identifier="gtk_paint_shadow"
doc="output should not be clipped
Draws a shadow around the given rectangle in @window
using the given style and state and shadow type.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_shadow_gap"
c:identifier="gtk_paint_shadow_gap"
doc="output should not be clipped
Draws a shadow around the given rectangle in @window
using the given style and state and shadow type, leaving a
gap in one side.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_side" transfer-ownership="none">
<type name="PositionType" c:type="GtkPositionType"/>
</parameter>
<parameter name="gap_x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="gap_width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_slider"
c:identifier="gtk_paint_slider"
doc="output should not be clipped
Draws a slider in the given rectangle on @window using the
given style and orientation.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="orientation" transfer-ownership="none">
<type name="Orientation" c:type="GtkOrientation"/>
</parameter>
</parameters>
</function>
<function name="paint_spinner"
c:identifier="gtk_paint_spinner"
doc="output should not be clipped
Draws a spinner on @window using the given parameters."
version="2.20">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget" transfer-ownership="none" allow-none="1">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail" transfer-ownership="none" allow-none="1">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="step" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_string"
c:identifier="gtk_paint_string"
doc="output should not be clipped
Draws a text string on @window with the given parameters."
deprecated="Use gtk_paint_layout() instead."
deprecated-version="2.0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="paint_tab"
c:identifier="gtk_paint_tab"
doc="output should not be clipped
Draws an option menu tab (i.e. the up and down pointing arrows)
in the given rectangle on @window using the given parameters.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="shadow_type" transfer-ownership="none">
<type name="ShadowType" c:type="GtkShadowType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="clip rectangle, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paint_vline"
c:identifier="gtk_paint_vline"
doc="output should not be clipped
Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window
using the given style and state.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="style" transfer-ownership="none">
<type name="Style" c:type="GtkStyle*"/>
</parameter>
<parameter name="window" transfer-ownership="none">
<type name="Gdk.Window" c:type="GdkWindow*"/>
</parameter>
<parameter name="state_type" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="area"
transfer-ownership="none"
allow-none="1"
doc="rectangle to which the output is clipped, or %NULL if the">
<type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="the widget">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="detail"
transfer-ownership="none"
allow-none="1"
doc="a style detail">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="y1_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="y2_" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="paper_size_get_default"
c:identifier="gtk_paper_size_get_default"
doc="Returns the name of the default paper size, which
depends on the current locale.
is owned by GTK+ and should not be modified."
version="2.10">
<return-value transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="paper_size_get_paper_sizes"
c:identifier="gtk_paper_size_get_paper_sizes"
doc="as defined in the page setup dialog
Creates a list of known paper sizes.
allocated #GtkPaperSize objects"
version="2.12">
<return-value transfer-ownership="full"
doc="a newly allocated list of newly">
<type name="GLib.List" c:type="GList*">
<type name="PaperSize"/>
</type>
</return-value>
<parameters>
<parameter name="include_custom" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="parse_args"
c:identifier="gtk_parse_args"
doc="Parses command line arguments, and initializes global
attributes of GTK+, but does not actually open a connection
to a display. (See gdk_display_open(), gdk_get_display_arg_name())
Any arguments used by GTK+ or GDK are removed from the array and
You shouldn&apos;t call this function explicitely if you are using
gtk_init(), or gtk_init_check().">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="argc"
direction="inout"
transfer-ownership="full"
doc="a pointer to the number of command line arguments.">
<type name="int" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
transfer-ownership="full"
doc="a pointer to the array of command line arguments.">
<array c:type="char***">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</function>
<function name="print_run_page_setup_dialog"
c:identifier="gtk_print_run_page_setup_dialog"
doc="Runs a page setup dialog, letting the user modify the values from
is identical to the passed in @page_setup, otherwise it contains the
modifications done in the dialog.
Note that this function may use a recursive mainloop to show the page
setup dialog. See gtk_print_run_page_setup_dialog_async() if this is
a problem."
version="2.10">
<return-value transfer-ownership="full">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="transient parent">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="page_setup"
transfer-ownership="none"
allow-none="1"
doc="an existing #GtkPageSetup">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</parameter>
<parameter name="settings" transfer-ownership="none">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</parameter>
</parameters>
</function>
<function name="print_run_page_setup_dialog_async"
c:identifier="gtk_print_run_page_setup_dialog_async"
doc="Runs a page setup dialog, letting the user modify the values from @page_setup.
In contrast to gtk_print_run_page_setup_dialog(), this function returns after
showing the page setup dialog on platforms that support this, and calls @done_cb
from a signal handler for the ::response signal of the dialog."
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="transient parent, or %NULL">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="page_setup"
transfer-ownership="none"
allow-none="1"
doc="an existing #GtkPageSetup, or %NULL">
<type name="PageSetup" c:type="GtkPageSetup*"/>
</parameter>
<parameter name="settings" transfer-ownership="none">
<type name="PrintSettings" c:type="GtkPrintSettings*"/>
</parameter>
<parameter name="done_cb"
transfer-ownership="none"
scope="call"
closure="4">
<type name="PageSetupDoneFunc" c:type="GtkPageSetupDoneFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="propagate_event"
c:identifier="gtk_propagate_event"
doc="Sends an event to a widget, propagating the event to parent widgets
if the event remains unhandled. Events received by GTK+ from GDK
normally begin in gtk_main_do_event(). Depending on the type of
event, existence of modal dialogs, grabs, etc., the event may be
propagated; if so, this function is used. gtk_propagate_event()
calls gtk_widget_event() on each widget it decides to send the
event to. So gtk_widget_event() is the lowest-level function; it
simply emits the &quot;event&quot; and possibly an event-specific signal on a
widget. gtk_propagate_event() is a bit higher-level, and
gtk_main_do_event() is the highest level.
All that said, you most likely don&apos;t want to use any of these
functions; synthesizing events is rarely needed. Consider asking on
the mailing list for better ways to achieve your goals. For
example, use gdk_window_invalidate_rect() or
gtk_widget_queue_draw() instead of making up expose events.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.Event" c:type="GdkEvent*"/>
</parameter>
</parameters>
</function>
<function name="quit_add" c:identifier="gtk_quit_add">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="main_level" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="function"
transfer-ownership="none"
scope="call"
closure="2">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="quit_add_destroy" c:identifier="gtk_quit_add_destroy">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="main_level" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
</parameters>
</function>
<function name="quit_add_full" c:identifier="gtk_quit_add_full">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="main_level" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="function" transfer-ownership="none" scope="call">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="marshal"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="CallbackMarshal" c:type="GtkCallbackMarshal"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="quit_remove" c:identifier="gtk_quit_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="quit_handler_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="quit_remove_by_data"
c:identifier="gtk_quit_remove_by_data">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="rc_add_class_style" c:identifier="gtk_rc_add_class_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
<parameter name="pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_add_default_file"
c:identifier="gtk_rc_add_default_file"
doc="is searched in the current directory.
Adds a file to the list of files to be parsed at the
end of gtk_init().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_add_widget_class_style"
c:identifier="gtk_rc_add_widget_class_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
<parameter name="pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_add_widget_name_style"
c:identifier="gtk_rc_add_widget_name_style">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="rc_style" transfer-ownership="none">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
<parameter name="pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_find_module_in_path"
c:identifier="gtk_rc_find_module_in_path"
doc="Searches for a theme engine in the GTK+ search path. This function
is not useful for applications and should not be used.
otherwise %NULL.">
<return-value transfer-ownership="full" doc=",">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="module_file" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_find_pixmap_in_path"
c:identifier="gtk_rc_find_pixmap_in_path"
doc="warning message, or %NULL
Looks up a file in pixmap path for the specified #GtkSettings.
If the file is not found, it outputs a warning message using
g_warning() and returns %NULL.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="settings" transfer-ownership="none">
<type name="Settings" c:type="GtkSettings*"/>
</parameter>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
<parameter name="pixmap_file" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_get_default_files"
c:identifier="gtk_rc_get_default_files"
doc="Retrieves the current list of RC files that will be parsed
at the end of gtk_init().
is owned by GTK+ and must not be freed by the application.
If you want to store this information, you should make a copy.">
<return-value transfer-ownership="full">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
</function>
<function name="rc_get_im_module_file"
c:identifier="gtk_rc_get_im_module_file"
doc="listing the IM modules available for loading
Obtains the path to the IM modules file. See the documentation
of the &lt;link linkend=&quot;im-module-file&quot;&gt;&lt;envar&gt;GTK_IM_MODULE_FILE&lt;/envar&gt;&lt;/link&gt;
environment variable for more details.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="rc_get_im_module_path"
c:identifier="gtk_rc_get_im_module_path"
doc="look for IM modules.
Obtains the path in which to look for IM modules. See the documentation
of the &lt;link linkend=&quot;im-module-path&quot;&gt;&lt;envar&gt;GTK_PATH&lt;/envar&gt;&lt;/link&gt;
environment variable for more details about looking up modules. This
function is useful solely for utilities supplied with GTK+ and should
not be used by applications under normal circumstances.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="rc_get_module_dir"
c:identifier="gtk_rc_get_module_dir"
doc="Returns a directory in which GTK+ looks for theme engines.
For full information about the search for theme engines,
see the docs for &lt;envar&gt;GTK_PATH&lt;/envar&gt; in
&lt;xref linkend=&quot;gtk-running&quot;/&gt;.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="rc_get_style"
c:identifier="gtk_rc_get_style"
doc="Finds all matching RC styles for a given widget,
composites them together, and then creates a
#GtkStyle representing the composite appearance.
(GTK+ actually keeps a cache of previously
created styles, so a new style may not be
created.)
to the returned style, so if you want to save this
style around, you should add a reference yourself.">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="rc_get_style_by_paths"
c:identifier="gtk_rc_get_style_by_paths"
doc="if no matching against the widget path should be done
if no matching against the class path should be done.
when matching against class styles, or #G_TYPE_NONE
Creates up a #GtkStyle from styles defined in a RC file by providing
the raw components used in matching. This function may be useful
when creating pseudo-widgets that should be themed like widgets but
don&apos;t actually have corresponding GTK+ widgets. An example of this
would be items inside a GNOME canvas widget.
The action of gtk_rc_get_style() is similar to:
|[
gtk_widget_path (widget, NULL, &amp;path, NULL);
gtk_widget_class_path (widget, NULL, &amp;class_path, NULL);
gtk_rc_get_style_by_paths (gtk_widget_get_settings (widget),
path, class_path,
G_OBJECT_TYPE (widget));
]|
or %NULL if nothing matching was specified and the default style should
be used. The returned value is owned by GTK+ as part of an internal cache,
so you must call g_object_ref() on the returned value if you want to
keep a reference to it.">
<return-value transfer-ownership="full">
<type name="Style" c:type="GtkStyle*"/>
</return-value>
<parameters>
<parameter name="settings" transfer-ownership="none">
<type name="Settings" c:type="GtkSettings*"/>
</parameter>
<parameter name="widget_path"
transfer-ownership="none"
allow-none="1"
doc="the widget path to use when looking up the style, or %NULL">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="class_path"
transfer-ownership="none"
allow-none="1"
doc="the class path to use when looking up the style, or %NULL">
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="rc_get_theme_dir" c:identifier="gtk_rc_get_theme_dir">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="rc_parse" c:identifier="gtk_rc_parse">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_parse_color"
c:identifier="gtk_rc_parse_color"
doc="Parses a color in the &lt;link linkend=&quot;color=format&quot;&gt;format&lt;/link&gt; expected
in a RC file.
Note that theme engines should use gtk_rc_parse_color_full() in
order to support symbolic colors.
that was expected but not found">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</function>
<function name="rc_parse_color_full"
c:identifier="gtk_rc_parse_color_full"
doc="Parses a color in the &lt;link linkend=&quot;color=format&quot;&gt;format&lt;/link&gt; expected
in a RC file. If @style is not %NULL, it will be consulted to resolve
references to symbolic colors.
that was expected but not found"
version="2.12">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
<parameter name="style"
transfer-ownership="none"
allow-none="1"
doc="a #GtkRcStyle, or %NULL">
<type name="RcStyle" c:type="GtkRcStyle*"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<type name="Gdk.Color" c:type="GdkColor*"/>
</parameter>
</parameters>
</function>
<function name="rc_parse_priority" c:identifier="gtk_rc_parse_priority">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
<parameter name="priority" transfer-ownership="none">
<type name="PathPriorityType" c:type="GtkPathPriorityType*"/>
</parameter>
</parameters>
</function>
<function name="rc_parse_state" c:identifier="gtk_rc_parse_state">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="scanner" transfer-ownership="none">
<type name="GLib.Scanner" c:type="GScanner*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="StateType" c:type="GtkStateType*"/>
</parameter>
</parameters>
</function>
<function name="rc_parse_string" c:identifier="gtk_rc_parse_string">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="rc_string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="rc_property_parse_border"
c:identifier="gtk_rc_property_parse_border"
doc="A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses
borders in the form
&lt;literal&gt;&quot;{ left, right, top, bottom }&quot;&lt;/literal&gt; for integers
%left, %right, %top and %bottom.
has been set to the resulting #GtkBorder.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="gstring" transfer-ownership="none">
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="property_value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="rc_property_parse_color"
c:identifier="gtk_rc_property_parse_color"
doc="A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses a
color given either by its name or in the form
&lt;literal&gt;{ red, green, blue }&lt;/literal&gt; where %red, %green and
%blue are integers between 0 and 65535 or floating-point numbers
between 0 and 1.
has been set to the resulting #GdkColor.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="gstring" transfer-ownership="none">
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="property_value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="rc_property_parse_enum"
c:identifier="gtk_rc_property_parse_enum"
doc="A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses a single
enumeration value.
The enumeration value can be specified by its name, its nickname or
its numeric value. For consistency with flags parsing, the value
may be surrounded by parentheses.
has been set to the resulting #GEnumValue.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="gstring" transfer-ownership="none">
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="property_value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="rc_property_parse_flags"
c:identifier="gtk_rc_property_parse_flags"
doc="A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses flags.
Flags can be specified by their name, their nickname or
numerically. Multiple flags can be specified in the form
&lt;literal&gt;&quot;( flag1 | flag2 | ... )&quot;&lt;/literal&gt;.
has been set to the resulting flags value.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="gstring" transfer-ownership="none">
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="property_value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="rc_property_parse_requisition"
c:identifier="gtk_rc_property_parse_requisition"
doc="A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses a
requisition in the form
&lt;literal&gt;&quot;{ width, height }&quot;&lt;/literal&gt; for integers %width and %height.
has been set to the resulting #GtkRequisition.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pspec" transfer-ownership="none">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="gstring" transfer-ownership="none">
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="property_value" transfer-ownership="none">
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</function>
<function name="rc_reparse_all"
c:identifier="gtk_rc_reparse_all"
doc="If the modification time on any previously read file for the
default #GtkSettings has changed, discard all style information
and then reread all previously read RC files.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</function>
<function name="rc_reparse_all_for_settings"
c:identifier="gtk_rc_reparse_all_for_settings"
doc="If the modification time on any previously read file
for the given #GtkSettings has changed, discard all style information
and then reread all previously read RC files.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="settings" transfer-ownership="none">
<type name="Settings" c:type="GtkSettings*"/>
</parameter>
<parameter name="force_load" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="rc_reset_styles"
c:identifier="gtk_rc_reset_styles"
doc="This function recomputes the styles for all widgets that use a
particular #GtkSettings object. (There is one #GtkSettings object
per #GdkScreen, see gtk_settings_get_for_screen()); It is useful
when some global parameter has changed that affects the appearance
of all widgets, because when a widget gets a new style, it will
both redraw and recompute any cached information about its
appearance. As an example, it is used when the default font size
set by the operating system changes. Note that this function
doesn&apos;t affect widgets that have a style set explicitely on them
with gtk_widget_set_style()."
version="2.4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="settings" transfer-ownership="none">
<type name="Settings" c:type="GtkSettings*"/>
</parameter>
</parameters>
</function>
<function name="rc_scanner_new" c:identifier="gtk_rc_scanner_new">
<return-value transfer-ownership="full">
<type name="GLib.Scanner" c:type="GScanner*"/>
</return-value>
</function>
<function name="rc_set_default_files"
c:identifier="gtk_rc_set_default_files"
doc="Sets the list of files that GTK+ will read at the
end of gtk_init().">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="filenames" transfer-ownership="none">
<array c:type="gchar**">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</function>
<function name="rgb_to_hsv"
c:identifier="gtk_rgb_to_hsv"
doc="Converts a color from RGB space to HSV.
Input values must be in the [0.0, 1.0] range;
output values will be in the same range."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="r" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="g" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="b" transfer-ownership="none">
<type name="double" c:type="gdouble"/>
</parameter>
<parameter name="h" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="s" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
<parameter name="v" direction="out" transfer-ownership="full">
<type name="double" c:type="gdouble*"/>
</parameter>
</parameters>
</function>
<function name="selection_add_target"
c:identifier="gtk_selection_add_target"
doc="Appends a specified target to the list of supported targets for a
given widget and selection.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="info" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="selection_add_targets"
c:identifier="gtk_selection_add_targets"
doc="Prepends a table of targets to the list of supported targets
for a given widget and selection.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="ntargets" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="selection_clear"
c:identifier="gtk_selection_clear"
doc="The default handler for the #GtkWidget::selection-clear-event
signal.
your selection-clear-event handler. Calling this function
from any other context is illegal."
version="2.2"
deprecated="Instead of calling this function, chain up from"
deprecated-version="2.4">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gdk.EventSelection" c:type="GdkEventSelection*"/>
</parameter>
</parameters>
</function>
<function name="selection_clear_targets"
c:identifier="gtk_selection_clear_targets"
doc="Remove all targets registered for the given selection for the
widget.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
</parameters>
</function>
<function name="selection_convert"
c:identifier="gtk_selection_convert"
doc="emergency, you could use #GDK_CURRENT_TIME
Requests the contents of a selection. When received,
a &quot;selection-received&quot; signal will be generated.
request. (e.g., there was already a request in process for
this widget).">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="selection_owner_set"
c:identifier="gtk_selection_owner_set"
doc="Claims ownership of a given selection for a particular widget,
or, if @widget is %NULL, release ownership of the selection.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="a #GtkWidget, or %NULL.">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="selection_owner_set_for_display"
c:identifier="gtk_selection_owner_set_for_display"
doc="Claim ownership of a given selection for a particular widget, or,
if @widget is %NULL, release ownership of the selection."
version="2.2">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<type name="Gdk.Display" c:type="GdkDisplay*"/>
</parameter>
<parameter name="widget"
transfer-ownership="none"
allow-none="1"
doc="or %NULL.">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="selection" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom"/>
</parameter>
<parameter name="time_" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="selection_remove_all"
c:identifier="gtk_selection_remove_all"
doc="Removes all handlers and unsets ownership of all
selections for a widget. Called when widget is being
destroyed. This function will not generally be
called by applications.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="set_locale"
c:identifier="gtk_set_locale"
doc="Initializes internationalization support for GTK+. gtk_init()
automatically does this, so there is typically no point
in calling this function.
If you are calling this function because you changed the locale
after GTK+ is was initialized, then calling this function
may help a bit. (Note, however, that changing the locale
after GTK+ is initialized may produce inconsistent results and
is not really supported.)
In detail - sets the current locale according to the
program environment. This is the same as calling the C library function
&lt;literal&gt;setlocale (LC_ALL, &quot;&quot;)&lt;/literal&gt; but also takes care of the
locale specific setup of the windowing system used by GDK.
form lang_COUNTRY, where lang is an ISO-639 language code, and
COUNTRY is an ISO-3166 country code. On Unix, this form matches the
result of the setlocale(); it is also used on other machines, such as
Windows, where the C library returns a different result. The string is
owned by GTK+ and should not be modified or freed.">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="show_about_dialog"
c:identifier="gtk_show_about_dialog"
doc="This is a convenience function for showing an application&apos;s about box.
The constructed dialog is associated with the parent window and
reused for future invocations of this function."
version="2.6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="parent"
transfer-ownership="none"
allow-none="1"
doc="transient parent, or %NULL for none">
<type name="Window" c:type="GtkWindow*"/>
</parameter>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="show_uri"
c:identifier="gtk_show_uri"
doc="This is a convenience function for launching the default application
to show the uri. The uri must be of a form understood by GIO. Typical
examples are
&lt;simplelist&gt;
&lt;member&gt;&lt;filename&gt;file:///home/gnome/pict.jpg&lt;/filename&gt;&lt;/member&gt;
&lt;member&gt;&lt;filename&gt;http://www.gnome.org&lt;/filename&gt;&lt;/member&gt;
&lt;member&gt;&lt;filename&gt;mailto:me&amp;commat;gnome.org&lt;/filename&gt;&lt;/member&gt;
&lt;/simplelist&gt;
Ideally the timestamp is taken from the event triggering
the gtk_show_uri() call. If timestamp is not known you can take
%GDK_CURRENT_TIME.
This function can be used as a replacement for gnome_vfs_url_show()
and gnome_url_show()."
version="2.14"
throws="1">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="screen"
transfer-ownership="none"
allow-none="1"
doc="screen to show the uri on or %NULL for the default screen">
<type name="Gdk.Screen" c:type="GdkScreen*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="timestamp" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="signal_compat_matched"
c:identifier="gtk_signal_compat_matched">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="2">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="match" transfer-ownership="none">
<type name="GObject.SignalMatchType" c:type="GSignalMatchType"/>
</parameter>
<parameter name="action" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="signal_connect_full"
c:identifier="gtk_signal_connect_full">
<return-value transfer-ownership="none">
<type name="ulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="func" transfer-ownership="none" scope="call">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="unsupported"
transfer-ownership="none"
scope="notified"
closure="4"
destroy="5">
<type name="CallbackMarshal" c:type="GtkCallbackMarshal"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy_func" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="object_signal" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="after" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="signal_connect_object_while_alive"
c:identifier="gtk_signal_connect_object_while_alive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="func" transfer-ownership="none" scope="call">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="alive_object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
</parameters>
</function>
<function name="signal_connect_while_alive"
c:identifier="gtk_signal_connect_while_alive">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="3">
<type name="GObject.Callback" c:type="GCallback"/>
</parameter>
<parameter name="func_data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="alive_object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
</parameters>
</function>
<function name="signal_emit" c:identifier="gtk_signal_emit">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_emit_by_name"
c:identifier="gtk_signal_emit_by_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_emit_stop_by_name"
c:identifier="gtk_signal_emit_stop_by_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="signal_emitv" c:identifier="gtk_signal_emitv">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="signal_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="args" transfer-ownership="none">
<type name="Arg" c:type="GtkArg*"/>
</parameter>
</parameters>
</function>
<function name="signal_emitv_by_name"
c:identifier="gtk_signal_emitv_by_name">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="GtkObject*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="args" transfer-ownership="none">
<type name="Arg" c:type="GtkArg*"/>
</parameter>
</parameters>
</function>
<function name="signal_new" c:identifier="gtk_signal_new">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="signal_flags" transfer-ownership="none">
<type name="SignalRunType" c:type="GtkSignalRunType"/>
</parameter>
<parameter name="object_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="function_offset" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="marshaller" transfer-ownership="none">
<type name="GObject.SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_val" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_args" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="signal_newv" c:identifier="gtk_signal_newv">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="signal_flags" transfer-ownership="none">
<type name="SignalRunType" c:type="GtkSignalRunType"/>
</parameter>
<parameter name="object_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="function_offset" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="marshaller" transfer-ownership="none">
<type name="GObject.SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_val" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="n_args" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="args" direction="out" transfer-ownership="full">
<type name="GType" c:type="GType*"/>
</parameter>
</parameters>
</function>
<function name="stock_add"
c:identifier="gtk_stock_add"
doc="Registers each of the stock items in @items. If an item already
exists with the same stock ID as one of the @items, the old item
gets replaced. The stock items are copied, so GTK+ does not hold
any pointer into @items and @items can be freed. Use
gtk_stock_add_static() if @items is persistent and GTK+ need not
copy the array.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="none">
<type name="StockItem" c:type="GtkStockItem*"/>
</parameter>
<parameter name="n_items" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="stock_add_static"
c:identifier="gtk_stock_add_static"
doc="Same as gtk_stock_add(), but doesn&apos;t copy @items, so">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="none">
<type name="StockItem" c:type="GtkStockItem*"/>
</parameter>
<parameter name="n_items" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="stock_list_ids"
c:identifier="gtk_stock_list_ids"
doc="Retrieves a list of all known stock IDs added to a #GtkIconFactory
or registered with gtk_stock_add(). The list must be freed with g_slist_free(),
and each string in the list must be freed with g_free().">
<return-value transfer-ownership="full" doc="a list of known stock IDs">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
</function>
<function name="stock_lookup"
c:identifier="gtk_stock_lookup"
doc="Fills @item with the registered values for @stock_id, returning %TRUE
if @stock_id was known.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="stock_id" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="item" transfer-ownership="none">
<type name="StockItem" c:type="GtkStockItem*"/>
</parameter>
</parameters>
</function>
<function name="stock_set_translate_func"
c:identifier="gtk_stock_set_translate_func"
doc="no longer needed
Sets a function to be used for translating the @label of
a stock item.
If no function is registered for a translation domain,
g_dgettext() is used.
The function is used for all stock items whose
to use strings different from the actual gettext translation domain
of your application for this, as long as your #GtkTranslateFunc uses
the correct domain when calling dgettext(). This can be useful, e.g.
when dealing with message contexts:
|[
GtkStockItem items[] = {
{ MY_ITEM1, NC_(&quot;odd items&quot;, &quot;Item 1&quot;), 0, 0, &quot;odd-item-domain&quot; },
{ MY_ITEM2, NC_(&quot;even items&quot;, &quot;Item 2&quot;), 0, 0, &quot;even-item-domain&quot; },
};
gchar *
my_translate_func (const gchar *msgid,
gpointer data)
{
gchar *msgctxt = data;
return (gchar*)g_dpgettext2 (GETTEXT_PACKAGE, msgctxt, msgid);
}
/&amp;ast; ... &amp;ast;/
gtk_stock_add (items, G_N_ELEMENTS (items));
gtk_stock_set_translate_func (&quot;odd-item-domain&quot;, my_translate_func, &quot;odd items&quot;);
gtk_stock_set_translate_func (&quot;even-item-domain&quot;, my_translate_func, &quot;even items&quot;);
]|"
version="2.8">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="domain" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
closure="2"
destroy="3">
<type name="TranslateFunc" c:type="GtkTranslateFunc"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="target_table_free"
c:identifier="gtk_target_table_free"
doc="This function frees a target table as returned by
gtk_target_table_new_from_list()"
version="2.10">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="target_table_new_from_list"
c:identifier="gtk_target_table_new_from_list"
doc="This function creates an #GtkTargetEntry array that contains the
same targets as the passed %list. The returned table is newly
allocated and should be freed using gtk_target_table_free() when no
longer needed."
version="2.10">
<return-value transfer-ownership="full">
<type name="TargetEntry" c:type="GtkTargetEntry*"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<type name="TargetList" c:type="GtkTargetList*"/>
</parameter>
<parameter name="n_targets" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</function>
<function name="targets_include_image"
c:identifier="gtk_targets_include_image"
doc="how to convert a pixbuf into the format
Determines if any of the targets in @targets can be used to
provide a #GdkPixbuf.
otherwise %FALSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="writable" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="targets_include_rich_text"
c:identifier="gtk_targets_include_rich_text"
doc="Determines if any of the targets in @targets can be used to
provide rich text.
otherwise %FALSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
<parameter name="buffer" transfer-ownership="none">
<type name="TextBuffer" c:type="GtkTextBuffer*"/>
</parameter>
</parameters>
</function>
<function name="targets_include_text"
c:identifier="gtk_targets_include_text"
doc="Determines if any of the targets in @targets can be used to
provide text.
otherwise %FALSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="targets_include_uri"
c:identifier="gtk_targets_include_uri"
doc="Determines if any of the targets in @targets can be used to
provide an uri list.
otherwise %FALSE."
version="2.10">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="targets" transfer-ownership="none">
<type name="Gdk.Atom" c:type="GdkAtom*"/>
</parameter>
<parameter name="n_targets" transfer-ownership="none">
<type name="int" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="test_create_simple_window"
c:identifier="gtk_test_create_simple_window">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="window_title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="dialog_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="test_create_widget" c:identifier="gtk_test_create_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="widget_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="first_property_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="test_display_button_window"
c:identifier="gtk_test_display_button_window">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="window_title" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="dialog_text" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="test_find_label" c:identifier="gtk_test_find_label">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="label_pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="test_find_sibling" c:identifier="gtk_test_find_sibling">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="base_widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="widget_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="test_find_widget" c:identifier="gtk_test_find_widget">
<return-value transfer-ownership="full">
<type name="Widget" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="label_pattern" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="widget_type" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="test_init"
c:identifier="gtk_test_init"
doc="main() function. Changed if any arguments were handled.
Any parameters understood by g_test_init() or gtk_init() are
stripped before return.
This function is used to initialize a GTK+ test program.
It will in turn call g_test_init() and gtk_init() to properly
initialize the testing framework and graphical toolkit. It&apos;ll
also set the program&apos;s locale to &quot;C&quot; and prevent loading of rc
files and Gtk+ modules. This is done to make tets program
environments as deterministic as possible.
Like gtk_init() and g_test_init(), any known arguments will be
processed and stripped from @argc and @argv."
version="2.14">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="argcp" direction="out" transfer-ownership="full">
<type name="int" c:type="int*"/>
</parameter>
<parameter name="argvp" transfer-ownership="none">
<type name="utf8" c:type="char***"/>
</parameter>
<parameter transfer-ownership="none">
<varargs>
</varargs>
</parameter>
</parameters>
</function>
<function name="test_list_all_types"
c:identifier="gtk_test_list_all_types">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType*"/>
</return-value>
<parameters>
<parameter name="n_types" direction="out" transfer-ownership="full">
<type name="uint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="test_register_all_types"
c:identifier="gtk_test_register_all_types">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_slider_get_value"
c:identifier="gtk_test_slider_get_value">
<return-value transfer-ownership="none">
<type name="double" c:type="double"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="test_slider_set_perc"
c:identifier="gtk_test_slider_set_perc">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="percentage" transfer-ownership="none">
<type name="double" c:type="double"/>
</parameter>
</parameters>
</function>
<function name="test_spin_button_click"
c:identifier="gtk_test_spin_button_click">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="spinner" transfer-ownership="none">
<type name="SpinButton" c:type="GtkSpinButton*"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="upwards" transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="test_text_get" c:identifier="gtk_test_text_get">
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</function>
<function name="test_text_set" c:identifier="gtk_test_text_set">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="string" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="test_widget_click" c:identifier="gtk_test_widget_click">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="test_widget_send_key"
c:identifier="gtk_test_widget_send_key">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<type name="Gdk.ModifierType" c:type="GdkModifierType"/>
</parameter>
</parameters>
</function>
<function name="text_anchored_child_set_layout"
c:identifier="gtk_text_anchored_child_set_layout">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="child" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="layout" transfer-ownership="none">
<type name="TextLayout" c:type="GtkTextLayout*"/>
</parameter>
</parameters>
</function>
<function name="timeout_add" c:identifier="gtk_timeout_add">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="interval" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
<parameter name="function"
transfer-ownership="none"
scope="call"
closure="2">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="timeout_add_full" c:identifier="gtk_timeout_add_full">
<return-value transfer-ownership="none">
<type name="uint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="interval" transfer-ownership="none">
<type name="uint32" c:type="guint32"/>
</parameter>
<parameter name="function" transfer-ownership="none" scope="call">
<type name="Function" c:type="GtkFunction"/>
</parameter>
<parameter name="marshal"
transfer-ownership="none"
scope="notified"
closure="3"
destroy="4">
<type name="CallbackMarshal" c:type="GtkCallbackMarshal"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="timeout_remove" c:identifier="gtk_timeout_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timeout_handler_id" transfer-ownership="none">
<type name="uint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="tree_get_row_drag_data"
c:identifier="gtk_tree_get_row_drag_data"
doc="Obtains a @tree_model and @path from selection data of target type
%GTK_TREE_MODEL_ROW. Normally called from a drag_data_received handler.
This function can only be used if @selection_data originates from the same
process that&apos;s calling this function, because a pointer to the tree model
is being passed around. If you aren&apos;t in the same process, then you&apos;ll
get memory corruption. In the #GtkTreeDragDest drag_data_received handler,
you can assume that selection data of type %GTK_TREE_MODEL_ROW is
in from the current process. The returned path must be freed with
gtk_tree_path_free().
is otherwise valid">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel**"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath**"/>
</parameter>
</parameters>
</function>
<function name="tree_row_reference_deleted"
c:identifier="gtk_tree_row_reference_deleted"
doc="Lets a set of row reference created by gtk_tree_row_reference_new_proxy()
know that the model emitted the &quot;row_deleted&quot; signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</function>
<function name="tree_row_reference_inserted"
c:identifier="gtk_tree_row_reference_inserted"
doc="Lets a set of row reference created by gtk_tree_row_reference_new_proxy()
know that the model emitted the &quot;row_inserted&quot; signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</function>
<function name="tree_row_reference_reordered"
c:identifier="gtk_tree_row_reference_reordered"
doc="Lets a set of row reference created by gtk_tree_row_reference_new_proxy()
know that the model emitted the &quot;rows_reordered&quot; signal.">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="TreeIter" c:type="GtkTreeIter*"/>
</parameter>
<parameter name="new_order" direction="out" transfer-ownership="full">
<type name="int" c:type="gint*"/>
</parameter>
</parameters>
</function>
<function name="tree_set_row_drag_data"
c:identifier="gtk_tree_set_row_drag_data"
doc="Sets selection data of target type %GTK_TREE_MODEL_ROW. Normally used
in a drag_data_get handler.">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="selection_data" transfer-ownership="none">
<type name="SelectionData" c:type="GtkSelectionData*"/>
</parameter>
<parameter name="tree_model" transfer-ownership="none">
<type name="TreeModel" c:type="GtkTreeModel*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<type name="TreePath" c:type="GtkTreePath*"/>
</parameter>
</parameters>
</function>
<function name="true" c:identifier="gtk_true">
<return-value transfer-ownership="none">
<type name="boolean" c:type="gboolean"/>
</return-value>
</function>
<function name="type_class" c:identifier="gtk_type_class">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="Type" c:type="GtkType"/>
</parameter>
</parameters>
</function>
<function name="type_enum_find_value"
c:identifier="gtk_type_enum_find_value">
<return-value transfer-ownership="full">
<type name="EnumValue" c:type="GtkEnumValue*"/>
</return-value>
<parameters>
<parameter name="enum_type" transfer-ownership="none">
<type name="Type" c:type="GtkType"/>
</parameter>
<parameter name="value_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="type_enum_get_values"
c:identifier="gtk_type_enum_get_values">
<return-value transfer-ownership="full">
<type name="EnumValue" c:type="GtkEnumValue*"/>
</return-value>
<parameters>
<parameter name="enum_type" transfer-ownership="none">
<type name="Type" c:type="GtkType"/>
</parameter>
</parameters>
</function>
<function name="type_flags_find_value"
c:identifier="gtk_type_flags_find_value">
<return-value transfer-ownership="full">
<type name="FlagValue" c:type="GtkFlagValue*"/>
</return-value>
<parameters>
<parameter name="flags_type" transfer-ownership="none">
<type name="Type" c:type="GtkType"/>
</parameter>
<parameter name="value_name" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</function>
<function name="type_flags_get_values"
c:identifier="gtk_type_flags_get_values">
<return-value transfer-ownership="full">
<type name="FlagValue" c:type="GtkFlagValue*"/>
</return-value>
<parameters>
<parameter name="flags_type" transfer-ownership="none">
<type name="Type" c:type="GtkType"/>
</parameter>
</parameters>
</function>
<function name="type_init" c:identifier="gtk_type_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="debug_flags" transfer-ownership="none">
<type name="GObject.TypeDebugFlags" c:type="GTypeDebugFlags"/>
</parameter>
</parameters>
</function>
<function name="type_new" c:identifier="gtk_type_new">
<return-value transfer-ownership="none">
<type name="any" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<type name="Type" c:type="GtkType"/>
</parameter>
</parameters>
</function>
<function name="type_unique" c:identifier="gtk_type_unique">
<return-value transfer-ownership="full">
<type name="Type" c:type="GtkType"/>
</return-value>
<parameters>
<parameter name="parent_type" transfer-ownership="none">
<type name="Type" c:type="GtkType"/>
</parameter>
<parameter name="gtkinfo" transfer-ownership="none">
<type name="TypeInfo" c:type="GtkTypeInfo*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>