<root>
<signal name="GtkAboutDialog::activate-link">
<description>
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_on_window().


</description>
<parameters>
<parameter name="label">
<parameter_description> The object on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI that is activated
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the link has been activated
</return>
</signal>

<property name="GtkAboutDialog:artists">
<description>
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.

</description>
</property>

<property name="GtkAboutDialog:authors">
<description>
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.

</description>
</property>

<property name="GtkAboutDialog:comments">
<description>
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.

</description>
</property>

<property name="GtkAboutDialog:copyright">
<description>
Copyright information for the program.

</description>
</property>

<property name="GtkAboutDialog:documenters">
<description>
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.

</description>
</property>

<property name="GtkAboutDialog:license">
<description>
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.
When setting this property to a non-%NULL value, the
#GtkAboutDialog:license-type property is set to %GTK_LICENSE_CUSTOM
as a side effect.

The text may contain links in this format &lt;http://www.some.place/&gt;
and email references in the form &lt;mail-to@some.body&gt;, and these will
be converted into clickable links.

</description>
</property>

<property name="GtkAboutDialog:license-type">
<description>
The license of the program, as a value of the %GtkLicense enumeration.

The #GtkAboutDialog will automatically fill out a standard disclaimer
and link the user to the appropriate online resource for the license
text.

If %GTK_LICENSE_UNKNOWN is used, the link used will be the same
specified in the #GtkAboutDialog:website property.

If %GTK_LICENSE_CUSTOM is used, the current contents of the
#GtkAboutDialog:license property are used.

For any other #GtkLicense value, the contents of the
#GtkAboutDialog:license property are also set by this property as
a side effect.

</description>
</property>

<property name="GtkAboutDialog:logo">
<description>
A logo for the about box. If it is %NULL, the default window icon
set with gtk_window_set_default_icon() will be used.

</description>
</property>

<property name="GtkAboutDialog:logo-icon-name">
<description>
A named icon to use as the logo for the about box. This property
overrides the #GtkAboutDialog:logo property.

</description>
</property>

<property name="GtkAboutDialog:program-name">
<description>
The name of the program.
If this is not set, it defaults to g_get_application_name().

</description>
</property>

<property name="GtkAboutDialog:system-information">
<description>
Information about the system on which the program is running.
This is displayed in a separate tab, therefore it is fine to use
a long multi-paragraph text. Note that the text should contain
the intended linebreaks.

The text may contain links in this format &lt;http://www.some.place/&gt;
and email references in the form &lt;mail-to@some.body&gt;, and these will
be converted into clickable links.

</description>
</property>

<property name="GtkAboutDialog:translator-credits">
<description>
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.

</description>
</property>

<property name="GtkAboutDialog:version">
<description>
The version of the program.

</description>
</property>

<property name="GtkAboutDialog:website">
<description>
The URL for the link to the website of the program.
This should be a string starting with &quot;http://.

</description>
</property>

<property name="GtkAboutDialog:website-label">
<description>
The label for the link to the website of the program.

</description>
</property>

<property name="GtkAboutDialog:wrap-license">
<description>
Whether to wrap the text in the license dialog.

</description>
</property>

<enum name="GtkAccelFlags">
<description>
Accelerator flags used with gtk_accel_group_connect().

</description>
<parameters>
<parameter name="GTK_ACCEL_VISIBLE">
<parameter_description> Accelerator is visible
</parameter_description>
</parameter>
<parameter name="GTK_ACCEL_LOCKED">
<parameter_description> Accelerator not removable
</parameter_description>
</parameter>
<parameter name="GTK_ACCEL_MASK">
<parameter_description> Mask
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkAccelGroup::accel-activate">
<description>
The accel-activate signal is an implementation detail of
#GtkAccelGroup and not meant to be used by applications.


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> the #GtkAccelGroup which received the signal
</parameter_description>
</parameter>
<parameter name="acceleratable">
<parameter_description> the object on which the accelerator was activated
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the accelerator keyval
</parameter_description>
</parameter>
<parameter name="modifier">
<parameter_description> the modifier combination of the accelerator
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the accelerator was activated
</return>
</signal>

<signal name="GtkAccelGroup::accel-changed">
<description>
The accel-changed signal is emitted when an entry
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.

</description>
<parameters>
<parameter name="accel_group">
<parameter_description> the #GtkAccelGroup which received the signal
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the accelerator keyval
</parameter_description>
</parameter>
<parameter name="modifier">
<parameter_description> the modifier combination of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_closure">
<parameter_description> the #GClosure of the accelerator
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkAccelMap::changed">
<description>
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::`accel_path`.

</description>
<parameters>
<parameter name="object">
<parameter_description> the global accel map object
</parameter_description>
</parameter>
<parameter name="accel_path">
<parameter_description> the path of the accelerator that changed
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description> the key value for the new accelerator
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> the modifier mask for the new accelerator
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkAdjustment::changed">
<description>
Emitted when one or more of the #GtkAdjustment properties have been
changed, other than the #GtkAdjustment:value property.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkAdjustment::value-changed">
<description>
Emitted when the #GtkAdjustment:value property has been changed.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkAdjustment:lower">
<description>
The minimum value of the adjustment.

</description>
</property>

<property name="GtkAdjustment:page-increment">
<description>
The page increment of the adjustment.

</description>
</property>

<property name="GtkAdjustment:page-size">
<description>
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.

</description>
</property>

<property name="GtkAdjustment:step-increment">
<description>
The step increment of the adjustment.

</description>
</property>

<property name="GtkAdjustment:upper">
<description>
The maximum value of the adjustment.
Note that values will be restricted by
`upper - page-size` if the page-size
property is nonzero.

</description>
</property>

<property name="GtkAdjustment:value">
<description>
The value of the adjustment.

</description>
</property>

<enum name="GtkAlign">
<description>
Controls how a widget deals with extra space in a single (x or y)
dimension.

Alignment only matters if the widget receives a “too large” allocation,
for example if you packed the widget with the #GtkWidget:expand
flag inside a #GtkBox, then the widget might get extra space.  If
you have for example a 16x16 icon inside a 32x32 space, the icon
could be scaled and stretched, it could be centered, or it could be
positioned to one side of the space.

Note that in horizontal context @GTK_ALIGN_START and @GTK_ALIGN_END
are interpreted relative to text direction.

GTK_ALIGN_BASELINE support for it is optional for containers and widgets, and
it is only supported for vertical alignment.  When its not supported by
a child or a container it is treated as @GTK_ALIGN_FILL.

</description>
<parameters>
<parameter name="GTK_ALIGN_FILL">
<parameter_description> stretch to fill all space if possible, center if
no meaningful way to stretch
</parameter_description>
</parameter>
<parameter name="GTK_ALIGN_START">
<parameter_description> snap to left or top side, leaving space on right
or bottom
</parameter_description>
</parameter>
<parameter name="GTK_ALIGN_END">
<parameter_description> snap to right or bottom side, leaving space on left
or top
</parameter_description>
</parameter>
<parameter name="GTK_ALIGN_CENTER">
<parameter_description> center natural width of widget inside the
allocation
</parameter_description>
</parameter>
<parameter name="GTK_ALIGN_BASELINE">
<parameter_description> align the widget according to the baseline
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkAppChooser:content-type">
<description>
The content type of the #GtkAppChooser object.

See [GContentType][gio-GContentType]
for more information about content types.

</description>
</property>

<signal name="GtkAppChooserButton::custom-item-activated">
<description>
Emitted when a custom item, previously added with
gtk_app_chooser_button_append_custom_item(), is activated from the
dropdown menu.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="item_name">
<parameter_description> the name of the activated item
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkAppChooserButton:heading">
<description>
The text to show at the top of the dialog that can be
opened from the button. The string may contain Pango markup.

</description>
</property>

<property name="GtkAppChooserButton:show-default-item">
<description>
The #GtkAppChooserButton:show-default-item property determines
whether the dropdown menu should show the default application
on top for the provided content type.

</description>
</property>

<property name="GtkAppChooserButton:show-dialog-item">
<description>
The #GtkAppChooserButton:show-dialog-item property determines
whether the dropdown menu should show an item that triggers
a #GtkAppChooserDialog when clicked.

</description>
</property>

<property name="GtkAppChooserDialog:gfile">
<description>
The GFile used by the #GtkAppChooserDialog.
The dialog's #GtkAppChooserWidget content type will be guessed from the
file, if present.

</description>
</property>

<property name="GtkAppChooserDialog:heading">
<description>
The text to show at the top of the dialog.
The string may contain Pango markup.

</description>
</property>

<signal name="GtkAppChooserWidget::application-activated">
<description>
Emitted when an application item is activated from the widget's list.

This usually happens when the user double clicks an item, or an item
is selected and the user presses one of the keys Space, Shift+Space,
Return or Enter.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="application">
<parameter_description> the activated #GAppInfo
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkAppChooserWidget::application-selected">
<description>
Emitted when an application item is selected from the widget's list.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="application">
<parameter_description> the selected #GAppInfo
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkAppChooserWidget:default-text">
<description>
The #GtkAppChooserWidget:default-text property determines the text
that appears in the widget when there are no applications for the
given content type.
See also gtk_app_chooser_widget_set_default_text().

</description>
</property>

<property name="GtkAppChooserWidget:show-all">
<description>
If the #GtkAppChooserWidget:show-all property is %TRUE, the app
chooser presents all applications in a single list, without
subsections for default, recommended or related applications.

</description>
</property>

<property name="GtkAppChooserWidget:show-default">
<description>
The ::show-default property determines whether the app chooser
should show the default handler for the content type in a
separate section. If %FALSE, the default handler is listed
among the recommended applications.

</description>
</property>

<property name="GtkAppChooserWidget:show-fallback">
<description>
The #GtkAppChooserWidget:show-fallback property determines whether
the app chooser should show a section for fallback applications.
If %FALSE, the fallback applications are listed among the other
applications.

</description>
</property>

<property name="GtkAppChooserWidget:show-other">
<description>
The #GtkAppChooserWidget:show-other property determines whether
the app chooser should show a section for other applications.

</description>
</property>

<property name="GtkAppChooserWidget:show-recommended">
<description>
The #GtkAppChooserWidget:show-recommended property determines
whether the app chooser should show a section for recommended
applications. If %FALSE, the recommended applications are listed
among the other applications.

</description>
</property>

<signal name="GtkApplication::query-end">
<description>
Emitted when the session manager is about to end the session, only
if #GtkApplication::register-session is %TRUE. Applications can
connect to this signal and call gtk_application_inhibit() with
%GTK_APPLICATION_INHIBIT_LOGOUT to delay the end of the session
until state has been saved.

</description>
<parameters>
<parameter name="application">
<parameter_description> the #GtkApplication which emitted the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkApplication::window-added">
<description>
Emitted when a #GtkWindow is added to @application through
gtk_application_add_window().

</description>
<parameters>
<parameter name="application">
<parameter_description> the #GtkApplication which emitted the signal
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> the newly-added #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkApplication::window-removed">
<description>
Emitted when a #GtkWindow is removed from @application,
either as a side-effect of being destroyed or explicitly
through gtk_application_remove_window().

</description>
<parameters>
<parameter name="application">
<parameter_description> the #GtkApplication which emitted the signal
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> the #GtkWindow that is being removed
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkApplication:register-session">
<description>
Set this property to %TRUE to register with the session manager.
This will make GTK+ track the session state (such as the
#GtkApplication::screensaver-active property).

</description>
</property>

<property name="GtkApplication:screensaver-active">
<description>
This property is %TRUE if GTK+ believes that the screensaver is
currently active. GTK+ only tracks session state (including this)
when #GtkApplication::register-session is set to %TRUE.

Tracking the screensaver state is supported on Linux.

Since: 3.24

</description>
</property>

<enum name="GtkApplicationInhibitFlags">
<description>
Types of user actions that may be blocked by gtk_application_inhibit().

</description>
<parameters>
<parameter name="GTK_APPLICATION_INHIBIT_LOGOUT">
<parameter_description> Inhibit ending the user session
by logging out or by shutting down the computer
</parameter_description>
</parameter>
<parameter name="GTK_APPLICATION_INHIBIT_SWITCH">
<parameter_description> Inhibit user switching
</parameter_description>
</parameter>
<parameter name="GTK_APPLICATION_INHIBIT_SUSPEND">
<parameter_description> Inhibit suspending the
session or computer
</parameter_description>
</parameter>
<parameter name="GTK_APPLICATION_INHIBIT_IDLE">
<parameter_description> Inhibit the session being
marked as idle (and possibly locked)
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkApplicationWindow:show-menubar">
<description>
If this property is %TRUE, the window will display a menubar
that includes the app menu and menubar, unless these are
shown by the desktop shell. See gtk_application_set_app_menu()
and gtk_application_set_menubar().

If %FALSE, the window will not display a menubar, regardless
of whether the desktop shell is showing the menus or not.

</description>
</property>

<enum name="GtkArrowType">
<description>
Used to indicate the direction in which an arrow should point.

</description>
<parameters>
<parameter name="GTK_ARROW_UP">
<parameter_description> Represents an upward pointing arrow.
</parameter_description>
</parameter>
<parameter name="GTK_ARROW_DOWN">
<parameter_description> Represents a downward pointing arrow.
</parameter_description>
</parameter>
<parameter name="GTK_ARROW_LEFT">
<parameter_description> Represents a left pointing arrow.
</parameter_description>
</parameter>
<parameter name="GTK_ARROW_RIGHT">
<parameter_description> Represents a right pointing arrow.
</parameter_description>
</parameter>
<parameter name="GTK_ARROW_NONE">
<parameter_description> No arrow.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkAssistant::apply">
<description>
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 putting 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.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> the #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkAssistant::cancel">
<description>
The ::cancel signal is emitted when then the cancel button is clicked.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> the #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkAssistant::close">
<description>
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.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> the #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkAssistant::prepare">
<description>
The ::prepare signal is emitted when a new page is set as the
assistant's current page, before making the new page visible.

A handler for this signal can do any preparations which are
necessary before showing @page.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> the #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> the current page
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkAssistant:use-header-bar">
<description>
%TRUE if the assistant uses a #GtkHeaderBar for action buttons
instead of the action-area.

For technical reasons, this property is declared as an integer
property, but you should only set it to %TRUE or %FALSE.

</description>
</property>

<property name="GtkAssistantPage:complete">
<description>
Setting the &quot;complete&quot; property to %TRUE marks a page as
complete (i.e.: all the required fields are filled out). GTK+ uses
this information to control the sensitivity of the navigation buttons.

</description>
</property>

<property name="GtkAssistantPage:page-type">
<description>
The type of the assistant page.

</description>
</property>

<property name="GtkAssistantPage:title">
<description>
The title of the page.

</description>
</property>

<enum name="GtkAssistantPageType">
<description>
An enum for determining the page role inside the #GtkAssistant. It's
used to handle buttons sensitivity and visibility.

Note that an assistant needs to end its page flow with a page of type
%GTK_ASSISTANT_PAGE_CONFIRM, %GTK_ASSISTANT_PAGE_SUMMARY or
%GTK_ASSISTANT_PAGE_PROGRESS to be correct.

The Cancel button will only be shown if the page isn’t “committed”.
See gtk_assistant_commit() for details.

</description>
<parameters>
<parameter name="GTK_ASSISTANT_PAGE_CONTENT">
<parameter_description> The page has regular contents. Both the
Back and forward buttons will be shown.
</parameter_description>
</parameter>
<parameter name="GTK_ASSISTANT_PAGE_INTRO">
<parameter_description> The page contains an introduction to the
assistant task. Only the Forward button will be shown if there is a
next page.
</parameter_description>
</parameter>
<parameter name="GTK_ASSISTANT_PAGE_CONFIRM">
<parameter_description> The page lets the user confirm or deny the
changes. The Back and Apply buttons will be shown.
</parameter_description>
</parameter>
<parameter name="GTK_ASSISTANT_PAGE_SUMMARY">
<parameter_description> The page informs the user of the changes
done. Only the Close button will be shown.
</parameter_description>
</parameter>
<parameter name="GTK_ASSISTANT_PAGE_PROGRESS">
<parameter_description> Used for tasks that take a long time to
complete, blocks the assistant until the page is marked as complete.
Only the back button will be shown.
</parameter_description>
</parameter>
<parameter name="GTK_ASSISTANT_PAGE_CUSTOM">
<parameter_description> Used for when other page types are not
appropriate. No buttons will be shown, and the application must
add its own buttons through gtk_assistant_add_action_widget().
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkBaselinePosition">
<description>
Whenever a container has some form of natural row it may align
children in that row along a common typographical baseline. If
the amount of verical space in the row is taller than the total
requested height of the baseline-aligned children then it can use a
#GtkBaselinePosition to select where to put the baseline inside the
extra availible space.

</description>
<parameters>
<parameter name="GTK_BASELINE_POSITION_TOP">
<parameter_description> Align the baseline at the top
</parameter_description>
</parameter>
<parameter name="GTK_BASELINE_POSITION_CENTER">
<parameter_description> Center the baseline
</parameter_description>
</parameter>
<parameter name="GTK_BASELINE_POSITION_BOTTOM">
<parameter_description> Align the baseline at the bottom
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkBorderStyle">
<description>
Describes how the border of a UI element should be rendered.

</description>
<parameters>
<parameter name="GTK_BORDER_STYLE_NONE">
<parameter_description> No visible border
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_HIDDEN">
<parameter_description> Same as @GTK_BORDER_STYLE_NONE
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_SOLID">
<parameter_description> A single line segment
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_INSET">
<parameter_description> Looks as if the content is sunken into the canvas
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_OUTSET">
<parameter_description> Looks as if the content is coming out of the canvas
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_DOTTED">
<parameter_description> A series of round dots
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_DASHED">
<parameter_description> A series of square-ended dashes
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_DOUBLE">
<parameter_description> Two parallel lines with some space between them
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_GROOVE">
<parameter_description> Looks as if it were carved in the canvas
</parameter_description>
</parameter>
<parameter name="GTK_BORDER_STYLE_RIDGE">
<parameter_description> Looks as if it were coming out of the canvas
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkBoxLayout:baseline-position">
<description>
The position of the allocated baseline within the extra space
allocated to each child of the widget using a box layout
manager.

This property is only relevant for horizontal layouts containing
at least one child with a baseline alignment.

</description>
</property>

<property name="GtkBoxLayout:homogeneous">
<description>
Whether the box layout should distribute the available space
homogeneously among the children of the widget using it as a
layout manager.

</description>
</property>

<property name="GtkBoxLayout:spacing">
<description>
The space between each child of the widget using the box
layout as its layout manager.

</description>
</property>

<property name="GtkBuilder:current-object">
<description>
The object the builder is evaluating for.

</description>
</property>

<property name="GtkBuilder:scope">
<description>
The scope the builder is operating in

</description>
</property>

<property name="GtkBuilder:translation-domain">
<description>
The translation domain used when translating property values that
have been marked as translatable in interface descriptions.
If the translation domain is %NULL, #GtkBuilder uses gettext(),
otherwise g_dgettext().

</description>
</property>

<enum name="GtkBuilderClosureFlags">
<description>
The list of flags that can be passed to gtk_builder_scope_create_closure().
New values may be added in the future for new features, so external
implementations of GtkBuilderScopeInterface should test the flags for unknown
values and raise a %@GTK_BUILDER_ERROR_INVALID_ATTRIBUTE error when they
encounter one.

</description>
<parameters>
<parameter name="GTK_BUILDER_CLOSURE_SWAPPED">
<parameter_description> The closure should be created swapped. See
g_cclosure_new_swap() for details.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkBuilderError">
<description>
Error codes that identify various errors that can occur while using
#GtkBuilder.

</description>
<parameters>
<parameter name="GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION">
<parameter_description> A type-func attribute didn’t name
a function that returns a #GType.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_UNHANDLED_TAG">
<parameter_description> The input contained a tag that #GtkBuilder
can’t handle.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_MISSING_ATTRIBUTE">
<parameter_description> An attribute that is required by
#GtkBuilder was missing.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_INVALID_ATTRIBUTE">
<parameter_description> #GtkBuilder found an attribute that
it doesn’t understand.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_INVALID_TAG">
<parameter_description> #GtkBuilder found a tag that
it doesn’t understand.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE">
<parameter_description> A required property value was
missing.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_INVALID_VALUE">
<parameter_description> #GtkBuilder couldn’t parse
some attribute value.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_VERSION_MISMATCH">
<parameter_description> The input file requires a newer version
of GTK+.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_DUPLICATE_ID">
<parameter_description> An object id occurred twice.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED">
<parameter_description> A specified object type is of the same type or
derived from the type of the composite class being extended with builder XML.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_TEMPLATE_MISMATCH">
<parameter_description> The wrong type was specified in a composite class’s template XML
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_INVALID_PROPERTY">
<parameter_description> The specified property is unknown for the object class.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_INVALID_SIGNAL">
<parameter_description> The specified signal is unknown for the object class.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_INVALID_ID">
<parameter_description> An object id is unknown.
</parameter_description>
</parameter>
<parameter name="GTK_BUILDER_ERROR_INVALID_FUNCTION">
<parameter_description> A function could not be found. This often happens
when symbols are set to be kept private. Compiling code with -rdynamic or using the
`gmodule-export-2.0` pkgconfig module can fix this problem.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkButton::activate">
<description>
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkButton::clicked">
<description>
Emitted when the button has been activated (pressed and released).

</description>
<parameters>
<parameter name="button">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkButtonRole">
<description>
The role specifies the desired appearance of a #GtkModelButton.

</description>
<parameters>
<parameter name="GTK_BUTTON_ROLE_NORMAL">
<parameter_description> A plain button
</parameter_description>
</parameter>
<parameter name="GTK_BUTTON_ROLE_CHECK">
<parameter_description> A check button
</parameter_description>
</parameter>
<parameter name="GTK_BUTTON_ROLE_RADIO">
<parameter_description> A radio button
</parameter_description>
</parameter>
<parameter name="GTK_BUTTON_ROLE_TITLE">
<parameter_description> The title for a submenu
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkButtonsType">
<description>
Prebuilt sets of buttons for the dialog. If
none of these choices are appropriate, simply use %GTK_BUTTONS_NONE
then call gtk_dialog_add_buttons().

&gt; Please note that %GTK_BUTTONS_OK, %GTK_BUTTONS_YES_NO
&gt; and %GTK_BUTTONS_OK_CANCEL are discouraged by the
&gt; [GNOME Human Interface Guidelines](http://library.gnome.org/devel/hig-book/stable/).

</description>
<parameters>
<parameter name="GTK_BUTTONS_NONE">
<parameter_description> no buttons at all
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONS_OK">
<parameter_description> an OK button
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONS_CLOSE">
<parameter_description> a Close button
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONS_CANCEL">
<parameter_description> a Cancel button
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONS_YES_NO">
<parameter_description> Yes and No buttons
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONS_OK_CANCEL">
<parameter_description> OK and Cancel buttons
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkCalendar::day-selected">
<description>
Emitted when the user selects a day.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCalendar::next-month">
<description>
Emitted when the user switched to the next month.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCalendar::next-year">
<description>
Emitted when user switched to the next year.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCalendar::prev-month">
<description>
Emitted when the user switched to the previous month.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCalendar::prev-year">
<description>
Emitted when user switched to the previous year.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCalendar:day">
<description>
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.

</description>
</property>

<property name="GtkCalendar:month">
<description>
The selected month (as a number between 0 and 11).
This property gets initially set to the current month.

</description>
</property>

<property name="GtkCalendar:show-day-names">
<description>
Determines whether day names are displayed.

</description>
</property>

<property name="GtkCalendar:show-heading">
<description>
Determines whether a heading is displayed.

</description>
</property>

<property name="GtkCalendar:show-week-numbers">
<description>
Determines whether week numbers are displayed.

</description>
</property>

<property name="GtkCalendar:year">
<description>
The selected year.
This property gets initially set to the current year.

</description>
</property>

<signal name="GtkCellArea::add-editable">
<description>
Indicates that editing has started on @renderer and that @editable
should be added to the owning cell-layouting widget at @cell_area.

</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea where editing started
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer that started the edited
</parameter_description>
</parameter>
<parameter name="editable">
<parameter_description> the #GtkCellEditable widget to add
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the #GtkWidget relative #GdkRectangle coordinates
where @editable should be added
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the #GtkTreePath string this edit was initiated for
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCellArea::apply-attributes">
<description>
This signal is emitted whenever applying attributes to @area from @model

</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea to apply the attributes to
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the #GtkTreeModel to apply the attributes from
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter indicating which row to apply the attributes of
</parameter_description>
</parameter>
<parameter name="is_expander">
<parameter_description> whether the view shows children for this row
</parameter_description>
</parameter>
<parameter name="is_expanded">
<parameter_description> whether the view is currently showing the children of this row
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCellArea::focus-changed">
<description>
Indicates that focus changed on this @area. This signal
is emitted either as a result of focus handling or event
handling.

It's possible that the signal is emitted even if the
currently focused renderer did not change, this is
because focus may change to the same renderer in the
same cell area for a different row of data.

</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea where focus changed
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer that has focus
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the current #GtkTreePath string set for @area
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCellArea::remove-editable">
<description>
Indicates that editing finished on @renderer and that @editable
should be removed from the owning cell-layouting widget.

</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea where editing finished
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer that finished editeding
</parameter_description>
</parameter>
<parameter name="editable">
<parameter_description> the #GtkCellEditable widget to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCellArea:edit-widget">
<description>
The widget currently editing the edited cell

This property is read-only and only changes as
a result of a call gtk_cell_area_activate_cell().

</description>
</property>

<property name="GtkCellArea:edited-cell">
<description>
The cell in the area that is currently edited

This property is read-only and only changes as
a result of a call gtk_cell_area_activate_cell().

</description>
</property>

<property name="GtkCellArea:focus-cell">
<description>
The cell in the area that currently has focus

</description>
</property>

<property name="GtkCellAreaBox:align">
<description>
Whether the cell renderer should be aligned in adjacent rows.

</description>
</property>

<property name="GtkCellAreaBox:expand">
<description>
Whether the cell renderer should receive extra space
when the area receives more than its natural size.

</description>
</property>

<property name="GtkCellAreaBox:fixed-size">
<description>
Whether the cell renderer should require the same size
for all rows for which it was requested.

</description>
</property>

<property name="GtkCellAreaBox:pack-type">
<description>
A GtkPackType indicating whether the cell renderer is packed
with reference to the start or end of the area.

</description>
</property>

<property name="GtkCellAreaBox:spacing">
<description>
The amount of space to reserve between cells.

</description>
</property>

<property name="GtkCellAreaContext:area">
<description>
The #GtkCellArea this context was created by

</description>
</property>

<property name="GtkCellAreaContext:minimum-height">
<description>
The minimum height for the #GtkCellArea in this context
for all #GtkTreeModel rows that this context was requested
for using gtk_cell_area_get_preferred_height().

</description>
</property>

<property name="GtkCellAreaContext:minimum-width">
<description>
The minimum width for the #GtkCellArea in this context
for all #GtkTreeModel rows that this context was requested
for using gtk_cell_area_get_preferred_width().

</description>
</property>

<property name="GtkCellAreaContext:natural-height">
<description>
The natural height for the #GtkCellArea in this context
for all #GtkTreeModel rows that this context was requested
for using gtk_cell_area_get_preferred_height().

</description>
</property>

<property name="GtkCellAreaContext:natural-width">
<description>
The natural width for the #GtkCellArea in this context
for all #GtkTreeModel rows that this context was requested
for using gtk_cell_area_get_preferred_width().

</description>
</property>

<signal name="GtkCellEditable::editing-done">
<description>
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 emits this signal when the user presses Enter. Typical things to
do in a handler for ::editing-done are to capture the edited value,
disconnect the @cell_editable from signals on the #GtkCellRenderer, etc.

gtk_cell_editable_editing_done() is a convenience method
for emitting #GtkCellEditable::editing-done.

</description>
<parameters>
<parameter name="cell_editable">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCellEditable::remove-widget">
<description>
This signal is meant to indicate that the cell is finished
editing, and the @cell_editable widget is being removed and may
subsequently 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's value
before the widget is removed.

gtk_cell_editable_remove_widget() is a convenience method
for emitting #GtkCellEditable::remove-widget.

</description>
<parameters>
<parameter name="cell_editable">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCellEditable:editing-canceled">
<description>
Indicates whether editing on the cell has been canceled.

</description>
</property>

<signal name="GtkCellRenderer::editing-canceled">
<description>
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. 

See also: gtk_cell_renderer_stop_editing().

</description>
<parameters>
<parameter name="renderer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCellRenderer::editing-started">
<description>
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.

See gtk_cell_editable_start_editing() for information on the lifecycle of
the @editable and a way to do setup that doesn’t depend on the @renderer.

Note that GTK+ doesn'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:
|[&lt;!-- language=&quot;C&quot; --&gt;
static void
text_editing_started (GtkCellRenderer *cell,
GtkCellEditable *editable,
const gchar     *path,
gpointer         data)
{
if (GTK_IS_ENTRY (editable)) 
{
GtkEntry *entry = GTK_ENTRY (editable);

// ... create a GtkEntryCompletion

gtk_entry_set_completion (entry, completion);
}
}
]|

</description>
<parameters>
<parameter name="renderer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="editable">
<parameter_description> the #GtkCellEditable
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the path identifying the edited cell
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCellRenderer:cell-background-rgba">
<description>
Cell background as a #GdkRGBA

</description>
</property>

<signal name="GtkCellRendererAccel::accel-cleared">
<description>
Gets emitted when the user has removed the accelerator.

</description>
<parameters>
<parameter name="accel">
<parameter_description> the object reveiving the signal
</parameter_description>
</parameter>
<parameter name="path_string">
<parameter_description> the path identifying the row of the edited cell
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkCellRendererAccel::accel-edited">
<description>
Gets emitted when the user has selected a new accelerator.

</description>
<parameters>
<parameter name="accel">
<parameter_description> the object reveiving the signal
</parameter_description>
</parameter>
<parameter name="path_string">
<parameter_description> the path identifying the row of the edited cell
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description> the new accelerator keyval
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> the new acclerator modifier mask
</parameter_description>
</parameter>
<parameter name="hardware_keycode">
<parameter_description> the keycode of the new accelerator
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCellRendererAccel:accel-key">
<description>
The keyval of the accelerator.

</description>
</property>

<property name="GtkCellRendererAccel:accel-mode">
<description>
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.

</description>
</property>

<property name="GtkCellRendererAccel:accel-mods">
<description>
The modifier mask of the accelerator.

</description>
</property>

<property name="GtkCellRendererAccel:keycode">
<description>
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.

</description>
</property>

<enum name="GtkCellRendererAccelMode">
<description>
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.

</description>
<parameters>
<parameter name="GTK_CELL_RENDERER_ACCEL_MODE_GTK">
<parameter_description> GTK+ accelerators mode
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_ACCEL_MODE_OTHER">
<parameter_description> Other accelerator mode
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkCellRendererCombo::changed">
<description>
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.

</description>
<parameters>
<parameter name="combo">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path_string">
<parameter_description> a string of the path identifying the edited cell
(relative to the tree view model)
</parameter_description>
</parameter>
<parameter name="new_iter">
<parameter_description> the new iter selected in the combo box
(relative to the combo box model)
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCellRendererCombo:has-entry">
<description>
If %TRUE, the cell renderer will include an entry and allow to enter 
values other than the ones in the popup list. 

</description>
</property>

<property name="GtkCellRendererCombo:model">
<description>
Holds a tree model containing the possible values for the combo box. 
Use the text_column property to specify the column holding the values.

</description>
</property>

<property name="GtkCellRendererCombo:text-column">
<description>
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, 
not 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.

</description>
</property>

<enum name="GtkCellRendererMode">
<description>
Identifies how the user can interact with a particular cell.

</description>
<parameters>
<parameter name="GTK_CELL_RENDERER_MODE_INERT">
<parameter_description> The cell is just for display
and cannot be interacted with.  Note that this doesn’t mean that eg. the
row being drawn can’t be selected -- just that a particular element of
it cannot be individually modified.
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_MODE_ACTIVATABLE">
<parameter_description> The cell can be clicked.
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_MODE_EDITABLE">
<parameter_description> The cell can be edited or otherwise modified.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkCellRendererPixbuf:gicon">
<description>
The GIcon representing the icon to display.
If the icon theme is changed, the image will be updated
automatically.

</description>
</property>

<property name="GtkCellRendererPixbuf:icon-name">
<description>
The name of the themed icon to display.
This property only has an effect if not overridden by the &quot;pixbuf&quot; property.

</description>
</property>

<property name="GtkCellRendererPixbuf:icon-size">
<description>
The #GtkIconSize value that specifies the size of the rendered icon.

</description>
</property>

<property name="GtkCellRendererPixbuf:texture">
<description>

</description>
</property>

<property name="GtkCellRendererProgress:pulse">
<description>
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.

</description>
</property>

<property name="GtkCellRendererProgress:text">
<description>
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.

</description>
</property>

<property name="GtkCellRendererProgress:text-xalign">
<description>
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.

</description>
</property>

<property name="GtkCellRendererProgress:text-yalign">
<description>
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).

</description>
</property>

<property name="GtkCellRendererProgress:value">
<description>
The &quot;value&quot; property determines the percentage to which the
progress bar will be &quot;filled in&quot;.

</description>
</property>

<property name="GtkCellRendererSpin:adjustment">
<description>
The adjustment that holds the value of the spinbutton. 
This must be non-%NULL for the cell renderer to be editable.

</description>
</property>

<property name="GtkCellRendererSpin:climb-rate">
<description>
The acceleration rate when you hold down a button.

</description>
</property>

<property name="GtkCellRendererSpin:digits">
<description>
The number of decimal places to display.

</description>
</property>

<property name="GtkCellRendererSpinner:pulse">
<description>
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.

By default, the #GtkSpinner widget draws one full cycle of the animation,
consisting of 12 frames, in 750 milliseconds.

</description>
</property>

<property name="GtkCellRendererSpinner:size">
<description>
The #GtkIconSize value that specifies the size of the rendered spinner.

</description>
</property>

<enum name="GtkCellRendererState">
<description>
Tells how a cell is to be rendered.

</description>
<parameters>
<parameter name="GTK_CELL_RENDERER_SELECTED">
<parameter_description> The cell is currently selected, and
probably has a selection colored background to render to.
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_PRELIT">
<parameter_description> The mouse is hovering over the cell.
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_INSENSITIVE">
<parameter_description> The cell is drawn in an insensitive manner
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_SORTED">
<parameter_description> The cell is in a sorted row
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_FOCUSED">
<parameter_description> The cell is in the focus row.
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_EXPANDABLE">
<parameter_description> The cell is in a row that can be expanded
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_EXPANDED">
<parameter_description> The cell is in a row that is expanded
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkCellRendererText::edited">
<description>
This signal is emitted after @renderer has been edited.

It is the responsibility of the application to update the model
and store @new_text at the position indicated by @path.

</description>
<parameters>
<parameter name="renderer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the path identifying the edited cell
</parameter_description>
</parameter>
<parameter name="new_text">
<parameter_description> the new text
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCellRendererText:alignment">
<description>
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.

</description>
</property>

<property name="GtkCellRendererText:background-rgba">
<description>
Background color as a #GdkRGBA

</description>
</property>

<property name="GtkCellRendererText:ellipsize">
<description>
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.

</description>
</property>

<property name="GtkCellRendererText:foreground-rgba">
<description>
Foreground color as a #GdkRGBA

</description>
</property>

<property name="GtkCellRendererText:max-width-chars">
<description>
The desired maximum width of the cell, in characters. If this property
is set to -1, the width will be calculated automatically.

For cell renderers that ellipsize or wrap text; this property
controls the maximum reported width of the cell. The
cell should not receive any greater allocation unless it is
set to expand in its #GtkCellLayout and all of the cell's siblings
have received their natural width.

</description>
</property>

<property name="GtkCellRendererText:placeholder-text">
<description>
The text that will be displayed in the #GtkCellRenderer if
#GtkCellRendererText:editable is %TRUE and the cell is empty.

</description>
</property>

<property name="GtkCellRendererText:width-chars">
<description>
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.

</description>
</property>

<property name="GtkCellRendererText:wrap-mode">
<description>
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.

</description>
</property>

<property name="GtkCellRendererText:wrap-width">
<description>
Specifies the minimum 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.

</description>
</property>

<signal name="GtkCellRendererToggle::toggled">
<description>
The ::toggled signal is emitted when the cell is toggled. 

It is the responsibility of the application to update the model
with the correct value to store at @path.  Often this is simply the
opposite of the value currently stored at @path.

</description>
<parameters>
<parameter name="cell_renderer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> string representation of #GtkTreePath describing the 
event location
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkCellView:cell-area">
<description>
The #GtkCellArea rendering cells

If no area is specified when creating the cell view with gtk_cell_view_new_with_context() 
a horizontally oriented #GtkCellAreaBox will be used.

since 3.0

</description>
</property>

<property name="GtkCellView:cell-area-context">
<description>
The #GtkCellAreaContext used to compute the geometry of the cell view.

A group of cell views can be assigned the same context in order to
ensure the sizes and cell alignments match across all the views with
the same context.

#GtkComboBox menus uses this to assign the same context to all cell views
in the menu items for a single menu (each submenu creates its own
context since the size of each submenu does not depend on parent
or sibling menus).

since 3.0

</description>
</property>

<property name="GtkCellView:draw-sensitive">
<description>
Whether all cells should be draw as sensitive for this view regardless
of the actual cell properties (used to make menus with submenus appear
sensitive when the items in submenus might be insensitive).

since 3.0

</description>
</property>

<property name="GtkCellView:fit-model">
<description>
Whether the view should request enough space to always fit
the size of every row in the model (used by the combo box to
ensure the combo box size doesnt change when different items
are selected).

since 3.0

</description>
</property>

<property name="GtkCellView:model">
<description>
The model for cell view

since 2.10

</description>
</property>

<signal name="GtkColorButton::color-set">
<description>
The ::color-set signal is emitted when the user selects a color.
When handling this signal, use gtk_color_chooser_get_rgba() to
find out which color was just selected.

Note that this signal is only emitted when the user
changes the color. If you need to react to programmatic color changes
as well, use the notify::color signal.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkColorButton:rgba">
<description>
The RGBA color.

</description>
</property>

<property name="GtkColorButton:show-editor">
<description>
Set this property to %TRUE to skip the palette
in the dialog and go directly to the color editor.

This property should be used in cases where the palette
in the editor would be redundant, such as when the color
button is already part of a palette.

</description>
</property>

<property name="GtkColorButton:title">
<description>
The title of the color selection dialog

</description>
</property>

<property name="GtkColorButton:use-alpha">
<description>
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.

</description>
</property>

<signal name="GtkColorChooser::color-activated">
<description>
Emitted when a color is activated from the color chooser.
This usually happens when the user clicks a color swatch,
or a color is selected and the user presses one of the keys
Space, Shift+Space, Return or Enter.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkColorChooser:rgba">
<description>
The ::rgba property contains the currently selected color,
as a #GdkRGBA struct. The property can be set to change
the current selection programmatically.

</description>
</property>

<property name="GtkColorChooser:use-alpha">
<description>
When ::use-alpha is %TRUE, colors may have alpha (translucency)
information. When it is %FALSE, the #GdkRGBA struct obtained
via the #GtkColorChooser:rgba property will be forced to have
alpha == 1.

Implementations are expected to show alpha by rendering the color
over a non-uniform background (like a checkerboard pattern).

</description>
</property>

<property name="GtkColorChooserWidget:show-editor">
<description>
The ::show-editor property is %TRUE when the color chooser
is showing the single-color editor. It can be set to switch
the color chooser into single-color editing mode.

</description>
</property>

<signal name="GtkComboBox::changed">
<description>
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 the entry of a combo box
with an entry.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkComboBox::format-entry-text">
<description>
For combo boxes that are created with an entry (See GtkComboBox:has-entry).

A signal which allows you to change how the text displayed in a combo box's
entry is displayed.

Connect a signal handler which returns an allocated string representing
@path. That string will then be used to set the text in the combo box's entry.
The default signal handler uses the text from the GtkComboBox::entry-text-column
model column.

Here's an example signal handler which fetches data from the model and
displays it in the entry.
|[&lt;!-- language=&quot;C&quot; --&gt;
static gchar*
format_entry_text_callback (GtkComboBox *combo,
const gchar *path,
gpointer     user_data)
{
GtkTreeIter iter;
GtkTreeModel model;
gdouble      value;

model = gtk_combo_box_get_model (combo);

gtk_tree_model_get_iter_from_string (model, &amp;iter, path);
gtk_tree_model_get (model, &amp;iter,
THE_DOUBLE_VALUE_COLUMN, &amp;value,
-1);

return g_strdup_printf (&quot;%g&quot;, value);
}
]|


</description>
<parameters>
<parameter name="combo">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the GtkTreePath string from the combo box's current model to format text for
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated string representing @path
for the current GtkComboBox model.
</return>
</signal>

<signal name="GtkComboBox::move-active">
<description>
The ::move-active signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to move the active selection.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
<parameter name="scroll_type">
<parameter_description> a #GtkScrollType
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkComboBox::popdown">
<description>
The ::popdown signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to popdown the combo box list.

The default bindings for this signal are Alt+Up and Escape.

</description>
<parameters>
<parameter name="button">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkComboBox::popup">
<description>
The ::popup signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to popup the combo box list.

The default binding for this signal is Alt+Down.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkComboBox:active">
<description>
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
`gtk_tree_path_get_indices (path)[0]`,
where `path` is the #GtkTreePath of the active item.

</description>
</property>

<property name="GtkComboBox:active-id">
<description>
The value of the ID column of the active row.

</description>
</property>

<property name="GtkComboBox:button-sensitivity">
<description>
Whether the dropdown button is sensitive when
the model is empty.

</description>
</property>

<property name="GtkComboBox:entry-text-column">
<description>
The column in the combo box's model to associate with strings from the entry
if the combo was created with #GtkComboBox:has-entry = %TRUE.

</description>
</property>

<property name="GtkComboBox:has-entry">
<description>
Whether the combo box has an entry.

</description>
</property>

<property name="GtkComboBox:has-frame">
<description>
The has-frame property controls whether a frame
is drawn around the entry.

</description>
</property>

<property name="GtkComboBox:id-column">
<description>
The column in the combo box's model that provides string
IDs for the values in the model, if != -1.

</description>
</property>

<property name="GtkComboBox:model">
<description>
The model from which the combo box takes the values shown
in the list.

</description>
</property>

<property name="GtkComboBox:popup-fixed-width">
<description>
Whether the popup's width should be a fixed width matching the
allocated width of the combo box.

</description>
</property>

<property name="GtkComboBox:popup-shown">
<description>
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.

</description>
</property>

<property name="GtkConstraint:constant">
<description>
The constant value to be added to the #GtkConstraint:source-attribute.

</description>
</property>

<property name="GtkConstraint:multiplier">
<description>
The multiplication factor to be applied to the
#GtkConstraint:source-attribute.

</description>
</property>

<property name="GtkConstraint:relation">
<description>
The order relation between the terms of the constraint.

</description>
</property>

<property name="GtkConstraint:source">
<description>
The source of the constraint.

The constraint will set the #GtkConstraint:target-attribute of the
target using the #GtkConstraint:source-attribute of the source.

</description>
</property>

<property name="GtkConstraint:source-attribute">
<description>
The attribute of the #GtkConstraint:source read by the constraint.

</description>
</property>

<property name="GtkConstraint:strength">
<description>
The strength of the constraint.

The strength can be expressed either using one of the symbolic values
of the #GtkConstraintStrength enumeration, or any positive integer
value.

</description>
</property>

<property name="GtkConstraint:target">
<description>
The target of the constraint.

The constraint will set the #GtkConstraint:target-attribute of the
target using the #GtkConstraint:source-attribute of the source
widget.

</description>
</property>

<property name="GtkConstraint:target-attribute">
<description>
The attribute of the #GtkConstraint:target set by the constraint.

</description>
</property>

<enum name="GtkConstraintAttribute">
<description>
The widget attributes that can be used when creating a #GtkConstraint.

</description>
<parameters>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_NONE">
<parameter_description> No attribute, used for constant
relations
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_LEFT">
<parameter_description> The left edge of a widget, regardless of
text direction
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_RIGHT">
<parameter_description> The right edge of a widget, regardless
of text direction
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_TOP">
<parameter_description> The top edge of a widget
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_BOTTOM">
<parameter_description> The bottom edge of a widget
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_START">
<parameter_description> The leading edge of a widget, depending
on text direction; equivalent to %GTK_CONSTRAINT_ATTRIBUTE_LEFT for LTR
languages, and %GTK_CONSTRAINT_ATTRIBUTE_RIGHT for RTL ones
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_END">
<parameter_description> The trailing edge of a widget, depending
on text direction; equivalent to %GTK_CONSTRAINT_ATTRIBUTE_RIGHT for LTR
languages, and %GTK_CONSTRAINT_ATTRIBUTE_LEFT for RTL ones
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_WIDTH">
<parameter_description> The width of a widget
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_HEIGHT">
<parameter_description> The height of a widget
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_CENTER_X">
<parameter_description> The center of a widget, on the
horizontal axis
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y">
<parameter_description> The center of a widget, on the
vertical axis
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_ATTRIBUTE_BASELINE">
<parameter_description> The baseline of a widget
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkConstraintGuide:max-height">
<description>
The maximum height of the guide.

</description>
</property>

<property name="GtkConstraintGuide:max-width">
<description>
The maximum width of the guide.

</description>
</property>

<property name="GtkConstraintGuide:min-height">
<description>
The minimum height of the guide.

</description>
</property>

<property name="GtkConstraintGuide:min-width">
<description>
The minimum width of the guide.

</description>
</property>

<property name="GtkConstraintGuide:name">
<description>
A name that identifies the #GtkConstraintGuide, for debugging.

</description>
</property>

<property name="GtkConstraintGuide:nat-height">
<description>
The preferred, or natural, height of the guide.

</description>
</property>

<property name="GtkConstraintGuide:nat-width">
<description>
The preferred, or natural, width of the guide.

</description>
</property>

<property name="GtkConstraintGuide:strength">
<description>
The #GtkConstraintStrength to be used for the constraint on
the natural size of the guide.

</description>
</property>

<enum name="GtkConstraintRelation">
<description>
The relation between two terms of a constraint.

</description>
<parameters>
<parameter name="GTK_CONSTRAINT_RELATION_EQ">
<parameter_description> Equal
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_RELATION_LE">
<parameter_description> Less than, or equal
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_RELATION_GE">
<parameter_description> Greater than, or equal
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkConstraintStrength">
<description>
The strength of a constraint, expressed as a symbolic constant.

The strength of a #GtkConstraint can be expressed with any positive
integer; the values of this enumeration can be used for readability.

</description>
<parameters>
<parameter name="GTK_CONSTRAINT_STRENGTH_REQUIRED">
<parameter_description> The constraint is required towards solving the layout
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_STRENGTH_STRONG">
<parameter_description> A strong constraint
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_STRENGTH_MEDIUM">
<parameter_description> A medium constraint
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_STRENGTH_WEAK">
<parameter_description> A weak constraint
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkConstraintVflParserError">
<description>
Domain for VFL parsing errors.

</description>
<parameters>
<parameter name="GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL">
<parameter_description> Invalid or unknown symbol
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE">
<parameter_description> Invalid or unknown attribute
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW">
<parameter_description> Invalid or unknown view
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC">
<parameter_description> Invalid or unknown metric
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY">
<parameter_description> Invalid or unknown priority
</parameter_description>
</parameter>
<parameter name="GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION">
<parameter_description> Invalid or unknown relation
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkCornerType">
<description>
Specifies which corner a child widget should be placed in when packed into
a #GtkScrolledWindow. This is effectively the opposite of where the scroll
bars are placed.

</description>
<parameters>
<parameter name="GTK_CORNER_TOP_LEFT">
<parameter_description> Place the scrollbars on the right and bottom of the
widget (default behaviour).
</parameter_description>
</parameter>
<parameter name="GTK_CORNER_BOTTOM_LEFT">
<parameter_description> Place the scrollbars on the top and right of the
widget.
</parameter_description>
</parameter>
<parameter name="GTK_CORNER_TOP_RIGHT">
<parameter_description> Place the scrollbars on the left and bottom of the
widget.
</parameter_description>
</parameter>
<parameter name="GTK_CORNER_BOTTOM_RIGHT">
<parameter_description> Place the scrollbars on the top and left of the
widget.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkCssParserError">
<description>
Errors that can occur while parsing CSS.

These errors are unexpected and will cause parts of the given CSS
to be ignored.

</description>
<parameters>
<parameter name="GTK_CSS_PARSER_ERROR_FAILED">
<parameter_description> Unknown failure.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_PARSER_ERROR_SYNTAX">
<parameter_description> The given text does not form valid
syntax
</parameter_description>
</parameter>
<parameter name="GTK_CSS_PARSER_ERROR_IMPORT">
<parameter_description> Failed to import a resource
</parameter_description>
</parameter>
<parameter name="GTK_CSS_PARSER_ERROR_NAME">
<parameter_description> The given name has not been defined
</parameter_description>
</parameter>
<parameter name="GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE">
<parameter_description> The given value is not
correct
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkCssParserWarning">
<description>
Warnings that can occur while parsing CSS.

Unlike #GtkCssParserErrors, warnings do not cause the parser to
skip any input, but they indicate issues that should be fixed.

</description>
<parameters>
<parameter name="GTK_CSS_PARSER_WARNING_DEPRECATED">
<parameter_description> The given construct is
deprecated and will be removed in a future version
</parameter_description>
</parameter>
<parameter name="GTK_CSS_PARSER_WARNING_SYNTAX">
<parameter_description> A syntax construct was used
that should be avoided
</parameter_description>
</parameter>
<parameter name="GTK_CSS_PARSER_WARNING_UNIMPLEMENTED">
<parameter_description> A feature is not
implemented
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkCssProvider::parsing-error">
<description>
Signals that a parsing error occurred. the @path, @line and @position
describe the actual location of the error as accurately as possible.

Parsing errors are never fatal, so the parsing will resume after
the error. Errors may however cause parts of the given
data or even all of it to not be parsed at all. So it is a useful idea
to check that the parsing succeeds by connecting to this signal.

Note that this signal may be emitted at any time as the css provider
may opt to defer parsing parts or all of the input to a later time
than when a loading function was called.

</description>
<parameters>
<parameter name="provider">
<parameter_description> the provider that had a parsing error
</parameter_description>
</parameter>
<parameter name="section">
<parameter_description> section the error happened in
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> The parsing error
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkDeleteType">
<description>
See also: #GtkEntry::delete-from-cursor.

</description>
<parameters>
<parameter name="GTK_DELETE_CHARS">
<parameter_description> Delete characters.
</parameter_description>
</parameter>
<parameter name="GTK_DELETE_WORD_ENDS">
<parameter_description> Delete only the portion of the word to the
left/right of cursor if we’re in the middle of a word.
</parameter_description>
</parameter>
<parameter name="GTK_DELETE_WORDS">
<parameter_description> Delete words.
</parameter_description>
</parameter>
<parameter name="GTK_DELETE_DISPLAY_LINES">
<parameter_description> Delete display-lines. Display-lines
refers to the visible lines, with respect to to the current line
breaks. As opposed to paragraphs, which are defined by line
breaks in the input.
</parameter_description>
</parameter>
<parameter name="GTK_DELETE_DISPLAY_LINE_ENDS">
<parameter_description> Delete only the portion of the
display-line to the left/right of cursor.
</parameter_description>
</parameter>
<parameter name="GTK_DELETE_PARAGRAPH_ENDS">
<parameter_description> Delete to the end of the
paragraph. Like C-k in Emacs (or its reverse).
</parameter_description>
</parameter>
<parameter name="GTK_DELETE_PARAGRAPHS">
<parameter_description> Delete entire line. Like C-k in pico.
</parameter_description>
</parameter>
<parameter name="GTK_DELETE_WHITESPACE">
<parameter_description> Delete only whitespace. Like M-\ in Emacs.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkDialog::close">
<description>
The ::close signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user uses a keybinding to close
the dialog.

The default binding for this signal is the Escape key.

</description>
<parameters>
</parameters>
<return></return>
</signal>

<signal name="GtkDialog::response">
<description>
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.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> the response ID
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkDialog:use-header-bar">
<description>
%TRUE if the dialog uses a #GtkHeaderBar for action buttons
instead of the action-area.

For technical reasons, this property is declared as an integer
property, but you should only set it to %TRUE or %FALSE.

</description>
</property>

<enum name="GtkDialogFlags">
<description>
Flags used to influence dialog construction.

</description>
<parameters>
<parameter name="GTK_DIALOG_MODAL">
<parameter_description> Make the constructed dialog modal,
see gtk_window_set_modal()
</parameter_description>
</parameter>
<parameter name="GTK_DIALOG_DESTROY_WITH_PARENT">
<parameter_description> Destroy the dialog when its
parent is destroyed, see gtk_window_set_destroy_with_parent()
</parameter_description>
</parameter>
<parameter name="GTK_DIALOG_USE_HEADER_BAR">
<parameter_description> Create dialog with actions in header
bar instead of action area
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkDirectionType">
<description>
Focus movement types.

</description>
<parameters>
<parameter name="GTK_DIR_TAB_FORWARD">
<parameter_description> Move forward.
</parameter_description>
</parameter>
<parameter name="GTK_DIR_TAB_BACKWARD">
<parameter_description> Move backward.
</parameter_description>
</parameter>
<parameter name="GTK_DIR_UP">
<parameter_description> Move up.
</parameter_description>
</parameter>
<parameter name="GTK_DIR_DOWN">
<parameter_description> Move down.
</parameter_description>
</parameter>
<parameter name="GTK_DIR_LEFT">
<parameter_description> Move left.
</parameter_description>
</parameter>
<parameter name="GTK_DIR_RIGHT">
<parameter_description> Move right.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkDragSource::drag-begin">
<description>
The ::drag-begin signal is emitted on the drag source when a drag
is started. It can be used to e.g. set a custom drag icon with
gtk_drag_source_set_icon().

</description>
<parameters>
<parameter name="source">
<parameter_description> the #GtkDragSource
</parameter_description>
</parameter>
<parameter name="drag">
<parameter_description> the #GtkDrag object
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkDragSource::drag-cancel">
<description>
The ::drag-cancel signal is emitted on the drag source when a drag has
failed. The signal handler may handle a failed drag operation based on
the type of error. It should return %TRUE if the failure has been handled
and the default &quot;drag operation failed&quot; animation should not be shown.


</description>
<parameters>
<parameter name="source">
<parameter_description> the #GtkDragSource
</parameter_description>
</parameter>
<parameter name="drag">
<parameter_description> the #GtkDrag object
</parameter_description>
</parameter>
<parameter name="reason">
<parameter_description> information on why the drag failed
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the failed drag operation has been already handled
</return>
</signal>

<signal name="GtkDragSource::drag-end">
<description>
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 #GtkDragSource::prepare or #GtkDragSource::drag-begin.

</description>
<parameters>
<parameter name="source">
<parameter_description> the #GtkDragSource
</parameter_description>
</parameter>
<parameter name="drag">
<parameter_description> the #GtkDrag object
</parameter_description>
</parameter>
<parameter name="delete_data">
<parameter_description> %TRUE if the drag was performing %GDK_ACTION_MOVE,
and the data should be deleted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkDragSource::prepare">
<description>
The ::prepare signal is emitted when a drag is about to be initiated.
It returns the * #GdkContentProvider to use for the drag that is about
to start. The default handler for this signal returns the value of
the #GtkDragSource::content property, so if you set up that property
ahead of time, you don't need to connect to this signal.


</description>
<parameters>
<parameter name="source">
<parameter_description> the #GtkDragSource
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the X coordinate of the drag starting point
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the Y coordinate fo the drag starting point
</parameter_description>
</parameter>
</parameters>
<return> a #GdkContentProvider, or %NULL
</return>
</signal>

<property name="GtkDragSource:actions">
<description>
The actions that are supported by drag operations from the source.

Note that you must handle the #GtkDragSource::drag-end signal
if the actions include %GDK_ACTION_MOVE.

</description>
</property>

<property name="GtkDragSource:content">
<description>
The data that is offered by drag operations from this source,
in the form of a #GdkContentProvider.

</description>
</property>

<property name="GtkDrawingArea:content-height">
<description>
The content height. See gtk_drawing_area_set_content_height() for details.

</description>
</property>

<property name="GtkDrawingArea:content-width">
<description>
The content width. See gtk_drawing_area_set_content_width() for details.

</description>
</property>

<signal name="GtkDropTarget::drag-drop">
<description>
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 gdk_drop_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 after receiving the data.

To receive the data, use one of the read functions provides by #GtkDrop
and #GtkDragDest: gdk_drop_read_async(), gdk_drop_read_value_async(),
gdk_drop_read_text_async(), gtk_drop_target_read_selection().

You can use gtk_drop_target_get_drop() to obtain the #GtkDrop object
for the ongoing operation in your signal handler. If you call one of the
read functions in your handler, GTK will ensure that the #GtkDrop object
stays alive until the read is completed. If you delay obtaining the data
(e.g. to handle %GDK_ACTION_ASK by showing a #GtkPopover), you need to
hold a reference on the #GtkDrop.


</description>
<parameters>
<parameter name="dest">
<parameter_description> the #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="drop">
<parameter_description> the #GdkDrop
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate of the current cursor position
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the current cursor position
</parameter_description>
</parameter>
</parameters>
<return> whether the cursor position is in a drop zone
</return>
</signal>

<signal name="GtkDropTarget::drag-enter">
<description>
The ::drag-enter signal is emitted on the drop site when the cursor
enters the widget. It can be used to set up custom highlighting.

</description>
<parameters>
<parameter name="dest">
<parameter_description> the #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="drop">
<parameter_description> the #GdkDrop
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkDropTarget::drag-leave">
<description>
The ::drag-leave signal is emitted on the drop site when the cursor
leaves the widget. Its main purpose it to undo things done in
#GtkDropTarget::drag-enter.

</description>
<parameters>
<parameter name="dest">
<parameter_description> the #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="drop">
<parameter_description> the #GdkDrop
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkDropTarget::drag-motion">
<description>
The ::drag motion signal is emitted while the pointer is moving
over the drop target.

</description>
<parameters>
<parameter name="dest">
<parameter_description> the #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="drop">
<parameter_description> the #GdkDrop
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate of the current cursor position
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the current cursor position
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkDropTarget:actions">
<description>
The #GdkDragActions that this drop target supports

</description>
</property>

<property name="GtkDropTarget:contains">
<description>
Whether the drop target is currently the targed of an ongoing drag operation,
and highlighted.

</description>
</property>

<property name="GtkDropTarget:formats">
<description>
The #GdkContentFormats that determines the supported data formats

</description>
</property>

<signal name="GtkEditable::changed">
<description>
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).

</description>
<parameters>
<parameter name="editable">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEditable::delete-text">
<description>
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().

</description>
<parameters>
<parameter name="editable">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="start_pos">
<parameter_description> the starting position
</parameter_description>
</parameter>
<parameter name="end_pos">
<parameter_description> the end position
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEditable::insert-text">
<description>
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.

</description>
<parameters>
<parameter name="editable">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the new text to insert
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of the new text, in bytes,
or -1 if new_text is nul-terminated
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position, in characters,
at which to insert the new text. this is an in-out
parameter.  After the signal emission is finished, it
should point after the newly inserted text.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEmojiChooser::emoji-picked">
<description>
The ::emoji-picked signal is emitted when the user selects an
Emoji.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> the #GtkEmojiChooser
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the Unicode sequence for the picked Emoji, in UTF-8
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEntry::icon-press">
<description>
The ::icon-press signal is emitted when an activatable icon
is clicked.

</description>
<parameters>
<parameter name="entry">
<parameter_description> The entry on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> The position of the clicked icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEntry::icon-release">
<description>
The ::icon-release signal is emitted on the button release from a
mouse click over an activatable icon.

</description>
<parameters>
<parameter name="entry">
<parameter_description> The entry on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> The position of the clicked icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEntry::show-emoji-icon">
<description>
When this is %TRUE, the entry will show an emoji icon in the secondary
icon position that brings up the Emoji chooser when clicked.

</description>
<parameters>
</parameters>
<return></return>
</signal>

<signal name="GtkEntry::tabs">
<description>
A list of tabstops to apply to the text of the entry.

</description>
<parameters>
</parameters>
<return></return>
</signal>

<property name="GtkEntry:attributes">
<description>
A list of Pango attributes to apply to the text of the entry.

This is mainly useful to change the size or weight of the text.

The #PangoAttribute's @start_index and @end_index must refer to the
#GtkEntryBuffer text, i.e. without the preedit string.

</description>
</property>

<property name="GtkEntry:completion">
<description>
The auxiliary completion object to use with the entry.

</description>
</property>

<property name="GtkEntry:extra-menu">
<description>
A menu model whose contents will be appended to
the context menu.

</description>
</property>

<property name="GtkEntry:im-module">
<description>
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.

</description>
</property>

<property name="GtkEntry:input-hints">
<description>
Additional hints (beyond #GtkEntry:input-purpose) that
allow input methods to fine-tune their behaviour.

</description>
</property>

<property name="GtkEntry:input-purpose">
<description>
The purpose of this text field.

This property can be used by on-screen keyboards and other input
methods to adjust their behaviour.

Note that setting the purpose to %GTK_INPUT_PURPOSE_PASSWORD or
%GTK_INPUT_PURPOSE_PIN is independent from setting
#GtkEntry:visibility.

</description>
</property>

<property name="GtkEntry:invisible-char-set">
<description>
Whether the invisible char has been set for the #GtkEntry.

</description>
</property>

<property name="GtkEntry:overwrite-mode">
<description>
If text is overwritten when typing in the #GtkEntry.

</description>
</property>

<property name="GtkEntry:placeholder-text">
<description>
The text that will be displayed in the #GtkEntry when it is empty
and unfocused.

</description>
</property>

<property name="GtkEntry:primary-icon-activatable">
<description>
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.

</description>
</property>

<property name="GtkEntry:primary-icon-gicon">
<description>
The #GIcon to use for the primary icon for the entry.

</description>
</property>

<property name="GtkEntry:primary-icon-name">
<description>
The icon name to use for the primary icon for the entry.

</description>
</property>

<property name="GtkEntry:primary-icon-paintable">
<description>
A #GdkPaintable to use as the primary icon for the entry.

</description>
</property>

<property name="GtkEntry:primary-icon-sensitive">
<description>
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.

</description>
</property>

<property name="GtkEntry:primary-icon-storage-type">
<description>
The representation which is used for the primary icon of the entry.

</description>
</property>

<property name="GtkEntry:primary-icon-tooltip-markup">
<description>
The contents of the tooltip on the primary icon, which is marked up
with the [Pango text markup language][PangoMarkupFormat].

Also see gtk_entry_set_icon_tooltip_markup().

</description>
</property>

<property name="GtkEntry:primary-icon-tooltip-text">
<description>
The contents of the tooltip on the primary icon.

Also see gtk_entry_set_icon_tooltip_text().

</description>
</property>

<property name="GtkEntry:progress-fraction">
<description>
The current fraction of the task that's been completed.

</description>
</property>

<property name="GtkEntry:progress-pulse-step">
<description>
The fraction of total entry width to move the progress
bouncing block for each call to gtk_entry_progress_pulse().

</description>
</property>

<property name="GtkEntry:secondary-icon-activatable">
<description>
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.

</description>
</property>

<property name="GtkEntry:secondary-icon-gicon">
<description>
The #GIcon to use for the secondary icon for the entry.

</description>
</property>

<property name="GtkEntry:secondary-icon-name">
<description>
The icon name to use for the secondary icon for the entry.

</description>
</property>

<property name="GtkEntry:secondary-icon-paintable">
<description>
A #GdkPaintable to use as the secondary icon for the entry.

</description>
</property>

<property name="GtkEntry:secondary-icon-sensitive">
<description>
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.

</description>
</property>

<property name="GtkEntry:secondary-icon-storage-type">
<description>
The representation which is used for the secondary icon of the entry.

</description>
</property>

<property name="GtkEntry:secondary-icon-tooltip-markup">
<description>
The contents of the tooltip on the secondary icon, which is marked up
with the [Pango text markup language][PangoMarkupFormat].

Also see gtk_entry_set_icon_tooltip_markup().

</description>
</property>

<property name="GtkEntry:secondary-icon-tooltip-text">
<description>
The contents of the tooltip on the secondary icon.

Also see gtk_entry_set_icon_tooltip_text().

</description>
</property>

<property name="GtkEntry:text-length">
<description>
The length of the text in the #GtkEntry.

</description>
</property>

<property name="GtkEntry:truncate-multiline">
<description>
When %TRUE, pasted multi-line text is truncated to the first line.

</description>
</property>

<signal name="GtkEntryBuffer::deleted-text">
<description>
The text is altered in the default handler for this signal. If you want
access to the text after the text has been modified, use
%G_CONNECT_AFTER.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position the text was deleted at.
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> The number of characters that were deleted.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEntryBuffer::inserted-text">
<description>
This signal is emitted after text is inserted into the buffer.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position the text was inserted at.
</parameter_description>
</parameter>
<parameter name="chars">
<parameter_description> The text that was inserted.
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> The number of characters that were inserted.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkEntryBuffer:length">
<description>
The length (in characters) of the text in buffer.

</description>
</property>

<property name="GtkEntryBuffer:max-length">
<description>
The maximum length (in characters) of the text in the buffer.

</description>
</property>

<property name="GtkEntryBuffer:text">
<description>
The contents of the buffer.

</description>
</property>

<signal name="GtkEntryCompletion::action-activated">
<description>
Gets emitted when an action is activated.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="index">
<parameter_description> the index of the activated action
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEntryCompletion::cursor-on-match">
<description>
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.

Note that @model is the model that was passed to
gtk_entry_completion_set_model().


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the #GtkTreeModel containing the matches
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTreeIter positioned at the selected match
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal has been handled
</return>
</signal>

<signal name="GtkEntryCompletion::insert-prefix">
<description>
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 '/'.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="prefix">
<parameter_description> the common prefix of all possible completions
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal has been handled
</return>
</signal>

<signal name="GtkEntryCompletion::match-selected">
<description>
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.

Note that @model is the model that was passed to
gtk_entry_completion_set_model().


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the #GtkTreeModel containing the matches
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTreeIter positioned at the selected match
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal has been handled
</return>
</signal>

<signal name="GtkEntryCompletion::no-matches">
<description>
Gets emitted when the filter model has zero
number of rows in completion_complete method.
(In other words when GtkEntryCompletion is out of
suggestions)

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkEntryCompletion:cell-area">
<description>
The #GtkCellArea used to layout cell renderers in the treeview column.

If no area is specified when creating the entry completion with
gtk_entry_completion_new_with_area() a horizontally oriented
#GtkCellAreaBox will be used.

</description>
</property>

<property name="GtkEntryCompletion:inline-completion">
<description>
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.

</description>
</property>

<property name="GtkEntryCompletion:inline-selection">
<description>
Determines whether the possible completions on the popup
will appear in the entry as you navigate through them.

</description>
</property>

<property name="GtkEntryCompletion:popup-completion">
<description>
Determines whether the possible completions should be
shown in a popup window.

</description>
</property>

<property name="GtkEntryCompletion:popup-set-width">
<description>
Determines whether the completions popup window will be
resized to the width of the entry.

</description>
</property>

<property name="GtkEntryCompletion:popup-single-match">
<description>
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
[inline completion][GtkEntryCompletion--inline-completion].

</description>
</property>

<property name="GtkEntryCompletion:text-column">
<description>
The column of the model containing the strings.
Note that the strings must be UTF-8.

</description>
</property>

<enum name="GtkEntryIconPosition">
<description>
Specifies the side of the entry at which an icon is placed.

</description>
<parameters>
<parameter name="GTK_ENTRY_ICON_PRIMARY">
<parameter_description> At the beginning of the entry (depending on the text direction).
</parameter_description>
</parameter>
<parameter name="GTK_ENTRY_ICON_SECONDARY">
<parameter_description> At the end of the entry (depending on the text direction).
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkEventController:propagation-limit">
<description>
The limit for which events this controller will handle.

</description>
</property>

<property name="GtkEventController:propagation-phase">
<description>
The propagation phase at which this controller will handle events.

</description>
</property>

<property name="GtkEventController:widget">
<description>
The widget receiving the #GdkEvents that the controller will handle.

</description>
</property>

<signal name="GtkEventControllerKey::focus-in">
<description>
This signal is emitted whenever the widget controlled
by the @controller or one of its descendants) is given
the keyboard focus.

</description>
<parameters>
<parameter name="controller">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> crossing mode indicating what caused this change
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> detail indication where the focus is coming from
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerKey::focus-out">
<description>
This signal is emitted whenever the widget controlled
by the @controller (or one of its descendants) loses
the keyboard focus.

</description>
<parameters>
<parameter name="controller">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> crossing mode indicating what caused this change
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> detail indication where the focus is going
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerKey::im-update">
<description>
This signal is emitted whenever the input method context filters away a
keypress and prevents the @controller receiving it. See
gtk_event_controller_key_set_im_context() and
gtk_im_context_filter_keypress().

</description>
<parameters>
<parameter name="controller">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerKey::key-pressed">
<description>
This signal is emitted whenever a key is pressed.


</description>
<parameters>
<parameter name="controller">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the pressed key.
</parameter_description>
</parameter>
<parameter name="keycode">
<parameter_description> the raw code of the pressed key.
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the bitmask, representing the state of modifier keys and pointer buttons. See #GdkModifierType.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the key press was handled, %FALSE otherwise.
</return>
</signal>

<signal name="GtkEventControllerKey::key-released">
<description>
This signal is emitted whenever a key is released.

</description>
<parameters>
<parameter name="controller">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the released key.
</parameter_description>
</parameter>
<parameter name="keycode">
<parameter_description> the raw code of the released key.
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the bitmask, representing the state of modifier keys and pointer buttons. See #GdkModifierType.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerKey::modifiers">
<description>
This signal is emitted whenever the state of modifier keys and pointer
buttons change.

</description>
<parameters>
<parameter name="controller">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the released key.
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the bitmask, representing the new state of modifier keys and
pointer buttons. See #GdkModifierType.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkEventControllerKey:contains-focus">
<description>
Whether focus is contain in the controllers widget. See
See #GtkEventControllerKey:is-focus for whether the focus is in the widget itself
or inside a descendent.

When handling focus events, this property is updated
before #GtkEventControllerKey::focus-in or
#GtkEventControllerKey::focus-out are emitted.

</description>
</property>

<property name="GtkEventControllerKey:is-focus">
<description>
Whether focus is in the controllers widget itself,
opposed to in a descendent widget. See also
#GtkEventControllerKey:contains-focus.

When handling focus events, this property is updated
before #GtkEventControllerKey::focus-in or
#GtkEventControllerKey::focus-out are emitted.

</description>
</property>

<signal name="GtkEventControllerLegacy::event">
<description>
Emitted for each GDK event delivered to @controller.


</description>
<parameters>
<parameter name="controller">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEvent which triggered this signal
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to stop other handlers from being invoked for the event
and the emission of this signal. %FALSE to propagate the event further.
</return>
</signal>

<signal name="GtkEventControllerMotion::enter">
<description>
Signals that the pointer has entered the widget.

</description>
<parameters>
<parameter name="controller">
<parameter_description> The object that received the signal
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate
</parameter_description>
</parameter>
<parameter name="crossing_mode">
<parameter_description> the crossing mode of this event
</parameter_description>
</parameter>
<parameter name="notify_type">
<parameter_description> the kind of crossing event
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerMotion::leave">
<description>
Signals that pointer has left the widget.

</description>
<parameters>
<parameter name="controller">
<parameter_description> The object that received the signal
</parameter_description>
</parameter>
<parameter name="crossing_mode">
<parameter_description> the crossing mode of this event
</parameter_description>
</parameter>
<parameter name="notify_type">
<parameter_description> the kind of crossing event
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerMotion::motion">
<description>
Emitted when the pointer moves inside the widget.

</description>
<parameters>
<parameter name="controller">
<parameter_description> The object that received the signal
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkEventControllerMotion:contains-pointer">
<description>
Whether the pointer is in the controllers widget or a descendant.
See also #GtkEventControllerMotion:is-pointer.

When handling crossing events, this property is updated
before #GtkEventControllerMotion::enter or
#GtkEventControllerMotion::leave are emitted.

</description>
</property>

<property name="GtkEventControllerMotion:is-pointer">
<description>
Whether the pointer is in the controllers widget itself,
as opposed to in a descendent widget. See also
#GtkEventControllerMotion:contains-pointer.

When handling crossing events, this property is updated
before #GtkEventControllerMotion::enter or
#GtkEventControllerMotion::leave are emitted.

</description>
</property>

<signal name="GtkEventControllerScroll::decelerate">
<description>
Emitted after scroll is finished if the #GTK_EVENT_CONTROLLER_SCROLL_KINETIC
flag is set. @vel_x and @vel_y express the initial velocity that was
imprinted by the scroll events. @vel_x and @vel_y are expressed in
pixels/ms.

</description>
<parameters>
<parameter name="controller">
<parameter_description> The object that received the signal
</parameter_description>
</parameter>
<parameter name="vel_x">
<parameter_description> X velocity
</parameter_description>
</parameter>
<parameter name="vel_y">
<parameter_description> Y velocity
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerScroll::scroll">
<description>
Signals that the widget should scroll by the
amount specified by @dx and @dy.


</description>
<parameters>
<parameter name="controller">
<parameter_description> The object that received the signal
</parameter_description>
</parameter>
<parameter name="dx">
<parameter_description> X delta
</parameter_description>
</parameter>
<parameter name="dy">
<parameter_description> Y delta
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the scroll event was handled, %FALSE otherwise.
</return>
</signal>

<signal name="GtkEventControllerScroll::scroll-begin">
<description>
Signals that a new scrolling operation has begun. It will
only be emitted on devices capable of it.

</description>
<parameters>
<parameter name="controller">
<parameter_description> The object that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEventControllerScroll::scroll-end">
<description>
Signals that a new scrolling operation has finished. It will
only be emitted on devices capable of it.

</description>
<parameters>
<parameter name="controller">
<parameter_description> The object that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkEventControllerScroll:flags">
<description>
The flags affecting event controller behavior

</description>
</property>

<enum name="GtkEventControllerScrollFlags">
<description>
Describes the behavior of a #GtkEventControllerScroll.

</description>
<parameters>
<parameter name="GTK_EVENT_CONTROLLER_SCROLL_NONE">
<parameter_description> Don't emit scroll.
</parameter_description>
</parameter>
<parameter name="GTK_EVENT_CONTROLLER_SCROLL_VERTICAL">
<parameter_description> Emit scroll with vertical deltas.
</parameter_description>
</parameter>
<parameter name="GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL">
<parameter_description> Emit scroll with horizontal deltas.
</parameter_description>
</parameter>
<parameter name="GTK_EVENT_CONTROLLER_SCROLL_DISCRETE">
<parameter_description> Only emit deltas that are multiples of 1.
</parameter_description>
</parameter>
<parameter name="GTK_EVENT_CONTROLLER_SCROLL_KINETIC">
<parameter_description> Emit #GtkEventControllerScroll::decelerate
after continuous scroll finishes.
</parameter_description>
</parameter>
<parameter name="GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES">
<parameter_description> Emit scroll on both axes.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkEventSequenceState">
<description>
Describes the state of a #GdkEventSequence in a #GtkGesture.

</description>
<parameters>
<parameter name="GTK_EVENT_SEQUENCE_NONE">
<parameter_description> The sequence is handled, but not grabbed.
</parameter_description>
</parameter>
<parameter name="GTK_EVENT_SEQUENCE_CLAIMED">
<parameter_description> The sequence is handled and grabbed.
</parameter_description>
</parameter>
<parameter name="GTK_EVENT_SEQUENCE_DENIED">
<parameter_description> The sequence is denied.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkExpander:resize-toplevel">
<description>
When this property is %TRUE, the expander will resize the toplevel
widget containing the expander upon expanding and collapsing.

</description>
</property>

<signal name="GtkFileChooser::confirm-overwrite">
<description>
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 standard 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 standard confirmation
dialog should be used, it should return
%GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example
illustrates this.

## Custom confirmation ## {#gtkfilechooser-confirmation}

|[&lt;!-- language=&quot;C&quot; --&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);
]|


</description>
<parameters>
<parameter name="chooser">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return> a #GtkFileChooserConfirmation value that indicates which
action to take after emitting the signal.
</return>
</signal>

<signal name="GtkFileChooser::current-folder-changed">
<description>
This signal is emitted when the current folder in a #GtkFileChooser
changes.  This can happen due to the user performing some action that
changes folders, such as selecting a bookmark or visiting a folder on the
file list.  It can also happen as a result of calling a function to
explicitly change the current folder in a file chooser.

Normally you do not need to connect to this signal, unless you need to keep
track of which folder a file chooser is showing.

See also:  gtk_file_chooser_set_current_folder(),
gtk_file_chooser_get_current_folder(),
gtk_file_chooser_set_current_folder_uri(),
gtk_file_chooser_get_current_folder_uri().

</description>
<parameters>
<parameter name="chooser">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooser::file-activated">
<description>
This signal is emitted when the user &quot;activates&quot; a file in the file
chooser.  This can happen by double-clicking on a file in the file list, or
by pressing `Enter`.

Normally you do not need to connect to this signal.  It is used internally
by #GtkFileChooserDialog to know when to activate the default button in the
dialog.

See also: gtk_file_chooser_get_filename(),
gtk_file_chooser_get_filenames(), gtk_file_chooser_get_uri(),
gtk_file_chooser_get_uris().

</description>
<parameters>
<parameter name="chooser">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooser::selection-changed">
<description>
This signal is emitted when there is a change in the set of selected files
in a #GtkFileChooser.  This can happen when the user modifies the selection
with the mouse or the keyboard, or when explicitly calling functions to
change the selection.

Normally you do not need to connect to this signal, as it is easier to wait
for the file chooser to finish running, and then to get the list of
selected files using the functions mentioned below.

See also: gtk_file_chooser_select_filename(),
gtk_file_chooser_unselect_filename(), gtk_file_chooser_get_filename(),
gtk_file_chooser_get_filenames(), gtk_file_chooser_select_uri(),
gtk_file_chooser_unselect_uri(), gtk_file_chooser_get_uri(),
gtk_file_chooser_get_uris().

</description>
<parameters>
<parameter name="chooser">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooser::update-preview">
<description>
This signal is emitted when the preview in a file chooser should be
regenerated.  For example, this can happen when the currently selected file
changes.  You should use this signal if you want your file chooser to have
a preview widget.

Once you have installed a preview widget with
gtk_file_chooser_set_preview_widget(), you should update it when this
signal is emitted.  You can use the functions
gtk_file_chooser_get_preview_filename() or
gtk_file_chooser_get_preview_uri() to get the name of the file to preview.
Your widget may not be able to preview all kinds of files; your callback
must call gtk_file_chooser_set_preview_widget_active() to inform the file
chooser about whether the preview was generated successfully or not.

Please see the example code in
[Using a Preview Widget][gtkfilechooser-preview].

See also: gtk_file_chooser_set_preview_widget(),
gtk_file_chooser_set_preview_widget_active(),
gtk_file_chooser_set_use_preview_label(),
gtk_file_chooser_get_preview_filename(),
gtk_file_chooser_get_preview_uri().

</description>
<parameters>
<parameter name="chooser">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkFileChooser:create-folders">
<description>
Whether a file chooser not in %GTK_FILE_CHOOSER_ACTION_OPEN mode
will offer the user to create new folders.

</description>
</property>

<property name="GtkFileChooser:do-overwrite-confirmation">
<description>
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.

</description>
</property>

<enum name="GtkFileChooserAction">
<description>
Describes whether a #GtkFileChooser is being used to open existing files
or to save to a possibly new file.

</description>
<parameters>
<parameter name="GTK_FILE_CHOOSER_ACTION_OPEN">
<parameter_description> Indicates open mode.  The file chooser
will only let the user pick an existing file.
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_ACTION_SAVE">
<parameter_description> Indicates save mode.  The file chooser
will let the user pick an existing file, or type in a new
filename.
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER">
<parameter_description> Indicates an Open mode for
selecting folders.  The file chooser will let the user pick an
existing folder.
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER">
<parameter_description> Indicates a mode for creating a
new folder.  The file chooser will let the user name an existing or
new folder.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkFileChooserButton::file-set">
<description>
The ::file-set signal is emitted when the user selects a file.

Note that this signal is only emitted when the user
changes the file.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkFileChooserButton:dialog">
<description>
Instance of the #GtkFileChooserDialog associated with the button.

</description>
</property>

<property name="GtkFileChooserButton:title">
<description>
Title to put on the #GtkFileChooserDialog associated with the button.

</description>
</property>

<property name="GtkFileChooserButton:width-chars">
<description>
The width of the entry and label inside the button, in characters.

</description>
</property>

<enum name="GtkFileChooserConfirmation">
<description>
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’s choice of a filename, or
let the user choose another filename.

</description>
<parameters>
<parameter name="GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM">
<parameter_description> The file chooser will present
its stock dialog to confirm about overwriting an existing file.
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME">
<parameter_description> The file chooser will
terminate and accept the user’s choice of a file name.
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN">
<parameter_description> The file chooser will
continue running, so as to let the user select another file name.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkFileChooserError">
<description>
These identify the various errors that can occur while calling
#GtkFileChooser functions.

</description>
<parameters>
<parameter name="GTK_FILE_CHOOSER_ERROR_NONEXISTENT">
<parameter_description> Indicates that a file does not exist.
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_ERROR_BAD_FILENAME">
<parameter_description> Indicates a malformed filename.
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS">
<parameter_description> Indicates a duplicate path (e.g. when
adding a bookmark).
</parameter_description>
</parameter>
<parameter name="GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME">
<parameter_description> Indicates an incomplete hostname (e.g. &quot;http://foo&quot; without a slash after that).
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkFileChooserNative:accept-label">
<description>
The text used for the label on the accept button in the dialog, or
%NULL to use the default text.

</description>
</property>

<property name="GtkFileChooserNative:cancel-label">
<description>
The text used for the label on the cancel button in the dialog, or
%NULL to use the default text.

</description>
</property>

<signal name="GtkFileChooserWidget::desktop-folder">
<description>
The ::desktop-folder signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser show the user's Desktop
folder in the file list.

The default binding for this signal is `Alt + D`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::down-folder">
<description>
The ::down-folder signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser go to a child of the current folder
in the file hierarchy. The subfolder that will be used is displayed in the
path bar widget of the file chooser. For example, if the path bar is showing
&quot;/foo/bar/baz&quot;, with bar currently displayed, then this will cause the file
chooser to switch to the &quot;baz&quot; subfolder.

The default binding for this signal is `Alt + Down`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::home-folder">
<description>
The ::home-folder signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser show the user's home
folder in the file list.

The default binding for this signal is `Alt + Home`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::location-popup">
<description>
The ::location-popup signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser show a &quot;Location&quot; prompt which
the user can use to manually type the name of the file he wishes to select.

The default bindings for this signal are `Control + L` with a @path string
of &quot;&quot; (the empty string).  It is also bound to `/` with a @path string of
&quot;`/`&quot; (a slash):  this lets you type `/` and immediately type a path name.
On Unix systems, this is bound to `~` (tilde) with a @path string of &quot;~&quot;
itself for access to home directories.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a string that gets put in the text entry for the file name
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::location-popup-on-paste">
<description>
The ::location-popup-on-paste signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser show a &quot;Location&quot; prompt when the user
pastes into a #GtkFileChooserWidget.

The default binding for this signal is `Control + V`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::location-toggle-popup">
<description>
The ::location-toggle-popup signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to toggle the visibility of a &quot;Location&quot; prompt which the user
can use to manually type the name of the file he wishes to select.

The default binding for this signal is `Control + L`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::places-shortcut">
<description>
The ::places-shortcut signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to move the focus to the places sidebar.

The default binding for this signal is `Alt + P`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::quick-bookmark">
<description>
The ::quick-bookmark signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser switch to the bookmark specified
in the @bookmark_index parameter. For example, if you have three bookmarks,
you can pass 0, 1, 2 to this signal to switch to each of them, respectively.

The default binding for this signal is `Alt + 1`, `Alt + 2`,
etc. until `Alt + 0`.  Note that in the default binding, that
`Alt + 1` is actually defined to switch to the bookmark at index
0, and so on successively; `Alt + 0` is defined to switch to the
bookmark at index 10.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="bookmark_index">
<parameter_description> the number of the bookmark to switch to
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::recent-shortcut">
<description>
The ::recent-shortcut signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser show the Recent location.

The default binding for this signal is `Alt + R`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::search-shortcut">
<description>
The ::search-shortcut signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser show the search entry.

The default binding for this signal is `Alt + S`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::show-hidden">
<description>
The ::show-hidden signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser display hidden files.

The default binding for this signal is `Control + H`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFileChooserWidget::up-folder">
<description>
The ::up-folder signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

This is used to make the file chooser go to the parent of the current folder
in the file hierarchy.

The default binding for this signal is `Alt + Up`.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkFileFilterFlags">
<description>
These flags indicate what parts of a #GtkFileFilterInfo struct
are filled or need to be filled. 

</description>
<parameters>
<parameter name="GTK_FILE_FILTER_FILENAME">
<parameter_description> the filename of the file being tested
</parameter_description>
</parameter>
<parameter name="GTK_FILE_FILTER_URI">
<parameter_description> the URI for the file being tested
</parameter_description>
</parameter>
<parameter name="GTK_FILE_FILTER_DISPLAY_NAME">
<parameter_description> the string that will be used to 
display the file in the file chooser
</parameter_description>
</parameter>
<parameter name="GTK_FILE_FILTER_MIME_TYPE">
<parameter_description> the mime type of the file
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkFilterListModel:has-filter">
<description>
If a filter is set for this model

</description>
</property>

<property name="GtkFilterListModel:item-type">
<description>
The #GType for elements of this object

</description>
</property>

<property name="GtkFilterListModel:model">
<description>
The model being filtered

</description>
</property>

<property name="GtkFlattenListModel:item-type">
<description>
The #GTpe for elements of this object

</description>
</property>

<property name="GtkFlattenListModel:model">
<description>
The model being flattened

</description>
</property>

<signal name="GtkFlowBox::activate-cursor-child">
<description>
The ::activate-cursor-child signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user activates the @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkFlowBox on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFlowBox::child-activated">
<description>
The ::child-activated signal is emitted when a child has been
activated by the user.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkFlowBox on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child that is activated
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFlowBox::move-cursor">
<description>
The ::move-cursor signal is a
[keybinding signal][GtkBindingSignal]
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 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.
- Arrow keys move by individual children
- Home/End keys move to the ends of the box
- PageUp/PageDown keys move vertically by pages


</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkFlowBox on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the granularity fo the move, as a #GtkMovementStep
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @step units to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
</return>
</signal>

<signal name="GtkFlowBox::select-all">
<description>
The ::select-all signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to select all children of the box, if
the selection mode permits it.

The default bindings for this signal is Ctrl-a.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkFlowBox on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFlowBox::selected-children-changed">
<description>
The ::selected-children-changed signal is emitted when the
set of selected children changes.

Use gtk_flow_box_selected_foreach() or
gtk_flow_box_get_selected_children() to obtain the
selected children.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkFlowBox on wich the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFlowBox::toggle-cursor-child">
<description>
The ::toggle-cursor-child signal is a
[keybinding signal][GtkBindingSignal]
which toggles the selection of the child that has the focus.

The default binding for this signal is Ctrl-Space.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkFlowBox on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFlowBox::unselect-all">
<description>
The ::unselect-all signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to unselect all children of the box, if
the selection mode permits it.

The default bindings for this signal is Ctrl-Shift-a.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkFlowBox on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkFlowBox:activate-on-single-click">
<description>
Determines whether children can be activated with a single
click, or require a double-click.

</description>
</property>

<property name="GtkFlowBox:column-spacing">
<description>
The amount of horizontal space between two children.

</description>
</property>

<property name="GtkFlowBox:homogeneous">
<description>
Determines whether all children should be allocated the
same size.

</description>
</property>

<property name="GtkFlowBox:max-children-per-line">
<description>
The maximum amount of children to request space for consecutively
in the given orientation.

</description>
</property>

<property name="GtkFlowBox:min-children-per-line">
<description>
The minimum number of children to allocate consecutively
in the given orientation.

Setting the minimum children per line ensures
that a reasonably small height will be requested
for the overall minimum width of the box.

</description>
</property>

<property name="GtkFlowBox:row-spacing">
<description>
The amount of vertical space between two children.

</description>
</property>

<property name="GtkFlowBox:selection-mode">
<description>
The selection mode used by the flow  box.

</description>
</property>

<signal name="GtkFlowBoxChild::activate">
<description>
The ::activate signal is emitted when the user activates
a child widget in a #GtkFlowBox, either by clicking or
double-clicking, or by using the Space or Enter key.

While this signal is used as a
[keybinding signal][GtkBindingSignal],
it can be used by applications for their own purposes.

</description>
<parameters>
<parameter name="child">
<parameter_description> The child on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkFontButton::font-set">
<description>
The ::font-set signal is emitted when the user selects a font. 
When handling this signal, use gtk_font_chooser_get_font()
to find out which font was just selected.

Note that this signal is only emitted when the user
changes the font. If you need to react to programmatic font changes
as well, use the notify::font signal.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkFontButton:title">
<description>
The title of the font chooser dialog.

</description>
</property>

<property name="GtkFontButton:use-font">
<description>
If this property is set to %TRUE, the label will be drawn 
in the selected font.

</description>
</property>

<property name="GtkFontButton:use-size">
<description>
If this property is set to %TRUE, the label will be drawn 
with the selected font size.

</description>
</property>

<signal name="GtkFontChooser::font-activated">
<description>
Emitted when a font is activated.
This usually happens when the user double clicks an item,
or an item is selected and the user presses one of the keys
Space, Shift+Space, Return or Enter.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="fontname">
<parameter_description> the font name
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkFontChooser:font">
<description>
The font description as a string, e.g. &quot;Sans Italic 12&quot;.

</description>
</property>

<property name="GtkFontChooser:font-desc">
<description>
The font description as a #PangoFontDescription.

</description>
</property>

<property name="GtkFontChooser:font-features">
<description>
The selected font features, in a format that is compatible with
CSS and with Pango attributes.

</description>
</property>

<property name="GtkFontChooser:language">
<description>
The language for which the #GtkFontChooser:font-features were
selected, in a format that is compatible with CSS and with Pango
attributes.

</description>
</property>

<property name="GtkFontChooser:level">
<description>
The level of granularity to offer for selecting fonts.

</description>
</property>

<property name="GtkFontChooser:preview-text">
<description>
The string with which to preview the font.

</description>
</property>

<property name="GtkFontChooser:show-preview-entry">
<description>
Whether to show an entry to change the preview text.

</description>
</property>

<enum name="GtkFontChooserLevel">
<description>
This enumeration specifies the granularity of font selection
that is desired in a font chooser.

This enumeration may be extended in the future; applications should
ignore unknown values.

</description>
<parameters>
<parameter name="GTK_FONT_CHOOSER_LEVEL_FAMILY">
<parameter_description> Allow selecting a font family
</parameter_description>
</parameter>
<parameter name="GTK_FONT_CHOOSER_LEVEL_STYLE">
<parameter_description> Allow selecting a specific font face
</parameter_description>
</parameter>
<parameter name="GTK_FONT_CHOOSER_LEVEL_SIZE">
<parameter_description> Allow selecting a specific font size
</parameter_description>
</parameter>
<parameter name="GTK_FONT_CHOOSER_LEVEL_VARIATIONS">
<parameter_description> Allow changing OpenType font variation axes
</parameter_description>
</parameter>
<parameter name="GTK_FONT_CHOOSER_LEVEL_FEATURES">
<parameter_description> Allow selecting specific OpenType font features
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkFontChooserWidget:tweak-action">
<description>
A toggle action that can be used to switch to the tweak page
of the font chooser widget, which lets the user tweak the
OpenType features and variation axes of the selected font.

The action will be enabled or disabled depending on whether
the selected font has any features or axes.

</description>
</property>

<signal name="GtkGLArea::create-context">
<description>
The ::create-context signal is emitted when the widget is being
realized, and allows you to override how the GL context is
created. This is useful when you want to reuse an existing GL
context, or if you want to try creating different kinds of GL
options.

If context creation fails then the signal handler can use
gtk_gl_area_set_error() to register a more detailed error
of how the construction failed.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkGLArea that emitted the signal
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GdkGLContext;
the #GtkGLArea widget will take ownership of the returned value.
</return>
</signal>

<signal name="GtkGLArea::render">
<description>
The ::render signal is emitted every time the contents
of the #GtkGLArea should be redrawn.

The @context is bound to the @area prior to emitting this function,
and the buffers are painted to the window once the emission terminates.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkGLArea that emitted the signal
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GdkGLContext used by @area
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
</return>
</signal>

<signal name="GtkGLArea::resize">
<description>
The ::resize signal is emitted once when the widget is realized, and
then each time the widget is changed while realized. This is useful
in order to keep GL state up to date with the widget size, like for
instance camera properties which may depend on the width/height ratio.

The GL context for the area is guaranteed to be current when this signal
is emitted.

The default handler sets up the GL viewport.

</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkGLArea that emitted the signal
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the viewport
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the viewport
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkGLArea:auto-render">
<description>
If set to %TRUE the #GtkGLArea::render signal will be emitted every time
the widget draws. This is the default and is useful if drawing the widget
is faster.

If set to %FALSE the data from previous rendering is kept around and will
be used for drawing the widget the next time, unless the window is resized.
In order to force a rendering gtk_gl_area_queue_render() must be called.
This mode is useful when the scene changes seldomly, but takes a long time
to redraw.

</description>
</property>

<property name="GtkGLArea:context">
<description>
The #GdkGLContext used by the #GtkGLArea widget.

The #GtkGLArea widget is responsible for creating the #GdkGLContext
instance. If you need to render with other kinds of buffers (stencil,
depth, etc), use render buffers.

</description>
</property>

<property name="GtkGLArea:has-depth-buffer">
<description>
If set to %TRUE the widget will allocate and enable a depth buffer for the
target framebuffer.

</description>
</property>

<property name="GtkGLArea:has-stencil-buffer">
<description>
If set to %TRUE the widget will allocate and enable a stencil buffer for the
target framebuffer.

</description>
</property>

<property name="GtkGLArea:use-es">
<description>
If set to %TRUE the widget will try to create a #GdkGLContext using
OpenGL ES instead of OpenGL.

See also: gdk_gl_context_set_use_es()

</description>
</property>

<signal name="GtkGesture::begin">
<description>
This signal is emitted when the gesture is recognized. This means the
number of touch sequences matches #GtkGesture:n-points, and the #GtkGesture::check
handler(s) returned #TRUE.

Note: These conditions may also happen when an extra touch (eg. a third touch
on a 2-touches gesture) is lifted, in that situation @sequence won't pertain
to the current set of active touches, so don't rely on this being true.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> the #GdkEventSequence that made the gesture to be recognized
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGesture::cancel">
<description>
This signal is emitted whenever a sequence is cancelled. This usually
happens on active touches when gtk_event_controller_reset() is called
on @gesture (manually, due to grabs...), or the individual @sequence
was claimed by parent widgets' controllers (see gtk_gesture_set_sequence_state()).

@gesture must forget everything about @sequence as a reaction to this signal.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> the #GdkEventSequence that was cancelled
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGesture::end">
<description>
This signal is emitted when @gesture either stopped recognizing the event
sequences as something to be handled (the #GtkGesture::check handler returned
%FALSE), or the number of touch sequences became higher or lower than
#GtkGesture:n-points.

Note: @sequence might not pertain to the group of sequences that were
previously triggering recognition on @gesture (ie. a just pressed touch
sequence that exceeds #GtkGesture:n-points). This situation may be detected
by checking through gtk_gesture_handles_sequence().

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> the #GdkEventSequence that made gesture recognition to finish
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGesture::sequence-state-changed">
<description>
This signal is emitted whenever a sequence state changes. See
gtk_gesture_set_sequence_state() to know more about the expectable
sequence lifetimes.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> the #GdkEventSequence that was cancelled
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the new sequence state
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGesture::update">
<description>
This signal is emitted whenever an event is handled while the gesture is
recognized. @sequence is guaranteed to pertain to the set of active touches.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> the #GdkEventSequence that was updated
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkGesture:n-points">
<description>
The number of touch points that trigger recognition on this gesture,

</description>
</property>

<signal name="GtkGestureClick::pressed">
<description>
This signal is emitted whenever a button or touch press happens.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="n_press">
<parameter_description> how many touch/button presses happened with this one
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> The X coordinate, in widget allocation coordinates
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> The Y coordinate, in widget allocation coordinates
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureClick::released">
<description>
This signal is emitted when a button or touch is released. @n_press
will report the number of press that is paired to this event, note
that #GtkGestureClick::stopped may have been emitted between the
press and its release, @n_press will only start over at the next press.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="n_press">
<parameter_description> number of press that is paired with this release
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> The X coordinate, in widget allocation coordinates
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> The Y coordinate, in widget allocation coordinates
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureClick::stopped">
<description>
This signal is emitted whenever any time/distance threshold has
been exceeded.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureClick::unpaired-release">
<description>
This signal is emitted whenever the gesture receives a release
event that had no previous corresponding press. Due to implicit
grabs, this can only happen on situations where input is grabbed
elsewhere mid-press or the pressed widget voluntarily relinquishes
its implicit grab.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate of the event
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate of the event
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> Button being released
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> Sequence being released
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureDrag::drag-begin">
<description>
This signal is emitted whenever dragging starts.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="start_x">
<parameter_description> X coordinate, relative to the widget allocation
</parameter_description>
</parameter>
<parameter name="start_y">
<parameter_description> Y coordinate, relative to the widget allocation
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureDrag::drag-end">
<description>
This signal is emitted whenever the dragging is finished.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="offset_x">
<parameter_description> X offset, relative to the start point
</parameter_description>
</parameter>
<parameter name="offset_y">
<parameter_description> Y offset, relative to the start point
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureDrag::drag-update">
<description>
This signal is emitted whenever the dragging point moves.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="offset_x">
<parameter_description> X offset, relative to the start point
</parameter_description>
</parameter>
<parameter name="offset_y">
<parameter_description> Y offset, relative to the start point
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureLongPress::cancelled">
<description>
This signal is emitted whenever a press moved too far, or was released
before #GtkGestureLongPress::pressed happened.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureLongPress::pressed">
<description>
This signal is emitted whenever a press goes unmoved/unreleased longer than
what the GTK+ defaults tell.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the X coordinate where the press happened, relative to the widget allocation
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the Y coordinate where the press happened, relative to the widget allocation
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGesturePan::pan">
<description>
This signal is emitted once a panning gesture along the
expected axis is detected.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> The object which received the signal
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> current direction of the pan gesture
</parameter_description>
</parameter>
<parameter name="offset">
<parameter_description> Offset along the gesture orientation
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkGesturePan:orientation">
<description>
The expected orientation of pan gestures.

</description>
</property>

<signal name="GtkGestureRotate::angle-changed">
<description>
This signal is emitted when the angle between both tracked points
changes.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="angle">
<parameter_description> Current angle in radians
</parameter_description>
</parameter>
<parameter name="angle_delta">
<parameter_description> Difference with the starting angle, in radians
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkGestureSingle:button">
<description>
Mouse button number to listen to, or 0 to listen for any button.

</description>
</property>

<property name="GtkGestureSingle:exclusive">
<description>
Whether the gesture is exclusive. Exclusive gestures only listen to pointer
and pointer emulated events.

</description>
</property>

<property name="GtkGestureSingle:touch-only">
<description>
Whether the gesture handles only touch events.

</description>
</property>

<signal name="GtkGestureSwipe::swipe">
<description>
This signal is emitted when the recognized gesture is finished, velocity
and direction are a product of previously recorded events.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> object which received the signal
</parameter_description>
</parameter>
<parameter name="velocity_x">
<parameter_description> velocity in the X axis, in pixels/sec
</parameter_description>
</parameter>
<parameter name="velocity_y">
<parameter_description> velocity in the Y axis, in pixels/sec
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkGestureZoom::scale-changed">
<description>
This signal is emitted whenever the distance between both tracked
sequences changes.

</description>
<parameters>
<parameter name="controller">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> Scale delta, taking the initial state as 1:1
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkGridLayout:baseline-row">
<description>
The row to align to the baseline, when #GtkWidget:valign is set
to %GTK_ALIGN_BASELINE.

</description>
</property>

<property name="GtkGridLayout:column-homogeneous">
<description>
Whether all the columns in the grid have the same width.

</description>
</property>

<property name="GtkGridLayout:column-spacing">
<description>
The amount of space between to consecutive columns.

</description>
</property>

<property name="GtkGridLayout:row-homogeneous">
<description>
Whether all the rows in the grid have the same height.

</description>
</property>

<property name="GtkGridLayout:row-spacing">
<description>
The amount of space between to consecutive rows.

</description>
</property>

<property name="GtkGridLayoutChild:column-span">
<description>
The number of columns the child spans to.

</description>
</property>

<property name="GtkGridLayoutChild:left-attach">
<description>
The column number to attach the left side of the child to.

</description>
</property>

<property name="GtkGridLayoutChild:row-span">
<description>
The number of rows the child spans to.

</description>
</property>

<property name="GtkGridLayoutChild:top-attach">
<description>
The row number to attach the top side of the child to.

</description>
</property>

<property name="GtkHeaderBar:decoration-layout">
<description>
The decoration layout for buttons. If this property is
not set, the #GtkSettings:gtk-decoration-layout setting
is used.

See gtk_header_bar_set_decoration_layout() for information
about the format of this string.

</description>
</property>

<property name="GtkHeaderBar:decoration-layout-set">
<description>
Set to %TRUE if #GtkHeaderBar:decoration-layout is set.

</description>
</property>

<property name="GtkHeaderBar:has-subtitle">
<description>
If %TRUE, reserve space for a subtitle, even if none
is currently set.

</description>
</property>

<property name="GtkHeaderBar:show-title-buttons">
<description>
Whether to show title buttons like close, minimize, maximize.

Which buttons are actually shown and where is determined
by the #GtkHeaderBar:decoration-layout property, and by
the state of the window (e.g. a close button will not be
shown if the window can't be closed).

</description>
</property>

<signal name="GtkIMContext::commit">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> the completed character(s) entered by the user
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIMContext::delete-surrounding">
<description>
The ::delete-surrounding signal is emitted when the input method
needs to delete all or part of the context surrounding the cursor.


</description>
<parameters>
<parameter name="context">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="offset">
<parameter_description>  the character offset from the cursor position of the text
to be deleted. A negative value indicates a position before
the cursor.
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> the number of characters to be deleted
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal was handled.
</return>
</signal>

<signal name="GtkIMContext::preedit-changed">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIMContext::preedit-end">
<description>
The ::preedit-end signal is emitted when a preediting sequence
has been completed or canceled.

</description>
<parameters>
<parameter name="context">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIMContext::preedit-start">
<description>
The ::preedit-start signal is emitted when a new preediting sequence
starts.

</description>
<parameters>
<parameter name="context">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIMContext::retrieve-surrounding">
<description>
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.


</description>
<parameters>
<parameter name="context">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal was handled.
</return>
</signal>

<enum name="GtkIconLookupFlags">
<description>
Used to specify options for gtk_icon_theme_lookup_icon()

</description>
<parameters>
<parameter name="GTK_ICON_LOOKUP_FORCE_REGULAR">
<parameter_description> Try to always load regular icons, even
when symbolic icon names are given
</parameter_description>
</parameter>
<parameter name="GTK_ICON_LOOKUP_FORCE_SYMBOLIC">
<parameter_description> Try to always load symbolic icons, even
when regular icon names are given
</parameter_description>
</parameter>
<parameter name="GTK_ICON_LOOKUP_PRELOAD">
<parameter_description> Starts loading the texture in the background
so it is ready when later needed.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkIconPaintable:file">
<description>
The file representing the icon, if any.

</description>
</property>

<property name="GtkIconPaintable:icon-name">
<description>
The icon name that was chosen during lookup.

</description>
</property>

<property name="GtkIconPaintable:is-symbolic">
<description>
Whether the icon is symbolic or not.

</description>
</property>

<enum name="GtkIconSize">
<description>
Built-in icon sizes.

Icon sizes default to being inherited. Where they cannot be
inherited, text size is the default.

All widgets which use GtkIconSize set the normal-icons or large-icons
style classes correspondingly, and let themes determine the actual size
to be used with the -gtk-icon-size CSS property.

</description>
<parameters>
<parameter name="GTK_ICON_SIZE_INHERIT">
<parameter_description> Keep the size of the parent element
</parameter_description>
</parameter>
<parameter name="GTK_ICON_SIZE_NORMAL">
<parameter_description> Size similar to text size
</parameter_description>
</parameter>
<parameter name="GTK_ICON_SIZE_LARGE">
<parameter_description> Large size, for example in an icon view
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkIconTheme::changed">
<description>
Emitted when the current icon theme is switched or GTK+ detects
that a change has occurred in the contents of the current
icon theme.

</description>
<parameters>
<parameter name="self">
<parameter_description> the icon theme
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkIconThemeError">
<description>
Error codes for GtkIconTheme operations.

</description>
<parameters>
<parameter name="GTK_ICON_THEME_NOT_FOUND">
<parameter_description> The icon specified does not exist in the theme
</parameter_description>
</parameter>
<parameter name="GTK_ICON_THEME_FAILED">
<parameter_description> An unspecified error occurred.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkIconView::activate-cursor-item">
<description>
A [keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIconView::item-activated">
<description>
The ::item-activated signal is emitted when the method
gtk_icon_view_item_activated() is called, when the user double
clicks an item with the &quot;activate-on-single-click&quot; property set
to %FALSE, or when the user single clicks an item when the
&quot;activate-on-single-click&quot; property set to %TRUE. It is also
emitted when a non-editable item is selected and one of the keys:
Space, Return or Enter is pressed.

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the #GtkTreePath for the activated item
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIconView::move-cursor">
<description>
The ::move-cursor signal is a
[keybinding signal][GtkBindingSignal]
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
- Arrow keys which move by individual steps
- Home/End keys which move to the first/last item
- PageUp/PageDown which move by &quot;pages&quot;
All of these will extend the selection when combined with
the Shift modifier.

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the granularity of the move, as a #GtkMovementStep
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @step units to move
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIconView::select-all">
<description>
A [keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIconView::select-cursor-item">
<description>
A [keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIconView::selection-changed">
<description>
The ::selection-changed signal is emitted when the selection
(i.e. the set of selected items) changes.

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIconView::toggle-cursor-item">
<description>
A [keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkIconView::unselect-all">
<description>
A [keybinding signal][GtkBindingSignal]
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. 

</description>
<parameters>
<parameter name="iconview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkIconView:activate-on-single-click">
<description>
The activate-on-single-click property specifies whether the &quot;item-activated&quot; signal
will be emitted after a single click.

</description>
</property>

<property name="GtkIconView:cell-area">
<description>
The #GtkCellArea used to layout cell renderers for this view.

If no area is specified when creating the icon view with gtk_icon_view_new_with_area() 
a #GtkCellAreaBox will be used.

</description>
</property>

<property name="GtkIconView:column-spacing">
<description>
The column-spacing property specifies the space which is inserted between
the columns of the icon view.

</description>
</property>

<property name="GtkIconView:columns">
<description>
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.

</description>
</property>

<property name="GtkIconView:item-orientation">
<description>
The item-orientation property specifies how the cells (i.e. the icon and
the text) of the item are positioned relative to each other.

</description>
</property>

<property name="GtkIconView:item-padding">
<description>
The item-padding property specifies the padding around each
of the icon view's item.

</description>
</property>

<property name="GtkIconView:item-width">
<description>
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.

</description>
</property>

<property name="GtkIconView:margin">
<description>
The margin property specifies the space which is inserted 
at the edges of the icon view.

</description>
</property>

<property name="GtkIconView:markup-column">
<description>
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.   

</description>
</property>

<property name="GtkIconView:pixbuf-column">
<description>
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.

</description>
</property>

<property name="GtkIconView:reorderable">
<description>
The reorderable property specifies if the items can be reordered
by DND.

</description>
</property>

<property name="GtkIconView:row-spacing">
<description>
The row-spacing property specifies the space which is inserted between
the rows of the icon view.

</description>
</property>

<property name="GtkIconView:selection-mode">
<description>
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.

</description>
</property>

<property name="GtkIconView:spacing">
<description>
The spacing property specifies the space which is inserted between
the cells (i.e. the icon and the text) of an item.

</description>
</property>

<property name="GtkIconView:text-column">
<description>
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.   

</description>
</property>

<enum name="GtkIconViewDropPosition">
<description>
An enum for determining where a dropped item goes.

</description>
<parameters>
<parameter name="GTK_ICON_VIEW_NO_DROP">
<parameter_description> no drop possible
</parameter_description>
</parameter>
<parameter name="GTK_ICON_VIEW_DROP_INTO">
<parameter_description> dropped item replaces the item
</parameter_description>
</parameter>
<parameter name="GTK_ICON_VIEW_DROP_LEFT">
<parameter_description> droppped item is inserted to the left
</parameter_description>
</parameter>
<parameter name="GTK_ICON_VIEW_DROP_RIGHT">
<parameter_description> dropped item is inserted to the right
</parameter_description>
</parameter>
<parameter name="GTK_ICON_VIEW_DROP_ABOVE">
<parameter_description> dropped item is inserted above
</parameter_description>
</parameter>
<parameter name="GTK_ICON_VIEW_DROP_BELOW">
<parameter_description> dropped item is inserted below
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkImage:gicon">
<description>
The GIcon displayed in the GtkImage. For themed icons,
If the icon theme is changed, the image will be updated
automatically.

</description>
</property>

<property name="GtkImage:icon-name">
<description>
The name of the icon in the icon theme. If the icon theme is
changed, the image will be updated automatically.

</description>
</property>

<property name="GtkImage:pixel-size">
<description>
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.

</description>
</property>

<property name="GtkImage:resource">
<description>
A path to a resource file to display.

</description>
</property>

<property name="GtkImage:use-fallback">
<description>
Whether the icon displayed in the GtkImage will use
standard icon names fallback. The value of this property
is only relevant for images of type %GTK_IMAGE_ICON_NAME
and %GTK_IMAGE_GICON.

</description>
</property>

<enum name="GtkImageType">
<description>
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_PAINTABLE, then you can
call gtk_image_get_paintable().  For empty images, you can request any
storage type (call any of the &quot;get&quot; functions), but they will all
return %NULL values.

</description>
<parameters>
<parameter name="GTK_IMAGE_EMPTY">
<parameter_description> there is no image displayed by the widget
</parameter_description>
</parameter>
<parameter name="GTK_IMAGE_ICON_NAME">
<parameter_description> the widget contains a named icon.
This image type was added in GTK+ 2.6
</parameter_description>
</parameter>
<parameter name="GTK_IMAGE_GICON">
<parameter_description> the widget contains a #GIcon.
This image type was added in GTK+ 2.14
</parameter_description>
</parameter>
<parameter name="GTK_IMAGE_PAINTABLE">
<parameter_description> the widget contains a #GdkPaintable.
This image type was added in GTK+ 3.96
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkInfoBar::close">
<description>
The ::close signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user uses a keybinding to dismiss
the info bar.

The default binding for this signal is the Escape key.

</description>
<parameters>
</parameters>
<return></return>
</signal>

<signal name="GtkInfoBar::response">
<description>
Emitted when an action widget is clicked or the application programmer
calls gtk_info_bar_response(). The @response_id depends on which action
widget was clicked.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> the response ID
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkInfoBar:message-type">
<description>
The type of the message.

The type may be used to determine the appearance of the info bar.

</description>
</property>

<property name="GtkInfoBar:show-close-button">
<description>
Whether to include a standard close button.

</description>
</property>

<enum name="GtkInputHints">
<description>
Describes hints that might be taken into account by input methods
or applications. Note that input methods may already tailor their
behaviour according to the #GtkInputPurpose of the entry.

Some common sense is expected when using these flags - mixing
@GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense.

This enumeration may be extended in the future; input methods should
ignore unknown values.

</description>
<parameters>
<parameter name="GTK_INPUT_HINT_NONE">
<parameter_description> No special behaviour suggested
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_SPELLCHECK">
<parameter_description> Suggest checking for typos
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_NO_SPELLCHECK">
<parameter_description> Suggest not checking for typos
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_WORD_COMPLETION">
<parameter_description> Suggest word completion
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_LOWERCASE">
<parameter_description> Suggest to convert all text to lowercase
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_UPPERCASE_CHARS">
<parameter_description> Suggest to capitalize all text
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_UPPERCASE_WORDS">
<parameter_description> Suggest to capitalize the first
character of each word
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_UPPERCASE_SENTENCES">
<parameter_description> Suggest to capitalize the
first word of each sentence
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_INHIBIT_OSK">
<parameter_description> Suggest to not show an onscreen keyboard
(e.g for a calculator that already has all the keys).
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_VERTICAL_WRITING">
<parameter_description> The text is vertical
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_EMOJI">
<parameter_description> Suggest offering Emoji support
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_HINT_NO_EMOJI">
<parameter_description> Suggest not offering Emoji support
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkInputPurpose">
<description>
Describes primary purpose of the input widget. This information is
useful for on-screen keyboards and similar input methods to decide
which keys should be presented to the user.

Note that the purpose is not meant to impose a totally strict rule
about allowed characters, and does not replace input validation.
It is fine for an on-screen keyboard to let the user override the
character set restriction that is expressed by the purpose. The
application is expected to validate the entry contents, even if
it specified a purpose.

The difference between @GTK_INPUT_PURPOSE_DIGITS and
@GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits
while the latter also some punctuation (like commas or points, plus,
minus) and “e” or “E” as in 3.14E+000.

This enumeration may be extended in the future; input methods should
interpret unknown values as “free form”.

</description>
<parameters>
<parameter name="GTK_INPUT_PURPOSE_FREE_FORM">
<parameter_description> Allow any character
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_ALPHA">
<parameter_description> Allow only alphabetic characters
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_DIGITS">
<parameter_description> Allow only digits
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_NUMBER">
<parameter_description> Edited field expects numbers
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_PHONE">
<parameter_description> Edited field expects phone number
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_URL">
<parameter_description> Edited field expects URL
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_EMAIL">
<parameter_description> Edited field expects email address
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_NAME">
<parameter_description> Edited field expects the name of a person
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_PASSWORD">
<parameter_description> Like @GTK_INPUT_PURPOSE_FREE_FORM, but characters are hidden
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_PIN">
<parameter_description> Like @GTK_INPUT_PURPOSE_DIGITS, but characters are hidden
</parameter_description>
</parameter>
<parameter name="GTK_INPUT_PURPOSE_TERMINAL">
<parameter_description> Allow any character, in addition to control codes
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkJustification">
<description>
Used for justifying the text inside a #GtkLabel widget. (See also
#GtkAlignment).

</description>
<parameters>
<parameter name="GTK_JUSTIFY_LEFT">
<parameter_description> The text is placed at the left edge of the label.
</parameter_description>
</parameter>
<parameter name="GTK_JUSTIFY_RIGHT">
<parameter_description> The text is placed at the right edge of the label.
</parameter_description>
</parameter>
<parameter name="GTK_JUSTIFY_CENTER">
<parameter_description> The text is placed in the center of the label.
</parameter_description>
</parameter>
<parameter name="GTK_JUSTIFY_FILL">
<parameter_description> The text is placed is distributed across the label.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkLabel::activate-current-link">
<description>
A [keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="label">
<parameter_description> The label on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkLabel::activate-link">
<description>
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_on_window().


</description>
<parameters>
<parameter name="label">
<parameter_description> The label on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI that is activated
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the link has been activated
</return>
</signal>

<signal name="GtkLabel::copy-clipboard">
<description>
The ::copy-clipboard signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to copy the selection to the clipboard.

The default binding for this signal is Ctrl-c.

</description>
<parameters>
<parameter name="label">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkLabel::move-cursor">
<description>
The ::move-cursor signal is a
[keybinding signal][GtkBindingSignal]
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.
- Arrow keys move by individual characters/lines
- Ctrl-arrow key combinations move by words/paragraphs
- Home/End keys move to the ends of the buffer

</description>
<parameters>
<parameter name="entry">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the granularity of the move, as a #GtkMovementStep
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @step units to move
</parameter_description>
</parameter>
<parameter name="extend_selection">
<parameter_description> %TRUE if the move should extend the selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkLabel:ellipsize">
<description>
The preferred place to ellipsize the string, if the label does
not have enough room to display the entire string, specified as a
#PangoEllipsizeMode.

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 #GtkNotebook tab-expand child property is set to %TRUE. Other ways
to set a label's width are gtk_widget_set_size_request() and
gtk_label_set_width_chars().

</description>
</property>

<property name="GtkLabel:extra-menu">
<description>
A menu model whose contents will be appended to
the context menu.

</description>
</property>

<property name="GtkLabel:label">
<description>
The contents of the label.

If the string contains [Pango XML markup][PangoMarkupFormat], you will
have to set the #GtkLabel:use-markup property to %TRUE in order for the
label to display the markup attributes. See also gtk_label_set_markup()
for a convenience function that sets both this property and the
#GtkLabel:use-markup property at the same time.

If the string contains underlines acting as mnemonics, you will have to
set the #GtkLabel:use-underline property to %TRUE in order for the label
to display them.

</description>
</property>

<property name="GtkLabel:lines">
<description>
The number of lines to which an ellipsized, wrapping label
should be limited. This property has no effect if the
label is not wrapping or ellipsized. Set this property to
-1 if you don't want to limit the number of lines.

</description>
</property>

<property name="GtkLabel:max-width-chars">
<description>
The desired maximum width of the label, in characters. If this property
is set to -1, the width will be calculated automatically.

See the section on [text layout][label-text-layout]
for details of how #GtkLabel:width-chars and #GtkLabel:max-width-chars
determine the width of ellipsized and wrapped labels.

</description>
</property>

<property name="GtkLabel:single-line-mode">
<description>
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.

</description>
</property>

<property name="GtkLabel:track-visited-links">
<description>
Set this property to %TRUE to make the label track which links
have been visited. It will then apply the #GTK_STATE_FLAG_VISITED
when rendering this link, in addition to #GTK_STATE_FLAG_LINK.

</description>
</property>

<property name="GtkLabel:width-chars">
<description>
The desired width of the label, in characters. If this property is set to
-1, the width will be calculated automatically.

See the section on [text layout][label-text-layout]
for details of how #GtkLabel:width-chars and #GtkLabel:max-width-chars
determine the width of ellipsized and wrapped labels.

</description>
</property>

<property name="GtkLabel:wrap-mode">
<description>
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.

</description>
</property>

<property name="GtkLabel:xalign">
<description>
The xalign property determines the horizontal aligment of the label text
inside the labels size allocation. Compare this to #GtkWidget:halign,
which determines how the labels size allocation is positioned in the
space available for the label.

</description>
</property>

<property name="GtkLabel:yalign">
<description>
The yalign property determines the vertical aligment of the label text
inside the labels size allocation. Compare this to #GtkWidget:valign,
which determines how the labels size allocation is positioned in the
space available for the label.

</description>
</property>

<property name="GtkLayoutChild:child-widget">
<description>
The widget that is associated to the #GtkLayoutChild instance.

</description>
</property>

<property name="GtkLayoutChild:layout-manager">
<description>
The layout manager that created the #GtkLayoutChild instance.

</description>
</property>

<signal name="GtkLevelBar::offset-changed">
<description>
Emitted when an offset specified on the bar changes value as an
effect to gtk_level_bar_add_offset_value() being called.

The signal supports detailed connections; you can connect to the
detailed signal &quot;changed::x&quot; in order to only receive callbacks when
the value of offset &quot;x&quot; changes.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the offset that changed value
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkLevelBar:inverted">
<description>
Level bars normally grow from top to bottom or left to right.
Inverted level bars grow in the opposite direction.

</description>
</property>

<property name="GtkLevelBar:max-value">
<description>
The #GtkLevelBar:max-value property determaxes the maximum value of
the interval that can be displayed by the bar.

</description>
</property>

<property name="GtkLevelBar:min-value">
<description>
The #GtkLevelBar:min-value property determines the minimum value of
the interval that can be displayed by the bar.

</description>
</property>

<property name="GtkLevelBar:mode">
<description>
The #GtkLevelBar:mode property determines the way #GtkLevelBar
interprets the value properties to draw the level fill area.
Specifically, when the value is #GTK_LEVEL_BAR_MODE_CONTINUOUS,
#GtkLevelBar will draw a single block representing the current value in
that area; when the value is #GTK_LEVEL_BAR_MODE_DISCRETE,
the widget will draw a succession of separate blocks filling the
draw area, with the number of blocks being equal to the units separating
the integral roundings of #GtkLevelBar:min-value and #GtkLevelBar:max-value.

</description>
</property>

<property name="GtkLevelBar:value">
<description>
The #GtkLevelBar:value property determines the currently
filled value of the level bar.

</description>
</property>

<enum name="GtkLevelBarMode">
<description>
Describes how #GtkLevelBar contents should be rendered.
Note that this enumeration could be extended with additional modes
in the future.

</description>
<parameters>
<parameter name="GTK_LEVEL_BAR_MODE_CONTINUOUS">
<parameter_description> the bar has a continuous mode
</parameter_description>
</parameter>
<parameter name="GTK_LEVEL_BAR_MODE_DISCRETE">
<parameter_description> the bar has a discrete mode
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkLicense">
<description>
The type of license for an application.

This enumeration can be expanded at later date.

</description>
<parameters>
<parameter name="GTK_LICENSE_UNKNOWN">
<parameter_description> No license specified
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_CUSTOM">
<parameter_description> A license text is going to be specified by the
developer
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_GPL_2_0">
<parameter_description> The GNU General Public License, version 2.0 or later
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_GPL_3_0">
<parameter_description> The GNU General Public License, version 3.0 or later
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_LGPL_2_1">
<parameter_description> The GNU Lesser General Public License, version 2.1 or later
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_LGPL_3_0">
<parameter_description> The GNU Lesser General Public License, version 3.0 or later
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_BSD">
<parameter_description> The BSD standard license
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_MIT_X11">
<parameter_description> The MIT/X11 standard license
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_ARTISTIC">
<parameter_description> The Artistic License, version 2.0
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_GPL_2_0_ONLY">
<parameter_description> The GNU General Public License, version 2.0 only
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_GPL_3_0_ONLY">
<parameter_description> The GNU General Public License, version 3.0 only
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_LGPL_2_1_ONLY">
<parameter_description> The GNU Lesser General Public License, version 2.1 only
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_LGPL_3_0_ONLY">
<parameter_description> The GNU Lesser General Public License, version 3.0 only
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_AGPL_3_0">
<parameter_description> The GNU Affero General Public License, version 3.0 or later
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_AGPL_3_0_ONLY">
<parameter_description> The GNU Affero General Public License, version 3.0 only
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkLinkButton::activate-link">
<description>
The ::activate-link signal is emitted each time the #GtkLinkButton
has been clicked.

The default handler will call gtk_show_uri_on_window() with the URI stored inside
the #GtkLinkButton:uri property.

To override the default behavior, you can connect to the ::activate-link
signal and stop the propagation of the signal by returning %TRUE from
your handler.

</description>
<parameters>
<parameter name="button">
<parameter_description> the #GtkLinkButton that emitted the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkLinkButton:uri">
<description>
The URI bound to this button.

</description>
</property>

<property name="GtkLinkButton:visited">
<description>
The 'visited' state of this button. A visited link is drawn in a
different color.

</description>
</property>

<signal name="GtkListBox::row-activated">
<description>
The ::row-activated signal is emitted when a row has been activated by the user.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkListBox
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> the activated row
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkListBox::row-selected">
<description>
The ::row-selected signal is emitted when a new row is selected, or
(with a %NULL @row) when the selection is cleared.

When the @box is using #GTK_SELECTION_MULTIPLE, this signal will not
give you the full picture of selection changes, and you should use
the #GtkListBox::selected-rows-changed signal instead.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkListBox
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> the selected row
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkListBox::select-all">
<description>
The ::select-all signal is a [keybinding signal][GtkBindingSignal]
which gets emitted to select all children of the box, if the selection
mode permits it.

The default bindings for this signal is Ctrl-a.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkListBox on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkListBox::selected-rows-changed">
<description>
The ::selected-rows-changed signal is emitted when the
set of selected rows changes.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkListBox on wich the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkListBox::unselect-all">
<description>
The ::unselect-all signal is a [keybinding signal][GtkBindingSignal]
which gets emitted to unselect all children of the box, if the selection
mode permits it.

The default bindings for this signal is Ctrl-Shift-a.

</description>
<parameters>
<parameter name="box">
<parameter_description> the #GtkListBox on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkListBoxRow::activate">
<description>
This is a keybinding signal, which will cause this row to be activated.

If you want to be notified when the user activates a row (by key or not),
use the #GtkListBox::row-activated signal on the row’s parent #GtkListBox.

</description>
<parameters>
</parameters>
<return></return>
</signal>

<property name="GtkListBoxRow:activatable">
<description>
The property determines whether the #GtkListBox::row-activated
signal will be emitted for this row.

</description>
</property>

<property name="GtkListBoxRow:selectable">
<description>
The property determines whether this row can be selected.

</description>
</property>

<property name="GtkMapListModel:has-map">
<description>
If a map is set for this model

</description>
</property>

<property name="GtkMapListModel:item-type">
<description>
The #GType for elements of this object

</description>
</property>

<property name="GtkMapListModel:model">
<description>
The model being mapped

</description>
</property>

<property name="GtkMediaControls:media-stream">
<description>
The media-stream managed by this object or %NULL if none.

</description>
</property>

<property name="GtkMediaFile:file">
<description>
The file being played back or %NULL if not playing a file.

</description>
</property>

<property name="GtkMediaFile:input-stream">
<description>
The stream being played back or %NULL if not playing a stream, like when playing a file.

</description>
</property>

<property name="GtkMediaStream:duration">
<description>
The stream's duration in microseconds or 0 if unknown.

</description>
</property>

<property name="GtkMediaStream:ended">
<description>
Set when playback has finished.

</description>
</property>

<property name="GtkMediaStream:error">
<description>
%NULL for a properly working stream or the #GError that the stream is in.

</description>
</property>

<property name="GtkMediaStream:has-audio">
<description>
Whether the stream contains audio

</description>
</property>

<property name="GtkMediaStream:has-video">
<description>
Whether the stream contains video

</description>
</property>

<property name="GtkMediaStream:loop">
<description>
Try to restart the media from the beginning once it ended.

</description>
</property>

<property name="GtkMediaStream:muted">
<description>
Whether the audio stream should be muted.

</description>
</property>

<property name="GtkMediaStream:playing">
<description>
Whether the stream is currently playing.

</description>
</property>

<property name="GtkMediaStream:prepared">
<description>
Whether the stream has finished initializing and existence of
audio and video is known.

</description>
</property>

<property name="GtkMediaStream:seekable">
<description>
Set unless the stream is known to not support seeking.

</description>
</property>

<property name="GtkMediaStream:seeking">
<description>
Set while a seek is in progress.

</description>
</property>

<property name="GtkMediaStream:timestamp">
<description>
The current presentation timestamp in microseconds.

</description>
</property>

<property name="GtkMediaStream:volume">
<description>
Volume of the audio stream.

</description>
</property>

<property name="GtkMenuButton:align-widget">
<description>
The #GtkWidget to use to align the menu with.

</description>
</property>

<property name="GtkMenuButton:direction">
<description>
The #GtkArrowType representing the direction in which the
menu or popover will be popped out.

</description>
</property>

<property name="GtkMenuButton:menu-model">
<description>
The #GMenuModel from which the popup will be created.

See gtk_menu_button_set_menu_model() for the interaction with the
#GtkMenuButton:popup property.

</description>
</property>

<property name="GtkMenuButton:popover">
<description>
The #GtkPopover that will be popped up when the button is clicked.

</description>
</property>

<enum name="GtkMenuDirectionType">
<description>
An enumeration representing directional movements within a menu.

</description>
<parameters>
<parameter name="GTK_MENU_DIR_PARENT">
<parameter_description> To the parent menu shell
</parameter_description>
</parameter>
<parameter name="GTK_MENU_DIR_CHILD">
<parameter_description> To the submenu, if any, associated with the item
</parameter_description>
</parameter>
<parameter name="GTK_MENU_DIR_NEXT">
<parameter_description> To the next menu item
</parameter_description>
</parameter>
<parameter name="GTK_MENU_DIR_PREV">
<parameter_description> To the previous menu item
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkMessageDialog:message-area">
<description>
The #GtkBox that corresponds to the message area of this dialog.  See
gtk_message_dialog_get_message_area() for a detailed description of this
area.

</description>
</property>

<property name="GtkMessageDialog:message-type">
<description>
The type of the message.

</description>
</property>

<property name="GtkMessageDialog:secondary-text">
<description>
The secondary text of the message dialog. 

</description>
</property>

<property name="GtkMessageDialog:secondary-use-markup">
<description>
%TRUE if the secondary text of the dialog includes Pango markup. 
See pango_parse_markup(). 

</description>
</property>

<property name="GtkMessageDialog:text">
<description>
The primary text of the message dialog. If the dialog has 
a secondary text, this will appear as the title.

</description>
</property>

<property name="GtkMessageDialog:use-markup">
<description>
%TRUE if the primary text of the dialog includes Pango markup. 
See pango_parse_markup(). 

</description>
</property>

<enum name="GtkMessageType">
<description>
The type of message being displayed in the dialog.

</description>
<parameters>
<parameter name="GTK_MESSAGE_INFO">
<parameter_description> Informational message
</parameter_description>
</parameter>
<parameter name="GTK_MESSAGE_WARNING">
<parameter_description> Non-fatal warning message
</parameter_description>
</parameter>
<parameter name="GTK_MESSAGE_QUESTION">
<parameter_description> Question requiring a choice
</parameter_description>
</parameter>
<parameter name="GTK_MESSAGE_ERROR">
<parameter_description> Fatal error message
</parameter_description>
</parameter>
<parameter name="GTK_MESSAGE_OTHER">
<parameter_description> None of the above
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkModelButton:active">
<description>
The state of the button. This is reflecting the state of the associated
#GAction.

</description>
</property>

<property name="GtkModelButton:icon">
<description>
A #GIcon that will be used if iconic appearance for the button is
desired.

</description>
</property>

<property name="GtkModelButton:iconic">
<description>
If this property is set, the button will show an icon if one is set.
If no icon is set, the text will be used. This is typically used for
horizontal sections of linked buttons.

</description>
</property>

<property name="GtkModelButton:indicator-size-group">
<description>
Containers like #GtkPopoverMenu can provide a size group
in this property to align the checks and radios of all
the model buttons in a menu.

</description>
</property>

<property name="GtkModelButton:menu-name">
<description>
The name of a submenu to open when the button is activated.  * If this is set, the button should not have an action associated with it.

</description>
</property>

<property name="GtkModelButton:role">
<description>
Specifies whether the button is a plain, check or radio button.
When #GtkActionable:action-name is set, the role will be determined
from the action and does not have to be set explicitly.

</description>
</property>

<property name="GtkModelButton:text">
<description>
The label for the button.

</description>
</property>

<property name="GtkModelButton:use-markup">
<description>
If %TRUE, XML tags in the text of the button are interpreted as by
pango_parse_markup() to format the enclosed spans of text. If %FALSE, the
text will be displayed verbatim.

</description>
</property>

<enum name="GtkMovementStep">
<description>

</description>
<parameters>
<parameter name="GTK_MOVEMENT_LOGICAL_POSITIONS">
<parameter_description> Move forward or back by graphemes
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_VISUAL_POSITIONS">
<parameter_description>  Move left or right by graphemes
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_WORDS">
<parameter_description>             Move forward or back by words
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_DISPLAY_LINES">
<parameter_description>     Move up or down lines (wrapped lines)
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_DISPLAY_LINE_ENDS">
<parameter_description> Move to either end of a line
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_PARAGRAPHS">
<parameter_description>        Move up or down paragraphs (newline-ended lines)
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_PARAGRAPH_ENDS">
<parameter_description>    Move to either end of a paragraph
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_PAGES">
<parameter_description>             Move by pages
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_BUFFER_ENDS">
<parameter_description>       Move to ends of the buffer
</parameter_description>
</parameter>
<parameter name="GTK_MOVEMENT_HORIZONTAL_PAGES">
<parameter_description>  Move horizontally by pages
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkNativeDialog::response">
<description>
Emitted when the user responds to the dialog.

When this is called the dialog has been hidden.

If you call gtk_native_dialog_hide() before the user responds to
the dialog this signal will not be emitted.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> the response ID
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkNativeDialog:modal">
<description>
Whether the window should be modal with respect to its transient parent.

</description>
</property>

<property name="GtkNativeDialog:title">
<description>
The title of the dialog window

</description>
</property>

<property name="GtkNativeDialog:transient-for">
<description>
The transient parent of the dialog, or %NULL for none.

</description>
</property>

<property name="GtkNativeDialog:visible">
<description>
Whether the window is currenlty visible.

</description>
</property>

<property name="GtkNoSelection:model">
<description>
The model being managed

</description>
</property>

<signal name="GtkNotebook::create-window">
<description>
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-name ).


</description>
<parameters>
<parameter name="notebook">
<parameter_description> the #GtkNotebook emitting the signal
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> the tab of @notebook that is being detached
</parameter_description>
</parameter>
</parameters>
<return> a #GtkNotebook that @page should be
added to, or %NULL.
</return>
</signal>

<signal name="GtkNotebook::page-added">
<description>
the ::page-added signal is emitted in the notebook
right after a page is added to the notebook.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> the #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child #GtkWidget affected
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the new page number for @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkNotebook::page-removed">
<description>
the ::page-removed signal is emitted in the notebook
right after a page is removed from the notebook.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> the #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child #GtkWidget affected
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the @child page number
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkNotebook::page-reordered">
<description>
the ::page-reordered signal is emitted in the notebook
right after a page has been reordered.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> the #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child #GtkWidget affected
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the new page number for @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkNotebook::switch-page">
<description>
Emitted when the user or a function changes the current page.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> the new current page
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the index of the page
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkNotebook:group-name">
<description>
Group name for tab drag and drop.

</description>
</property>

<enum name="GtkNumberUpLayout">
<description>
Used to determine the layout of pages on a sheet when printing
multiple pages per sheet.

</description>
<parameters>
<parameter name="GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM">
<parameter_description> ![](layout-lrtb.png)
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP">
<parameter_description> ![](layout-lrbt.png)
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM">
<parameter_description> ![](layout-rltb.png)
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP">
<parameter_description> ![](layout-rlbt.png)
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT">
<parameter_description> ![](layout-tblr.png)
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT">
<parameter_description> ![](layout-tbrl.png)
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT">
<parameter_description> ![](layout-btlr.png)
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT">
<parameter_description> ![](layout-btrl.png)
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkOrientable:orientation">
<description>
The orientation of the orientable.

</description>
</property>

<enum name="GtkOrientation">
<description>
Represents the orientation of widgets and other objects which can be switched
between horizontal and vertical orientation on the fly, like #GtkBox or
#GtkGesturePan.

</description>
<parameters>
<parameter name="GTK_ORIENTATION_HORIZONTAL">
<parameter_description> The element is in horizontal orientation.
</parameter_description>
</parameter>
<parameter name="GTK_ORIENTATION_VERTICAL">
<parameter_description> The element is in vertical orientation.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkOverflow">
<description>
Defines how content overflowing a given area should be handled, such as
with gtk_widget_set_overflow(). This property is modeled after the CSS overflow
property, but implements it only partially.

</description>
<parameters>
<parameter name="GTK_OVERFLOW_VISIBLE">
<parameter_description> No change is applied. Content is drawn at the specified
position.
</parameter_description>
</parameter>
<parameter name="GTK_OVERFLOW_HIDDEN">
<parameter_description> Content is clipped to the bounds of the area. Content
outside the area is not drawn and cannot be interacted with.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkOverlay::get-child-position">
<description>
The ::get-child-position signal is emitted to determine
the position and size of any overlay child widgets. A
handler for this signal should fill @allocation with
the desired position and size for @widget, relative to
the 'main' child of @overlay.

The default handler for this signal uses the @widget's
halign and valign properties to determine the position
and gives the widget its natural size (except that an
alignment of %GTK_ALIGN_FILL will cause the overlay to
be full-width/height). If the main child is a
#GtkScrolledWindow, the overlays are placed relative
to its contents.


</description>
<parameters>
<parameter name="overlay">
<parameter_description> the #GtkOverlay
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the child widget to position
</parameter_description>
</parameter>
<parameter name="allocation">
<parameter_description> return
location for the allocation
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the @allocation has been filled
</return>
</signal>

<enum name="GtkPackType">
<description>
Represents the packing location #GtkBox children

</description>
<parameters>
<parameter name="GTK_PACK_START">
<parameter_description> The child is packed into the start of the box
</parameter_description>
</parameter>
<parameter name="GTK_PACK_END">
<parameter_description> The child is packed into the end of the box
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPadActionType">
<description>
The type of a pad action.

</description>
<parameters>
<parameter name="GTK_PAD_ACTION_BUTTON">
<parameter_description> Action is triggered by a pad button
</parameter_description>
</parameter>
<parameter name="GTK_PAD_ACTION_RING">
<parameter_description> Action is triggered by a pad ring
</parameter_description>
</parameter>
<parameter name="GTK_PAD_ACTION_STRIP">
<parameter_description> Action is triggered by a pad strip
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPageOrientation">
<description>
See also gtk_print_settings_set_orientation().

</description>
<parameters>
<parameter name="GTK_PAGE_ORIENTATION_PORTRAIT">
<parameter_description> Portrait mode.
</parameter_description>
</parameter>
<parameter name="GTK_PAGE_ORIENTATION_LANDSCAPE">
<parameter_description> Landscape mode.
</parameter_description>
</parameter>
<parameter name="GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT">
<parameter_description> Reverse portrait mode.
</parameter_description>
</parameter>
<parameter name="GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE">
<parameter_description> Reverse landscape mode.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPageSet">
<description>
See also gtk_print_job_set_page_set().

</description>
<parameters>
<parameter name="GTK_PAGE_SET_ALL">
<parameter_description> All pages.
</parameter_description>
</parameter>
<parameter name="GTK_PAGE_SET_EVEN">
<parameter_description> Even pages.
</parameter_description>
</parameter>
<parameter name="GTK_PAGE_SET_ODD">
<parameter_description> Odd pages.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPanDirection">
<description>
Describes the panning direction of a #GtkGesturePan

</description>
<parameters>
<parameter name="GTK_PAN_DIRECTION_LEFT">
<parameter_description> panned towards the left
</parameter_description>
</parameter>
<parameter name="GTK_PAN_DIRECTION_RIGHT">
<parameter_description> panned towards the right
</parameter_description>
</parameter>
<parameter name="GTK_PAN_DIRECTION_UP">
<parameter_description> panned upwards
</parameter_description>
</parameter>
<parameter name="GTK_PAN_DIRECTION_DOWN">
<parameter_description> panned downwards
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkPaned::accept-position">
<description>
The ::accept-position signal is a 
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPaned::cancel-position">
<description>
The ::cancel-position signal is a 
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPaned::cycle-child-focus">
<description>
The ::cycle-child-focus signal is a 
[keybinding signal][GtkBindingSignal]
which gets emitted to cycle the focus between the children of the paned.

The default binding is f6.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
<parameter name="reversed">
<parameter_description> whether cycling backward or forward
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPaned::cycle-handle-focus">
<description>
The ::cycle-handle-focus signal is a 
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
<parameter name="reversed">
<parameter_description> whether cycling backward or forward
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPaned::move-handle">
<description>
The ::move-handle signal is a 
[keybinding signal][GtkBindingSignal]
which gets emitted to move the handle when the user is using key bindings 
to move it.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
<parameter name="scroll_type">
<parameter_description> a #GtkScrollType
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPaned::toggle-handle-focus">
<description>
The ::toggle-handle-focus is a 
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkPaned:max-position">
<description>
The largest possible value for the position property.
This property is derived from the size and shrinkability
of the widget's children.

</description>
</property>

<property name="GtkPaned:min-position">
<description>
The smallest possible value for the position property.
This property is derived from the size and shrinkability
of the widget's children.

</description>
</property>

<property name="GtkPaned:resize-child1">
<description>
The &quot;resize-child1&quot; property determines whether the first child expands and
shrinks along with the paned widget.

</description>
</property>

<property name="GtkPaned:resize-child2">
<description>
The &quot;resize-child2&quot; property determines whether the second child expands and
shrinks along with the paned widget.

</description>
</property>

<property name="GtkPaned:shrink-child1">
<description>
The &quot;shrink-child1&quot; property determines whether the first child can be made
smaller than its requisition.

</description>
</property>

<property name="GtkPaned:shrink-child2">
<description>
The &quot;shrink-child2&quot; property determines whether the second child can be made
smaller than its requisition.

</description>
</property>

<property name="GtkPaned:wide-handle">
<description>
Setting this property to %TRUE indicates that the paned needs
to provide stronger visual separation (e.g. because it separates
between two notebooks, whose tab rows would otherwise merge visually).

</description>
</property>

<property name="GtkPasswordEntry:extra-menu">
<description>
A menu model whose contents will be appended to
the context menu.

</description>
</property>

<enum name="GtkPickFlags">
<description>
Flags that influence the behavior of gtk_widget_pick()

</description>
<parameters>
<parameter name="GTK_PICK_DEFAULT">
<parameter_description> The default behavior, include widgets that are receiving events
</parameter_description>
</parameter>
<parameter name="GTK_PICK_INSENSITIVE">
<parameter_description> Include widgets that are insensitive
</parameter_description>
</parameter>
<parameter name="GTK_PICK_NON_TARGETABLE">
<parameter_description> Include widgets that are marked as non-targetable. See #GtkWidget::can-target 
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkPicture:alternative-text">
<description>
The alternative textual description for the picture.

</description>
</property>

<property name="GtkPicture:can-shrink">
<description>
If the #GtkPicture can be made smaller than the self it contains.

</description>
</property>

<property name="GtkPicture:file">
<description>
The #GFile that is displayed or %NULL if none.

</description>
</property>

<property name="GtkPicture:keep-aspect-ratio">
<description>
Whether the GtkPicture will render its contents trying to preserve the aspect
ratio of the contents.

</description>
</property>

<property name="GtkPicture:paintable">
<description>
The #GdkPaintable to be displayed by this #GtkPicture.

</description>
</property>

<enum name="GtkPolicyType">
<description>
Determines how the size should be computed to achieve the one of the
visibility mode for the scrollbars.

</description>
<parameters>
<parameter name="GTK_POLICY_ALWAYS">
<parameter_description> The scrollbar is always visible. The view size is
independent of the content.
</parameter_description>
</parameter>
<parameter name="GTK_POLICY_AUTOMATIC">
<parameter_description> The scrollbar will appear and disappear as necessary.
For example, when all of a #GtkTreeView can not be seen.
</parameter_description>
</parameter>
<parameter name="GTK_POLICY_NEVER">
<parameter_description> The scrollbar should never appear. In this mode the
content determines the size.
</parameter_description>
</parameter>
<parameter name="GTK_POLICY_EXTERNAL">
<parameter_description> Don't show a scrollbar, but don't force the
size to follow the content. This can be used e.g. to make multiple
scrolled windows share a scrollbar.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPopoverConstraint">
<description>
Describes constraints to positioning of popovers. More values
may be added to this enumeration in the future.

</description>
<parameters>
<parameter name="GTK_POPOVER_CONSTRAINT_NONE">
<parameter_description> Don't constrain the popover position
beyond what is imposed by the implementation
</parameter_description>
</parameter>
<parameter name="GTK_POPOVER_CONSTRAINT_WINDOW">
<parameter_description> Constrain the popover to the boundaries
of the window that it is attached to
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkPopoverMenuBar:menu-model">
<description>
The #GMenuModel from which the menu bar is created.

The model should only contain submenus as toplevel elements.

</description>
</property>

<enum name="GtkPopoverMenuFlags">
<description>
Flags that affect how popover menus are created from
a menu model.

</description>
<parameters>
<parameter name="GTK_POPOVER_MENU_NESTED">
<parameter_description> Create submenus as nested
popovers. Without this flag, submenus are created as
sliding pages that replace the main menu.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPositionType">
<description>
Describes which edge of a widget a certain feature is positioned at, e.g. the
tabs of a #GtkNotebook, the handle of a #GtkHandleBox or the label of a
#GtkScale.

</description>
<parameters>
<parameter name="GTK_POS_LEFT">
<parameter_description> The feature is at the left edge.
</parameter_description>
</parameter>
<parameter name="GTK_POS_RIGHT">
<parameter_description> The feature is at the right edge.
</parameter_description>
</parameter>
<parameter name="GTK_POS_TOP">
<parameter_description> The feature is at the top edge.
</parameter_description>
</parameter>
<parameter name="GTK_POS_BOTTOM">
<parameter_description> The feature is at the bottom edge.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPrintCapabilities">
<description>
An enum for specifying which features the print dialog should offer.
If neither %GTK_PRINT_CAPABILITY_GENERATE_PDF nor
%GTK_PRINT_CAPABILITY_GENERATE_PS is specified, GTK+ assumes that all
formats are supported.

</description>
<parameters>
<parameter name="GTK_PRINT_CAPABILITY_PAGE_SET">
<parameter_description> Print dialog will offer printing even/odd pages.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_COPIES">
<parameter_description> Print dialog will allow to print multiple copies.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_COLLATE">
<parameter_description> Print dialog will allow to collate multiple copies.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_REVERSE">
<parameter_description> Print dialog will allow to print pages in reverse order.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_SCALE">
<parameter_description> Print dialog will allow to scale the output.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_GENERATE_PDF">
<parameter_description> The program will send the document to
the printer in PDF format
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_GENERATE_PS">
<parameter_description> The program will send the document to
the printer in Postscript format
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_PREVIEW">
<parameter_description> Print dialog will offer a preview
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_NUMBER_UP">
<parameter_description> Print dialog will offer printing multiple
pages per sheet
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT">
<parameter_description> Print dialog will allow to rearrange
pages when printing multiple pages per sheet
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPrintDuplex">
<description>
See also gtk_print_settings_set_duplex().

</description>
<parameters>
<parameter name="GTK_PRINT_DUPLEX_SIMPLEX">
<parameter_description> No duplex.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_DUPLEX_HORIZONTAL">
<parameter_description> Horizontal duplex.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_DUPLEX_VERTICAL">
<parameter_description> Vertical duplex.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPrintError">
<description>
Error codes that identify various errors that can occur while
using the GTK+ printing support.

</description>
<parameters>
<parameter name="GTK_PRINT_ERROR_GENERAL">
<parameter_description> An unspecified error occurred.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_ERROR_INTERNAL_ERROR">
<parameter_description> An internal error occurred.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_ERROR_NOMEM">
<parameter_description> A memory allocation failed.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_ERROR_INVALID_FILE">
<parameter_description> An error occurred while loading a page setup
or paper size from a key file.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkPrintJob::status-changed">
<description>
Gets emitted when the status of a job changes. The signal handler
can use gtk_print_job_get_status() to obtain the new status.

</description>
<parameters>
<parameter name="job">
<parameter_description> the #GtkPrintJob object on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::begin-print">
<description>
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().

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkPrintContext for the current operation
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::create-custom-widget">
<description>
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.


</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return> A custom widget that gets embedded in
the print dialog, or %NULL
</return>
</signal>

<signal name="GtkPrintOperation::custom-widget-apply">
<description>
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.

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the custom widget added in create-custom-widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::done">
<description>
Emitted when the print operation run has finished doing
everything required for printing. 

@result gives you information about what happened during the run. 
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.

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="result">
<parameter_description> the result of the print operation
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::draw-page">
<description>
Emitted for every page that is printed. The signal handler
must render the @page_nr's page onto the cairo context obtained
from @context using gtk_print_context_get_cairo_context().
|[&lt;!-- language=&quot;C&quot; --&gt;
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.

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkPrintContext for the current operation
</parameter_description>
</parameter>
<parameter name="page_nr">
<parameter_description> the number of the currently printed page (0-based)
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::end-print">
<description>
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.

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkPrintContext for the current operation
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::paginate">
<description>
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'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.


</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkPrintContext for the current operation
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if pagination is complete
</return>
</signal>

<signal name="GtkPrintOperation::preview">
<description>
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).


</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="preview">
<parameter_description> the #GtkPrintOperationPreview for the current operation
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkPrintContext that will be used
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the #GtkWindow to use as window parent, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the listener wants to take over control of the preview
</return>
</signal>

<signal name="GtkPrintOperation::request-page-setup">
<description>
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.

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkPrintContext for the current operation
</parameter_description>
</parameter>
<parameter name="page_nr">
<parameter_description> the number of the currently printed page (0-based)
</parameter_description>
</parameter>
<parameter name="setup">
<parameter_description> the #GtkPageSetup 
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::status-changed">
<description>
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.

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperation::update-custom-widget">
<description>
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.

</description>
<parameters>
<parameter name="operation">
<parameter_description> the #GtkPrintOperation on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the custom widget added in create-custom-widget
</parameter_description>
</parameter>
<parameter name="setup">
<parameter_description> actual page setup
</parameter_description>
</parameter>
<parameter name="settings">
<parameter_description> actual print settings
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkPrintOperation:allow-async">
<description>
Determines whether the print operation may run asynchronously or not.

Some systems don'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.

</description>
</property>

<property name="GtkPrintOperation:current-page">
<description>
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.

</description>
</property>

<property name="GtkPrintOperation:custom-tab-label">
<description>
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.

</description>
</property>

<property name="GtkPrintOperation:default-page-setup">
<description>
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.

</description>
</property>

<property name="GtkPrintOperation:embed-page-setup">
<description>
If %TRUE, page size combo box and orientation combo box are embedded into page setup page.

</description>
</property>

<property name="GtkPrintOperation:export-filename">
<description>
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 
“Export to PDF” actions.

“Print to PDF” support is independent of this and is done
by letting the user pick the “Print to PDF” item from the 
list of printers in the print dialog.

</description>
</property>

<property name="GtkPrintOperation:has-selection">
<description>
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.

</description>
</property>

<property name="GtkPrintOperation:job-name">
<description>
A string used to identify the job (e.g. in monitoring 
applications like eggcups). 

If you don't set a job name, GTK+ picks a default one 
by numbering successive print jobs.

</description>
</property>

<property name="GtkPrintOperation:n-pages">
<description>
The number of pages in the document. 

This must 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.

</description>
</property>

<property name="GtkPrintOperation:n-pages-to-print">
<description>
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.

</description>
</property>

<property name="GtkPrintOperation:print-settings">
<description>
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().

</description>
</property>

<property name="GtkPrintOperation:show-progress">
<description>
Determines whether to show a progress dialog during the 
print operation.

</description>
</property>

<property name="GtkPrintOperation:status">
<description>
The status of the print operation.

</description>
</property>

<property name="GtkPrintOperation:status-string">
<description>
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. 

</description>
</property>

<property name="GtkPrintOperation:support-selection">
<description>
If %TRUE, the print operation will support print of selection.
This allows the print dialog to show a &quot;Selection&quot; button.

</description>
</property>

<property name="GtkPrintOperation:track-print-status">
<description>
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 “out of paper” 
issues, and when the print job actually reaches the printer. 
However, this is often implemented using polling, and should 
not be enabled unless needed.

</description>
</property>

<property name="GtkPrintOperation:unit">
<description>
The transformation for the cairo context obtained from
#GtkPrintContext is set up in such a way that distances 
are measured in units of @unit.

</description>
</property>

<property name="GtkPrintOperation:use-full-page">
<description>
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).

</description>
</property>

<enum name="GtkPrintOperationAction">
<description>
The @action parameter to gtk_print_operation_run()
determines what action the print operation should perform.

</description>
<parameters>
<parameter name="GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG">
<parameter_description> Show the print dialog.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_OPERATION_ACTION_PRINT">
<parameter_description> Start to print without showing
the print dialog, based on the current print settings.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_OPERATION_ACTION_PREVIEW">
<parameter_description> Show the print preview.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_OPERATION_ACTION_EXPORT">
<parameter_description> Export to a file. This requires
the export-filename property to be set.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkPrintOperationPreview::got-page-size">
<description>
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().

</description>
<parameters>
<parameter name="preview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the current #GtkPrintContext
</parameter_description>
</parameter>
<parameter name="page_setup">
<parameter_description> the #GtkPageSetup for the current page
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkPrintOperationPreview::ready">
<description>
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.

</description>
<parameters>
<parameter name="preview">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the current #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkPrintOperationResult">
<description>
A value of this type is returned by gtk_print_operation_run().

</description>
<parameters>
<parameter name="GTK_PRINT_OPERATION_RESULT_ERROR">
<parameter_description> An error has occurred.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_OPERATION_RESULT_APPLY">
<parameter_description> The print settings should be stored.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_OPERATION_RESULT_CANCEL">
<parameter_description> The print operation has been canceled,
the print settings should not be stored.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_OPERATION_RESULT_IN_PROGRESS">
<parameter_description> The print operation is not complete
yet. This value will only be returned when running asynchronously.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPrintPages">
<description>
See also gtk_print_job_set_pages()

</description>
<parameters>
<parameter name="GTK_PRINT_PAGES_ALL">
<parameter_description> All pages.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_PAGES_CURRENT">
<parameter_description> Current page.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_PAGES_RANGES">
<parameter_description> Range of pages.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_PAGES_SELECTION">
<parameter_description> Selected pages.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPrintQuality">
<description>
See also gtk_print_settings_set_quality().

</description>
<parameters>
<parameter name="GTK_PRINT_QUALITY_LOW">
<parameter_description> Low quality.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_QUALITY_NORMAL">
<parameter_description> Normal quality.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_QUALITY_HIGH">
<parameter_description> High quality.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_QUALITY_DRAFT">
<parameter_description> Draft quality.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPrintStatus">
<description>
The status gives a rough indication of the completion of a running
print operation.

</description>
<parameters>
<parameter name="GTK_PRINT_STATUS_INITIAL">
<parameter_description> The printing has not started yet; this
status is set initially, and while the print dialog is shown.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_PREPARING">
<parameter_description> This status is set while the begin-print
signal is emitted and during pagination.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_GENERATING_DATA">
<parameter_description> This status is set while the
pages are being rendered.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_SENDING_DATA">
<parameter_description> The print job is being sent off to the
printer.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_PENDING">
<parameter_description> The print job has been sent to the printer,
but is not printed for some reason, e.g. the printer may be stopped.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_PENDING_ISSUE">
<parameter_description> Some problem has occurred during
printing, e.g. a paper jam.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_PRINTING">
<parameter_description> The printer is processing the print job.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_FINISHED">
<parameter_description> The printing has been completed successfully.
</parameter_description>
</parameter>
<parameter name="GTK_PRINT_STATUS_FINISHED_ABORTED">
<parameter_description> The printing has been aborted.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkPrinter::details-acquired">
<description>
Gets emitted in response to a request for detailed information
about a printer from the print backend. The @success parameter
indicates if the information was actually obtained.

</description>
<parameters>
<parameter name="printer">
<parameter_description> the #GtkPrinter on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="success">
<parameter_description> %TRUE if the details were successfully acquired
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkPrinter:accepting-jobs">
<description>
This property is %TRUE if the printer is accepting jobs.

</description>
</property>

<property name="GtkPrinter:paused">
<description>
This property is %TRUE if this printer is paused. 
A paused printer still accepts jobs, but it does 
not print them.

</description>
</property>

<property name="GtkProgressBar:ellipsize">
<description>
The preferred place to ellipsize the string, if the progress bar does
not have enough room to display the entire string, specified as a
#PangoEllipsizeMode.

Note that setting this property to a value other than
%PANGO_ELLIPSIZE_NONE has the side-effect that the progress bar requests
only enough space to display the ellipsis (&quot;...&quot;). Another means to set a
progress bar's width is gtk_widget_set_size_request().

</description>
</property>

<property name="GtkProgressBar:show-text">
<description>
Sets whether the progress bar will show a text in addition
to the bar itself. The shown text is either the value of
the #GtkProgressBar:text property or, if that is %NULL,
the #GtkProgressBar:fraction value, as a percentage.

To make a progress bar that is styled and sized suitably for
showing text (even if the actual text is blank), set
#GtkProgressBar:show-text to %TRUE and #GtkProgressBar:text
to the empty string (not %NULL).

</description>
</property>

<enum name="GtkPropagationLimit">
<description>
Describes limits of a #GtkEventController for handling events
targeting other widgets.

</description>
<parameters>
<parameter name="GTK_LIMIT_NONE">
<parameter_description> Events are handled regardless of what their
target is.
</parameter_description>
</parameter>
<parameter name="GTK_LIMIT_SAME_NATIVE">
<parameter_description> Events are only handled if their target
is in the same #GtkNative as the event controllers widget. Note
that some event types have two targets (origin and destination).
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPropagationPhase">
<description>
Describes the stage at which events are fed into a #GtkEventController.

</description>
<parameters>
<parameter name="GTK_PHASE_NONE">
<parameter_description> Events are not delivered automatically. Those can be
manually fed through gtk_event_controller_handle_event(). This should
only be used when full control about when, or whether the controller
handles the event is needed.
</parameter_description>
</parameter>
<parameter name="GTK_PHASE_CAPTURE">
<parameter_description> Events are delivered in the capture phase. The
capture phase happens before the bubble phase, runs from the toplevel down
to the event widget. This option should only be used on containers that
might possibly handle events before their children do.
</parameter_description>
</parameter>
<parameter name="GTK_PHASE_BUBBLE">
<parameter_description> Events are delivered in the bubble phase. The bubble
phase happens after the capture phase, and before the default handlers
are run. This phase runs from the event widget, up to the toplevel.
</parameter_description>
</parameter>
<parameter name="GTK_PHASE_TARGET">
<parameter_description> Events are delivered in the default widget event handlers,
note that widget implementations must chain up on button, motion, touch and
grab broken handlers for controllers in this phase to be run.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkPropertyLookupListModel:item-type">
<description>
The #GType for elements of this object

</description>
</property>

<property name="GtkPropertyLookupListModel:object">
<description>
The root object

</description>
</property>

<property name="GtkPropertyLookupListModel:property">
<description>
Name of the property used for lookups

</description>
</property>

<signal name="GtkRadioButton::group-changed">
<description>
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.

</description>
<parameters>
<parameter name="button">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkRadioButton:group">
<description>
Sets a new group for a radio button.

</description>
</property>

<signal name="GtkRange::adjust-bounds">
<description>
Emitted before clamping a value, to give the application a
chance to adjust the bounds.

</description>
<parameters>
<parameter name="range">
<parameter_description> the #GtkRange that received the signal
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value before we clamp
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkRange::change-value">
<description>
The #GtkRange::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 GtkRange::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 #GtkRange:round-digits.


</description>
<parameters>
<parameter name="range">
<parameter_description> the #GtkRange that received the signal
</parameter_description>
</parameter>
<parameter name="scroll">
<parameter_description> the type of scroll action that was performed
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the new value resulting from the scroll action
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to prevent other handlers from being invoked for
the signal, %FALSE to propagate the signal further
</return>
</signal>

<signal name="GtkRange::move-slider">
<description>
Virtual function that moves the slider. Used for keybindings.

</description>
<parameters>
<parameter name="range">
<parameter_description> the #GtkRange that received the signal
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> how to move the slider
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkRange::value-changed">
<description>
Emitted when the range value changes.

</description>
<parameters>
<parameter name="range">
<parameter_description> the #GtkRange that received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkRange:fill-level">
<description>
The fill level (e.g. prebuffering of a network stream).
See gtk_range_set_fill_level().

</description>
</property>

<property name="GtkRange:restrict-to-fill-level">
<description>
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().

</description>
</property>

<property name="GtkRange:round-digits">
<description>
The number of digits to round the value to when
it changes, or -1. See #GtkRange::change-value.

</description>
</property>

<property name="GtkRange:show-fill-level">
<description>
The show-fill-level property controls whether fill level indicator
graphics are displayed on the trough. See
gtk_range_set_show_fill_level().

</description>
</property>

<signal name="GtkRecentManager::changed">
<description>
Emitted when the current recently used resources manager changes
its contents, either by calling gtk_recent_manager_add_item() or
by another application.

</description>
<parameters>
<parameter name="recent_manager">
<parameter_description> the recent manager
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkRecentManager:filename">
<description>
The full path to the file to be used to store and read the
recently used resources list

</description>
</property>

<property name="GtkRecentManager:size">
<description>
The size of the recently used resources list.

</description>
</property>

<enum name="GtkRecentManagerError">
<description>
Error codes for #GtkRecentManager operations

</description>
<parameters>
<parameter name="GTK_RECENT_MANAGER_ERROR_NOT_FOUND">
<parameter_description> the URI specified does not exists in
the recently used resources list.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_MANAGER_ERROR_INVALID_URI">
<parameter_description> the URI specified is not valid.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING">
<parameter_description> the supplied string is not
UTF-8 encoded.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED">
<parameter_description> no application has registered
the specified item.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_MANAGER_ERROR_READ">
<parameter_description> failure while reading the recently used
resources file.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_MANAGER_ERROR_WRITE">
<parameter_description> failure while writing the recently used
resources file.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_MANAGER_ERROR_UNKNOWN">
<parameter_description> unspecified error.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkReliefStyle">
<description>
Indicated the relief to be drawn around a #GtkButton.

</description>
<parameters>
<parameter name="GTK_RELIEF_NORMAL">
<parameter_description> Draw a normal relief.
</parameter_description>
</parameter>
<parameter name="GTK_RELIEF_NONE">
<parameter_description> No relief.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkResponseType">
<description>
Predefined values for use as response ids in gtk_dialog_add_button().
All predefined values are negative; GTK+ leaves values of 0 or greater for
application-defined response ids.

</description>
<parameters>
<parameter name="GTK_RESPONSE_NONE">
<parameter_description> Returned if an action widget has no response id,
or if the dialog gets programmatically hidden or destroyed
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_REJECT">
<parameter_description> Generic response id, not used by GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_ACCEPT">
<parameter_description> Generic response id, not used by GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_DELETE_EVENT">
<parameter_description> Returned if the dialog is deleted
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_OK">
<parameter_description> Returned by OK buttons in GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_CANCEL">
<parameter_description> Returned by Cancel buttons in GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_CLOSE">
<parameter_description> Returned by Close buttons in GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_YES">
<parameter_description> Returned by Yes buttons in GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_NO">
<parameter_description> Returned by No buttons in GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_APPLY">
<parameter_description> Returned by Apply buttons in GTK+ dialogs
</parameter_description>
</parameter>
<parameter name="GTK_RESPONSE_HELP">
<parameter_description> Returned by Help buttons in GTK+ dialogs
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkRevealerTransitionType">
<description>
These enumeration values describe the possible transitions
when the child of a #GtkRevealer widget is shown or hidden.

</description>
<parameters>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_NONE">
<parameter_description> No transition
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_CROSSFADE">
<parameter_description> Fade in
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT">
<parameter_description> Slide in from the left
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT">
<parameter_description> Slide in from the right
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP">
<parameter_description> Slide in from the bottom
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN">
<parameter_description> Slide in from the top
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT">
<parameter_description> Floop in from the left
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT">
<parameter_description> Floop in from the right
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SWING_UP">
<parameter_description> Floop in from the bottom
</parameter_description>
</parameter>
<parameter name="GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN">
<parameter_description> Floop in from the top
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkScaleButton::popdown">
<description>
The ::popdown signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to popdown the scale widget.

The default binding for this signal is Escape.

</description>
<parameters>
<parameter name="button">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkScaleButton::popup">
<description>
The ::popup signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to popup the scale widget.

The default bindings for this signal are Space, Enter and Return.

</description>
<parameters>
<parameter name="button">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkScaleButton::value-changed">
<description>
The ::value-changed signal is emitted when the value field has
changed.

</description>
<parameters>
<parameter name="button">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkScaleButton:icons">
<description>
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'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.

</description>
</property>

<property name="GtkScaleButton:orientation">
<description>
The orientation of the #GtkScaleButton's popup window.

Note that since GTK+ 2.16, #GtkScaleButton implements the
#GtkOrientable interface which has its own @orientation
property. However we redefine the property here in order to
override its default horizontal orientation.

</description>
</property>

<enum name="GtkScrollStep">
<description>

</description>
<parameters>
<parameter name="GTK_SCROLL_STEPS">
<parameter_description> Scroll in steps.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_PAGES">
<parameter_description> Scroll by pages.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_ENDS">
<parameter_description> Scroll to ends.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_HORIZONTAL_STEPS">
<parameter_description> Scroll in horizontal steps.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_HORIZONTAL_PAGES">
<parameter_description> Scroll by horizontal pages.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_HORIZONTAL_ENDS">
<parameter_description> Scroll to the horizontal ends.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkScrollType">
<description>
Scrolling types.

</description>
<parameters>
<parameter name="GTK_SCROLL_NONE">
<parameter_description> No scrolling.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_JUMP">
<parameter_description> Jump to new location.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_STEP_BACKWARD">
<parameter_description> Step backward.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_STEP_FORWARD">
<parameter_description> Step forward.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_PAGE_BACKWARD">
<parameter_description> Page backward.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_PAGE_FORWARD">
<parameter_description> Page forward.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_STEP_UP">
<parameter_description> Step up.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_STEP_DOWN">
<parameter_description> Step down.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_PAGE_UP">
<parameter_description> Page up.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_PAGE_DOWN">
<parameter_description> Page down.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_STEP_LEFT">
<parameter_description> Step to the left.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_STEP_RIGHT">
<parameter_description> Step to the right.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_PAGE_LEFT">
<parameter_description> Page to the left.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_PAGE_RIGHT">
<parameter_description> Page to the right.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_START">
<parameter_description> Scroll to start.
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_END">
<parameter_description> Scroll to end.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkScrollable:hadjustment">
<description>
Horizontal #GtkAdjustment of the scrollable widget. This adjustment is
shared between the scrollable widget and its parent.

</description>
</property>

<property name="GtkScrollable:hscroll-policy">
<description>
Determines whether horizontal scrolling should start once the scrollable
widget is allocated less than its minimum width or less than its natural width.

</description>
</property>

<property name="GtkScrollable:vadjustment">
<description>
Verical #GtkAdjustment of the scrollable widget. This adjustment is shared
between the scrollable widget and its parent.

</description>
</property>

<property name="GtkScrollable:vscroll-policy">
<description>
Determines whether vertical scrolling should start once the scrollable
widget is allocated less than its minimum height or less than its natural height.

</description>
</property>

<enum name="GtkScrollablePolicy">
<description>
Defines the policy to be used in a scrollable widget when updating
the scrolled window adjustments in a given orientation.

</description>
<parameters>
<parameter name="GTK_SCROLL_MINIMUM">
<parameter_description> Scrollable adjustments are based on the minimum size
</parameter_description>
</parameter>
<parameter name="GTK_SCROLL_NATURAL">
<parameter_description> Scrollable adjustments are based on the natural size
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkScrolledWindow::edge-overshot">
<description>
The ::edge-overshot signal is emitted whenever user initiated scrolling
makes the scrolled window firmly surpass (i.e. with some edge resistance)
the lower or upper limits defined by the adjustment in that orientation.

A similar behavior without edge resistance is provided by the
#GtkScrolledWindow::edge-reached signal.

Note: The @pos argument is LTR/RTL aware, so callers should be aware too
if intending to provide behavior on horizontal edges.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> edge side that was hit
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkScrolledWindow::edge-reached">
<description>
The ::edge-reached signal is emitted whenever user-initiated scrolling
makes the scrolled window exactly reach the lower or upper limits
defined by the adjustment in that orientation.

A similar behavior with edge resistance is provided by the
#GtkScrolledWindow::edge-overshot signal.

Note: The @pos argument is LTR/RTL aware, so callers should be aware too
if intending to provide behavior on horizontal edges.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> edge side that was reached
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkScrolledWindow::move-focus-out">
<description>
The ::move-focus-out signal is a
[keybinding signal][GtkBindingSignal] which gets
emitted when focus is moved away from the scrolled window by a
keybinding. The #GtkWidget::move-focus signal is emitted with
@direction_type on this scrolled window’s toplevel parent in the
container hierarchy. The default bindings for this signal are
`Ctrl + Tab` to move forward and `Ctrl + Shift + Tab` to move backward.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="direction_type">
<parameter_description> either %GTK_DIR_TAB_FORWARD or
%GTK_DIR_TAB_BACKWARD
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkScrolledWindow::scroll-child">
<description>
The ::scroll-child signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when a keybinding that scrolls is pressed.
The horizontal or vertical adjustment is updated which triggers a
signal that the scrolled window’s child may listen to and scroll itself.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="scroll">
<parameter_description> a #GtkScrollType describing how much to scroll
</parameter_description>
</parameter>
<parameter name="horizontal">
<parameter_description> whether the keybinding scrolls the child
horizontally or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkScrolledWindow:kinetic-scrolling">
<description>
Whether kinetic scrolling is enabled or not. Kinetic scrolling
only applies to devices with source %GDK_SOURCE_TOUCHSCREEN.

</description>
</property>

<property name="GtkScrolledWindow:max-content-height">
<description>
The maximum content height of @scrolled_window, or -1 if not set.

</description>
</property>

<property name="GtkScrolledWindow:max-content-width">
<description>
The maximum content width of @scrolled_window, or -1 if not set.

</description>
</property>

<property name="GtkScrolledWindow:min-content-height">
<description>
The minimum content height of @scrolled_window, or -1 if not set.

</description>
</property>

<property name="GtkScrolledWindow:min-content-width">
<description>
The minimum content width of @scrolled_window, or -1 if not set.

</description>
</property>

<property name="GtkScrolledWindow:overlay-scrolling">
<description>
Whether overlay scrolling is enabled or not. If it is, the
scrollbars are only added as traditional widgets when a mouse
is present. Otherwise, they are overlayed on top of the content,
as narrow indicators.

Note that overlay scrolling can also be globally disabled, with
the #GtkSettings::gtk-overlay-scrolling setting.

</description>
</property>

<property name="GtkScrolledWindow:propagate-natural-height">
<description>
Whether the natural height of the child should be calculated and propagated
through the scrolled window’s requested natural height.

This is useful in cases where an attempt should be made to allocate exactly
enough space for the natural size of the child.

</description>
</property>

<property name="GtkScrolledWindow:propagate-natural-width">
<description>
Whether the natural width of the child should be calculated and propagated
through the scrolled window’s requested natural width.

This is useful in cases where an attempt should be made to allocate exactly
enough space for the natural size of the child.

</description>
</property>

<property name="GtkSearchBar:search-mode-enabled">
<description>
Whether the search mode is on and the search bar shown.

See gtk_search_bar_set_search_mode() for details.

</description>
</property>

<property name="GtkSearchBar:show-close-button">
<description>
Whether to show the close button in the search bar.

</description>
</property>

<signal name="GtkSearchEntry::next-match">
<description>
The ::next-match signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user initiates a move to the next match
for the current search string.

Applications should connect to it, to implement moving between
matches.

The default bindings for this signal is Ctrl-g.

</description>
<parameters>
<parameter name="entry">
<parameter_description> the entry on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkSearchEntry::previous-match">
<description>
The ::previous-match signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user initiates a move to the previous match
for the current search string.

Applications should connect to it, to implement moving between
matches.

The default bindings for this signal is Ctrl-Shift-g.

</description>
<parameters>
<parameter name="entry">
<parameter_description> the entry on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkSearchEntry::search-changed">
<description>
The #GtkSearchEntry::search-changed signal is emitted with a short
delay of 150 milliseconds after the last change to the entry text.

</description>
<parameters>
<parameter name="entry">
<parameter_description> the entry on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkSearchEntry::search-started">
<description>
The ::search-started signal gets emitted when the user initiated
a search on the entry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> the entry on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkSearchEntry::stop-search">
<description>
The ::stop-search signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user stops a search via keyboard input.

Applications should connect to it, to implement hiding the search
entry in this case.

The default bindings for this signal is Escape.

</description>
<parameters>
<parameter name="entry">
<parameter_description> the entry on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkSelectionMode">
<description>
Used to control what selections users are allowed to make.

</description>
<parameters>
<parameter name="GTK_SELECTION_NONE">
<parameter_description> No selection is possible.
</parameter_description>
</parameter>
<parameter name="GTK_SELECTION_SINGLE">
<parameter_description> Zero or one element may be selected.
</parameter_description>
</parameter>
<parameter name="GTK_SELECTION_BROWSE">
<parameter_description> Exactly one element is selected.
In some circumstances, such as initially or during a search
operation, it’s possible for no element to be selected with
%GTK_SELECTION_BROWSE. What is really enforced is that the user
can’t deselect a currently selected element except by selecting
another element.
</parameter_description>
</parameter>
<parameter name="GTK_SELECTION_MULTIPLE">
<parameter_description> Any number of elements may be selected.
The Ctrl key may be used to enlarge the selection, and Shift
key to select between the focus and the child pointed to.
Some widgets may also allow Click-drag to select a range of elements.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkSelectionModel::selection-changed">
<description>
Emitted when the selection state of some of the items in @model changes.

Note that this signal does not specify the new selection state of the items,
they need to be queried manually.  
It is also not necessary for a model to change the selection state of any of
the items in the selection model, though it would be rather useless to emit
such a signal.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> The first item that may have changed
</parameter_description>
</parameter>
<parameter name="n_items">
<parameter_description> number of items with changes
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkSensitivityType">
<description>
Determines how GTK+ handles the sensitivity of stepper arrows
at the end of range widgets.

</description>
<parameters>
<parameter name="GTK_SENSITIVITY_AUTO">
<parameter_description> The arrow is made insensitive if the
thumb is at the end
</parameter_description>
</parameter>
<parameter name="GTK_SENSITIVITY_ON">
<parameter_description> The arrow is always sensitive
</parameter_description>
</parameter>
<parameter name="GTK_SENSITIVITY_OFF">
<parameter_description> The arrow is always insensitive
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkSettings:gtk-alternative-sort-arrows">
<description>
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.

</description>
</property>

<property name="GtkSettings:gtk-application-prefer-dark-theme">
<description>
Whether the application prefers to use a dark theme. If a GTK theme
includes a dark variant, it will be used instead of the configured
theme.

Some applications benefit from minimizing the amount of light pollution that
interferes with the content. Good candidates for dark themes are photo and
video editors that make the actual content get all the attention and minimize
the distraction of the chrome.

Dark themes should not be used for documents, where large spaces are white/light
and the dark chrome creates too much contrast (web browser, text editor...).

</description>
</property>

<property name="GtkSettings:gtk-cursor-blink">
<description>
Whether the cursor should blink.

Also see the #GtkSettings:gtk-cursor-blink-timeout setting,
which allows more flexible control over cursor blinking.

</description>
</property>

<property name="GtkSettings:gtk-cursor-blink-timeout">
<description>
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.

</description>
</property>

<property name="GtkSettings:gtk-decoration-layout">
<description>
This setting determines which buttons should be put in the
titlebar of client-side decorated windows, and whether they
should be placed at the left of right.

The format of the string is button names, separated by commas.
A colon separates the buttons that should appear on the left
from those on the right. Recognized button names are minimize,
maximize, close, icon (the window icon) and menu (a menu button
for the fallback app menu).

For example, &quot;menu:minimize,maximize,close&quot; specifies a menu
on the left, and minimize, maximize and close buttons on the right.

Note that buttons will only be shown when they are meaningful.
E.g. a menu button only appears when the desktop shell does not
show the app menu, and a close button only appears on a window
that can be closed.

Also note that the setting can be overridden with the
#GtkHeaderBar:decoration-layout property.

</description>
</property>

<property name="GtkSettings:gtk-dialogs-use-header">
<description>
Whether builtin GTK dialogs such as the file chooser, the
color chooser or the font chooser will use a header bar at
the top to show action widgets, or an action area at the bottom.

This setting does not affect custom dialogs using GtkDialog
directly, or message dialogs.

</description>
</property>

<property name="GtkSettings:gtk-enable-accels">
<description>
Whether menu items should have visible accelerators which can be
activated.

</description>
</property>

<property name="GtkSettings:gtk-enable-event-sounds">
<description>
Whether to play any event sounds at all.

See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
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.

</description>
</property>

<property name="GtkSettings:gtk-enable-input-feedback-sounds">
<description>
Whether to play event sounds as feedback to user input.

See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
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.

</description>
</property>

<property name="GtkSettings:gtk-enable-primary-paste">
<description>
Whether a middle click on a mouse should paste the
'PRIMARY' clipboard content at the cursor location.

</description>
</property>

<property name="GtkSettings:gtk-entry-password-hint-timeout">
<description>
How long to show the last input character in hidden
entries. This value is in milliseconds. 0 disables showing the
last char. 600 is a good value for enabling it.

</description>
</property>

<property name="GtkSettings:gtk-error-bell">
<description>
When %TRUE, keyboard navigation and other input-related errors
will cause a beep. Since the error bell is implemented using
gdk_surface_beep(), the windowing system may offer ways to
configure the error bell in many ways, such as flashing the
window or similar visual effects.

</description>
</property>

<property name="GtkSettings:gtk-font-name">
<description>
The default font to use. GTK uses the family name and size from this string.

</description>
</property>

<property name="GtkSettings:gtk-im-module">
<description>
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.
This also can be a colon-separated list of input methods, which GTK
will try in turn until it finds one available on the system.

See #GtkIMContext.

</description>
</property>

<property name="GtkSettings:gtk-keynav-use-caret">
<description>
Whether GTK should make sure that text can be navigated with
a caret, even if it is not editable. This is useful when using
a screen reader.

</description>
</property>

<property name="GtkSettings:gtk-long-press-time">
<description>
The time for a button or touch press to be considered a &quot;long press&quot;.

</description>
</property>

<property name="GtkSettings:gtk-overlay-scrolling">
<description>
Whether scrolled windows may use overlayed scrolling indicators.
If this is set to %FALSE, scrolled windows will have permanent
scrollbars.

</description>
</property>

<property name="GtkSettings:gtk-primary-button-warps-slider">
<description>
If the value of this setting is %TRUE, clicking the primary button in a
#GtkRange trough will move the slider, and hence set the range’s value, to
the point that you clicked. If it is %FALSE, a primary click will cause the
slider/value to move by the range’s page-size towards the point clicked.

Whichever action you choose for the primary button, the other action will
be available by holding Shift and primary-clicking, or (since GTK 3.22.25)
clicking the middle mouse button.

</description>
</property>

<property name="GtkSettings:gtk-print-backends">
<description>
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;.

</description>
</property>

<property name="GtkSettings:gtk-print-preview-command">
<description>
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.

</description>
</property>

<property name="GtkSettings:gtk-recent-files-enabled">
<description>
Whether GTK should keep track of items inside the recently used
resources list. If set to %FALSE, the list will always be empty.

</description>
</property>

<property name="GtkSettings:gtk-recent-files-max-age">
<description>
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.

</description>
</property>

<property name="GtkSettings:gtk-sound-theme-name">
<description>
The XDG sound theme to use for event sounds.

See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
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.

</description>
</property>

<property name="GtkSettings:gtk-titlebar-double-click">
<description>
This setting determines the action to take when a double-click
occurs on the titlebar of client-side decorated windows.

Recognized actions are minimize, toggle-maximize, menu, lower
or none.

</description>
</property>

<property name="GtkSettings:gtk-titlebar-middle-click">
<description>
This setting determines the action to take when a middle-click
occurs on the titlebar of client-side decorated windows.

Recognized actions are minimize, toggle-maximize, menu, lower
or none.

</description>
</property>

<property name="GtkSettings:gtk-titlebar-right-click">
<description>
This setting determines the action to take when a right-click
occurs on the titlebar of client-side decorated windows.

Recognized actions are minimize, toggle-maximize, menu, lower
or none.

</description>
</property>

<enum name="GtkShadowType">
<description>
Used to change the appearance of an outline typically provided by a #GtkFrame.

Note that many themes do not differentiate the appearance of the
various shadow types: Either there is no visible shadow (@GTK_SHADOW_NONE),
or there is (any other value).

</description>
<parameters>
<parameter name="GTK_SHADOW_NONE">
<parameter_description> No outline.
</parameter_description>
</parameter>
<parameter name="GTK_SHADOW_IN">
<parameter_description> The outline is bevelled inwards.
</parameter_description>
</parameter>
<parameter name="GTK_SHADOW_OUT">
<parameter_description> The outline is bevelled outwards like a button.
</parameter_description>
</parameter>
<parameter name="GTK_SHADOW_ETCHED_IN">
<parameter_description> The outline has a sunken 3d appearance.
</parameter_description>
</parameter>
<parameter name="GTK_SHADOW_ETCHED_OUT">
<parameter_description> The outline has a raised 3d appearance.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkShortcutLabel:accelerator">
<description>
The accelerator that @self displays. See #GtkShortcutsShortcut:accelerator
for the accepted syntax.

</description>
</property>

<property name="GtkShortcutLabel:disabled-text">
<description>
The text that is displayed when no accelerator is set.

</description>
</property>

<enum name="GtkShortcutType">
<description>
GtkShortcutType specifies the kind of shortcut that is being described.
More values may be added to this enumeration over time.

</description>
<parameters>
<parameter name="GTK_SHORTCUT_ACCELERATOR">
<parameter_description>
The shortcut is a keyboard accelerator. The #GtkShortcutsShortcut:accelerator
property will be used.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_PINCH">
<parameter_description>
The shortcut is a pinch gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_STRETCH">
<parameter_description>
The shortcut is a stretch gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE">
<parameter_description>
The shortcut is a clockwise rotation gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE">
<parameter_description>
The shortcut is a counterclockwise rotation gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT">
<parameter_description>
The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT">
<parameter_description>
The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE">
<parameter_description>
The shortcut is a gesture. The #GtkShortcutsShortcut:icon property will be
used.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_SWIPE_LEFT">
<parameter_description>
The shortcut is a swipe gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
<parameter name="GTK_SHORTCUT_GESTURE_SWIPE_RIGHT">
<parameter_description>
The shortcut is a swipe gesture. GTK+ provides an icon and subtitle.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkShortcutsGroup:accel-size-group">
<description>
The size group for the accelerator portion of shortcuts in this group.

This is used internally by GTK+, and must not be modified by applications.

</description>
</property>

<property name="GtkShortcutsGroup:height">
<description>
A rough measure for the number of lines in this group.

This is used internally by GTK+, and is not useful for applications.

</description>
</property>

<property name="GtkShortcutsGroup:title">
<description>
The title for this group of shortcuts.

</description>
</property>

<property name="GtkShortcutsGroup:title-size-group">
<description>
The size group for the textual portion of shortcuts in this group.

This is used internally by GTK+, and must not be modified by applications.

</description>
</property>

<property name="GtkShortcutsGroup:view">
<description>
An optional view that the shortcuts in this group are relevant for.
The group will be hidden if the #GtkShortcutsWindow:view-name property
does not match the view of this group.

Set this to %NULL to make the group always visible.

</description>
</property>

<property name="GtkShortcutsSection:max-height">
<description>
The maximum number of lines to allow per column. This property can
be used to influence how the groups in this section are distributed
across pages and columns. The default value of 15 should work in
most cases.

</description>
</property>

<property name="GtkShortcutsSection:section-name">
<description>
A unique name to identify this section among the sections
added to the GtkShortcutsWindow. Setting the #GtkShortcutsWindow:section-name
property to this string will make this section shown in the
GtkShortcutsWindow.

</description>
</property>

<property name="GtkShortcutsSection:title">
<description>
The string to show in the section selector of the GtkShortcutsWindow
for this section. If there is only one section, you don't need to
set a title, since the section selector will not be shown in this case.

</description>
</property>

<property name="GtkShortcutsSection:view-name">
<description>
A view name to filter the groups in this section by.
See #GtkShortcutsGroup:view.

Applications are expected to use the #GtkShortcutsWindow:view-name
property for this purpose.

</description>
</property>

<property name="GtkShortcutsShortcut:accel-size-group">
<description>
The size group for the accelerator portion of this shortcut.

This is used internally by GTK+, and must not be modified by applications.

</description>
</property>

<property name="GtkShortcutsShortcut:accelerator">
<description>
The accelerator(s) represented by this object. This property is used
if #GtkShortcutsShortcut:shortcut-type is set to #GTK_SHORTCUT_ACCELERATOR.

The syntax of this property is (an extension of) the syntax understood by
gtk_accelerator_parse(). Multiple accelerators can be specified by separating
them with a space, but keep in mind that the available width is limited.
It is also possible to specify ranges of shortcuts, using ... between the keys.
Sequences of keys can be specified using a + or &amp; between the keys.

Examples:
- A single shortcut: &lt;ctl&gt;&lt;alt&gt;delete
- Two alternative shortcuts: &lt;shift&gt;a Home
- A range of shortcuts: &lt;alt&gt;1...&lt;alt&gt;9
- Several keys pressed together: Control_L&amp;Control_R
- A sequence of shortcuts or keys: &lt;ctl&gt;c+&lt;ctl&gt;x

Use + instead of &amp; when the keys may (or have to be) pressed sequentially (e.g
use t+t for 'press the t key twice').

Note that &lt;, &gt; and &amp; need to be escaped as &lt;, &gt; and &amp; when used
in .ui files.

</description>
</property>

<property name="GtkShortcutsShortcut:action-name">
<description>
A detailed action name. If this is set for a shortcut
of type %GTK_SHORTCUT_ACCELERATOR, then GTK+ will use
the accelerators that are associated with the action
via gtk_application_set_accels_for_action(), and setting
#GtkShortcutsShortcut::accelerator is not necessary.

</description>
</property>

<property name="GtkShortcutsShortcut:direction">
<description>
The text direction for which this shortcut is active. If the shortcut
is used regardless of the text direction, set this property to
#GTK_TEXT_DIR_NONE.

</description>
</property>

<property name="GtkShortcutsShortcut:icon">
<description>
An icon to represent the shortcut or gesture. This property is used if
#GtkShortcutsShortcut:shortcut-type is set to #GTK_SHORTCUT_GESTURE.
For the other predefined gesture types, GTK+ provides an icon on its own.

</description>
</property>

<property name="GtkShortcutsShortcut:icon-set">
<description>
%TRUE if an icon has been set.

</description>
</property>

<property name="GtkShortcutsShortcut:shortcut-type">
<description>
The type of shortcut that is represented.

</description>
</property>

<property name="GtkShortcutsShortcut:subtitle">
<description>
The subtitle for the shortcut or gesture.

This is typically used for gestures and should be a short, one-line
text that describes the gesture itself. For the predefined gesture
types, GTK+ provides a subtitle on its own.

</description>
</property>

<property name="GtkShortcutsShortcut:subtitle-set">
<description>
%TRUE if a subtitle has been set.

</description>
</property>

<property name="GtkShortcutsShortcut:title">
<description>
The textual description for the shortcut or gesture represented by
this object. This should be a short string that can fit in a single line.

</description>
</property>

<property name="GtkShortcutsShortcut:title-size-group">
<description>
The size group for the textual portion of this shortcut.

This is used internally by GTK+, and must not be modified by applications.

</description>
</property>

<signal name="GtkShortcutsWindow::close">
<description>
The ::close signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user uses a keybinding to close
the window.

The default binding for this signal is the Escape key.

</description>
<parameters>
</parameters>
<return></return>
</signal>

<signal name="GtkShortcutsWindow::search">
<description>
The ::search signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user uses a keybinding to start a search.

The default binding for this signal is Control-F.

</description>
<parameters>
</parameters>
<return></return>
</signal>

<property name="GtkShortcutsWindow:section-name">
<description>
The name of the section to show.

This should be the section-name of one of the #GtkShortcutsSection
objects that are in this shortcuts window.

</description>
</property>

<property name="GtkShortcutsWindow:view-name">
<description>
The view name by which to filter the contents.

This should correspond to the #GtkShortcutsGroup:view property of some of
the #GtkShortcutsGroup objects that are inside this shortcuts window.

Set this to %NULL to show all groups.

</description>
</property>

<property name="GtkSingleSelection:autoselect">
<description>
If the selection will always select an item

</description>
</property>

<property name="GtkSingleSelection:can-unselect">
<description>
If unselecting the selected item is allowed

</description>
</property>

<property name="GtkSingleSelection:model">
<description>
The model being managed

</description>
</property>

<property name="GtkSingleSelection:selected">
<description>
Position of the selected item

</description>
</property>

<property name="GtkSingleSelection:selected-item">
<description>
The selected item

</description>
</property>

<enum name="GtkSizeGroupMode">
<description>
The mode of the size group determines the directions in which the size
group affects the requested sizes of its component widgets.

</description>
<parameters>
<parameter name="GTK_SIZE_GROUP_NONE">
<parameter_description> group has no effect
</parameter_description>
</parameter>
<parameter name="GTK_SIZE_GROUP_HORIZONTAL">
<parameter_description> group affects horizontal requisition
</parameter_description>
</parameter>
<parameter name="GTK_SIZE_GROUP_VERTICAL">
<parameter_description> group affects vertical requisition
</parameter_description>
</parameter>
<parameter name="GTK_SIZE_GROUP_BOTH">
<parameter_description> group affects both horizontal and vertical requisition
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkSizeRequestMode">
<description>
Specifies a preference for height-for-width or
width-for-height geometry management.

</description>
<parameters>
<parameter name="GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH">
<parameter_description> Prefer height-for-width geometry management
</parameter_description>
</parameter>
<parameter name="GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT">
<parameter_description> Prefer width-for-height geometry management
</parameter_description>
</parameter>
<parameter name="GTK_SIZE_REQUEST_CONSTANT_SIZE">
<parameter_description> Don’t trade height-for-width or width-for-height
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkSliceListModel:item-type">
<description>
The #GType for elements of this object

</description>
</property>

<property name="GtkSliceListModel:model">
<description>
Child model to take slice from

</description>
</property>

<property name="GtkSliceListModel:offset">
<description>
Offset of slice

</description>
</property>

<property name="GtkSliceListModel:size">
<description>
Maximum size of slice

</description>
</property>

<property name="GtkSortListModel:has-sort">
<description>
If a sort function is set for this model

</description>
</property>

<property name="GtkSortListModel:item-type">
<description>
The #GType for items of this model

</description>
</property>

<property name="GtkSortListModel:model">
<description>
The model being sorted

</description>
</property>

<enum name="GtkSortType">
<description>
Determines the direction of a sort.

</description>
<parameters>
<parameter name="GTK_SORT_ASCENDING">
<parameter_description> Sorting is in ascending order.
</parameter_description>
</parameter>
<parameter name="GTK_SORT_DESCENDING">
<parameter_description> Sorting is in descending order.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkSpinButton::change-value">
<description>
The ::change-value signal is a [keybinding signal][GtkBindingSignal] 
which gets emitted when the user initiates a value change. 

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 are Up/Down and PageUp and/PageDown.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="scroll">
<parameter_description> a #GtkScrollType to specify the speed and amount of change
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkSpinButton::input">
<description>
The ::input signal can be used to influence the conversion of
the users input into a double value. The signal handler is
expected to use gtk_editable_get_text() to retrieve the text of
the spinbutton and set @new_value to the new value.

The default conversion uses g_strtod().


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="new_value">
<parameter_description> return location for the new value
</parameter_description>
</parameter>
</parameters>
<return> %TRUE for a successful conversion, %FALSE if the input
was not handled, and %GTK_INPUT_ERROR if the conversion failed.
</return>
</signal>

<signal name="GtkSpinButton::output">
<description>
The ::output signal can be used to change to formatting
of the value that is displayed in the spin buttons entry.
|[&lt;!-- language=&quot;C&quot; --&gt;
// show leading zeros
static gboolean
on_output (GtkSpinButton *spin,
gpointer       data)
{
GtkAdjustment *adjustment;
gchar *text;
int value;

adjustment = gtk_spin_button_get_adjustment (spin);
value = (int)gtk_adjustment_get_value (adjustment);
text = g_strdup_printf (&quot;%02d&quot;, value);
gtk_spin_button_set_text (spin, text):
g_free (text);

return TRUE;
}
]|


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the value has been displayed
</return>
</signal>

<signal name="GtkSpinButton::value-changed">
<description>
The ::value-changed signal is emitted when the value represented by
@spinbutton changes. Also see the #GtkSpinButton::output signal.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkSpinButton::wrapped">
<description>
The ::wrapped signal is emitted right after the spinbutton wraps
from its maximum to minimum value or vice-versa.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkSpinButtonUpdatePolicy">
<description>
The spin button update policy determines whether the spin button displays
values even if they are outside the bounds of its adjustment.
See gtk_spin_button_set_update_policy().

</description>
<parameters>
<parameter name="GTK_UPDATE_ALWAYS">
<parameter_description> When refreshing your #GtkSpinButton, the value is
always displayed
</parameter_description>
</parameter>
<parameter name="GTK_UPDATE_IF_VALID">
<parameter_description> When refreshing your #GtkSpinButton, the value is
only displayed if it is valid within the bounds of the spin button's
adjustment
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkSpinType">
<description>
The values of the GtkSpinType enumeration are used to specify the
change to make in gtk_spin_button_spin().

</description>
<parameters>
<parameter name="GTK_SPIN_STEP_FORWARD">
<parameter_description> Increment by the adjustments step increment.
</parameter_description>
</parameter>
<parameter name="GTK_SPIN_STEP_BACKWARD">
<parameter_description> Decrement by the adjustments step increment.
</parameter_description>
</parameter>
<parameter name="GTK_SPIN_PAGE_FORWARD">
<parameter_description> Increment by the adjustments page increment.
</parameter_description>
</parameter>
<parameter name="GTK_SPIN_PAGE_BACKWARD">
<parameter_description> Decrement by the adjustments page increment.
</parameter_description>
</parameter>
<parameter name="GTK_SPIN_HOME">
<parameter_description> Go to the adjustments lower bound.
</parameter_description>
</parameter>
<parameter name="GTK_SPIN_END">
<parameter_description> Go to the adjustments upper bound.
</parameter_description>
</parameter>
<parameter name="GTK_SPIN_USER_DEFINED">
<parameter_description> Change by a specified amount.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkStack:hhomogeneous">
<description>
%TRUE if the stack allocates the same width for all children.

</description>
</property>

<property name="GtkStack:needs-attention">
<description>
Sets a flag specifying whether the child requires the user attention.
This is used by the #GtkStackSwitcher to change the appearance of the
corresponding button when a page needs attention and it is not the
current one.

</description>
</property>

<property name="GtkStack:vhomogeneous">
<description>
%TRUE if the stack allocates the same height for all children.

</description>
</property>

<enum name="GtkStackTransitionType">
<description>
These enumeration values describe the possible transitions
between pages in a #GtkStack widget.

New values may be added to this enumeration over time.

</description>
<parameters>
<parameter name="GTK_STACK_TRANSITION_TYPE_NONE">
<parameter_description> No transition
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_CROSSFADE">
<parameter_description> A cross-fade
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT">
<parameter_description> Slide from left to right
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT">
<parameter_description> Slide from right to left
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_SLIDE_UP">
<parameter_description> Slide from bottom up
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN">
<parameter_description> Slide from top down
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT">
<parameter_description> Slide from left or right according to the children order
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN">
<parameter_description> Slide from top down or bottom up according to the order
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_UP">
<parameter_description> Cover the old page by sliding up
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_DOWN">
<parameter_description> Cover the old page by sliding down
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_LEFT">
<parameter_description> Cover the old page by sliding to the left
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_RIGHT">
<parameter_description> Cover the old page by sliding to the right
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_UNDER_UP">
<parameter_description> Uncover the new page by sliding up
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_UNDER_DOWN">
<parameter_description> Uncover the new page by sliding down
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_UNDER_LEFT">
<parameter_description> Uncover the new page by sliding to the left
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT">
<parameter_description> Uncover the new page by sliding to the right
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN">
<parameter_description> Cover the old page sliding up or uncover the new page sliding down, according to order
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP">
<parameter_description> Cover the old page sliding down or uncover the new page sliding up, according to order
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT">
<parameter_description> Cover the old page sliding left or uncover the new page sliding right, according to order
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT">
<parameter_description> Cover the old page sliding right or uncover the new page sliding left, according to order
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT">
<parameter_description> Pretend the pages are sides of a cube and rotate that cube to the left
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT">
<parameter_description> Pretend the pages are sides of a cube and rotate that cube to the right
</parameter_description>
</parameter>
<parameter name="GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT">
<parameter_description> Pretend the pages are sides of a cube and rotate that cube to the left or right according to the children order
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkStateFlags">
<description>
Describes a widget state. Widget states are used to match the widget
against CSS pseudo-classes. Note that GTK extends the regular CSS
classes and sometimes uses different names.

</description>
<parameters>
<parameter name="GTK_STATE_FLAG_NORMAL">
<parameter_description> State during normal operation
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_ACTIVE">
<parameter_description> Widget is active
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_PRELIGHT">
<parameter_description> Widget has a mouse pointer over it
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_SELECTED">
<parameter_description> Widget is selected
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_INSENSITIVE">
<parameter_description> Widget is insensitive
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_INCONSISTENT">
<parameter_description> Widget is inconsistent
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_FOCUSED">
<parameter_description> Widget has the keyboard focus
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_BACKDROP">
<parameter_description> Widget is in a background toplevel window
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_DIR_LTR">
<parameter_description> Widget is in left-to-right text direction
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_DIR_RTL">
<parameter_description> Widget is in right-to-left text direction
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_LINK">
<parameter_description> Widget is a link
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_VISITED">
<parameter_description> The location the widget points to has already been visited
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_CHECKED">
<parameter_description> Widget is checked
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_DROP_ACTIVE">
<parameter_description> Widget is highlighted as a drop target for DND
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_FOCUS_VISIBLE">
<parameter_description> Widget has the visible focus
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkStatusbar::text-popped">
<description>
Is emitted whenever a new message is popped off a statusbar's stack.

</description>
<parameters>
<parameter name="statusbar">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="context_id">
<parameter_description> the context id of the relevant message/statusbar
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the message that was just popped
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkStatusbar::text-pushed">
<description>
Is emitted whenever a new message gets pushed onto a statusbar's stack.

</description>
<parameters>
<parameter name="statusbar">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="context_id">
<parameter_description> the context id of the relevant message/statusbar
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the message that was pushed
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkStyleContextPrintFlags">
<description>
Flags that modify the behavior of gtk_style_context_to_string().
New values may be added to this enumeration.

</description>
<parameters>
<parameter name="GTK_STYLE_CONTEXT_PRINT_NONE">
<parameter_description> Default value.
</parameter_description>
</parameter>
<parameter name="GTK_STYLE_CONTEXT_PRINT_RECURSE">
<parameter_description> Print the entire tree of
CSS nodes starting at the style context's node
</parameter_description>
</parameter>
<parameter name="GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE">
<parameter_description> Show the values of the
CSS properties for each node
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkSwitch::activate">
<description>
The ::activate signal on GtkSwitch is an action signal and
emitting it causes the switch to animate.
Applications should never connect to this signal, but use the
notify::active signal.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkSwitch::state-set">
<description>
The ::state-set signal on GtkSwitch is emitted to change the underlying
state. It is emitted when the user changes the switch position. The
default handler keeps the state in sync with the #GtkSwitch:active
property.

To implement delayed state change, applications can connect to this signal,
initiate the change of the underlying state, and call gtk_switch_set_state()
when the underlying state change is complete. The signal handler should
return %TRUE to prevent the default handler from running.

Visually, the underlying state is represented by the trough color of
the switch, while the #GtkSwitch:active property is represented by the
position of the switch.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object on which the signal was emitted
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the new state of the switch
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to stop the signal emission
</return>
</signal>

<property name="GtkSwitch:active">
<description>
Whether the #GtkSwitch widget is in its on or off state.

</description>
</property>

<property name="GtkSwitch:state">
<description>
The backend state that is controlled by the switch. 
See #GtkSwitch::state-set for details.

</description>
</property>

<signal name="GtkText::activate">
<description>
The ::activate signal is emitted when the user hits
the Enter key.

The default bindings for this signal are all forms of the Enter key.

</description>
<parameters>
<parameter name="self">
<parameter_description> The self on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::backspace">
<description>
The ::backspace signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user asks for it.

The default bindings for this signal are
Backspace and Shift-Backspace.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::copy-clipboard">
<description>
The ::copy-clipboard signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to copy the selection to the clipboard.

The default bindings for this signal are
Ctrl-c and Ctrl-Insert.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::cut-clipboard">
<description>
The ::cut-clipboard signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to cut the selection to the clipboard.

The default bindings for this signal are
Ctrl-x and Shift-Delete.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::delete-from-cursor">
<description>
The ::delete-from-cursor signal is a
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the granularity of the deletion, as a #GtkDeleteType
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @type units to delete
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::insert-at-cursor">
<description>
The ::insert-at-cursor signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user initiates the insertion of a
fixed string at the cursor.

This signal has no default bindings.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="string">
<parameter_description> the string to insert
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::insert-emoji">
<description>
The ::insert-emoji signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to present the Emoji chooser for the @self.

The default bindings for this signal are Ctrl-. and Ctrl-;

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::move-cursor">
<description>
The ::move-cursor signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in @self, 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.
- Arrow keys move by individual characters/lines
- Ctrl-arrow key combinations move by words/paragraphs
- Home/End keys move to the ends of the buffer

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the granularity of the move, as a #GtkMovementStep
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @step units to move
</parameter_description>
</parameter>
<parameter name="extend">
<parameter_description> %TRUE if the move should extend the selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::paste-clipboard">
<description>
The ::paste-clipboard signal is a
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::preedit-changed">
<description>
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.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="preedit">
<parameter_description> the current preedit string
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkText::toggle-overwrite">
<description>
The ::toggle-overwrite signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to toggle the overwrite mode of the self.

The default bindings for this signal is Insert.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkText:attributes">
<description>
A list of Pango attributes to apply to the text of the self.

This is mainly useful to change the size or weight of the text.

The #PangoAttribute's @start_index and @end_index must refer to the
#GtkEntryBuffer text, i.e. without the preedit string.

</description>
</property>

<property name="GtkText:extra-menu">
<description>
A menu model whose contents will be appended to
the context menu.

</description>
</property>

<property name="GtkText:im-module">
<description>
Which IM (input method) module should be used for this self.
See #GtkIMContext.

Setting this to a non-%NULL value overrides the
system-wide IM module setting. See the GtkSettings
#GtkSettings:gtk-im-module property.

</description>
</property>

<property name="GtkText:input-hints">
<description>
Additional hints (beyond #GtkText:input-purpose) that
allow input methods to fine-tune their behaviour.

</description>
</property>

<property name="GtkText:input-purpose">
<description>
The purpose of this text field.

This property can be used by on-screen keyboards and other input
methods to adjust their behaviour.

Note that setting the purpose to %GTK_INPUT_PURPOSE_PASSWORD or
%GTK_INPUT_PURPOSE_PIN is independent from setting
#GtkText:visibility.

</description>
</property>

<property name="GtkText:invisible-char-set">
<description>
Whether the invisible char has been set for the #GtkText.

</description>
</property>

<property name="GtkText:overwrite-mode">
<description>
If text is overwritten when typing in the #GtkText.

</description>
</property>

<property name="GtkText:placeholder-text">
<description>
The text that will be displayed in the #GtkText when it is empty
and unfocused.

</description>
</property>

<property name="GtkText:tabs">
<description>
A list of tabstops to apply to the text of the self.

</description>
</property>

<property name="GtkText:truncate-multiline">
<description>
When %TRUE, pasted multi-line text is truncated to the first line.

</description>
</property>

<signal name="GtkTextBuffer::apply-tag">
<description>
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().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> the applied tag
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> the start of the range the tag is applied to
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> the end of the range the tag is applied to
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::begin-user-action">
<description>
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().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::changed">
<description>
The ::changed signal is emitted when the content of a #GtkTextBuffer 
has changed.

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::delete-range">
<description>
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 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.

See also: gtk_text_buffer_delete().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> the start of the range to be deleted
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> the end of the range to be deleted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::end-user-action">
<description>
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().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::insert-child-anchor">
<description>
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.

See also: gtk_text_buffer_insert_child_anchor().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> position to insert @anchor in @textbuffer
</parameter_description>
</parameter>
<parameter name="anchor">
<parameter_description> the #GtkTextChildAnchor to be inserted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::insert-paintable">
<description>
The ::insert-paintable signal is emitted to insert a #GdkPaintable
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 @paintable.

See also: gtk_text_buffer_insert_paintable().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> position to insert @paintable in @textbuffer
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> the #GdkPaintable to be inserted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::insert-text">
<description>
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().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> position to insert @text in @textbuffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the UTF-8 text to be inserted
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of the inserted text in bytes
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::mark-deleted">
<description>
The ::mark-deleted signal is emitted as notification
after a #GtkTextMark is deleted. 

See also:
gtk_text_buffer_delete_mark().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> The mark that was deleted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::mark-set">
<description>
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().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> The location of @mark in @textbuffer
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> The mark that is set
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::modified-changed">
<description>
The ::modified-changed signal is emitted when the modified bit of a 
#GtkTextBuffer flips.

See also:
gtk_text_buffer_set_modified().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::paste-done">
<description>
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.

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="clipboard">
<parameter_description> the #GdkClipboard pasted from
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::redo">
<description>
The &quot;redo&quot; signal is emitted when a request has been made to redo the
previously undone operation.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::remove-tag">
<description>
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(). 

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> the tag to be removed
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> the start of the range the tag is removed from
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> the end of the range the tag is removed from
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextBuffer::undo">
<description>
The &quot;undo&quot; signal is emitted when a request has been made to undo the
previous operation or set of operations that have been grouped together.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkTextBuffer:can-redo">
<description>
The :can-redo property denotes that the buffer can reapply the
last undone action.

</description>
</property>

<property name="GtkTextBuffer:can-undo">
<description>
The :can-undo property denotes that the buffer can undo the last
applied action.

</description>
</property>

<property name="GtkTextBuffer:copy-target-list">
<description>
The list of targets this buffer supports for clipboard copying
and as DND source.

</description>
</property>

<property name="GtkTextBuffer:cursor-position">
<description>
The position of the insert mark (as offset from the beginning
of the buffer). It is useful for getting notified when the
cursor moves.

</description>
</property>

<property name="GtkTextBuffer:enable-undo">
<description>
The :enable-undo property denotes if support for undoing and redoing
changes to the buffer is allowed.

</description>
</property>

<property name="GtkTextBuffer:has-selection">
<description>
Whether the buffer has some text currently selected.

</description>
</property>

<property name="GtkTextBuffer:paste-target-list">
<description>
The list of targets this buffer supports for clipboard pasting
and as DND destination.

</description>
</property>

<property name="GtkTextBuffer:text">
<description>
The text content of the buffer. Without child widgets and images,
see gtk_text_buffer_get_text() for more information.

</description>
</property>

<enum name="GtkTextBufferTargetInfo">
<description>
These values are used as “info” for the targets contained in the
lists returned by gtk_text_buffer_get_copy_target_list() and
gtk_text_buffer_get_paste_target_list().

The values counts down from `-1` to avoid clashes
with application added drag destinations which usually start at 0.

</description>
<parameters>
<parameter name="GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS">
<parameter_description> Buffer contents
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT">
<parameter_description> Rich text
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_BUFFER_TARGET_INFO_TEXT">
<parameter_description> Text
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkTextDirection">
<description>
Reading directions for text.

</description>
<parameters>
<parameter name="GTK_TEXT_DIR_NONE">
<parameter_description> No direction.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_DIR_LTR">
<parameter_description> Left to right text direction.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_DIR_RTL">
<parameter_description> Right to left text direction.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkTextExtendSelection">
<description>
Granularity types that extend the text selection. Use the
#GtkTextView::extend-selection signal to customize the selection.

</description>
<parameters>
<parameter name="GTK_TEXT_EXTEND_SELECTION_WORD">
<parameter_description> Selects the current word. It is triggered by
a double-click for example.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_EXTEND_SELECTION_LINE">
<parameter_description> Selects the current line. It is triggered by
a triple-click for example.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkTextMark:left-gravity">
<description>
Whether the mark has left gravity. When text is inserted at the mark’s
current location, if the mark has left gravity it will be moved
to the left of the newly-inserted text, otherwise to the right.

</description>
</property>

<property name="GtkTextMark:name">
<description>
The name of the mark or %NULL if the mark is anonymous.

</description>
</property>

<enum name="GtkTextSearchFlags">
<description>
Flags affecting how a search is done.

If neither #GTK_TEXT_SEARCH_VISIBLE_ONLY nor #GTK_TEXT_SEARCH_TEXT_ONLY are
enabled, the match must be exact; the special 0xFFFC character will match
embedded paintables or child widgets.

</description>
<parameters>
<parameter name="GTK_TEXT_SEARCH_VISIBLE_ONLY">
<parameter_description> Search only visible data. A search match may
have invisible text interspersed.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_SEARCH_TEXT_ONLY">
<parameter_description> Search only text. A match may have paintables or
child widgets mixed inside the matched range.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_SEARCH_CASE_INSENSITIVE">
<parameter_description> The text will be matched regardless of
what case it is in.
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkTextTag:accumulative-margin">
<description>
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).

</description>
</property>

<property name="GtkTextTag:background-rgba">
<description>
Background color as a #GdkRGBA.

</description>
</property>

<property name="GtkTextTag:fallback">
<description>
Whether font fallback is enabled.

When set to %TRUE, other fonts will be substituted
where the current font is missing glyphs.

</description>
</property>

<property name="GtkTextTag:font">
<description>
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.

</description>
</property>

<property name="GtkTextTag:font-features">
<description>
OpenType font features, as a string.

</description>
</property>

<property name="GtkTextTag:foreground-rgba">
<description>
Foreground color as a #GdkRGBA.

</description>
</property>

<property name="GtkTextTag:invisible">
<description>
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. 

</description>
</property>

<property name="GtkTextTag:language">
<description>
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().

</description>
</property>

<property name="GtkTextTag:letter-spacing">
<description>
Extra spacing between graphemes, in Pango units.

</description>
</property>

<property name="GtkTextTag:paragraph-background">
<description>
The paragraph background color as a string.

</description>
</property>

<property name="GtkTextTag:paragraph-background-rgba">
<description>
The paragraph background color as a #GdkRGBA.

</description>
</property>

<property name="GtkTextTag:strikethrough-rgba">
<description>
This property modifies the color of strikeouts. If not set, strikeouts
will use the forground color.

</description>
</property>

<property name="GtkTextTag:strikethrough-rgba-set">
<description>
If the #GtkTextTag:strikethrough-rgba property has been set.

</description>
</property>

<property name="GtkTextTag:underline-rgba">
<description>
This property modifies the color of underlines. If not set, underlines
will use the forground color.

If #GtkTextTag:underline is set to %PANGO_UNDERLINE_ERROR, an alternate
color may be applied instead of the foreground. Setting this property
will always override those defaults.

</description>
</property>

<property name="GtkTextTag:underline-rgba-set">
<description>
If the #GtkTextTag:underline-rgba property has been set.

</description>
</property>

<signal name="GtkTextTagTable::tag-added">
<description>

</description>
<parameters>
<parameter name="texttagtable">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> the added tag.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextTagTable::tag-changed">
<description>

</description>
<parameters>
<parameter name="texttagtable">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> the changed tag.
</parameter_description>
</parameter>
<parameter name="size_changed">
<parameter_description> whether the change affects the #GtkTextView layout.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextTagTable::tag-removed">
<description>

</description>
<parameters>
<parameter name="texttagtable">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> the removed tag.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::backspace">
<description>
The ::backspace signal is a 
[keybinding signal][GtkBindingSignal] 
which gets emitted when the user asks for it.

The default bindings for this signal are
Backspace and Shift-Backspace.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::copy-clipboard">
<description>
The ::copy-clipboard signal is a 
[keybinding signal][GtkBindingSignal] 
which gets emitted to copy the selection to the clipboard.

The default bindings for this signal are
Ctrl-c and Ctrl-Insert.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::cut-clipboard">
<description>
The ::cut-clipboard signal is a 
[keybinding signal][GtkBindingSignal] 
which gets emitted to cut the selection to the clipboard.

The default bindings for this signal are
Ctrl-x and Shift-Delete.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::delete-from-cursor">
<description>
The ::delete-from-cursor signal is a 
[keybinding signal][GtkBindingSignal] 
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the granularity of the deletion, as a #GtkDeleteType
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @type units to delete
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::extend-selection">
<description>
The ::extend-selection signal is emitted when the selection needs to be
extended at @location.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="granularity">
<parameter_description> the granularity type
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> the location where to extend the selection
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> where the selection should start
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> where the selection should end
</parameter_description>
</parameter>
</parameters>
<return> %GDK_EVENT_STOP to stop other handlers from being invoked for the
event. %GDK_EVENT_PROPAGATE to propagate the event further.
</return>
</signal>

<signal name="GtkTextView::insert-at-cursor">
<description>
The ::insert-at-cursor signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user initiates the insertion of a 
fixed string at the cursor.

This signal has no default bindings.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="string">
<parameter_description> the string to insert
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::insert-emoji">
<description>
The ::insert-emoji signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to present the Emoji chooser for the @text_view.

The default bindings for this signal are Ctrl-. and Ctrl-;

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::move-cursor">
<description>
The ::move-cursor signal is a 
[keybinding signal][GtkBindingSignal] 
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.
- Arrow keys move by individual characters/lines
- Ctrl-arrow key combinations move by words/paragraphs
- Home/End keys move to the ends of the buffer
- PageUp/PageDown keys move vertically by pages
- Ctrl-PageUp/PageDown keys move horizontally by pages

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the granularity of the move, as a #GtkMovementStep
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @step units to move
</parameter_description>
</parameter>
<parameter name="extend_selection">
<parameter_description> %TRUE if the move should extend the selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::move-viewport">
<description>
The ::move-viewport signal is a
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the granularity of the movement, as a #GtkScrollStep
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> the number of @step units to move
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::paste-clipboard">
<description>
The ::paste-clipboard signal is a 
[keybinding signal][GtkBindingSignal] 
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::preedit-changed">
<description>
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="preedit">
<parameter_description> the current preedit string
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::select-all">
<description>
The ::select-all signal is a 
[keybinding signal][GtkBindingSignal] 
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="select">
<parameter_description> %TRUE to select, %FALSE to unselect
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::set-anchor">
<description>
The ::set-anchor signal is a
[keybinding signal][GtkBindingSignal]
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::toggle-cursor-visible">
<description>
The ::toggle-cursor-visible signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to toggle the #GtkTextView:cursor-visible
property.

The default binding for this signal is F7.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::toggle-overwrite">
<description>
The ::toggle-overwrite signal is a 
[keybinding signal][GtkBindingSignal] 
which gets emitted to toggle the overwrite mode of the text view.

The default bindings for this signal is Insert.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkTextView:bottom-margin">
<description>
The bottom margin for text in the text view.

Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.

Don't confuse this property with #GtkWidget:margin-bottom.

</description>
</property>

<property name="GtkTextView:im-module">
<description>
Which IM (input method) module should be used for this text_view. 
See #GtkIMContext.

Setting this to a non-%NULL value overrides the
system-wide IM module setting. See the GtkSettings 
#GtkSettings:gtk-im-module property.

</description>
</property>

<property name="GtkTextView:input-hints">
<description>
Additional hints (beyond #GtkTextView:input-purpose) that
allow input methods to fine-tune their behaviour.

</description>
</property>

<property name="GtkTextView:input-purpose">
<description>
The purpose of this text field.

This property can be used by on-screen keyboards and other input
methods to adjust their behaviour.

</description>
</property>

<property name="GtkTextView:left-margin">
<description>
The default left margin for text in the text view.
Tags in the buffer may override the default.

Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.

Don't confuse this property with #GtkWidget:margin-left.

</description>
</property>

<property name="GtkTextView:monospace">
<description>
If %TRUE, set the %GTK_STYLE_CLASS_MONOSPACE style class on the
text view to indicate that a monospace font is desired.

</description>
</property>

<property name="GtkTextView:right-margin">
<description>
The default right margin for text in the text view.
Tags in the buffer may override the default.

Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.

Don't confuse this property with #GtkWidget:margin-right.

</description>
</property>

<property name="GtkTextView:top-margin">
<description>
The top margin for text in the text view.

Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.

Don't confuse this property with #GtkWidget:margin-top.

</description>
</property>

<property name="GtkTextViewChild:window-type">
<description>
The &quot;window-type&quot; property is the #GtkTextWindowType of the
#GtkTextView that the child is attached.

</description>
</property>

<enum name="GtkTextViewLayer">
<description>
Used to reference the layers of #GtkTextView for the purpose of customized
drawing with the ::snapshot_layer vfunc.

</description>
<parameters>
<parameter name="GTK_TEXT_VIEW_LAYER_BELOW_TEXT">
<parameter_description> The layer rendered below the text (but above the background).
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_VIEW_LAYER_ABOVE_TEXT">
<parameter_description> The layer rendered above the text.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkTextWindowType">
<description>
Used to reference the parts of #GtkTextView.

</description>
<parameters>
<parameter name="GTK_TEXT_WINDOW_WIDGET">
<parameter_description> Window that floats over scrolling areas.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_WINDOW_TEXT">
<parameter_description> Scrollable text window.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_WINDOW_LEFT">
<parameter_description> Left side border window.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_WINDOW_RIGHT">
<parameter_description> Right side border window.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_WINDOW_TOP">
<parameter_description> Top border window.
</parameter_description>
</parameter>
<parameter name="GTK_TEXT_WINDOW_BOTTOM">
<parameter_description> Bottom border window.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkToggleButton::toggled">
<description>
Should be connected if you wish to perform an action whenever the
#GtkToggleButton's state is changed.

</description>
<parameters>
<parameter name="togglebutton">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkTreeListModel:autoexpand">
<description>
If all rows should be expanded by default

</description>
</property>

<property name="GtkTreeListModel:model">
<description>
The root model displayed

</description>
</property>

<property name="GtkTreeListModel:passthrough">
<description>
If %FALSE, the #GListModel functions for this object return custom
#GtkTreeListRow objects.
If %TRUE, the values of the child models are pass through unmodified.

</description>
</property>

<property name="GtkTreeListRow:children">
<description>
The model holding the row's children.

</description>
</property>

<property name="GtkTreeListRow:depth">
<description>
The depth in the tree of this row

</description>
</property>

<property name="GtkTreeListRow:expandable">
<description>
If this row can ever be expanded

</description>
</property>

<property name="GtkTreeListRow:expanded">
<description>
If this row is currently expanded

</description>
</property>

<property name="GtkTreeListRow:item">
<description>
The item held in this row

</description>
</property>

<signal name="GtkTreeModel::row-changed">
<description>
This signal is emitted when a row in the model has changed.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> the #GtkTreeModel on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct identifying the changed row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the changed row
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeModel::row-deleted">
<description>
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.

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.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> the #GtkTreeModel on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct identifying the row
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeModel::row-has-child-toggled">
<description>
This signal is emitted when a row has gotten the first child
row or lost its last child row.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> the #GtkTreeModel on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct identifying the row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the row
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeModel::row-inserted">
<description>
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.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> the #GtkTreeModel on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct identifying the new row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the new row
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeModel::rows-reordered">
<description>
This signal is emitted when the children of a node in the
#GtkTreeModel have been reordered.

Note that this signal is not emitted
when rows are reordered by DND, since this is implemented
by removing and then reinserting the row.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> the #GtkTreeModel on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct identifying the tree node whose children
have been reordered
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the node whose children
have been reordered, or %NULL if the depth of @path is 0
</parameter_description>
</parameter>
<parameter name="new_order">
<parameter_description> an array of integers mapping the current position
of each child to its old position before the re-ordering,
i.e. @new_order`[newpos] = oldpos`
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkTreeModelFlags">
<description>
These flags indicate various properties of a #GtkTreeModel.

They are returned by gtk_tree_model_get_flags(), and must be
static for the lifetime of the object. A more complete description
of #GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of
this section.

</description>
<parameters>
<parameter name="GTK_TREE_MODEL_ITERS_PERSIST">
<parameter_description> iterators survive all signals
emitted by the tree
</parameter_description>
</parameter>
<parameter name="GTK_TREE_MODEL_LIST_ONLY">
<parameter_description> the model is a list only, and never
has children
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkTreeSelection::changed">
<description>
Emitted whenever the selection has (possibly) changed. Please note that
this signal is mostly a hint.  It may only be emitted once when a range
of rows are selected, and it may occasionally be emitted when nothing
has happened.

</description>
<parameters>
<parameter name="treeselection">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkTreeSelection:mode">
<description>
Selection mode.
See gtk_tree_selection_set_mode() for more information on this property.

</description>
</property>

<signal name="GtkTreeSortable::sort-column-changed">
<description>
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.

</description>
<parameters>
<parameter name="sortable">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeView::columns-changed">
<description>
The number of columns of the treeview has changed.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted 
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeView::cursor-changed">
<description>
The position of the cursor (focused cell) has changed.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeView::move-cursor">
<description>
The #GtkTreeView::move-cursor signal is a [keybinding
signal][GtkBindingSignal] which gets emitted when the user
presses one of the cursor keys.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically. In contrast to gtk_tree_view_set_cursor() and
gtk_tree_view_set_cursor_on_cell() when moving horizontally
#GtkTreeView::move-cursor does not reset the current selection.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted.
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the granularity of the move, as a
#GtkMovementStep. %GTK_MOVEMENT_LOGICAL_POSITIONS,
%GTK_MOVEMENT_VISUAL_POSITIONS, %GTK_MOVEMENT_DISPLAY_LINES,
%GTK_MOVEMENT_PAGES and %GTK_MOVEMENT_BUFFER_ENDS are
supported. %GTK_MOVEMENT_LOGICAL_POSITIONS and
%GTK_MOVEMENT_VISUAL_POSITIONS are treated identically.
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the direction to move: +1 to move forwards;
-1 to move backwards. The resulting movement is
undefined for all other values.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @step is supported, %FALSE otherwise.
</return>
</signal>

<signal name="GtkTreeView::row-activated">
<description>
The &quot;row-activated&quot; signal is emitted when the method
gtk_tree_view_row_activated() is called, when the user double
clicks a treeview row with the &quot;activate-on-single-click&quot;
property set to %FALSE, or when the user single clicks a row when
the &quot;activate-on-single-click&quot; property set to %TRUE. It is also
emitted when a non-editable row is selected and one of the keys:
Space, Shift+Space, Return or Enter is pressed.

For selection handling refer to the
[tree widget conceptual overview][TreeWidget]
as well as #GtkTreeSelection.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the #GtkTreePath for the activated row
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> the #GtkTreeViewColumn in which the activation occurred
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeView::row-collapsed">
<description>
The given row has been collapsed (child nodes are hidden).

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the tree iter of the collapsed row
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a tree path that points to the row 
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeView::row-expanded">
<description>
The given row has been expanded (child nodes are shown).

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the tree iter of the expanded row
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a tree path that points to the row 
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkTreeView::test-collapse-row">
<description>
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.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the tree iter of the row to collapse
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a tree path that points to the row 
</parameter_description>
</parameter>
</parameters>
<return> %FALSE to allow collapsing, %TRUE to reject
</return>
</signal>

<signal name="GtkTreeView::test-expand-row">
<description>
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.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the tree iter of the row to expand
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a tree path that points to the row 
</parameter_description>
</parameter>
</parameters>
<return> %FALSE to allow expansion, %TRUE to reject
</return>
</signal>

<property name="GtkTreeView:activate-on-single-click">
<description>
The activate-on-single-click property specifies whether the &quot;row-activated&quot; signal
will be emitted after a single click.

</description>
</property>

<property name="GtkTreeView:fixed-height-mode">
<description>
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.

</description>
</property>

<property name="GtkTreeView:hover-expand">
<description>
Enables or 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.

</description>
</property>

<property name="GtkTreeView:hover-selection">
<description>
Enables or 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.

</description>
</property>

<property name="GtkTreeView:level-indentation">
<description>
Extra indentation for each level.

</description>
</property>

<property name="GtkTreeView:show-expanders">
<description>
%TRUE if the view has expanders.

</description>
</property>

<property name="GtkTreeViewColumn:cell-area">
<description>
The #GtkCellArea used to layout cell renderers for this column.

If no area is specified when creating the tree view column with gtk_tree_view_column_new_with_area() 
a horizontally oriented #GtkCellAreaBox will be used.

</description>
</property>

<property name="GtkTreeViewColumn:sort-column-id">
<description>
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.

</description>
</property>

<enum name="GtkTreeViewColumnSizing">
<description>
The sizing method the column uses to determine its width.  Please note
that @GTK_TREE_VIEW_COLUMN_AUTOSIZE are inefficient for large views, and
can make columns appear choppy.

</description>
<parameters>
<parameter name="GTK_TREE_VIEW_COLUMN_GROW_ONLY">
<parameter_description> Columns only get bigger in reaction to changes in the model
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_COLUMN_AUTOSIZE">
<parameter_description> Columns resize to be the optimal size everytime the model changes.
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_COLUMN_FIXED">
<parameter_description> Columns are a fixed numbers of pixels wide.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkTreeViewDropPosition">
<description>
An enum for determining where a dropped row goes.

</description>
<parameters>
<parameter name="GTK_TREE_VIEW_DROP_BEFORE">
<parameter_description> dropped row is inserted before
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_DROP_AFTER">
<parameter_description> dropped row is inserted after
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_DROP_INTO_OR_BEFORE">
<parameter_description> dropped row becomes a child or is inserted before
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_DROP_INTO_OR_AFTER">
<parameter_description> dropped row becomes a child or is inserted after
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkTreeViewGridLines">
<description>
Used to indicate which grid lines to draw in a tree view.

</description>
<parameters>
<parameter name="GTK_TREE_VIEW_GRID_LINES_NONE">
<parameter_description> No grid lines.
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_GRID_LINES_HORIZONTAL">
<parameter_description> Horizontal grid lines.
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_GRID_LINES_VERTICAL">
<parameter_description> Vertical grid lines.
</parameter_description>
</parameter>
<parameter name="GTK_TREE_VIEW_GRID_LINES_BOTH">
<parameter_description> Horizontal and vertical grid lines.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkUnit">
<description>
See also gtk_print_settings_set_paper_width().

</description>
<parameters>
<parameter name="GTK_UNIT_NONE">
<parameter_description> No units.
</parameter_description>
</parameter>
<parameter name="GTK_UNIT_POINTS">
<parameter_description> Dimensions in points.
</parameter_description>
</parameter>
<parameter name="GTK_UNIT_INCH">
<parameter_description> Dimensions in inches.
</parameter_description>
</parameter>
<parameter name="GTK_UNIT_MM">
<parameter_description> Dimensions in millimeters
</parameter_description>
</parameter>
</parameters>
</enum>

<property name="GtkVideo:autoplay">
<description>
If the video should automatically begin playing.

</description>
</property>

<property name="GtkVideo:file">
<description>
The file played by this video if the video is playing a file.

</description>
</property>

<property name="GtkVideo:loop">
<description>
If new media files should be set to loop.

</description>
</property>

<property name="GtkVideo:media-stream">
<description>
The media-stream played

</description>
</property>

<property name="GtkVolumeButton:use-symbolic">
<description>
Whether to use symbolic icons as the icons. Note that
if the symbolic icons are not available in your installed
theme, then the normal (potentially colorful) icons will
be used.

</description>
</property>

<signal name="GtkWidget::accel-closures-changed">
<description>
The ::accel-closures-changed signal gets emitted when accelerators for this
widget get added, removed or changed.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::accept">
<description>
The ::accept 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().

The default handler for this signal decides whether to accept the drop
based on the type of the data.

If the decision whether the drop will be accepted or rejected can't be
made based solely the data format, handler may inspect the dragged data
by calling one of the #GdkDrop read functions and return %TRUE to
tentatively accept the drop. When the data arrives and is found to not be
acceptable, a call to gtk_drop_target_deny_drop() should be made to reject
the drop.


</description>
<parameters>
<parameter name="dest">
<parameter_description> the #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="drop">
<parameter_description> the #GdkDrop
</parameter_description>
</parameter>
</parameters>
<return> whether the cursor position is in a drop zone
</return>
</signal>

<signal name="GtkWidget::can-activate-accel">
<description>
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.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="signal_id">
<parameter_description> the ID of a signal installed on @widget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal can be activated.
</return>
</signal>

<signal name="GtkWidget::destroy">
<description>
Signals that all holders of a reference to the widget should release
the reference that they hold. May result in finalization of the widget
if all references are released.

This signal is not suitable for saving widget state.

</description>
<parameters>
<parameter name="object">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::direction-changed">
<description>
The ::direction-changed signal is emitted when the text direction
of a widget changes.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="previous_direction">
<parameter_description> the previous text direction of @widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::grab-notify">
<description>
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="was_grabbed">
<parameter_description> %FALSE if the widget becomes shadowed, %TRUE
if it becomes unshadowed
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::hide">
<description>
The ::hide signal is emitted when @widget is hidden, for example with
gtk_widget_hide().

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::keynav-failed">
<description>
Gets emitted if keyboard navigation fails.
See gtk_widget_keynav_failed() for details.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the direction of movement
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if stopping keyboard navigation is fine, %FALSE
if the emitting widget should try to handle the keyboard
navigation attempt in its parent widget(s).
</return>
</signal>

<signal name="GtkWidget::map">
<description>
The ::map signal is emitted when @widget is going to be mapped, that is
when the widget is visible (which is controlled with
gtk_widget_set_visible()) and all its parents up to the toplevel widget
are also visible.

The ::map signal can be used to determine whether a widget will be drawn,
for instance it can resume an animation that was stopped during the
emission of #GtkWidget::unmap.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::mnemonic-activate">
<description>
The default handler for this signal activates @widget if @group_cycling
is %FALSE, or just makes @widget grab focus if @group_cycling is %TRUE.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="group_cycling">
<parameter_description> %TRUE if there are other widgets with the same mnemonic
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
</return>
</signal>

<signal name="GtkWidget::move-focus">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description>
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::popup-menu">
<description>
This signal gets emitted whenever a widget should pop up a context
menu. This usually happens through the standard key binding mechanism;
by pressing a certain key while a widget is focused, the user can cause
the widget to pop up a menu.  For example, the #GtkEntry widget creates
a menu with clipboard commands. See the
[Popup Menu Migration Checklist][checklist-popup-menu]
for an example of how to use this signal.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a menu was activated
</return>
</signal>

<signal name="GtkWidget::query-tooltip">
<description>
Emitted when #GtkWidget:has-tooltip is %TRUE and the hover 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
@keyboard_mode is %TRUE, the values of @x and @y are undefined and
should not be used.

The signal handler is free to manipulate @tooltip with the therefore
destined function calls.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate of the cursor position where the request has
been emitted, relative to @widget's left side
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the cursor position where the request has
been emitted, relative to @widget's top
</parameter_description>
</parameter>
<parameter name="keyboard_mode">
<parameter_description> %TRUE if the tooltip was triggered using the keyboard
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tooltip should be shown right now, %FALSE otherwise.
</return>
</signal>

<signal name="GtkWidget::realize">
<description>
The ::realize signal is emitted when @widget is associated with a
#GdkSurface, which means that gtk_widget_realize() has been called or the
widget has been mapped (that is, it is going to be drawn).

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::show">
<description>
The ::show signal is emitted when @widget is shown, for example with
gtk_widget_show().

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::size-allocate">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the content width of the widget
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the content height of the widget
</parameter_description>
</parameter>
<parameter name="baseline">
<parameter_description> the baseline
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::state-flags-changed">
<description>
The ::state-flags-changed signal is emitted when the widget state
changes, see gtk_widget_get_state_flags().

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> The previous state flags.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::unmap">
<description>
The ::unmap signal is emitted when @widget is going to be unmapped, which
means that either it or any of its parents up to the toplevel widget have
been set as hidden.

As ::unmap indicates that a widget will not be shown any longer, it can be
used to, for example, stop an animation on the widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::unrealize">
<description>
The ::unrealize signal is emitted when the #GdkSurface associated with
@widget is destroyed, which means that gtk_widget_unrealize() has been
called or the widget has been unmapped (that is, it is going to be
hidden).

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkWidget:css-name">
<description>
The name of this widget in the CSS tree.

</description>
</property>

<property name="GtkWidget:cursor">
<description>
The cursor used by @widget. See gtk_widget_set_cursor() for details.

</description>
</property>

<property name="GtkWidget:expand">
<description>
Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand

</description>
</property>

<property name="GtkWidget:focus-on-click">
<description>
Whether the widget should grab focus when it is clicked with the mouse.

This property is only relevant for widgets that can take focus.

Before 3.20, several widgets (GtkButton, GtkFileChooserButton,
GtkComboBox) implemented this property individually.

</description>
</property>

<property name="GtkWidget:halign">
<description>
How to distribute horizontal space if widget gets extra space, see #GtkAlign

</description>
</property>

<property name="GtkWidget:has-tooltip">
<description>
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.

</description>
</property>

<property name="GtkWidget:hexpand">
<description>
Whether to expand horizontally. See gtk_widget_set_hexpand().

</description>
</property>

<property name="GtkWidget:hexpand-set">
<description>
Whether to use the #GtkWidget:hexpand property. See gtk_widget_get_hexpand_set().

</description>
</property>

<property name="GtkWidget:layout-manager">
<description>
The #GtkLayoutManager instance to use to compute the preferred size
of the widget, and allocate its children.

</description>
</property>

<property name="GtkWidget:margin">
<description>
Sets all four sides' margin at once. If read, returns max
margin on any side.

</description>
</property>

<property name="GtkWidget:margin-bottom">
<description>
Margin on bottom side of widget.

This property adds margin outside of the widget's normal size
request, the margin will be added in addition to the size from
gtk_widget_set_size_request() for example.

</description>
</property>

<property name="GtkWidget:margin-end">
<description>
Margin on end of widget, horizontally. This property supports
left-to-right and right-to-left text directions.

This property adds margin outside of the widget's normal size
request, the margin will be added in addition to the size from
gtk_widget_set_size_request() for example.

</description>
</property>

<property name="GtkWidget:margin-start">
<description>
Margin on start of widget, horizontally. This property supports
left-to-right and right-to-left text directions.

This property adds margin outside of the widget's normal size
request, the margin will be added in addition to the size from
gtk_widget_set_size_request() for example.

</description>
</property>

<property name="GtkWidget:margin-top">
<description>
Margin on top side of widget.

This property adds margin outside of the widget's normal size
request, the margin will be added in addition to the size from
gtk_widget_set_size_request() for example.

</description>
</property>

<property name="GtkWidget:opacity">
<description>
The requested opacity of the widget. See gtk_widget_set_opacity() for
more details about window opacity.

Before 3.8 this was only available in GtkWindow

</description>
</property>

<property name="GtkWidget:overflow">
<description>
How content outside the widget's content area is treated.

</description>
</property>

<property name="GtkWidget:root">
<description>
The #GtkRoot widget of the widget tree containing this widget or %NULL if
the widget is not contained in a root widget.

</description>
</property>

<property name="GtkWidget:scale-factor">
<description>
The scale factor of the widget. See gtk_widget_get_scale_factor() for
more details about widget scaling.

</description>
</property>

<property name="GtkWidget:tooltip-markup">
<description>
Sets the text of tooltip to be the given string, which is marked up
with the [Pango text markup language][PangoMarkupFormat].
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: #GtkWidget:has-tooltip
will automatically be set to %TRUE and there will be taken care of
#GtkWidget::query-tooltip in the default signal handler.

Note that if both #GtkWidget:tooltip-text and #GtkWidget:tooltip-markup
are set, the last one wins.

</description>
</property>

<property name="GtkWidget:tooltip-text">
<description>
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: #GtkWidget:has-tooltip
will automatically be set to %TRUE and there will be taken care of
#GtkWidget::query-tooltip in the default signal handler.

Note that if both #GtkWidget:tooltip-text and #GtkWidget:tooltip-markup
are set, the last one wins.

</description>
</property>

<property name="GtkWidget:valign">
<description>
How to distribute vertical space if widget gets extra space, see #GtkAlign

</description>
</property>

<property name="GtkWidget:vexpand">
<description>
Whether to expand vertically. See gtk_widget_set_vexpand().

</description>
</property>

<property name="GtkWidget:vexpand-set">
<description>
Whether to use the #GtkWidget:vexpand property. See gtk_widget_get_vexpand_set().

</description>
</property>

<property name="GtkWidgetPaintable:widget">
<description>
The observed widget or %NULL if none.

</description>
</property>

<signal name="GtkWindow::activate-default">
<description>
The ::activate-default signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user activates the default widget
of @window.

</description>
<parameters>
<parameter name="window">
<parameter_description> the window which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWindow::activate-focus">
<description>
The ::activate-focus signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user activates the currently
focused widget of @window.

</description>
<parameters>
<parameter name="window">
<parameter_description> the window which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWindow::close-request">
<description>
The ::close-request signal is emitted when the user clicks on the close
button of the window.

Return: %TRUE to stop other handlers from being invoked for the signal

</description>
<parameters>
<parameter name="window">
<parameter_description> the window on which the signal is emitted
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWindow::enable-debugging">
<description>
The ::enable-debugging signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user enables or disables interactive
debugging. When @toggle is %TRUE, interactive debugging is toggled
on or off, when it is %FALSE, the debugger will be pointed at the
widget under the pointer.

The default bindings for this signal are Ctrl-Shift-I
and Ctrl-Shift-D.

Return: %TRUE if the key binding was handled

</description>
<parameters>
<parameter name="window">
<parameter_description> the window on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="toggle">
<parameter_description> toggle the debugger
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWindow::keys-changed">
<description>
The ::keys-changed signal gets emitted when the set of accelerators
or mnemonics that are associated with @window changes.

</description>
<parameters>
<parameter name="window">
<parameter_description> the window which received the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<property name="GtkWindow:accept-focus">
<description>
Whether the window should receive the input focus.

</description>
</property>

<property name="GtkWindow:application">
<description>
The #GtkApplication associated with the window.

The application will be kept alive for at least as long as it
has any windows associated with it (see g_application_hold()
for a way to keep it alive without windows).

Normally, the connection between the application and the window
will remain until the window is destroyed, but you can explicitly
remove it by setting the :application property to %NULL.

</description>
</property>

<property name="GtkWindow:attached-to">
<description>
The widget to which this window is attached.
See gtk_window_set_attached_to().

Examples of places where specifying this relation is useful are
for instance a #GtkMenu created by a #GtkComboBox, a completion
popup window created by #GtkEntry or a typeahead search entry
created by #GtkTreeView.

</description>
</property>

<property name="GtkWindow:decorated">
<description>
Whether the window should be decorated by the window manager.

</description>
</property>

<property name="GtkWindow:deletable">
<description>
Whether the window frame should have a close button.

</description>
</property>

<property name="GtkWindow:focus-on-map">
<description>
Whether the window should receive the input focus when mapped.

</description>
</property>

<property name="GtkWindow:focus-visible">
<description>
Whether 'focus rectangles' are currently visible in this window.

This property is maintained by GTK+ based on user input
and should not be set by applications.

</description>
</property>

<property name="GtkWindow:icon-name">
<description>
The :icon-name property specifies the name of the themed icon to
use as the window icon. See #GtkIconTheme for more details.

</description>
</property>

<property name="GtkWindow:mnemonics-visible">
<description>
Whether mnemonics are currently visible in this window.

This property is maintained by GTK+ based on user input,
and should not be set by applications.

</description>
</property>

<property name="GtkWindow:startup-id">
<description>
The :startup-id is a write-only property for setting window's
startup notification identifier. See gtk_window_set_startup_id()
for more details.

</description>
</property>

<property name="GtkWindow:transient-for">
<description>
The transient parent of the window. See gtk_window_set_transient_for() for
more details about transient windows.

</description>
</property>

<enum name="GtkWindowType">
<description>
A #GtkWindow can be one of these types. Most things you’d consider a
“window” should have type #GTK_WINDOW_TOPLEVEL; windows with this type
are managed by the window manager and have a frame by default (call
gtk_window_set_decorated() to toggle the frame).  Windows with type
#GTK_WINDOW_POPUP are ignored by the window manager; window manager
keybindings won’t work on them, the window manager won’t decorate the
window with a frame, many GTK+ features that rely on the window
manager will not work (e.g. maximization/minimization).
#GTK_WINDOW_POPUP is used to implement
widgets such as #GtkMenu or tooltips that you normally don’t think of
as windows per se. Nearly all windows should be #GTK_WINDOW_TOPLEVEL.
In particular, do not use #GTK_WINDOW_POPUP just to turn off
the window borders; use gtk_window_set_decorated() for that.

</description>
<parameters>
<parameter name="GTK_WINDOW_TOPLEVEL">
<parameter_description> A regular window, such as a dialog.
</parameter_description>
</parameter>
<parameter name="GTK_WINDOW_POPUP">
<parameter_description> A special window such as a tooltip.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkWrapMode">
<description>
Describes a type of line wrapping.

</description>
<parameters>
<parameter name="GTK_WRAP_NONE">
<parameter_description> do not wrap lines; just make the text area wider
</parameter_description>
</parameter>
<parameter name="GTK_WRAP_CHAR">
<parameter_description> wrap text, breaking lines anywhere the cursor can
appear (between characters, usually - if you want to be technical,
between graphemes, see pango_get_log_attrs())
</parameter_description>
</parameter>
<parameter name="GTK_WRAP_WORD">
<parameter_description> wrap text, breaking lines in between words
</parameter_description>
</parameter>
<parameter name="GTK_WRAP_WORD_CHAR">
<parameter_description> wrap text, breaking lines in between words, or if
that is not enough, also between graphemes
</parameter_description>
</parameter>
</parameters>
</enum>

<function name="add_file">
<description>
Adds the given @file with its associated @info to the @model. 
If the model is frozen, the file will only show up after it is thawn.

</description>
<parameters>
<parameter name="model">
<parameter_description> the model
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> the file to add
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> the information to associate with the file
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="freeze_updates">
<description>
Freezes most updates on the model, so that performing multiple operations on
the files in the model do not cause any events.  Use thaw_updates() to resume
proper operations. It is fine to call this function multiple times as long as
freeze and thaw calls are balanced.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkFileSystemModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_add_credit_section">
<description>
Creates a new section in the Credits page.

</description>
<parameters>
<parameter name="about">
<parameter_description> A #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="section_name">
<parameter_description> The name of the section
</parameter_description>
</parameter>
<parameter name="people">
<parameter_description> The people who belong to that section
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_get_artists">
<description>
Returns the string which are displayed in the artists tab
of the secondary credits dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> A
%NULL-terminated string array containing the artists. The array is
owned by the about dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_authors">
<description>
Returns the string which are displayed in the authors tab
of the secondary credits dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> A
%NULL-terminated string array containing the authors. The array is
owned by the about dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_comments">
<description>
Returns the comments string.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The comments. The string is owned by the about
dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_copyright">
<description>
Returns the copyright string.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The copyright string. The string is owned by the about
dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_documenters">
<description>
Returns the string which are displayed in the documenters
tab of the secondary credits dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> A
%NULL-terminated string array containing the documenters. The
array is owned by the about dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_license">
<description>
Returns the license information.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The license information. The string is owned by the about
dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_license_type">
<description>
Retrieves the license set using gtk_about_dialog_set_license_type()


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> a #GtkLicense value
</return>
</function>

<function name="gtk_about_dialog_get_logo">
<description>
Returns the paintable displayed as logo in the about dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> the paintable displayed as logo. The
paintable is owned by the about dialog. If you want to keep a
reference to it, you have to call g_object_ref() on it.
</return>
</function>

<function name="gtk_about_dialog_get_logo_icon_name">
<description>
Returns the icon name displayed as logo in the about dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> the icon name displayed as logo. The string is
owned by the dialog. If you want to keep a reference
to it, you have to call g_strdup() on it.
</return>
</function>

<function name="gtk_about_dialog_get_program_name">
<description>
Returns the program name displayed in the about dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The program name. The string is owned by the about
dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_system_information">
<description>
Returns the system information that is shown in the about dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> the system information
</return>
</function>

<function name="gtk_about_dialog_get_translator_credits">
<description>
Returns the translator credits string which is displayed
in the translators tab of the secondary credits dialog.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The translator credits string. The string is
owned by the about dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_version">
<description>
Returns the version string.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The version string. The string is owned by the about
dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_website">
<description>
Returns the website URL.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The website URL. The string is owned by the about
dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_website_label">
<description>
Returns the label used for the website link.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> The label used for the website link. The string is
owned by the about dialog and must not be modified.
</return>
</function>

<function name="gtk_about_dialog_get_wrap_license">
<description>
Returns whether the license text in @about is
automatically wrapped.


</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the license text is wrapped
</return>
</function>

<function name="gtk_about_dialog_new">
<description>
Creates a new #GtkAboutDialog.


</description>
<parameters>
</parameters>
<return> a newly created #GtkAboutDialog
</return>
</function>

<function name="gtk_about_dialog_set_artists">
<description>
Sets the strings which are displayed in the artists tab
of the secondary credits dialog.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="artists">
<parameter_description> a %NULL-terminated array of strings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_authors">
<description>
Sets the strings which are displayed in the authors tab
of the secondary credits dialog.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="authors">
<parameter_description> a %NULL-terminated array of strings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_comments">
<description>
Sets the comments string to display in the about dialog.
This should be a short string of one or two lines.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="comments">
<parameter_description> a comments string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_copyright">
<description>
Sets the copyright string to display in the about dialog.
This should be a short string of one or two lines.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="copyright">
<parameter_description> the copyright string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_documenters">
<description>
Sets the strings which are displayed in the documenters tab
of the credits dialog.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="documenters">
<parameter_description> a %NULL-terminated array of strings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_license">
<description>
Sets the license information to be displayed in the secondary
license dialog. If @license is %NULL, the license button is
hidden.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="license">
<parameter_description> the license information or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_license_type">
<description>
Sets the license of the application showing the @about dialog from a
list of known licenses.

This function overrides the license set using
gtk_about_dialog_set_license().

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="license_type">
<parameter_description> the type of license
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_logo">
<description>
Sets the surface 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.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="logo">
<parameter_description> a #GdkPaintable, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_logo_icon_name">
<description>
Sets the surface 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.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> an icon name, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_program_name">
<description>
Sets the name to display in the about dialog.
If this is not set, it defaults to g_get_application_name().

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the program name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_system_information">
<description>
Sets the system information to be displayed in the about
dialog. If @system_information is %NULL, the system information
tab is hidden.

See #GtkAboutdialog:system-information.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="system_information">
<parameter_description> system information or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_translator_credits">
<description>
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:
|[&lt;!-- language=&quot;C&quot; --&gt;
GtkWidget *about = gtk_about_dialog_new ();
gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (about),
_(&quot;translator-credits&quot;));
]|
It is a good idea to use the customary msgid “translator-credits” for this
purpose, since translators will already know the purpose of that msgid, and
since #GtkAboutDialog will detect if “translator-credits” is untranslated
and hide the tab.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="translator_credits">
<parameter_description> the translator credits
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_version">
<description>
Sets the version string to display in the about dialog.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="version">
<parameter_description> the version string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_website">
<description>
Sets the URL to use for the website link.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="website">
<parameter_description> a URL string starting with &quot;http://&quot;
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_website_label">
<description>
Sets the label to be used for the website link.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="website_label">
<parameter_description> the label used for the website link
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_wrap_license">
<description>
Sets whether the license text in @about is
automatically wrapped.

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="wrap_license">
<parameter_description> whether to wrap the license
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_group_activate">
<description>
Finds the first accelerator in @accel_group that matches
@accel_key and @accel_mods, and activates it.


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
<parameter name="accel_quark">
<parameter_description> the quark for the accelerator name
</parameter_description>
</parameter>
<parameter name="acceleratable">
<parameter_description> the #GObject, usually a #GtkWindow, on which
to activate the accelerator
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description> accelerator keyval from a key event
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> keyboard state mask from a key event
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an accelerator was activated and handled
this keypress
</return>
</function>

<function name="gtk_accel_group_connect">
<description>
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.

</description>
<parameters>
<parameter name="accel_group">
<parameter_description> the accelerator group to install an accelerator in
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description> key value of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> modifier combination of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_flags">
<parameter_description> a flag mask to configure this accelerator
</parameter_description>
</parameter>
<parameter name="closure">
<parameter_description> closure to be executed upon accelerator activation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_group_connect_by_path">
<description>
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 @accel_mods from
gtk_accel_groups_activate() match the key and modifiers 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().

</description>
<parameters>
<parameter name="accel_group">
<parameter_description> the accelerator group to install an accelerator in
</parameter_description>
</parameter>
<parameter name="accel_path">
<parameter_description> path used for determining key and modifiers
</parameter_description>
</parameter>
<parameter name="closure">
<parameter_description> closure to be executed upon accelerator activation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_group_disconnect">
<description>
Removes an accelerator previously installed through
gtk_accel_group_connect().


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> the accelerator group to remove an accelerator from
</parameter_description>
</parameter>
<parameter name="closure">
<parameter_description> the closure to remove from this accelerator
group, or %NULL to remove all closures
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the closure was found and got disconnected
</return>
</function>

<function name="gtk_accel_group_disconnect_key">
<description>
Removes an accelerator previously installed through
gtk_accel_group_connect().


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> the accelerator group to install an accelerator in
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description> key value of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> modifier combination of the accelerator
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there was an accelerator which could be
removed, %FALSE otherwise
</return>
</function>

<function name="gtk_accel_group_find">
<description>
Finds the first entry in an accelerator group for which
@find_func returns %TRUE and returns its #GtkAccelKey.


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
<parameter name="find_func">
<parameter_description> a function to filter the entries
of @accel_group with
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to pass to @find_func
</parameter_description>
</parameter>
</parameters>
<return> the key of the first entry passing
@find_func. The key is owned by GTK+ and must not be freed.
</return>
</function>

<function name="gtk_accel_group_from_accel_closure">
<description>
Finds the #GtkAccelGroup to which @closure is connected;
see gtk_accel_group_connect().


</description>
<parameters>
<parameter name="closure">
<parameter_description> a #GClosure
</parameter_description>
</parameter>
</parameters>
<return> the #GtkAccelGroup to which @closure
is connected, or %NULL
</return>
</function>

<function name="gtk_accel_group_get_is_locked">
<description>
Locks are added and removed using gtk_accel_group_lock() and
gtk_accel_group_unlock().


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there are 1 or more locks on the @accel_group,
%FALSE otherwise.
</return>
</function>

<function name="gtk_accel_group_get_modifier_mask">
<description>
Gets a #GdkModifierType representing the mask for this
@accel_group. For example, #GDK_CONTROL_MASK, #GDK_SHIFT_MASK, etc.


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
</parameters>
<return> the modifier mask for this accel group.
</return>
</function>

<function name="gtk_accel_group_lock">
<description>
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.

</description>
<parameters>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_group_new">
<description>
Creates a new #GtkAccelGroup.


</description>
<parameters>
</parameters>
<return> a new #GtkAccelGroup object
</return>
</function>

<function name="gtk_accel_group_query">
<description>
Queries an accelerator group for all entries matching @accel_key
and @accel_mods.


</description>
<parameters>
<parameter name="accel_group">
<parameter_description> the accelerator group to query
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description> key value of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> modifier combination of the accelerator
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> location to return the number
of entries found, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> an array of
@n_entries #GtkAccelGroupEntry elements, or %NULL. The array
is owned by GTK+ and must not be freed.
</return>
</function>

<function name="gtk_accel_group_unlock">
<description>
Undoes the last call to gtk_accel_group_lock() on this @accel_group.

</description>
<parameters>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_groups_activate">
<description>
Finds the first accelerator in any #GtkAccelGroup attached
to @object that matches @accel_key and @accel_mods, and
activates that accelerator.


</description>
<parameters>
<parameter name="object">
<parameter_description> the #GObject, usually a #GtkWindow, on which
to activate the accelerator
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description> accelerator keyval from a key event
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> keyboard state mask from a key event
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an accelerator was activated and handled
this keypress
</return>
</function>

<function name="gtk_accel_groups_from_object">
<description>
Gets a list of all accel groups which are attached to @object.


</description>
<parameters>
<parameter name="object">
<parameter_description> a #GObject, usually a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> a list of
all accel groups which are attached to @object
</return>
</function>

<function name="gtk_accel_label_get_accel">
<description>
Gets the keyval and modifier mask set with
gtk_accel_label_set_accel().

</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
<parameter name="accelerator_key">
<parameter_description> return location for the keyval
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> return location for the modifier mask
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_label_get_accel_closure">
<description>
Fetches the closure monitored by this accelerator label. See
gtk_accel_label_set_accel_closure().


</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
</parameters>
<return> the closure monitored by @accel_label,
or %NULL if it is not monitoring a closure.
</return>
</function>

<function name="gtk_accel_label_get_accel_widget">
<description>
Fetches the widget monitored by this accelerator label. See
gtk_accel_label_set_accel_widget().


</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
</parameters>
<return> the widget monitored by @accel_label,
or %NULL if it is not monitoring a widget.
</return>
</function>

<function name="gtk_accel_label_get_accel_width">
<description>
Returns the width needed to display the accelerator key(s).
This is used by menus to align all of the menu item widgets,
and shouldn't be needed by applications.


</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel.
</parameter_description>
</parameter>
</parameters>
<return> the width needed to display the accelerator key(s).
</return>
</function>

<function name="gtk_accel_label_get_label">
<description>
Returns the current label, set via gtk_accel_label_set_label()


</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
</parameters>
<return> @accel_label's label

</return>
</function>

<function name="gtk_accel_label_get_use_underline">
<description>
Returns whether the accel label interprets underscores in it's
label property as mnemonic indicators.
See gtk_accel_label_set_use_underline() and gtk_label_set_use_underline();


</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
</parameters>
<return> whether the accel label uses mnemonic underlines
</return>
</function>

<function name="gtk_accel_label_new">
<description>
Creates a new #GtkAccelLabel.


</description>
<parameters>
<parameter name="string">
<parameter_description> the label string. Must be non-%NULL.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkAccelLabel.
</return>
</function>

<function name="gtk_accel_label_refetch">
<description>
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.


</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel.
</parameter_description>
</parameter>
</parameters>
<return> always returns %FALSE.
</return>
</function>

<function name="gtk_accel_label_set_accel">
<description>
Manually sets a keyval and modifier mask as the accelerator rendered
by @accel_label.

If a keyval and modifier are explicitly set then these values are
used regardless of any associated accel closure or widget.

Providing an @accelerator_key of 0 removes the manual setting.

</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
<parameter name="accelerator_key">
<parameter_description> a keyval, or 0
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> the modifier mask for the accel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_label_set_accel_closure">
<description>
Sets the closure to be monitored by this accelerator label. The closure
must be connected to an accelerator group; see gtk_accel_group_connect().
Passing %NULL for @accel_closure will dissociate @accel_label from its
current closure, if any.

</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
<parameter name="accel_closure">
<parameter_description> the closure to monitor for accelerator changes,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_label_set_accel_widget">
<description>
Sets the widget to be monitored by this accelerator label. Passing %NULL for
@accel_widget will dissociate @accel_label from its current widget, if any.

</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
<parameter name="accel_widget">
<parameter_description> the widget to be monitored, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_label_set_label">
<description>
Sets the label part of the accel label.


</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> The new label text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_label_set_use_underline">
<description>
Controls whether to interpret underscores in the text label of @accel_label
as mnemonic indicators. See also gtk_label_set_use_underline()

</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> Whether to use underlines in the label or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_add_entry">
<description>
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().

Set @accel_key and @accel_mods to 0 to request a removal of
the accelerator.

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().

</description>
<parameters>
<parameter name="accel_path">
<parameter_description> valid accelerator path
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description>  the accelerator key
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description> the accelerator modifiers
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_add_filter">
<description>
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’t want them to be saved into the applications accelerator
map dump.

</description>
<parameters>
<parameter name="filter_pattern">
<parameter_description> a pattern (see #GPatternSpec)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_change_entry">
<description>
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,
@replace indicates whether other accelerators may be deleted to resolve such
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().


</description>
<parameters>
<parameter name="accel_path">
<parameter_description>  a valid accelerator path
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description>   the new accelerator key
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description>  the new accelerator modifiers
</parameter_description>
</parameter>
<parameter name="replace">
<parameter_description>     %TRUE if other accelerators may be deleted upon conflicts
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the accelerator could be changed, %FALSE otherwise
</return>
</function>

<function name="gtk_accel_map_foreach">
<description>
Loops over the entries in the accelerator map whose accel path 
doesn’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).

</description>
<parameters>
<parameter name="data">
<parameter_description> data to be passed into @foreach_func
</parameter_description>
</parameter>
<parameter name="foreach_func">
<parameter_description> function to be executed for each accel
map entry which is not filtered out
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_foreach_unfiltered">
<description>
Loops over all entries in the accelerator map, 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).

</description>
<parameters>
<parameter name="data">
<parameter_description>         data to be passed into @foreach_func
</parameter_description>
</parameter>
<parameter name="foreach_func">
<parameter_description> function to be executed for each accel
map entry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_get">
<description>
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’t a parameter to the
other accelerator map functions.


</description>
<parameters>
</parameters>
<return> the global #GtkAccelMap object
</return>
</function>

<function name="gtk_accel_map_load">
<description>
Parses a file previously saved with gtk_accel_map_save() for
accelerator specifications, and propagates them accordingly.

</description>
<parameters>
<parameter name="file_name">
<parameter_description> a file containing accelerator specifications,
in the GLib file name encoding
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_load_fd">
<description>
Filedescriptor variant of gtk_accel_map_load().

Note that the file descriptor will not be closed by this function.

</description>
<parameters>
<parameter name="fd">
<parameter_description> a valid readable file descriptor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_load_scanner">
<description>
#GScanner variant of gtk_accel_map_load().

</description>
<parameters>
<parameter name="scanner">
<parameter_description> a #GScanner which has already been provided with an input file
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_lock_path">
<description>
Locks the given accelerator path. If the accelerator map doesn’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. 

</description>
<parameters>
<parameter name="accel_path">
<parameter_description> a valid accelerator path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_lookup_entry">
<description>
Looks up the accelerator entry for @accel_path and fills in @key.


</description>
<parameters>
<parameter name="accel_path">
<parameter_description> a valid accelerator path
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> the accelerator key to be filled in (optional)
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @accel_path is known, %FALSE otherwise
</return>
</function>

<function name="gtk_accel_map_save">
<description>
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().

</description>
<parameters>
<parameter name="file_name">
<parameter_description> the name of the file to contain
accelerator specifications, in the GLib file name encoding
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_save_fd">
<description>
Filedescriptor variant of gtk_accel_map_save().

Note that the file descriptor will not be closed by this function.

</description>
<parameters>
<parameter name="fd">
<parameter_description> a valid writable file descriptor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accel_map_unlock_path">
<description>
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.

</description>
<parameters>
<parameter name="accel_path">
<parameter_description> a valid accelerator path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accelerator_get_default_mod_mask">
<description>
Gets the modifier mask.

The modifier mask determines which modifiers are considered significant
for keyboard accelerators. See gtk_accelerator_set_default_mod_mask().


</description>
<parameters>
</parameters>
<return> the default accelerator modifier mask
</return>
</function>

<function name="gtk_accelerator_get_label">
<description>
Converts an accelerator keyval and modifier mask into a string
which can be used to represent the accelerator to the user.


</description>
<parameters>
<parameter name="accelerator_key">
<parameter_description> accelerator keyval
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> accelerator modifier mask
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated string representing the accelerator.
</return>
</function>

<function name="gtk_accelerator_get_label_with_keycode">
<description>
Converts an accelerator keyval and modifier mask
into a (possibly translated) string that can be displayed to
a user, similarly to gtk_accelerator_get_label(), but handling
keycodes.

This is only useful for system-level components, applications
should use gtk_accelerator_parse() instead.


</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay or %NULL to use the default display
</parameter_description>
</parameter>
<parameter name="accelerator_key">
<parameter_description> accelerator keyval
</parameter_description>
</parameter>
<parameter name="keycode">
<parameter_description> accelerator keycode
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> accelerator modifier mask
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated string representing the accelerator.
</return>
</function>

<function name="gtk_accelerator_name">
<description>
Converts an accelerator keyval and modifier mask into a string
parseable by gtk_accelerator_parse(). For example, if you pass in
#GDK_KEY_q and #GDK_CONTROL_MASK, this function returns “&lt;Control&gt;q”.

If you need to display accelerators in the user interface,
see gtk_accelerator_get_label().


</description>
<parameters>
<parameter name="accelerator_key">
<parameter_description> accelerator keyval
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> accelerator modifier mask
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated accelerator name
</return>
</function>

<function name="gtk_accelerator_name_with_keycode">
<description>
Converts an accelerator keyval and modifier mask
into a string parseable by gtk_accelerator_parse_with_keycode(),
similarly to gtk_accelerator_name() but handling keycodes.
This is only useful for system-level components, applications
should use gtk_accelerator_parse() instead.


</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay or %NULL to use the default display
</parameter_description>
</parameter>
<parameter name="accelerator_key">
<parameter_description> accelerator keyval
</parameter_description>
</parameter>
<parameter name="keycode">
<parameter_description> accelerator keycode
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> accelerator modifier mask
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated accelerator name.
</return>
</function>

<function name="gtk_accelerator_parse">
<description>
Parses a string representing an accelerator. The format looks like
“&lt;Control&gt;a” or “&lt;Shift&gt;&lt;Alt&gt;F1” or “&lt;Release&gt;z” (the last one is
for key release).

The parser is fairly liberal and allows lower or upper case, and also
abbreviations such as “&lt;Ctl&gt;” and “&lt;Ctrl&gt;”. Key names are parsed using
gdk_keyval_from_name(). For character keys the name is not the symbol,
but the lowercase name, e.g. one would use “&lt;Ctrl&gt;minus” instead of
“&lt;Ctrl&gt;-”.

If the parse fails, @accelerator_key and @accelerator_mods will
be set to 0 (zero).

</description>
<parameters>
<parameter name="accelerator">
<parameter_description> string representing an accelerator
</parameter_description>
</parameter>
<parameter name="accelerator_key">
<parameter_description> return location for accelerator
keyval, or %NULL
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> return location for accelerator
modifier mask, %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accelerator_parse_with_keycode">
<description>
Parses a string representing an accelerator, similarly to
gtk_accelerator_parse() but handles keycodes as well. This is only
useful for system-level components, applications should use
gtk_accelerator_parse() instead.

If @accelerator_codes is given and the result stored in it is non-%NULL,
the result must be freed with g_free().

If a keycode is present in the accelerator and no @accelerator_codes
is given, the parse will fail.

If the parse fails, @accelerator_key, @accelerator_mods and
@accelerator_codes will be set to 0 (zero).

</description>
<parameters>
<parameter name="accelerator">
<parameter_description> string representing an accelerator
</parameter_description>
</parameter>
<parameter name="accelerator_key">
<parameter_description> return location for accelerator
keyval, or %NULL
</parameter_description>
</parameter>
<parameter name="accelerator_codes">
<parameter_description>
return location for accelerator keycodes, or %NULL
</parameter_description>
</parameter>
<parameter name="accelerator_mods">
<parameter_description> return location for accelerator
modifier mask, %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accelerator_set_default_mod_mask">
<description>
Sets the modifiers that will be considered significant for keyboard
accelerators. The default mod mask depends on the GDK backend in use,
but will typically include #GDK_CONTROL_MASK | #GDK_SHIFT_MASK |
#GDK_MOD1_MASK | #GDK_SUPER_MASK | #GDK_HYPER_MASK | #GDK_META_MASK.
In other words, 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.

</description>
<parameters>
<parameter name="default_mod_mask">
<parameter_description> accelerator modifier mask
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_accelerator_valid">
<description>
Determines whether a given keyval and modifier mask constitute
a valid keyboard accelerator. For example, the #GDK_KEY_a keyval
plus #GDK_CONTROL_MASK is valid - this is a “Ctrl+a” accelerator.
But, you can't, for instance, use the #GDK_KEY_Control_L keyval
as an accelerator.


</description>
<parameters>
<parameter name="keyval">
<parameter_description> a GDK keyval
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description> modifier mask
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the accelerator is valid
</return>
</function>

<function name="gtk_accessible_get_widget">
<description>
Gets the #GtkWidget corresponding to the #GtkAccessible.
The returned widget does not have a reference added, so
you do not need to unref it.


</description>
<parameters>
<parameter name="accessible">
<parameter_description> a #GtkAccessible
</parameter_description>
</parameter>
</parameters>
<return> pointer to the #GtkWidget
corresponding to the #GtkAccessible, or %NULL.
</return>
</function>

<function name="gtk_accessible_set_widget">
<description>
Sets the #GtkWidget corresponding to the #GtkAccessible.

@accessible will not hold a reference to @widget.
It is the caller’s responsibility to ensure that when @widget
is destroyed, the widget is unset by calling this function
again with @widget set to %NULL.

</description>
<parameters>
<parameter name="accessible">
<parameter_description> a #GtkAccessible
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget or %NULL to unset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_bar_get_center_widget">
<description>
Retrieves the center bar widget of the bar.


</description>
<parameters>
<parameter name="action_bar">
<parameter_description> a #GtkActionBar
</parameter_description>
</parameter>
</parameters>
<return> the center #GtkWidget or %NULL.
</return>
</function>

<function name="gtk_action_bar_get_revealed">
<description>
Gets the value of the #GtkActionBar:revealed property.


</description>
<parameters>
<parameter name="action_bar">
<parameter_description> a #GtkActionBar
</parameter_description>
</parameter>
</parameters>
<return> the current value of the #GtkActionBar:revealed property.
</return>
</function>

<function name="gtk_action_bar_new">
<description>
Creates a new #GtkActionBar widget.


</description>
<parameters>
</parameters>
<return> a new #GtkActionBar
</return>
</function>

<function name="gtk_action_bar_pack_end">
<description>
Adds @child to @action_bar, packed with reference to the
end of the @action_bar.

</description>
<parameters>
<parameter name="action_bar">
<parameter_description> A #GtkActionBar
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to be added to @action_bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_bar_pack_start">
<description>
Adds @child to @action_bar, packed with reference to the
start of the @action_bar.

</description>
<parameters>
<parameter name="action_bar">
<parameter_description> A #GtkActionBar
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to be added to @action_bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_bar_set_center_widget">
<description>
Sets the center widget for the #GtkActionBar.

</description>
<parameters>
<parameter name="action_bar">
<parameter_description> a #GtkActionBar
</parameter_description>
</parameter>
<parameter name="center_widget">
<parameter_description> a widget to use for the center
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_bar_set_revealed">
<description>
Sets the #GtkActionBar:revealed property to @revealed. Changing this will
make @action_bar reveal (%TRUE) or conceal (%FALSE) itself via a sliding
transition.

Note: this does not show or hide @action_bar in the #GtkWidget:visible sense,
so revealing has no effect if #GtkWidget:visible is %FALSE.

</description>
<parameters>
<parameter name="action_bar">
<parameter_description> a #GtkActionBar
</parameter_description>
</parameter>
<parameter name="revealed">
<parameter_description> The new value of the property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_observable_register_observer">
<description>
Registers @observer as being interested in changes to @action_name on
@observable.

</description>
<parameters>
<parameter name="observable">
<parameter_description> a #GtkActionObservable
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> the name of the action
</parameter_description>
</parameter>
<parameter name="observer">
<parameter_description> the #GtkActionObserver to which the events will be reported
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_observable_unregister_observer">
<description>
Removes the registration of @observer as being interested in changes
to @action_name on @observable.

If the observer was registered multiple times, it must be
unregistered an equal number of times.

</description>
<parameters>
<parameter name="observable">
<parameter_description> a #GtkActionObservable
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> the name of the action
</parameter_description>
</parameter>
<parameter name="observer">
<parameter_description> the #GtkActionObserver to which the events will be reported
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_actionable_get_action_name">
<description>
Gets the action name for @actionable.

See gtk_actionable_set_action_name() for more information.


</description>
<parameters>
<parameter name="actionable">
<parameter_description> a #GtkActionable widget
</parameter_description>
</parameter>
</parameters>
<return> the action name, or %NULL if none is set
</return>
</function>

<function name="gtk_actionable_get_action_target_value">
<description>
Gets the current target value of @actionable.

See gtk_actionable_set_action_target_value() for more information.


</description>
<parameters>
<parameter name="actionable">
<parameter_description> a #GtkActionable widget
</parameter_description>
</parameter>
</parameters>
<return> the current target value
</return>
</function>

<function name="gtk_actionable_set_action_name">
<description>
Specifies the name of the action with which this widget should be
associated.  If @action_name is %NULL then the widget will be
unassociated from any previous action.

Usually this function is used when the widget is located (or will be
located) within the hierarchy of a #GtkApplicationWindow.

Names are of the form “win.save” or “app.quit” for actions on the
containing #GtkApplicationWindow or its associated #GtkApplication,
respectively.  This is the same form used for actions in the #GMenu
associated with the window.

</description>
<parameters>
<parameter name="actionable">
<parameter_description> a #GtkActionable widget
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> an action name, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_actionable_set_action_target">
<description>
Sets the target of an actionable widget.

This is a convenience function that calls g_variant_new() for
@format_string and uses the result to call
gtk_actionable_set_action_target_value().

If you are setting a string-valued target and want to set the action
name at the same time, you can use
gtk_actionable_set_detailed_action_name ().

</description>
<parameters>
<parameter name="actionable">
<parameter_description> a #GtkActionable widget
</parameter_description>
</parameter>
<parameter name="format_string">
<parameter_description> a GVariant format string
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments appropriate for @format_string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_actionable_set_action_target_value">
<description>
Sets the target value of an actionable widget.

If @target_value is %NULL then the target value is unset.

The target value has two purposes.  First, it is used as the
parameter to activation of the action associated with the
#GtkActionable widget. Second, it is used to determine if the widget
should be rendered as “active” — the widget is active if the state
is equal to the given target.

Consider the example of associating a set of buttons with a #GAction
with string state in a typical “radio button” situation.  Each button
will be associated with the same action, but with a different target
value for that action.  Clicking on a particular button will activate
the action with the target of that button, which will typically cause
the action’s state to change to that value. Since the action’s state
is now equal to the target value of the button, the button will now
be rendered as active (and the other buttons, with different targets,
rendered inactive).

</description>
<parameters>
<parameter name="actionable">
<parameter_description> a #GtkActionable widget
</parameter_description>
</parameter>
<parameter name="target_value">
<parameter_description> a #GVariant to set as the target value, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_actionable_set_detailed_action_name">
<description>
Sets the action-name and associated string target value of an
actionable widget.

@detailed_action_name is a string in the format accepted by
g_action_parse_detailed_name().

(Note that prior to version 3.22.25,
this function is only usable for actions with a simple &quot;s&quot; target, and
@detailed_action_name must be of the form `&quot;action::target&quot;` where
`action` is the action name and `target` is the string to use
as the target.)

</description>
<parameters>
<parameter name="actionable">
<parameter_description> a #GtkActionable widget
</parameter_description>
</parameter>
<parameter name="detailed_action_name">
<parameter_description> the detailed action name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_clamp_page">
<description>
Updates the #GtkAdjustment:value property to ensure that the range
between @lower and @upper is in the current page (i.e. between
#GtkAdjustment:value and #GtkAdjustment:value + #GtkAdjustment:page-size).
If the range is larger than the page size, then only the start of it will
be in the current page.

A #GtkAdjustment::value-changed signal will be emitted if the value is changed.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="lower">
<parameter_description> the lower value
</parameter_description>
</parameter>
<parameter name="upper">
<parameter_description> the upper value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_configure">
<description>
Sets all properties of the adjustment at once.

Use this function to avoid multiple emissions of the
#GtkAdjustment::changed signal. See gtk_adjustment_set_lower()
for an alternative way of compressing multiple emissions of
#GtkAdjustment::changed into one.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the new value
</parameter_description>
</parameter>
<parameter name="lower">
<parameter_description> the new minimum value
</parameter_description>
</parameter>
<parameter name="upper">
<parameter_description> the new maximum value
</parameter_description>
</parameter>
<parameter name="step_increment">
<parameter_description> the new step increment
</parameter_description>
</parameter>
<parameter name="page_increment">
<parameter_description> the new page increment
</parameter_description>
</parameter>
<parameter name="page_size">
<parameter_description> the new page size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_get_lower">
<description>
Retrieves the minimum value of the adjustment.


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return> The current minimum value of the adjustment
</return>
</function>

<function name="gtk_adjustment_get_minimum_increment">
<description>
Gets the smaller of step increment and page increment.


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return> the minimum increment of @adjustment
</return>
</function>

<function name="gtk_adjustment_get_page_increment">
<description>
Retrieves the page increment of the adjustment.


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return> The current page increment of the adjustment
</return>
</function>

<function name="gtk_adjustment_get_page_size">
<description>
Retrieves the page size of the adjustment.


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return> The current page size of the adjustment
</return>
</function>

<function name="gtk_adjustment_get_step_increment">
<description>
Retrieves the step increment of the adjustment.


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return> The current step increment of the adjustment.
</return>
</function>

<function name="gtk_adjustment_get_upper">
<description>
Retrieves the maximum value of the adjustment.


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return> The current maximum value of the adjustment
</return>
</function>

<function name="gtk_adjustment_get_value">
<description>
Gets the current value of the adjustment.
See gtk_adjustment_set_value().


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return> The current value of the adjustment
</return>
</function>

<function name="gtk_adjustment_new">
<description>
Creates a new #GtkAdjustment.


</description>
<parameters>
<parameter name="value">
<parameter_description> the initial value
</parameter_description>
</parameter>
<parameter name="lower">
<parameter_description> the minimum value
</parameter_description>
</parameter>
<parameter name="upper">
<parameter_description> the maximum value
</parameter_description>
</parameter>
<parameter name="step_increment">
<parameter_description> the step increment
</parameter_description>
</parameter>
<parameter name="page_increment">
<parameter_description> the page increment
</parameter_description>
</parameter>
<parameter name="page_size">
<parameter_description> the page size
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkAdjustment
</return>
</function>

<function name="gtk_adjustment_set_lower">
<description>
Sets the minimum value of the adjustment.

When setting multiple adjustment properties via their individual
setters, multiple #GtkAdjustment::changed signals will be emitted.
However, since the emission of the #GtkAdjustment::changed signal
is tied to the emission of the #GObject::notify signals of the changed
properties, it’s possible to compress the #GtkAdjustment::changed
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 #GtkAdjustment::changed emissions.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="lower">
<parameter_description> the new minimum value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_set_page_increment">
<description>
Sets the page increment of the adjustment.

See gtk_adjustment_set_lower() about how to compress multiple
emissions of the #GtkAdjustment::changed signal when setting
multiple adjustment properties.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="page_increment">
<parameter_description> the new page increment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_set_page_size">
<description>
Sets the page size of the adjustment.

See gtk_adjustment_set_lower() about how to compress multiple
emissions of the GtkAdjustment::changed signal when setting
multiple adjustment properties.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="page_size">
<parameter_description> the new page size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_set_step_increment">
<description>
Sets the step increment of the adjustment.

See gtk_adjustment_set_lower() about how to compress multiple
emissions of the #GtkAdjustment::changed signal when setting
multiple adjustment properties.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="step_increment">
<parameter_description> the new step increment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_set_upper">
<description>
Sets the maximum value of the adjustment.

Note that values will be restricted by `upper - page-size`
if the page-size property is nonzero.

See gtk_adjustment_set_lower() about how to compress multiple
emissions of the #GtkAdjustment::changed signal when setting
multiple adjustment properties.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="upper">
<parameter_description> the new maximum value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_set_value">
<description>
Sets the #GtkAdjustment value. The value is clamped to lie between
#GtkAdjustment:lower and #GtkAdjustment:upper.

Note that for adjustments which are used in a #GtkScrollbar, the
effective range of allowed values goes from #GtkAdjustment:lower to
#GtkAdjustment:upper - #GtkAdjustment:page-size.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_button_append_custom_item">
<description>
Appends a custom item to the list of applications that is shown
in the popup; the item name must be unique per-widget.
Clients can use the provided name as a detail for the
#GtkAppChooserButton::custom-item-activated signal, to add a
callback for the activation of a particular custom item in the list.
See also gtk_app_chooser_button_append_separator().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the custom item
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the label for the custom item
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> the icon for the custom item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_button_append_separator">
<description>
Appends a separator to the list of applications that is shown
in the popup.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_button_get_heading">
<description>
Returns the text to display at the top of the dialog.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
</parameters>
<return> the text to display at the top of the dialog,
or %NULL, in which case a default text is displayed
</return>
</function>

<function name="gtk_app_chooser_button_get_show_default_item">
<description>
Returns the current value of the #GtkAppChooserButton:show-default-item
property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserButton:show-default-item
</return>
</function>

<function name="gtk_app_chooser_button_get_show_dialog_item">
<description>
Returns the current value of the #GtkAppChooserButton:show-dialog-item
property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserButton:show-dialog-item
</return>
</function>

<function name="gtk_app_chooser_button_new">
<description>
Creates a new #GtkAppChooserButton for applications
that can handle content of the given type.


</description>
<parameters>
<parameter name="content_type">
<parameter_description> the content type to show applications for
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkAppChooserButton
</return>
</function>

<function name="gtk_app_chooser_button_set_active_custom_item">
<description>
Selects a custom item previously added with
gtk_app_chooser_button_append_custom_item().

Use gtk_app_chooser_refresh() to bring the selection
to its initial state.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the custom item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_button_set_heading">
<description>
Sets the text to display at the top of the dialog.
If the heading is not set, the dialog displays a default text.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
<parameter name="heading">
<parameter_description> a string containing Pango markup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_button_set_show_default_item">
<description>
Sets whether the dropdown menu of this button should show the
default application for the given content type at top.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value for #GtkAppChooserButton:show-default-item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_button_set_show_dialog_item">
<description>
Sets whether the dropdown menu of this button should show an
entry to trigger a #GtkAppChooserDialog.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserButton
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value for #GtkAppChooserButton:show-dialog-item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_dialog_get_heading">
<description>
Returns the text to display at the top of the dialog.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserDialog
</parameter_description>
</parameter>
</parameters>
<return> the text to display at the top of the dialog, or %NULL, in which
case a default text is displayed
</return>
</function>

<function name="gtk_app_chooser_dialog_get_widget">
<description>
Returns the #GtkAppChooserWidget of this dialog.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserDialog
</parameter_description>
</parameter>
</parameters>
<return> the #GtkAppChooserWidget of @self
</return>
</function>

<function name="gtk_app_chooser_dialog_new">
<description>
Creates a new #GtkAppChooserDialog for the provided #GFile,
to allow the user to select an application for it.


</description>
<parameters>
<parameter name="parent">
<parameter_description> a #GtkWindow, or %NULL
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags for this dialog
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> a #GFile
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkAppChooserDialog
</return>
</function>

<function name="gtk_app_chooser_dialog_new_for_content_type">
<description>
Creates a new #GtkAppChooserDialog for the provided content type,
to allow the user to select an application for it.


</description>
<parameters>
<parameter name="parent">
<parameter_description> a #GtkWindow, or %NULL
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags for this dialog
</parameter_description>
</parameter>
<parameter name="content_type">
<parameter_description> a content type string
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkAppChooserDialog
</return>
</function>

<function name="gtk_app_chooser_dialog_set_heading">
<description>
Sets the text to display at the top of the dialog.
If the heading is not set, the dialog displays a default text.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserDialog
</parameter_description>
</parameter>
<parameter name="heading">
<parameter_description> a string containing Pango markup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_get_app_info">
<description>
Returns the currently selected application.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooser
</parameter_description>
</parameter>
</parameters>
<return> a #GAppInfo for the currently selected
application, or %NULL if none is selected. Free with g_object_unref()
</return>
</function>

<function name="gtk_app_chooser_get_content_type">
<description>
Returns the current value of the #GtkAppChooser:content-type property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooser
</parameter_description>
</parameter>
</parameters>
<return> the content type of @self. Free with g_free()
</return>
</function>

<function name="gtk_app_chooser_refresh">
<description>
Reloads the list of applications.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooser
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_widget_get_default_text">
<description>
Returns the text that is shown if there are not applications
that can handle the content type.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserWidget:default-text
</return>
</function>

<function name="gtk_app_chooser_widget_get_show_all">
<description>
Returns the current value of the #GtkAppChooserWidget:show-all
property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserWidget:show-all
</return>
</function>

<function name="gtk_app_chooser_widget_get_show_default">
<description>
Returns the current value of the #GtkAppChooserWidget:show-default
property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserWidget:show-default
</return>
</function>

<function name="gtk_app_chooser_widget_get_show_fallback">
<description>
Returns the current value of the #GtkAppChooserWidget:show-fallback
property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserWidget:show-fallback
</return>
</function>

<function name="gtk_app_chooser_widget_get_show_other">
<description>
Returns the current value of the #GtkAppChooserWidget:show-other
property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserWidget:show-other
</return>
</function>

<function name="gtk_app_chooser_widget_get_show_recommended">
<description>
Returns the current value of the #GtkAppChooserWidget:show-recommended
property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
</parameters>
<return> the value of #GtkAppChooserWidget:show-recommended
</return>
</function>

<function name="gtk_app_chooser_widget_new">
<description>
Creates a new #GtkAppChooserWidget for applications
that can handle content of the given type.


</description>
<parameters>
<parameter name="content_type">
<parameter_description> the content type to show applications for
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkAppChooserWidget
</return>
</function>

<function name="gtk_app_chooser_widget_set_default_text">
<description>
Sets the text that is shown if there are not applications
that can handle the content type.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the new value for #GtkAppChooserWidget:default-text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_widget_set_show_all">
<description>
Sets whether the app chooser should show all applications
in a flat list.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value for #GtkAppChooserWidget:show-all
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_widget_set_show_default">
<description>
Sets whether the app chooser should show the default handler
for the content type in a separate section.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value for #GtkAppChooserWidget:show-default
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_widget_set_show_fallback">
<description>
Sets whether the app chooser should show related applications
for the content type in a separate section.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value for #GtkAppChooserWidget:show-fallback
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_widget_set_show_other">
<description>
Sets whether the app chooser should show applications
which are unrelated to the content type.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value for #GtkAppChooserWidget:show-other
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_app_chooser_widget_set_show_recommended">
<description>
Sets whether the app chooser should show recommended applications
for the content type in a separate section.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkAppChooserWidget
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value for #GtkAppChooserWidget:show-recommended
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_add_window">
<description>
Adds a window to @application.

This call can only happen after the @application has started;
typically, you should add new application windows in response
to the emission of the #GApplication::activate signal.

This call is equivalent to setting the #GtkWindow:application
property of @window to @application.

Normally, the connection between the application and the window
will remain until the window is destroyed, but you can explicitly
remove it with gtk_application_remove_window().

GTK+ will keep the @application running as long as it has
any windows.

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_get_accels_for_action">
<description>
Gets the accelerators that are currently associated with
the given action.


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="detailed_action_name">
<parameter_description> a detailed action name, specifying an action
and target to obtain accelerators for
</parameter_description>
</parameter>
</parameters>
<return> accelerators for @detailed_action_name, as
a %NULL-terminated array. Free with g_strfreev() when no longer needed
</return>
</function>

<function name="gtk_application_get_actions_for_accel">
<description>
Returns the list of actions (possibly empty) that @accel maps to.
Each item in the list is a detailed action name in the usual form.

This might be useful to discover if an accel already exists in
order to prevent installation of a conflicting accelerator (from
an accelerator editor or a plugin system, for example). Note that
having more than one action per accelerator may not be a bad thing
and might make sense in cases where the actions never appear in the
same context.

In case there are no actions for a given accelerator, an empty array
is returned.  %NULL is never returned.

It is a programmer error to pass an invalid accelerator string.
If you are unsure, check it with gtk_accelerator_parse() first.


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="accel">
<parameter_description> an accelerator that can be parsed by gtk_accelerator_parse()
</parameter_description>
</parameter>
</parameters>
<return> a %NULL-terminated array of actions for @accel
</return>
</function>

<function name="gtk_application_get_active_window">
<description>
Gets the “active” window for the application.

The active window is the one that was most recently focused (within
the application).  This window may not have the focus at the moment
if another application has it — this is just the most
recently-focused window within this application.


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> the active window, or %NULL if
there isn't one.
</return>
</function>

<function name="gtk_application_get_app_menu">
<description>
Returns the menu model that has been set with
gtk_application_set_app_menu().


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> the application menu of @application
or %NULL if no application menu has been set.
</return>
</function>

<function name="gtk_application_get_menu_by_id">
<description>
Gets a menu from automatically loaded resources.
See [Automatic resources][automatic-resources]
for more information.


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> the id of the menu to look up
</parameter_description>
</parameter>
</parameters>
<return> Gets the menu with the
given id from the automatically loaded resources
</return>
</function>

<function name="gtk_application_get_menubar">
<description>
Returns the menu model that has been set with
gtk_application_set_menubar().


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> the menubar for windows of @application
</return>
</function>

<function name="gtk_application_get_window_by_id">
<description>
Returns the #GtkApplicationWindow with the given ID.

The ID of a #GtkApplicationWindow can be retrieved with
gtk_application_window_get_id().


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> an identifier number
</parameter_description>
</parameter>
</parameters>
<return> the window with ID @id, or
%NULL if there is no window with this ID
</return>
</function>

<function name="gtk_application_get_windows">
<description>
Gets a list of the #GtkWindows associated with @application.

The list is sorted by most recently focused window, such that the first
element is the currently focused window. (Useful for choosing a parent
for a transient window.)

The list that is returned should not be modified in any way. It will
only remain valid until the next focus change or window creation or
deletion.


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> a #GList of #GtkWindow
</return>
</function>

<function name="gtk_application_inhibit">
<description>
Inform the session manager that certain types of actions should be
inhibited. This is not guaranteed to work on all platforms and for
all types of actions.

Applications should invoke this method when they begin an operation
that should not be interrupted, such as creating a CD or DVD. The
types of actions that may be blocked are specified by the @flags
parameter. When the application completes the operation it should
call gtk_application_uninhibit() to remove the inhibitor. Note that
an application can have multiple inhibitors, and all of them must
be individually removed. Inhibitors are also cleared when the
application exits.

Applications should not expect that they will always be able to block
the action. In most cases, users will be given the option to force
the action to take place.

Reasons should be short and to the point.

If @window is given, the session manager may point the user to
this window to find out more about why the action is inhibited.


</description>
<parameters>
<parameter name="application">
<parameter_description> the #GtkApplication
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GtkWindow, or %NULL
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> what types of actions should be inhibited
</parameter_description>
</parameter>
<parameter name="reason">
<parameter_description> a short, human-readable string that explains
why these operations are inhibited
</parameter_description>
</parameter>
</parameters>
<return> A non-zero cookie that is used to uniquely identify this
request. It should be used as an argument to gtk_application_uninhibit()
in order to remove the request. If the platform does not support
inhibiting or the request failed for some reason, 0 is returned.
</return>
</function>

<function name="gtk_application_list_action_descriptions">
<description>
Lists the detailed action names which have associated accelerators.
See gtk_application_set_accels_for_action().


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> a %NULL-terminated array of strings,
free with g_strfreev() when done
</return>
</function>

<function name="gtk_application_new">
<description>
Creates a new #GtkApplication instance.

When using #GtkApplication, it is not necessary to call gtk_init()
manually. It is called as soon as the application gets registered as
the primary instance.

Concretely, gtk_init() is called in the default handler for the
#GApplication::startup signal. Therefore, #GtkApplication subclasses should
chain up in their #GApplication::startup handler before using any GTK+ API.

Note that commandline arguments are not passed to gtk_init().
All GTK+ functionality that is available via commandline arguments
can also be achieved by setting suitable environment variables
such as `G_DEBUG`, so this should not be a big
problem. If you absolutely must support GTK+ commandline arguments,
you can explicitly call gtk_init() before creating the application
instance.

If non-%NULL, the application ID must be valid.  See
g_application_id_is_valid().

If no application ID is given then some features (most notably application 
uniqueness) will be disabled. A null application ID is only allowed with 
GTK+ 3.6 or later.


</description>
<parameters>
<parameter name="application_id">
<parameter_description> The application ID.
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the application flags
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkApplication instance
</return>
</function>

<function name="gtk_application_prefers_app_menu">
<description>
Determines if the desktop environment in which the application is
running would prefer an application menu be shown.

If this function returns %TRUE then the application should call
gtk_application_set_app_menu() with the contents of an application
menu, which will be shown by the desktop environment.  If it returns
%FALSE then you should consider using an alternate approach, such as
a menubar.

The value returned by this function is purely advisory and you are
free to ignore it.  If you call gtk_application_set_app_menu() even
if the desktop environment doesn't support app menus, then a fallback
will be provided.

Applications are similarly free not to set an app menu even if the
desktop environment wants to show one.  In that case, a fallback will
also be created by the desktop environment (GNOME, for example, uses
a menu with only a &quot;Quit&quot; item in it).

The value returned by this function never changes.  Once it returns a
particular value, it is guaranteed to always return the same value.

You may only call this function after the application has been
registered and after the base startup handler has run.  You're most
likely to want to use this from your own startup handler.  It may
also make sense to consult this function while constructing UI (in
activate, open or an action activation handler) in order to determine
if you should show a gear menu or not.

This function will return %FALSE on Mac OS and a default app menu
will be created automatically with the &quot;usual&quot; contents of that menu
typical to most Mac OS applications.  If you call
gtk_application_set_app_menu() anyway, then this menu will be
replaced with your own.


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if you should set an app menu
</return>
</function>

<function name="gtk_application_remove_window">
<description>
Remove a window from @application.

If @window belongs to @application then this call is equivalent to
setting the #GtkWindow:application property of @window to
%NULL.

The application may stop running as a result of a call to this
function.

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_set_accels_for_action">
<description>
Sets zero or more keyboard accelerators that will trigger the
given action. The first item in @accels will be the primary
accelerator, which may be displayed in the UI.

To remove all accelerators for an action, use an empty, zero-terminated
array for @accels.

For the @detailed_action_name, see g_action_parse_detailed_name() and
g_action_print_detailed_name().

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="detailed_action_name">
<parameter_description> a detailed action name, specifying an action
and target to associate accelerators with
</parameter_description>
</parameter>
<parameter name="accels">
<parameter_description> a list of accelerators in the format
understood by gtk_accelerator_parse()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_set_app_menu">
<description>
Sets or unsets the application menu for @application.

This can only be done in the primary instance of the application,
after it has been registered.  #GApplication::startup is a good place
to call this.

The application menu is a single menu containing items that typically
impact the application as a whole, rather than acting on a specific
window or document.  For example, you would expect to see
“Preferences” or “Quit” in an application menu, but not “Save” or
“Print”.

If supported, the application menu will be rendered by the desktop
environment.

Use the base #GActionMap interface to add actions, to respond to the user
selecting these menu items.

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="app_menu">
<parameter_description> a #GMenuModel, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_set_menubar">
<description>
Sets or unsets the menubar for windows of @application.

This is a menubar in the traditional sense.

This can only be done in the primary instance of the application,
after it has been registered.  #GApplication::startup is a good place
to call this.

Depending on the desktop environment, this may appear at the top of
each window, or at the top of the screen.  In some environments, if
both the application menu and the menubar are set, the application
menu will be presented as if it were the first item of the menubar.
Other environments treat the two as completely separate — for example,
the application menu may be rendered by the desktop shell while the
menubar (if set) remains in each individual window.

Use the base #GActionMap interface to add actions, to respond to the
user selecting these menu items.

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="menubar">
<parameter_description> a #GMenuModel, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_uninhibit">
<description>
Removes an inhibitor that has been established with gtk_application_inhibit().
Inhibitors are also cleared when the application exits.

</description>
<parameters>
<parameter name="application">
<parameter_description> the #GtkApplication
</parameter_description>
</parameter>
<parameter name="cookie">
<parameter_description> a cookie that was returned by gtk_application_inhibit()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_window_get_help_overlay">
<description>
Gets the #GtkShortcutsWindow that has been set up with
a prior call to gtk_application_window_set_help_overlay().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkApplicationWindow
</parameter_description>
</parameter>
</parameters>
<return> the help overlay associated with @window, or %NULL
</return>
</function>

<function name="gtk_application_window_get_id">
<description>
Returns the unique ID of the window. If the window has not yet been added to
a #GtkApplication, returns `0`.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkApplicationWindow
</parameter_description>
</parameter>
</parameters>
<return> the unique ID for @window, or `0` if the window
has not yet been added to a #GtkApplication
</return>
</function>

<function name="gtk_application_window_get_show_menubar">
<description>
Returns whether the window will display a menubar for the app menu
and menubar as needed.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkApplicationWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @window will display a menubar when needed
</return>
</function>

<function name="gtk_application_window_new">
<description>
Creates a new #GtkApplicationWindow.


</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkApplicationWindow
</return>
</function>

<function name="gtk_application_window_set_help_overlay">
<description>
Associates a shortcuts window with the application window, and
sets up an action with the name win.show-help-overlay to present
it.

@window takes resposibility for destroying @help_overlay.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkApplicationWindow
</parameter_description>
</parameter>
<parameter name="help_overlay">
<parameter_description> a #GtkShortcutsWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_window_set_show_menubar">
<description>
Sets whether the window will display a menubar for the app menu
and menubar as needed.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkApplicationWindow
</parameter_description>
</parameter>
<parameter name="show_menubar">
<parameter_description> whether to show a menubar when needed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_aspect_frame_new">
<description>
Create a new #GtkAspectFrame.


</description>
<parameters>
<parameter name="label">
<parameter_description> Label text.
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> Horizontal alignment of the child within the allocation of
the #GtkAspectFrame. This ranges from 0.0 (left aligned)
to 1.0 (right aligned)
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> Vertical alignment of the child within the allocation of
the #GtkAspectFrame. This ranges from 0.0 (top aligned)
to 1.0 (bottom aligned)
</parameter_description>
</parameter>
<parameter name="ratio">
<parameter_description> The desired aspect ratio.
</parameter_description>
</parameter>
<parameter name="obey_child">
<parameter_description> If %TRUE, @ratio is ignored, and the aspect
ratio is taken from the requistion of the child.
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkAspectFrame.
</return>
</function>

<function name="gtk_aspect_frame_set">
<description>
Set parameters for an existing #GtkAspectFrame.

</description>
<parameters>
<parameter name="aspect_frame">
<parameter_description> a #GtkAspectFrame
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> Horizontal alignment of the child within the allocation of
the #GtkAspectFrame. This ranges from 0.0 (left aligned)
to 1.0 (right aligned)
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> Vertical alignment of the child within the allocation of
the #GtkAspectFrame. This ranges from 0.0 (top aligned)
to 1.0 (bottom aligned)
</parameter_description>
</parameter>
<parameter name="ratio">
<parameter_description> The desired aspect ratio.
</parameter_description>
</parameter>
<parameter name="obey_child">
<parameter_description> If %TRUE, @ratio is ignored, and the aspect
ratio is taken from the requistion of the child.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_add_action_widget">
<description>
Adds a widget to the action area of a #GtkAssistant.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_append_page">
<description>
Appends a page to the @assistant.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the index (starting at 0) of the inserted page
</return>
</function>

<function name="gtk_assistant_commit">
<description>
Erases the visited page history so the back button is not
shown on the current page, and removes the cancel button
from subsequent pages.

Use this when the information provided up to the current
page is hereafter deemed permanent and cannot be modified
or undone. For example, showing a progress page to track
a long-running, unreversible operation after the user has
clicked apply on a confirmation page.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_get_current_page">
<description>
Returns the page number of the current page.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return> The index (starting from 0) of the current
page in the @assistant, or -1 if the @assistant has no pages,
or no current page.
</return>
</function>

<function name="gtk_assistant_get_n_pages">
<description>
Returns the number of pages in the @assistant


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return> the number of pages in the @assistant
</return>
</function>

<function name="gtk_assistant_get_nth_page">
<description>
Returns the child widget contained in page number @page_num.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the index of a page in the @assistant,
or -1 to get the last page
</parameter_description>
</parameter>
</parameters>
<return> the child widget, or %NULL
if @page_num is out of bounds
</return>
</function>

<function name="gtk_assistant_get_page">
<description>
Returns the #GtkAssistantPage object for @child.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @assistant
</parameter_description>
</parameter>
</parameters>
<return> the #GtkAssistantPage for @child
</return>
</function>

<function name="gtk_assistant_get_page_complete">
<description>
Gets whether @page is complete.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a page of @assistant
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @page is complete.
</return>
</function>

<function name="gtk_assistant_get_page_title">
<description>
Gets the title for @page.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a page of @assistant
</parameter_description>
</parameter>
</parameters>
<return> the title for @page
</return>
</function>

<function name="gtk_assistant_get_page_type">
<description>
Gets the page type of @page.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a page of @assistant
</parameter_description>
</parameter>
</parameters>
<return> the page type of @page
</return>
</function>

<function name="gtk_assistant_get_pages">
<description>
Gets a list model of the assistant pages.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return> A list model of the pages.
</return>
</function>

<function name="gtk_assistant_insert_page">
<description>
Inserts a page in the @assistant at a given position.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the index (starting at 0) at which to insert the page,
or -1 to append the page to the @assistant
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the inserted page
</return>
</function>

<function name="gtk_assistant_new">
<description>
Creates a new #GtkAssistant.


</description>
<parameters>
</parameters>
<return> a newly created #GtkAssistant
</return>
</function>

<function name="gtk_assistant_next_page">
<description>
Navigate to the next page.

It is a programming error to call this function when
there is no next page.

This function is for use when creating pages of the
#GTK_ASSISTANT_PAGE_CUSTOM type.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_page_get_child">
<description>
Returns the child to which @page belongs.


</description>
<parameters>
<parameter name="page">
<parameter_description> a #GtkAssistantPage
</parameter_description>
</parameter>
</parameters>
<return> the child to which @page belongs
</return>
</function>

<function name="gtk_assistant_prepend_page">
<description>
Prepends a page to the @assistant.


</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the index (starting at 0) of the inserted page
</return>
</function>

<function name="gtk_assistant_previous_page">
<description>
Navigate to the previous visited page.

It is a programming error to call this function when
no previous page is available.

This function is for use when creating pages of the
#GTK_ASSISTANT_PAGE_CUSTOM type.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_remove_action_widget">
<description>
Removes a widget from the action area of a #GtkAssistant.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_remove_page">
<description>
Removes the @page_num’s page from @assistant.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the index of a page in the @assistant,
or -1 to remove the last page
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_set_current_page">
<description>
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().

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> index of the page to switch to, starting from 0.
If negative, the last page will be used. If greater
than the number of pages in the @assistant, nothing
will be done.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_set_forward_page_func">
<description>
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.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page_func">
<parameter_description> the #GtkAssistantPageFunc, or %NULL
to use the default one
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data for @page_func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_set_page_complete">
<description>
Sets whether @page contents are complete.

This will make @assistant update the buttons state
to be able to continue the task.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a page of @assistant
</parameter_description>
</parameter>
<parameter name="complete">
<parameter_description> the completeness status of the page
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_set_page_title">
<description>
Sets a title for @page.

The title is displayed in the header area of the assistant
when @page is the current page.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a page of @assistant
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> the new title for @page
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_set_page_type">
<description>
Sets the page type for @page.

The page type determines the page behavior in the @assistant.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> a page of @assistant
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the new type for @page
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_update_buttons_state">
<description>
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.

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_bin_get_child">
<description>
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.


</description>
<parameters>
<parameter name="bin">
<parameter_description> a #GtkBin
</parameter_description>
</parameter>
</parameters>
<return> the child of @bin, or %NULL if it does
not have a child.
</return>
</function>

<function name="gtk_bin_layout_new">
<description>
Creates a new #GtkBinLayout instance.


</description>
<parameters>
</parameters>
<return> the newly created #GtkBinLayout
</return>
</function>

<function name="gtk_binding_entry_add_action">
<description>
Override or install a new key binding for @keyval with @modifiers on
@binding_set. When the binding is activated, @action_name will be
activated on the target widget, with arguments read according to
@format_string.

</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet to install an entry for
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description>      key value of binding to install
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description>   key modifier of binding to install
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> signal to execute upon activation
</parameter_description>
</parameter>
<parameter name="format_string">
<parameter_description> GVariant format string for arguments or %NULL
for no arguments
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments, as given by format string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_binding_entry_add_action_variant">
<description>
Override or install a new key binding for @keyval with @modifiers on
@binding_set. When the binding is activated, @action_name will be
activated on the target widget, with @args used as arguments.

</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet to install an entry for
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description>      key value of binding to install
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description>   key modifier of binding to install
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> signal to execute upon activation
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description>        #GVariant of the arguments or %NULL if none
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_binding_entry_add_signal">
<description>
Override or install a new key binding for @keyval with @modifiers on
@binding_set. When the binding is activated, @signal_name will be
emitted on the target widget, with @n_args @Varargs used as
arguments.

Each argument to the signal must be passed as a pair of varargs: the
#GType of the argument, followed by the argument value (which must
be of the given type). There must be @n_args pairs in total.

## Adding a Key Binding

|[&lt;!-- language=&quot;C&quot; --&gt;
GtkBindingSet *binding_set;
GdkModifierType modmask = GDK_CONTROL_MASK;
int count = 1;
gtk_binding_entry_add_signal (binding_set,
GDK_KEY_space,
modmask,
&quot;move-cursor&quot;, 2,
GTK_TYPE_MOVEMENT_STEP, GTK_MOVEMENT_PAGES,
G_TYPE_INT, count,
G_TYPE_BOOLEAN, FALSE);
]|

</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet to install an entry for
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description>      key value of binding to install
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description>   key modifier of binding to install
</parameter_description>
</parameter>
<parameter name="signal_name">
<parameter_description> signal to execute upon activation
</parameter_description>
</parameter>
<parameter name="n_args">
<parameter_description>      number of arguments to @signal_name
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description>         arguments to @signal_name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_binding_entry_add_signal_from_string">
<description>
Parses a signal description from @signal_desc and incorporates
it into @binding_set.

Signal descriptions may either bind a key combination to
one or more signals:
|[
bind &quot;key&quot; {
&quot;signalname&quot; (param, ...)
...
}
]|

Or they may also unbind a key combination:
|[
unbind &quot;key&quot;
]|

Key combinations must be in a format that can be parsed by
gtk_accelerator_parse().


</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet
</parameter_description>
</parameter>
<parameter name="signal_desc">
<parameter_description> a signal description
</parameter_description>
</parameter>
</parameters>
<return> %G_TOKEN_NONE if the signal was successfully parsed and added,
the expected token otherwise
</return>
</function>

<function name="gtk_binding_entry_remove">
<description>
Remove a binding previously installed via
gtk_binding_entry_add_signal() on @binding_set.

</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet to remove an entry of
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description>      key value of binding to remove
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description>   key modifier of binding to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_binding_entry_skip">
<description>
Install a binding on @binding_set which causes key lookups
to be aborted, to prevent bindings from lower priority sets
to be activated.

</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet to skip an entry of
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description>      key value of binding to skip
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description>   key modifier of binding to skip
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_binding_set_activate">
<description>
Find a key binding matching @keyval and @modifiers within
@binding_set and activate the binding on @object.


</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet set to activate
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description>      key value of the binding
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description>   key modifier of the binding
</parameter_description>
</parameter>
<parameter name="object">
<parameter_description>      object to activate when binding found
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a binding was found and activated
</return>
</function>

<function name="gtk_binding_set_by_class">
<description>
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.


</description>
<parameters>
<parameter name="object_class">
<parameter_description> a valid #GObject class
</parameter_description>
</parameter>
</parameters>
<return> the binding set corresponding to
@object_class
</return>
</function>

<function name="gtk_binding_set_find">
<description>
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().


</description>
<parameters>
<parameter name="set_name">
<parameter_description> unique binding set name
</parameter_description>
</parameter>
</parameters>
<return> %NULL or the specified binding set
</return>
</function>

<function name="gtk_binding_set_new">
<description>
GTK+ maintains a global list of binding sets. Each binding set has
a unique name which needs to be specified upon creation.


</description>
<parameters>
<parameter name="set_name">
<parameter_description> unique name of this binding set
</parameter_description>
</parameter>
</parameters>
<return> new binding set
</return>
</function>

<function name="gtk_bindings_activate">
<description>
Find a key binding matching @keyval and @modifiers and activate the
binding on @object.


</description>
<parameters>
<parameter name="object">
<parameter_description> object to activate when binding found
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> key value of the binding
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description> key modifier of the binding
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a binding was found and activated
</return>
</function>

<function name="gtk_bindings_activate_event">
<description>
Looks up key bindings for @object to find one matching
@event, and if one was found, activate it.


</description>
<parameters>
<parameter name="object">
<parameter_description> a #GObject (generally must be a widget)
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> a #GdkEventKey
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a matching key binding was found
</return>
</function>

<function name="gtk_border_copy">
<description>
Copies a #GtkBorder-struct.


</description>
<parameters>
<parameter name="border_">
<parameter_description> a #GtkBorder-struct
</parameter_description>
</parameter>
</parameters>
<return> a copy of @border_.
</return>
</function>

<function name="gtk_border_free">
<description>
Frees a #GtkBorder-struct.

</description>
<parameters>
<parameter name="border_">
<parameter_description> a #GtkBorder-struct
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_border_new">
<description>
Allocates a new #GtkBorder-struct and initializes its elements to zero.


</description>
<parameters>
</parameters>
<return> a newly allocated #GtkBorder-struct.
Free with gtk_border_free()
</return>
</function>

<function name="gtk_box_get_baseline_position">
<description>
Gets the value set by gtk_box_set_baseline_position().


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
</parameters>
<return> the baseline position
</return>
</function>

<function name="gtk_box_get_homogeneous">
<description>
Returns whether the box is homogeneous (all children are the
same size). See gtk_box_set_homogeneous().


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the box is homogeneous.
</return>
</function>

<function name="gtk_box_get_spacing">
<description>
Gets the value set by gtk_box_set_spacing().


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
</parameters>
<return> spacing between children
</return>
</function>

<function name="gtk_box_insert_child_after">
<description>
Inserts @child in the position after @sibling in the list
of @box children. If @sibling is %NULL, insert @child at
the first position.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to insert
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> the sibling to move @child after, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_layout_get_baseline_position">
<description>
Gets the value set by gtk_box_layout_set_baseline_position().


</description>
<parameters>
<parameter name="box_layout">
<parameter_description> a #GtkBoxLayout
</parameter_description>
</parameter>
</parameters>
<return> the baseline position
</return>
</function>

<function name="gtk_box_layout_get_homogeneous">
<description>
Returns whether the layout is set to be homogeneous.

Return: %TRUE if the layout is homogeneous

</description>
<parameters>
<parameter name="box_layout">
<parameter_description> a #GtkBoxLayout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_layout_get_spacing">
<description>
Returns the space that @box_layout puts between children.


</description>
<parameters>
<parameter name="box_layout">
<parameter_description> a #GtkBoxLayout
</parameter_description>
</parameter>
</parameters>
<return> the spacing of the layout
</return>
</function>

<function name="gtk_box_layout_new">
<description>
Creates a new box layout.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> the orientation for the new layout
</parameter_description>
</parameter>
</parameters>
<return> a new box layout
</return>
</function>

<function name="gtk_box_layout_set_baseline_position">
<description>
Sets the baseline position of a box layout.

The baseline position affects only horizontal boxes with at least one
baseline aligned child. If there is more vertical space available than
requested, and the baseline is not allocated by the parent then the
given @position is used to allocate the baseline within the extra
space available.

</description>
<parameters>
<parameter name="box_layout">
<parameter_description> a #GtkBoxLayout
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> a #GtkBaselinePosition
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_layout_set_homogeneous">
<description>
Sets whether the box layout will allocate the same
size to all children.

</description>
<parameters>
<parameter name="box_layout">
<parameter_description> a #GtkBoxLayout
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> %TRUE to set the box layout as homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_layout_set_spacing">
<description>
Sets how much spacing to put between children.

</description>
<parameters>
<parameter name="box_layout">
<parameter_description> a #GtkBoxLayout
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the spacing to apply between children
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_new">
<description>
Creates a new #GtkBox.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> the box’s orientation.
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the number of pixels to place by default between children.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkBox.
</return>
</function>

<function name="gtk_box_reorder_child_after">
<description>
Moves @child to the position after @sibling in the list
of @box children. If @sibling is %NULL, move @child to
the first position.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to move, must be a child of @box
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> the sibling to move @child after, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_set_baseline_position">
<description>
Sets the baseline position of a box. This affects
only horizontal boxes with at least one baseline aligned
child. If there is more vertical space available than requested,
and the baseline is not allocated by the parent then
@position is used to allocate the baseline wrt the
extra space available.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> a #GtkBaselinePosition
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_set_homogeneous">
<description>
Sets the #GtkBox:homogeneous property of @box, controlling
whether or not all children of @box are given equal space
in the box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> a boolean value, %TRUE to create equal allotments,
%FALSE for variable allotments
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_set_spacing">
<description>
Sets the #GtkBox:spacing property of @box, which is the
number of pixels to place between children of @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the number of pixels to put between children
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_add_child">
<description>
Adds a child to @buildable. @type is an optional string
describing how the child should be added.

</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> child to add
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> kind of child or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_construct_child">
<description>
Constructs a child of @buildable with the name @name.

#GtkBuilder calls this function if a “constructor” has been
specified in the UI definition.


</description>
<parameters>
<parameter name="buildable">
<parameter_description> A #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> #GtkBuilder used to construct this object
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of child to construct
</parameter_description>
</parameter>
</parameters>
<return> the constructed child
</return>
</function>

<function name="gtk_buildable_custom_finished">
<description>
This is similar to gtk_buildable_parser_finished() but is
called once for each custom tag handled by the @buildable.

</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> child object or %NULL for non-child tags
</parameter_description>
</parameter>
<parameter name="tagname">
<parameter_description> the name of the tag
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data created in custom_tag_start
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_custom_tag_end">
<description>
This is called at the end of each custom element handled by 
the buildable.

</description>
<parameters>
<parameter name="buildable">
<parameter_description> A #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> #GtkBuilder used to construct this object
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> child object or %NULL for non-child tags
</parameter_description>
</parameter>
<parameter name="tagname">
<parameter_description> name of tag
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data that will be passed in to parser functions
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_custom_tag_start">
<description>
This is called for each unknown element under &lt;child&gt;.


</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> a #GtkBuilder used to construct this object
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> child object or %NULL for non-child tags
</parameter_description>
</parameter>
<parameter name="tagname">
<parameter_description> name of tag
</parameter_description>
</parameter>
<parameter name="parser">
<parameter_description> a #GMarkupParser to fill in
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> return location for user data that will be passed in 
to parser functions
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an object has a custom implementation, %FALSE
if it doesn't.
</return>
</function>

<function name="gtk_buildable_get_internal_child">
<description>
Get the internal child called @childname of the @buildable object.


</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="childname">
<parameter_description> name of child
</parameter_description>
</parameter>
</parameters>
<return> the internal child of the buildable object
</return>
</function>

<function name="gtk_buildable_get_name">
<description>
Gets the name of the @buildable object. 

#GtkBuilder sets the name based on the
[GtkBuilder UI definition][BUILDER-UI] 
used to construct the @buildable.


</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
</parameters>
<return> the name set with gtk_buildable_set_name()
</return>
</function>

<function name="gtk_buildable_parse_context_get_element">
<description>
Retrieves the name of the currently open element.

If called from the start_element or end_element handlers this will
give the element_name as passed to those functions. For the parent
elements, see gtk_buildable_parse_context_get_element_stack().


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkBuildablParseContext
</parameter_description>
</parameter>
</parameters>
<return> the name of the currently open element, or %NULL
</return>
</function>

<function name="gtk_buildable_parse_context_get_element_stack">
<description>
Retrieves the element stack from the internal state of the parser.

The returned #GPtrArray is an array of strings where the last item is
the currently open tag (as would be returned by
gtk_buildable_parse_context_get_element()) and the previous item is its
immediate parent.

This function is intended to be used in the start_element and
end_element handlers where gtk_buildable_parse_context_get_element()
would merely return the name of the element that is being
processed.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkBuildableParseContext
</parameter_description>
</parameter>
</parameters>
<return> the element stack, which must not be modified
</return>
</function>

<function name="gtk_buildable_parse_context_get_position">
<description>
Retrieves the current line number and the number of the character on
that line. Intended for use in error messages; there are no strict
semantics for what constitutes the &quot;current&quot; line number other than
&quot;the best number we could come up with for error messages.&quot;

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkBuildableParseContext
</parameter_description>
</parameter>
<parameter name="line_number">
<parameter_description> return location for a line number, or %NULL
</parameter_description>
</parameter>
<parameter name="char_number">
<parameter_description> return location for a char-on-line number, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_parse_context_pop">
<description>
Completes the process of a temporary sub-parser redirection.

This function exists to collect the user_data allocated by a
matching call to gtk_buildable_parse_context_push(). It must be called
in the end_element handler corresponding to the start_element
handler during which gtk_buildable_parse_context_push() was called.
You must not call this function from the error callback -- the
@user_data is provided directly to the callback in that case.

This function is not intended to be directly called by users
interested in invoking subparsers. Instead, it is intended to
be used by the subparsers themselves to implement a higher-level
interface.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkBuildableParseContext
</parameter_description>
</parameter>
</parameters>
<return> the user data passed to gtk_buildable_parse_context_push()
</return>
</function>

<function name="gtk_buildable_parse_context_push">
<description>
Temporarily redirects markup data to a sub-parser.

This function may only be called from the start_element handler of
a #GtkBuildableParser. It must be matched with a corresponding call to
gtk_buildable_parse_context_pop() in the matching end_element handler
(except in the case that the parser aborts due to an error).

All tags, text and other data between the matching tags is
redirected to the subparser given by @parser. @user_data is used
as the user_data for that parser. @user_data is also passed to the
error callback in the event that an error occurs. This includes
errors that occur in subparsers of the subparser.

The end tag matching the start tag for which this call was made is
handled by the previous parser (which is given its own user_data)
which is why gtk_buildable_parse_context_pop() is provided to allow &quot;one
last access&quot; to the @user_data provided to this function. In the
case of error, the @user_data provided here is passed directly to
the error callback of the subparser and gtk_buildable_parse_context_pop()
should not be called. In either case, if @user_data was allocated
then it ought to be freed from both of these locations.

This function is not intended to be directly called by users
interested in invoking subparsers. Instead, it is intended to be
used by the subparsers themselves to implement a higher-level
interface.

For an example of how to use this, see g_markup_parse_context_push() which
has the same kind of API.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkBuildableParseContext
</parameter_description>
</parameter>
<parameter name="parser">
<parameter_description> a #GtkBuildableParser
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to #GtkBuildableParser functions
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_parser_finished">
<description>
Called when the builder finishes the parsing of a 
[GtkBuilder UI definition][BUILDER-UI]. 
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.

</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_set_buildable_property">
<description>
Sets the property name @name to @value on the @buildable object.

</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of property
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> value of property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_buildable_set_name">
<description>
Sets the name of the @buildable object.

</description>
<parameters>
<parameter name="buildable">
<parameter_description> a #GtkBuildable
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_add_from_file">
<description>
Parses a file containing a [GtkBuilder UI definition][BUILDER-UI]
and merges it with the current contents of @builder.

Most users will probably want to use gtk_builder_new_from_file().

If an error occurs, 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR
domain.

It’s not really reasonable to attempt to handle failures of this
call. You should not use this function with untrusted files (ie:
files that are not part of your application). Broken #GtkBuilder
files can easily crash your program, and it’s possible that memory
was leaked leading up to the reported failure. The only reasonable
thing to do when an error is detected is to call g_error().


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the name of the file to parse
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE if an error occurred
</return>
</function>

<function name="gtk_builder_add_from_resource">
<description>
Parses a resource file containing a [GtkBuilder UI definition][BUILDER-UI]
and merges it with the current contents of @builder.

Most users will probably want to use gtk_builder_new_from_resource().

If an error occurs, 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_RESOURCE_ERROR
domain.

It’s not really reasonable to attempt to handle failures of this
call.  The only reasonable thing to do when an error is detected is
to call g_error().


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> the path of the resource file to parse
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE if an error occurred
</return>
</function>

<function name="gtk_builder_add_from_string">
<description>
Parses a string containing a [GtkBuilder UI definition][BUILDER-UI]
and merges it with the current contents of @builder.

Most users will probably want to use gtk_builder_new_from_string().

Upon errors %FALSE will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or
#G_VARIANT_PARSE_ERROR domain.

It’s not really reasonable to attempt to handle failures of this
call.  The only reasonable thing to do when an error is detected is
to call g_error().


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> the string to parse
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of @buffer (may be -1 if @buffer is nul-terminated)
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE if an error occurred
</return>
</function>

<function name="gtk_builder_add_objects_from_file">
<description>
Parses a file containing a [GtkBuilder UI definition][BUILDER-UI]
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.

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 explicitly list all of them in @object_ids.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the name of the file to parse
</parameter_description>
</parameter>
<parameter name="object_ids">
<parameter_description> nul-terminated array of objects to build
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE if an error occurred
</return>
</function>

<function name="gtk_builder_add_objects_from_resource">
<description>
Parses a resource file containing a [GtkBuilder UI definition][BUILDER-UI]
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_RESOURCE_ERROR
domain.

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 explicitly list all of them in @object_ids.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> the path of the resource file to parse
</parameter_description>
</parameter>
<parameter name="object_ids">
<parameter_description> nul-terminated array of objects to build
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE if an error occurred
</return>
</function>

<function name="gtk_builder_add_objects_from_string">
<description>
Parses a string containing a [GtkBuilder UI definition][BUILDER-UI]
building only the requested objects and merges
them with the current contents of @builder.

Upon errors %FALSE will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain.

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 explicitly list all of them in @object_ids.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> the string to parse
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of @buffer (may be -1 if @buffer is nul-terminated)
</parameter_description>
</parameter>
<parameter name="object_ids">
<parameter_description> nul-terminated array of objects to build
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE if an error occurred
</return>
</function>

<function name="gtk_builder_create_closure">
<description>
Creates a closure to invoke the function called @function_name.

If a closure function was set via gtk_builder_set_closure_func(),
will be invoked.
Otherwise, gtk_builder_create_cclosure() will be called.

If no closure could be created, %NULL will be returned and @error will
be set.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="function_name">
<parameter_description> name of the function to look up
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> closure creation flags
</parameter_description>
</parameter>
<parameter name="object">
<parameter_description> Object to create the closure with
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> A new closure for invoking @function_name
</return>
</function>

<function name="gtk_builder_cscope_add_callback_symbol">
<description>
Adds the @callback_symbol to the scope of @builder under the given @callback_name.

Using this function overrides the behavior of gtk_builder_create_closure()
for any callback symbols that are added. Using this method allows for better
encapsulation as it does not require that callback symbols be declared in
the global namespace.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkBuilderCScope
</parameter_description>
</parameter>
<parameter name="callback_name">
<parameter_description> The name of the callback, as expected in the XML
</parameter_description>
</parameter>
<parameter name="callback_symbol">
<parameter_description> The callback pointer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_cscope_add_callback_symbols">
<description>
A convenience function to add many callbacks instead of calling
gtk_builder_cscope_add_callback_symbol() for each symbol.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkBuilderCScope
</parameter_description>
</parameter>
<parameter name="first_callback_name">
<parameter_description> The name of the callback, as expected in the XML
</parameter_description>
</parameter>
<parameter name="first_callback_symbol">
<parameter_description> The callback pointer
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> A list of callback name and callback symbol pairs terminated with %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_cscope_new">
<description>
Creates a new #GtkbuilderCScope object to use with future #GtkBuilder
instances.

Calling this function is only necessary if you want to add custom
callbacks via gtk_builder_cscope_add_callback_symbol().


</description>
<parameters>
</parameters>
<return> a new #GtkBuilderCScope
</return>
</function>

<function name="gtk_builder_expose_object">
<description>
Add @object to the @builder object pool so it can be referenced just like any
other object built by builder.

</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the object exposed to the builder
</parameter_description>
</parameter>
<parameter name="object">
<parameter_description> the object to expose
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_extend_with_template">
<description>
Main private entry point for building composite container
components from template XML.

This is exported purely to let gtk-builder-tool validate
templates, applications have no need to call this function.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget that is being extended
</parameter_description>
</parameter>
<parameter name="template_type">
<parameter_description> the type that the template is for
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> the string to parse
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of @buffer (may be -1 if @buffer is nul-terminated)
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> A positive value on success, 0 if an error occurred
</return>
</function>

<function name="gtk_builder_get_current_object">
<description>
Gets the current object set via gtk_builder_set_current_object().


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
</parameters>
<return> the current object
</return>
</function>

<function name="gtk_builder_get_object">
<description>
Gets the object named @name. Note that this function does not
increment the reference count of the returned object.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of object to get
</parameter_description>
</parameter>
</parameters>
<return> the object named @name or %NULL if
it could not be found in the object tree.
</return>
</function>

<function name="gtk_builder_get_objects">
<description>
Gets all objects that have been constructed by @builder. Note that
this function does not increment the reference counts of the returned
objects.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #GSList containing all the objects
constructed by the #GtkBuilder instance. It should be freed by
g_slist_free()
</return>
</function>

<function name="gtk_builder_get_scope">
<description>
Gets the scope in use that was set via gtk_builder_set_scope().

See the #GtkBuilderScope documentation for details.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
</parameters>
<return> the current scope 
</return>
</function>

<function name="gtk_builder_get_translation_domain">
<description>
Gets the translation domain of @builder.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
</parameters>
<return> the translation domain or %NULL
in case it was never set or explicitly unset via gtk_builder_set_translation_domain().
This string is owned by the builder object and must not be modified or freed.
</return>
</function>

<function name="gtk_builder_get_type_from_name">
<description>
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.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="type_name">
<parameter_description> type name to lookup
</parameter_description>
</parameter>
</parameters>
<return> the #GType found for @type_name or #G_TYPE_INVALID
if no type was found
</return>
</function>

<function name="gtk_builder_lookup_callback_symbol">
<description>
Fetches a symbol previously added to @self
with gtk_builder_cscope_add_callback_symbol().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkBuilderCScope
</parameter_description>
</parameter>
<parameter name="callback_name">
<parameter_description> The name of the callback
</parameter_description>
</parameter>
</parameters>
<return> The callback symbol in @builder for @callback_name, or %NULL
</return>
</function>

<function name="gtk_builder_new">
<description>
Creates a new empty builder object.

This function is only useful if you intend to make multiple calls
to gtk_builder_add_from_file(), gtk_builder_add_from_resource()
or gtk_builder_add_from_string() in order to merge multiple UI
descriptions into a single builder.

Most users will probably want to use gtk_builder_new_from_file(),
gtk_builder_new_from_resource() or gtk_builder_new_from_string().


</description>
<parameters>
</parameters>
<return> a new (empty) #GtkBuilder object
</return>
</function>

<function name="gtk_builder_new_from_file">
<description>
Builds the [GtkBuilder UI definition][BUILDER-UI]
in the file @filename.

If there is an error opening the file or parsing the description then
the program will be aborted.  You should only ever attempt to parse
user interface descriptions that are shipped as part of your program.


</description>
<parameters>
<parameter name="filename">
<parameter_description> filename of user interface description file
</parameter_description>
</parameter>
</parameters>
<return> a #GtkBuilder containing the described interface
</return>
</function>

<function name="gtk_builder_new_from_resource">
<description>
Builds the [GtkBuilder UI definition][BUILDER-UI]
at @resource_path.

If there is an error locating the resource or parsing the
description, then the program will be aborted.


</description>
<parameters>
<parameter name="resource_path">
<parameter_description> a #GResource resource path
</parameter_description>
</parameter>
</parameters>
<return> a #GtkBuilder containing the described interface
</return>
</function>

<function name="gtk_builder_new_from_string">
<description>
Builds the user interface described by @string (in the
[GtkBuilder UI definition][BUILDER-UI] format).

If @string is %NULL-terminated, then @length should be -1.
If @length is not -1, then it is the length of @string.

If there is an error parsing @string then the program will be
aborted. You should not attempt to parse user interface description
from untrusted sources.


</description>
<parameters>
<parameter name="string">
<parameter_description> a user interface (XML) description
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of @string, or -1
</parameter_description>
</parameter>
</parameters>
<return> a #GtkBuilder containing the interface described by @string
</return>
</function>

<function name="gtk_builder_set_current_object">
<description>
Sets the current object for the @builder. The current object can be
tought of as the `this` object that the builder is working for and
will often be used as the default object when an object is optional.

gtk_widget_init_template() for example will set the current object to
the widget the template is inited for.  
For functions like gtk_builder_new_from_resource(), the current object
will be %NULL.

</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="current_object">
<parameter_description> the new current object or
%NULL for none
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_set_scope">
<description>
Sets the scope the builder should operate in.

If @scope is %NULL a new #GtkBuilderCScope will be created.

See the #GtkBuilderScope documentation for details.

</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="scope">
<parameter_description> the scope to use or
%NULL for the default
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_set_translation_domain">
<description>
Sets the translation domain of @builder.
See #GtkBuilder:translation-domain.

</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="domain">
<parameter_description> the translation domain or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_value_from_string">
<description>
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, #GdkRGBA 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.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the property
</parameter_description>
</parameter>
<parameter name="string">
<parameter_description> the string representation of the value
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the #GValue to store the result in
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_builder_value_from_string_type">
<description>
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.


</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the #GType of the value
</parameter_description>
</parameter>
<parameter name="string">
<parameter_description> the string representation of the value
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the #GValue to store the result in
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_button_get_icon_name">
<description>
Returns the icon name set via gtk_button_set_icon_name().


</description>
<parameters>
<parameter name="button">
<parameter_description> A #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> The icon name set via gtk_button_set_icon_name()
</return>
</function>

<function name="gtk_button_get_label">
<description>
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.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> The text of the label widget. This string is owned
by the widget and must not be modified or freed.
</return>
</function>

<function name="gtk_button_get_relief">
<description>
Returns the current relief style of the given #GtkButton.


</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want the #GtkReliefStyle from.
</parameter_description>
</parameter>
</parameters>
<return> The current #GtkReliefStyle
</return>
</function>

<function name="gtk_button_get_use_underline">
<description>
Returns whether an embedded underline in the button label indicates a
mnemonic. See gtk_button_set_use_underline().


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an embedded underline in the button label
indicates the mnemonic accelerator keys.
</return>
</function>

<function name="gtk_button_new">
<description>
Creates a new #GtkButton widget. To add a child widget to the button,
use gtk_container_add().


</description>
<parameters>
</parameters>
<return> The newly created #GtkButton widget.
</return>
</function>

<function name="gtk_button_new_from_icon_name">
<description>
Creates a new button containing an icon from the current icon theme.

If the icon name isn’t known, a “broken image” icon will be
displayed instead. If the current icon theme is changed, the icon
will be updated appropriately.


</description>
<parameters>
<parameter name="icon_name">
<parameter_description> an icon name or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkButton displaying the themed icon
</return>
</function>

<function name="gtk_button_new_with_label">
<description>
Creates a #GtkButton widget with a #GtkLabel child containing the given
text.


</description>
<parameters>
<parameter name="label">
<parameter_description> The text you want the #GtkLabel to hold.
</parameter_description>
</parameter>
</parameters>
<return> The newly created #GtkButton widget.
</return>
</function>

<function name="gtk_button_new_with_mnemonic">
<description>
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 “__” (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button.


</description>
<parameters>
<parameter name="label">
<parameter_description> The text of the button, with an underscore in front of the
mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkButton
</return>
</function>

<function name="gtk_button_set_icon_name">
<description>
Adds a #GtkImage with the given icon name as a child. If @button already
contains a child widget, that child widget will be removed and replaced
with the image.

</description>
<parameters>
<parameter name="button">
<parameter_description> A #GtkButton
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> An icon name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_label">
<description>
Sets the text of the label of the button to @label.

This will also clear any previously set labels.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_relief">
<description>
Sets the relief style of the edges of the given #GtkButton widget.
Two styles exist, %GTK_RELIEF_NORMAL and %GTK_RELIEF_NONE.
The default style is, as one can guess, %GTK_RELIEF_NORMAL.

</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want to set relief styles of
</parameter_description>
</parameter>
<parameter name="relief">
<parameter_description> The GtkReliefStyle as described above
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_use_underline">
<description>
If true, an underline in the text of the button label indicates
the next character should be used for the mnemonic accelerator key.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="use_underline">
<parameter_description> %TRUE if underlines in the text indicate mnemonics
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_clear_marks">
<description>
Remove all visual markers.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_get_date">
<description>

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
</parameters>
<return> A #GDateTime representing the shown
year, month and the selected day, in the local time zone.
</return>
</function>

<function name="gtk_calendar_get_day_is_marked">
<description>
Returns if the @day of the @calendar is already marked.


</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="day">
<parameter_description> the day number between 1 and 31.
</parameter_description>
</parameter>
</parameters>
<return> whether the day is marked.
</return>
</function>

<function name="gtk_calendar_get_day_names">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
</parameters>
<return> Whether @self is currently showing the names
of the week days above the day numbers, i.e. the value
of the #GtkCalendar:show-day-names property.
</return>
</function>

<function name="gtk_calendar_get_show_heading">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
</parameters>
<return> Whether @self is currently showing the heading,
i.e. the value of the #GtkCalendar:show-heading property.
</return>
</function>

<function name="gtk_calendar_get_show_week_numbers">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
</parameters>
<return> Whether @self is showing week numbers right now,
i.e. the value of the #GtkCalendar:show-week-numbers property.
</return>
</function>

<function name="gtk_calendar_mark_day">
<description>
Places a visual marker on a particular day.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="day">
<parameter_description> the day number to mark between 1 and 31.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_new">
<description>
Creates a new calendar, with the current date being selected.


</description>
<parameters>
</parameters>
<return> a newly #GtkCalendar widget
</return>
</function>

<function name="gtk_calendar_select_day">
<description>
Will switch to @date's year and month and select its day.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
<parameter name="date">
<parameter_description> a #GDateTime representing the day to select
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_set_show_day_names">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> Whether to show week day names above the
day numbers
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_set_show_heading">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> Whether to show the heading in the calendar,
containing the current year and month as well as
buttons for changing both.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_set_show_week_numbers">
<description>
Sets whether week numbers are shown in the calendar.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> Whether to show week numbers on the left of the days
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_unmark_day">
<description>
Removes the visual marker from a particular day.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
<parameter name="day">
<parameter_description> the day number to unmark between 1 and 31.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_activate">
<description>
Activates @area, usually by activating the currently focused
cell, however some subclasses which embed widgets in the area
can also activate a widget if it currently has the focus.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext in context with the current row data
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering on
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the size and location of @area relative to @widget’s allocation
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the #GtkCellRendererState flags for @area for this row of data.
</parameter_description>
</parameter>
<parameter name="edit_only">
<parameter_description> if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE
will be activated.
</parameter_description>
</parameter>
</parameters>
<return> Whether @area was successfully activated.
</return>
</function>

<function name="gtk_cell_area_activate_cell">
<description>
This is used by #GtkCellArea subclasses when handling events
to activate cells, the base #GtkCellArea class activates cells
for keyboard events for free in its own GtkCellArea-&gt;activate()
implementation.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering onto
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer in @area to activate
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEvent for which cell activation should occur
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the #GdkRectangle in @widget relative coordinates
of @renderer for the current row.
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the #GtkCellRendererState for @renderer
</parameter_description>
</parameter>
</parameters>
<return> whether cell activation was successful
</return>
</function>

<function name="gtk_cell_area_add">
<description>
Adds @renderer to @area with the default child cell properties.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to add to @area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_add_focus_sibling">
<description>
Adds @sibling to @renderer’s focusable area, focus will be drawn
around @renderer and all of its siblings if @renderer can
focus for a given row.

Events handled by focus siblings can also activate the given
focusable @renderer.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer expected to have focus
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> the #GtkCellRenderer to add to @renderer’s focus area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_add_with_properties">
<description>
Adds @renderer to @area, setting cell properties at the same time.
See gtk_cell_area_add() and gtk_cell_area_cell_set() for more details.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer to be placed inside @area
</parameter_description>
</parameter>
<parameter name="first_prop_name">
<parameter_description> the name of the first cell property to set
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> a %NULL-terminated list of property names and values, starting
with @first_prop_name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_apply_attributes">
<description>
Applies any connected attributes to the renderers in
@area by pulling the values from @tree_model.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="tree_model">
<parameter_description> the #GtkTreeModel to pull values from
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter in @tree_model to apply values for
</parameter_description>
</parameter>
<parameter name="is_expander">
<parameter_description> whether @iter has children
</parameter_description>
</parameter>
<parameter name="is_expanded">
<parameter_description> whether @iter is expanded in the view and
children are visible
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_attribute_connect">
<description>
Connects an @attribute to apply values from @column for the
#GtkTreeModel in use.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to connect an attribute for
</parameter_description>
</parameter>
<parameter name="attribute">
<parameter_description> the attribute name
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> the #GtkTreeModel column to fetch attribute values from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_attribute_disconnect">
<description>
Disconnects @attribute for the @renderer in @area so that
attribute will no longer be updated with values from the
model.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to disconnect an attribute for
</parameter_description>
</parameter>
<parameter name="attribute">
<parameter_description> the attribute name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_attribute_get_column">
<description>
Returns the model column that an attribute has been mapped to,
or -1 if the attribute is not mapped.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="attribute">
<parameter_description> an attribute on the renderer
</parameter_description>
</parameter>
</parameters>
<return> the model column, or -1
</return>
</function>

<function name="gtk_cell_area_box_get_spacing">
<description>
Gets the spacing added between cell renderers.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkCellAreaBox
</parameter_description>
</parameter>
</parameters>
<return> the space added between cell renderers in @box.
</return>
</function>

<function name="gtk_cell_area_box_new">
<description>
Creates a new #GtkCellAreaBox.


</description>
<parameters>
</parameters>
<return> a newly created #GtkCellAreaBox
</return>
</function>

<function name="gtk_cell_area_box_pack_end">
<description>
Adds @renderer to @box, packed with reference to the end of @box.

The @renderer is packed after (away from end of) any other
#GtkCellRenderer packed with reference to the end of @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkCellAreaBox
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to add
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> whether @renderer should receive extra space when the area receives
more than its natural size
</parameter_description>
</parameter>
<parameter name="align">
<parameter_description> whether @renderer should be aligned in adjacent rows
</parameter_description>
</parameter>
<parameter name="fixed">
<parameter_description> whether @renderer should have the same size in all rows
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_box_pack_start">
<description>
Adds @renderer to @box, packed with reference to the start of @box.

The @renderer is packed after any other #GtkCellRenderer packed
with reference to the start of @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkCellAreaBox
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to add
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> whether @renderer should receive extra space when the area receives
more than its natural size
</parameter_description>
</parameter>
<parameter name="align">
<parameter_description> whether @renderer should be aligned in adjacent rows
</parameter_description>
</parameter>
<parameter name="fixed">
<parameter_description> whether @renderer should have the same size in all rows
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_box_set_spacing">
<description>
Sets the spacing to add between cell renderers in @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkCellAreaBox
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the space to add between #GtkCellRenderers
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_cell_get">
<description>
Gets the values of one or more cell properties for @renderer in @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer which is inside @area
</parameter_description>
</parameter>
<parameter name="first_prop_name">
<parameter_description> the name of the first cell property to get
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> return location for the first cell property, followed
optionally by more name/return location pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_cell_get_property">
<description>
Gets the value of a cell property for @renderer in @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer inside @area
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the property to get
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a location to return the value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_cell_get_valist">
<description>
Gets the values of one or more cell properties for @renderer in @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer inside @area
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> the name of the first property to get
</parameter_description>
</parameter>
<parameter name="var_args">
<parameter_description> return location for the first property, followed
optionally by more name/return location pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_cell_set">
<description>
Sets one or more cell properties for @cell in @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer which is a cell inside @area
</parameter_description>
</parameter>
<parameter name="first_prop_name">
<parameter_description> the name of the first cell property to set
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> a %NULL-terminated list of property names and values, starting
with @first_prop_name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_cell_set_property">
<description>
Sets a cell property for @renderer in @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer inside @area
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the cell property to set
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value to set the cell property to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_cell_set_valist">
<description>
Sets one or more cell properties for @renderer in @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> a #GtkCellRenderer which inside @area
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> the name of the first cell property to set
</parameter_description>
</parameter>
<parameter name="var_args">
<parameter_description> a %NULL-terminated list of property names and values, starting
with @first_prop_name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_class_find_cell_property">
<description>
Finds a cell property of a cell area class by name.


</description>
<parameters>
<parameter name="aclass">
<parameter_description> a #GtkCellAreaClass
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the child property to find
</parameter_description>
</parameter>
</parameters>
<return> the #GParamSpec of the child property
or %NULL if @aclass has no child property with that name.
</return>
</function>

<function name="gtk_cell_area_class_install_cell_property">
<description>
Installs a cell property on a cell area class.

</description>
<parameters>
<parameter name="aclass">
<parameter_description> a #GtkCellAreaClass
</parameter_description>
</parameter>
<parameter name="property_id">
<parameter_description> the id for the property
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_class_list_cell_properties">
<description>
Returns all cell properties of a cell area class.


</description>
<parameters>
<parameter name="aclass">
<parameter_description> a #GtkCellAreaClass
</parameter_description>
</parameter>
<parameter name="n_properties">
<parameter_description> location to return the number of cell properties found
</parameter_description>
</parameter>
</parameters>
<return> a newly
allocated %NULL-terminated array of #GParamSpec*.  The array
must be freed with g_free().
</return>
</function>

<function name="gtk_cell_area_context_allocate">
<description>
Allocates a width and/or a height for all rows which are to be
rendered with @context.

Usually allocation is performed only horizontally or sometimes
vertically since a group of rows are usually rendered side by
side vertically or horizontally and share either the same width
or the same height. Sometimes they are allocated in both horizontal
and vertical orientations producing a homogeneous effect of the
rows. This is generally the case for #GtkTreeView when
#GtkTreeView:fixed-height-mode is enabled.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the allocated width for all #GtkTreeModel rows rendered
with @context, or -1.
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the allocated height for all #GtkTreeModel rows rendered
with @context, or -1.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_get_allocation">
<description>
Fetches the current allocation size for @context.

If the context was not allocated in width or height, or if the
context was recently reset with gtk_cell_area_context_reset(),
the returned value will be -1.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to store the allocated width, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to store the allocated height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_get_area">
<description>
Fetches the #GtkCellArea this @context was created by.

This is generally unneeded by layouting widgets; however,
it is important for the context implementation itself to
fetch information about the area it is being used for.

For instance at #GtkCellAreaContextClass.allocate() time
it’s important to know details about any cell spacing
that the #GtkCellArea is configured with in order to
compute a proper allocation.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
</parameters>
<return> the #GtkCellArea this context was created by.
</return>
</function>

<function name="gtk_cell_area_context_get_preferred_height">
<description>
Gets the accumulative preferred height for all rows which have been
requested with this context.

After gtk_cell_area_context_reset() is called and/or before ever
requesting the size of a #GtkCellArea, the returned values are 0.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="minimum_height">
<parameter_description> location to store the minimum height,
or %NULL
</parameter_description>
</parameter>
<parameter name="natural_height">
<parameter_description> location to store the natural height,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_get_preferred_height_for_width">
<description>
Gets the accumulative preferred height for @width for all rows
which have been requested for the same said @width with this context.

After gtk_cell_area_context_reset() is called and/or before ever
requesting the size of a #GtkCellArea, the returned values are -1.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> a proposed width for allocation
</parameter_description>
</parameter>
<parameter name="minimum_height">
<parameter_description> location to store the minimum height,
or %NULL
</parameter_description>
</parameter>
<parameter name="natural_height">
<parameter_description> location to store the natural height,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_get_preferred_width">
<description>
Gets the accumulative preferred width for all rows which have been
requested with this context.

After gtk_cell_area_context_reset() is called and/or before ever
requesting the size of a #GtkCellArea, the returned values are 0.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="minimum_width">
<parameter_description> location to store the minimum width,
or %NULL
</parameter_description>
</parameter>
<parameter name="natural_width">
<parameter_description> location to store the natural width,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_get_preferred_width_for_height">
<description>
Gets the accumulative preferred width for @height for all rows which
have been requested for the same said @height with this context.

After gtk_cell_area_context_reset() is called and/or before ever
requesting the size of a #GtkCellArea, the returned values are -1.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> a proposed height for allocation
</parameter_description>
</parameter>
<parameter name="minimum_width">
<parameter_description> location to store the minimum width,
or %NULL
</parameter_description>
</parameter>
<parameter name="natural_width">
<parameter_description> location to store the natural width,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_push_preferred_height">
<description>
Causes the minimum and/or natural height to grow if the new
proposed sizes exceed the current minimum and natural height.

This is used by #GtkCellAreaContext implementations during
the request process over a series of #GtkTreeModel rows to
progressively push the requested height over a series of
gtk_cell_area_get_preferred_height() requests.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="minimum_height">
<parameter_description> the proposed new minimum height for @context
</parameter_description>
</parameter>
<parameter name="natural_height">
<parameter_description> the proposed new natural height for @context
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_push_preferred_width">
<description>
Causes the minimum and/or natural width to grow if the new
proposed sizes exceed the current minimum and natural width.

This is used by #GtkCellAreaContext implementations during
the request process over a series of #GtkTreeModel rows to
progressively push the requested width over a series of
gtk_cell_area_get_preferred_width() requests.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
<parameter name="minimum_width">
<parameter_description> the proposed new minimum width for @context
</parameter_description>
</parameter>
<parameter name="natural_width">
<parameter_description> the proposed new natural width for @context
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_context_reset">
<description>
Resets any previously cached request and allocation
data.

When underlying #GtkTreeModel data changes its
important to reset the context if the content
size is allowed to shrink. If the content size
is only allowed to grow (this is usually an option
for views rendering large data stores as a measure
of optimization), then only the row that changed
or was inserted needs to be (re)requested with
gtk_cell_area_get_preferred_width().

When the new overall size of the context requires
that the allocated size changes (or whenever this
allocation changes at all), the variable row
sizes need to be re-requested for every row.

For instance, if the rows are displayed all with
the same width from top to bottom then a change
in the allocated width necessitates a recalculation
of all the displayed row heights using
gtk_cell_area_get_preferred_height_for_width().

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkCellAreaContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_copy_context">
<description>
This is sometimes needed for cases where rows need to share
alignments in one orientation but may be separately grouped
in the opposing orientation.

For instance, #GtkIconView creates all icons (rows) to have
the same width and the cells theirin to have the same
horizontal alignments. However each row of icons may have
a separate collective height. #GtkIconView uses this to
request the heights of each row based on a context which
was already used to request all the row widths that are
to be displayed.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext to copy
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkCellAreaContext copy of @context.
</return>
</function>

<function name="gtk_cell_area_create_context">
<description>
Creates a #GtkCellAreaContext to be used with @area for
all purposes. #GtkCellAreaContext stores geometry information
for rows for which it was operated on, it is important to use
the same context for the same row of data at all times (i.e.
one should render and handle events with the same #GtkCellAreaContext
which was used to request the size of those rows of data).


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkCellAreaContext which can be used with @area.
</return>
</function>

<function name="gtk_cell_area_event">
<description>
Delegates event handling to a #GtkCellArea.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext for this row of data.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering to
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEvent to handle
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the @widget relative coordinates for @area
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the #GtkCellRendererState for @area in this row.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the event was handled by @area.
</return>
</function>

<function name="gtk_cell_area_focus">
<description>
This should be called by the @area’s owning layout widget
when focus is to be passed to @area, or moved within @area
for a given @direction and row data.

Implementing #GtkCellArea classes should implement this
method to receive and navigate focus in its own way particular
to how it lays out cells.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the #GtkDirectionType
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if focus remains inside @area as a result of this call.
</return>
</function>

<function name="gtk_cell_area_foreach">
<description>
Calls @callback for every #GtkCellRenderer in @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> the #GtkCellCallback to call
</parameter_description>
</parameter>
<parameter name="callback_data">
<parameter_description> user provided data pointer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_foreach_alloc">
<description>
Calls @callback for every #GtkCellRenderer in @area with the
allocated rectangle inside @cell_area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext for this row of data.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering to
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the @widget relative coordinates and size for @area
</parameter_description>
</parameter>
<parameter name="background_area">
<parameter_description> the @widget relative coordinates of the background area
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> the #GtkCellAllocCallback to call
</parameter_description>
</parameter>
<parameter name="callback_data">
<parameter_description> user provided data pointer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_get_cell_allocation">
<description>
Derives the allocation of @renderer inside @area if @area
were to be renderered in @cell_area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext used to hold sizes for @area.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering on
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to get the allocation for
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the whole allocated area for @area in @widget
for this row
</parameter_description>
</parameter>
<parameter name="allocation">
<parameter_description> where to store the allocation for @renderer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_get_cell_at_position">
<description>
Gets the #GtkCellRenderer at @x and @y coordinates inside @area and optionally
returns the full cell allocation for it inside @cell_area.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext used to hold sizes for @area.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering on
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the whole allocated area for @area in @widget
for this row
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x position
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y position
</parameter_description>
</parameter>
<parameter name="alloc_area">
<parameter_description> where to store the inner allocated area of the
returned cell renderer, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> the #GtkCellRenderer at @x and @y.
</return>
</function>

<function name="gtk_cell_area_get_current_path_string">
<description>
Gets the current #GtkTreePath string for the currently
applied #GtkTreeIter, this is implicitly updated when
gtk_cell_area_apply_attributes() is called and can be
used to interact with renderers from #GtkCellArea
subclasses.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
</parameters>
<return> The current #GtkTreePath string for the current
attributes applied to @area. This string belongs to the area and
should not be freed.
</return>
</function>

<function name="gtk_cell_area_get_edit_widget">
<description>
Gets the #GtkCellEditable widget currently used
to edit the currently edited cell.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
</parameters>
<return> The currently active #GtkCellEditable widget
</return>
</function>

<function name="gtk_cell_area_get_edited_cell">
<description>
Gets the #GtkCellRenderer in @area that is currently
being edited.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
</parameters>
<return> The currently edited #GtkCellRenderer
</return>
</function>

<function name="gtk_cell_area_get_focus_cell">
<description>
Retrieves the currently focused cell for @area


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
</parameters>
<return> the currently focused cell in @area.
</return>
</function>

<function name="gtk_cell_area_get_focus_from_sibling">
<description>
Gets the #GtkCellRenderer which is expected to be focusable
for which @renderer is, or may be a sibling.

This is handy for #GtkCellArea subclasses when handling events,
after determining the renderer at the event location it can
then chose to activate the focus cell for which the event
cell may have been a sibling.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer
</parameter_description>
</parameter>
</parameters>
<return> the #GtkCellRenderer for which @renderer
is a sibling, or %NULL.
</return>
</function>

<function name="gtk_cell_area_get_focus_siblings">
<description>
Gets the focus sibling cell renderers for @renderer.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer expected to have focus
</parameter_description>
</parameter>
</parameters>
<return> A #GList of #GtkCellRenderers.
The returned list is internal and should not be freed.
</return>
</function>

<function name="gtk_cell_area_get_preferred_height">
<description>
Retrieves a cell area’s initial minimum and natural height.

@area will store some geometrical information in @context along the way;
when requesting sizes over an arbitrary number of rows, it’s not important
to check the @minimum_height and @natural_height of this call but rather to
consult gtk_cell_area_context_get_preferred_height() after a series of
requests.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext to perform this request with
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget where @area will be rendering
</parameter_description>
</parameter>
<parameter name="minimum_height">
<parameter_description> location to store the minimum height, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_height">
<parameter_description> location to store the natural height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_get_preferred_height_for_width">
<description>
Retrieves a cell area’s minimum and natural height if it would be given
the specified @width.

@area stores some geometrical information in @context along the way
while calling gtk_cell_area_get_preferred_width(). It’s important to
perform a series of gtk_cell_area_get_preferred_width() requests with
@context first and then call gtk_cell_area_get_preferred_height_for_width()
on each cell area individually to get the height for width of each
fully requested row.

If at some point, the width of a single row changes, it should be
requested with gtk_cell_area_get_preferred_width() again and then
the full width of the requested rows checked again with
gtk_cell_area_context_get_preferred_width().

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext which has already been requested for widths.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget where @area will be rendering
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width for which to check the height of this area
</parameter_description>
</parameter>
<parameter name="minimum_height">
<parameter_description> location to store the minimum height, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_height">
<parameter_description> location to store the natural height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_get_preferred_width">
<description>
Retrieves a cell area’s initial minimum and natural width.

@area will store some geometrical information in @context along the way;
when requesting sizes over an arbitrary number of rows, it’s not important
to check the @minimum_width and @natural_width of this call but rather to
consult gtk_cell_area_context_get_preferred_width() after a series of
requests.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext to perform this request with
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget where @area will be rendering
</parameter_description>
</parameter>
<parameter name="minimum_width">
<parameter_description> location to store the minimum width, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_width">
<parameter_description> location to store the natural width, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_get_preferred_width_for_height">
<description>
Retrieves a cell area’s minimum and natural width if it would be given
the specified @height.

@area stores some geometrical information in @context along the way
while calling gtk_cell_area_get_preferred_height(). It’s important to
perform a series of gtk_cell_area_get_preferred_height() requests with
@context first and then call gtk_cell_area_get_preferred_width_for_height()
on each cell area individually to get the height for width of each
fully requested row.

If at some point, the height of a single row changes, it should be
requested with gtk_cell_area_get_preferred_height() again and then
the full height of the requested rows checked again with
gtk_cell_area_context_get_preferred_height().

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext which has already been requested for widths.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget where @area will be rendering
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height for which to check the width of this area
</parameter_description>
</parameter>
<parameter name="minimum_width">
<parameter_description> location to store the minimum width, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_width">
<parameter_description> location to store the natural width, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_get_request_mode">
<description>
Gets whether the area prefers a height-for-width layout
or a width-for-height layout.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
</parameters>
<return> The #GtkSizeRequestMode preferred by @area.
</return>
</function>

<function name="gtk_cell_area_has_renderer">
<description>
Checks if @area contains @renderer.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to check
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @renderer is in the @area.
</return>
</function>

<function name="gtk_cell_area_inner_cell_area">
<description>
This is a convenience function for #GtkCellArea implementations
to get the inner area where a given #GtkCellRenderer will be
rendered. It removes any padding previously added by gtk_cell_area_request_renderer().

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering onto
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the @widget relative coordinates where one of @area’s cells
is to be placed
</parameter_description>
</parameter>
<parameter name="inner_area">
<parameter_description> the return location for the inner cell area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_is_activatable">
<description>
Returns whether the area can do anything when activated,
after applying new attributes to @area.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
</parameters>
<return> whether @area can do anything when activated.
</return>
</function>

<function name="gtk_cell_area_is_focus_sibling">
<description>
Returns whether @sibling is one of @renderer’s focus siblings
(see gtk_cell_area_add_focus_sibling()).


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer expected to have focus
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> the #GtkCellRenderer to check against @renderer’s sibling list
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @sibling is a focus sibling of @renderer
</return>
</function>

<function name="gtk_cell_area_remove">
<description>
Removes @renderer from @area.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to remove from @area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_remove_focus_sibling">
<description>
Removes @sibling from @renderer’s focus sibling list
(see gtk_cell_area_add_focus_sibling()).

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer expected to have focus
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> the #GtkCellRenderer to remove from @renderer’s focus area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_request_renderer">
<description>
This is a convenience function for #GtkCellArea implementations
to request size for cell renderers. It’s important to use this
function to request size and then use gtk_cell_area_inner_cell_area()
at render and event time since this function will add padding
around the cell for focus painting.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to request size for
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the #GtkOrientation in which to request size
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering onto
</parameter_description>
</parameter>
<parameter name="for_size">
<parameter_description> the allocation contextual size to request for, or -1 if
the base request for the orientation is to be returned.
</parameter_description>
</parameter>
<parameter name="minimum_size">
<parameter_description> location to store the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_size">
<parameter_description> location to store the natural size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_set_focus_cell">
<description>
Explicitly sets the currently focused cell to @renderer.

This is generally called by implementations of
#GtkCellAreaClass.focus() or #GtkCellAreaClass.event(),
however it can also be used to implement functions such
as gtk_tree_view_set_cursor_on_cell().

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> the #GtkCellRenderer to give focus to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_snapshot">
<description>
Snapshots @area’s cells according to @area’s layout onto at
the given coordinates.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext for this row of data.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget that @area is rendering to
</parameter_description>
</parameter>
<parameter name="snapshot">
<parameter_description> the #GtkSnapshot to draw to
</parameter_description>
</parameter>
<parameter name="background_area">
<parameter_description> the @widget relative coordinates for @area’s background
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> the @widget relative coordinates for @area
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the #GtkCellRendererState for @area in this row.
</parameter_description>
</parameter>
<parameter name="paint_focus">
<parameter_description> whether @area should paint focus on focused cells for focused rows or not.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_area_stop_editing">
<description>
Explicitly stops the editing of the currently edited cell.

If @canceled is %TRUE, the currently edited cell renderer
will emit the ::editing-canceled signal, otherwise the
the ::editing-done signal will be emitted on the current
edit widget.

See gtk_cell_area_get_edited_cell() and gtk_cell_area_get_edit_widget().

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkCellArea
</parameter_description>
</parameter>
<parameter name="canceled">
<parameter_description> whether editing was canceled.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_editable_editing_done">
<description>
Emits the #GtkCellEditable::editing-done signal. 

</description>
<parameters>
<parameter name="cell_editable">
<parameter_description> A #GtkCellEditable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_editable_remove_widget">
<description>
Emits the #GtkCellEditable::remove-widget signal.  

</description>
<parameters>
<parameter name="cell_editable">
<parameter_description> A #GtkCellEditable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_editable_start_editing">
<description>
Begins editing on a @cell_editable.

The #GtkCellRenderer for the cell creates and returns a #GtkCellEditable from
gtk_cell_renderer_start_editing(), configured for the #GtkCellRenderer type.

gtk_cell_editable_start_editing() can then set up @cell_editable suitably for
editing a cell, e.g. making the Esc key emit #GtkCellEditable::editing-done.

Note that the @cell_editable is created on-demand for the current edit; its
lifetime is temporary and does not persist across other edits and/or cells.

</description>
<parameters>
<parameter name="cell_editable">
<parameter_description> A #GtkCellEditable
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> The #GdkEvent that began the editing process, or
%NULL if editing was initiated programmatically
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_add_attribute">
<description>
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
“text” attribute of a #GtkCellRendererText get its values from column 2.

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="attribute">
<parameter_description> an attribute on the renderer
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> the column position on the model to get the attribute from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_clear">
<description>
Unsets all the mappings on all renderers on @cell_layout and
removes all renderers from @cell_layout.

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_clear_attributes">
<description>
Clears all existing attributes previously set with
gtk_cell_layout_set_attributes().

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer to clear the attribute mapping on
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_get_area">
<description>
Returns the underlying #GtkCellArea which might be @cell_layout
if called on a #GtkCellArea or might be %NULL if no #GtkCellArea
is used by @cell_layout.


</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
</parameters>
<return> the cell area used by @cell_layout,
or %NULL in case no cell area is used.
</return>
</function>

<function name="gtk_cell_layout_get_cells">
<description>
Returns the cell renderers which have been added to @cell_layout.


</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
</parameters>
<return>
a list of cell renderers. The list, but not the renderers has
been newly allocated and should be freed with g_list_free()
when no longer needed.
</return>
</function>

<function name="gtk_cell_layout_pack_end">
<description>
Adds the @cell to the end 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.

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE if @cell is to be given extra space allocated to @cell_layout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_pack_start">
<description>
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.

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE if @cell is to be given extra space allocated to @cell_layout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_reorder">
<description>
Re-inserts @cell at @position.

Note that @cell has already to be packed into @cell_layout
for this to function properly.

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer to reorder
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> new position to insert @cell at
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_set_attributes">
<description>
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.

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> a %NULL-terminated list of attributes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_layout_set_cell_data_func">
<description>
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’s
cell renderer(s) as appropriate.

@func may be %NULL to remove a previously set function.

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> the #GtkCellLayoutDataFunc to use, or %NULL
</parameter_description>
</parameter>
<parameter name="func_data">
<parameter_description> user data for @func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notify for @func_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_accel_new">
<description>
Creates a new #GtkCellRendererAccel.


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_activate">
<description>
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.


</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> a #GdkEvent
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> widget that received the event
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> widget-dependent string representation of the event location; 
e.g. for #GtkTreeView, a string representation of #GtkTreePath
</parameter_description>
</parameter>
<parameter name="background_area">
<parameter_description> background area as passed to gtk_cell_renderer_render()
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> cell area as passed to gtk_cell_renderer_render()
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> render flags
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the event was consumed/handled
</return>
</function>

<function name="gtk_cell_renderer_class_set_accessible_type">
<description>
Sets the type to be used for creating accessibles for cells rendered by
cell renderers of @renderer_class. Note that multiple accessibles will
be created.

This function should only be called from class init functions of cell
renderers.

</description>
<parameters>
<parameter name="renderer_class">
<parameter_description> class to set the accessible type for
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> The object type that implements the accessible for @widget_class.
The type must be a subtype of #GtkRendererCellAccessible
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_combo_new">
<description>
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 “text” property 
on the cell renderer to a string value in the model, thus rendering 
a different string in each row of the #GtkTreeView.


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_get_aligned_area">
<description>
Gets the aligned area used by @cell inside @cell_area. Used for finding
the appropriate edit and focus rectangle.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer instance
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget this cell will be rendering to
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> render flags
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> cell area which would be passed to gtk_cell_renderer_render()
</parameter_description>
</parameter>
<parameter name="aligned_area">
<parameter_description> the return location for the space inside @cell_area
that would acually be used to render.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_alignment">
<description>
Fills in @xalign and @yalign with the appropriate values of @cell.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> location to fill in with the x alignment of the cell, or %NULL
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> location to fill in with the y alignment of the cell, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_fixed_size">
<description>
Fills in @width and @height with the appropriate size of @cell.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to fill in with the fixed width of the cell, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to fill in with the fixed height of the cell, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_padding">
<description>
Fills in @xpad and @ypad with the appropriate values of @cell.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="xpad">
<parameter_description> location to fill in with the x padding of the cell, or %NULL
</parameter_description>
</parameter>
<parameter name="ypad">
<parameter_description> location to fill in with the y padding of the cell, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_preferred_height">
<description>
Retreives a renderer’s natural size when rendered to @widget.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer instance
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget this cell will be rendering to
</parameter_description>
</parameter>
<parameter name="minimum_size">
<parameter_description> location to store the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_size">
<parameter_description> location to store the natural size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_preferred_height_for_width">
<description>
Retreives a cell renderers’s minimum and natural height if it were rendered to 
@widget with the specified @width.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer instance
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget this cell will be rendering to
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the size which is available for allocation
</parameter_description>
</parameter>
<parameter name="minimum_height">
<parameter_description> location for storing the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_height">
<parameter_description> location for storing the preferred size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_preferred_size">
<description>
Retrieves the minimum and natural size of a cell taking
into account the widget’s preference for height-for-width management.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer instance
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget this cell will be rendering to
</parameter_description>
</parameter>
<parameter name="minimum_size">
<parameter_description> location for storing the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_size">
<parameter_description> location for storing the natural size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_preferred_width">
<description>
Retreives a renderer’s natural size when rendered to @widget.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer instance
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget this cell will be rendering to
</parameter_description>
</parameter>
<parameter name="minimum_size">
<parameter_description> location to store the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_size">
<parameter_description> location to store the natural size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_preferred_width_for_height">
<description>
Retreives a cell renderers’s minimum and natural width if it were rendered to 
@widget with the specified @height.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer instance
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget this cell will be rendering to
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the size which is available for allocation
</parameter_description>
</parameter>
<parameter name="minimum_width">
<parameter_description> location for storing the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_width">
<parameter_description> location for storing the preferred size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_get_request_mode">
<description>
Gets whether the cell renderer prefers a height-for-width layout
or a width-for-height layout.


</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer    instance
</parameter_description>
</parameter>
</parameters>
<return> The #GtkSizeRequestMode preferred by this renderer.
</return>
</function>

<function name="gtk_cell_renderer_get_sensitive">
<description>
Returns the cell renderer’s sensitivity.


</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cell renderer is sensitive
</return>
</function>

<function name="gtk_cell_renderer_get_state">
<description>
Translates the cell renderer state to #GtkStateFlags,
based on the cell renderer and widget sensitivity, and
the given #GtkCellRendererState.


</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer, or %NULL
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget, or %NULL
</parameter_description>
</parameter>
<parameter name="cell_state">
<parameter_description> cell renderer state
</parameter_description>
</parameter>
</parameters>
<return> the widget state flags applying to @cell
</return>
</function>

<function name="gtk_cell_renderer_get_visible">
<description>
Returns the cell renderer’s visibility.


</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cell renderer is visible
</return>
</function>

<function name="gtk_cell_renderer_is_activatable">
<description>
Checks whether the cell renderer can do something when activated.


</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cell renderer can do anything when activated
</return>
</function>

<function name="gtk_cell_renderer_pixbuf_new">
<description>
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 “pixbuf” property on the cell renderer to a pixbuf value
in the model, thus rendering a different image in each row of the
#GtkTreeView.


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_progress_new">
<description>
Creates a new #GtkCellRendererProgress. 


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_set_alignment">
<description>
Sets the renderer’s alignment within its available space.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> the x alignment of the cell renderer
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> the y alignment of the cell renderer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_set_fixed_size">
<description>
Sets the renderer size to be explicit, independent of the properties set.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the cell renderer, or -1
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the cell renderer, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_set_padding">
<description>
Sets the renderer’s padding.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="xpad">
<parameter_description> the x padding of the cell renderer
</parameter_description>
</parameter>
<parameter name="ypad">
<parameter_description> the y padding of the cell renderer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_set_sensitive">
<description>
Sets the cell renderer’s sensitivity.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="sensitive">
<parameter_description> the sensitivity of the cell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_set_visible">
<description>
Sets the cell renderer’s visibility.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> the visibility of the cell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_snapshot">
<description>
Invokes the virtual render function of the #GtkCellRenderer. The three
passed-in rectangles are areas in @cr. Most renderers will draw within
@cell_area; the xalign, yalign, xpad, and ypad fields of the #GtkCellRenderer
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
@window.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot to draw to
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget owning @window
</parameter_description>
</parameter>
<parameter name="background_area">
<parameter_description> entire cell area (including tree expanders and maybe 
padding on the sides)
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> area normally rendered by a cell renderer
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags that affect rendering
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_spin_new">
<description>
Creates a new #GtkCellRendererSpin. 


</description>
<parameters>
</parameters>
<return> a new #GtkCellRendererSpin
</return>
</function>

<function name="gtk_cell_renderer_spinner_new">
<description>
Returns a new cell renderer which will show a spinner to indicate
activity.


</description>
<parameters>
</parameters>
<return> a new #GtkCellRenderer
</return>
</function>

<function name="gtk_cell_renderer_start_editing">
<description>
Starts editing the contents of this @cell, through a new #GtkCellEditable
widget created by the #GtkCellRendererClass.start_editing virtual function.


</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> a #GdkEvent
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> widget that received the event
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> widget-dependent string representation of the event location;
e.g. for #GtkTreeView, a string representation of #GtkTreePath
</parameter_description>
</parameter>
<parameter name="background_area">
<parameter_description> background area as passed to gtk_cell_renderer_render()
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> cell area as passed to gtk_cell_renderer_render()
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> render flags
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkCellEditable for editing this
@cell, or %NULL if editing is not possible
</return>
</function>

<function name="gtk_cell_renderer_stop_editing">
<description>
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.

</description>
<parameters>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="canceled">
<parameter_description> %TRUE if the editing has been canceled
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_text_new">
<description>
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 “text” property on the cell renderer to a string
value in the model, thus rendering a different string in each row
of the #GtkTreeView


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_text_set_fixed_height_from_font">
<description>
Sets the height of a renderer to explicitly be determined by the “font” and
“y_pad” 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.

</description>
<parameters>
<parameter name="renderer">
<parameter_description> A #GtkCellRendererText
</parameter_description>
</parameter>
<parameter name="number_of_rows">
<parameter_description> Number of rows of text each cell renderer is allocated, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_toggle_get_activatable">
<description>
Returns whether the cell renderer is activatable. See
gtk_cell_renderer_toggle_set_activatable().


</description>
<parameters>
<parameter name="toggle">
<parameter_description> a #GtkCellRendererToggle
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cell renderer is activatable.
</return>
</function>

<function name="gtk_cell_renderer_toggle_get_active">
<description>
Returns whether the cell renderer is active. See
gtk_cell_renderer_toggle_set_active().


</description>
<parameters>
<parameter name="toggle">
<parameter_description> a #GtkCellRendererToggle
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cell renderer is active.
</return>
</function>

<function name="gtk_cell_renderer_toggle_get_radio">
<description>
Returns whether we’re rendering radio toggles rather than checkboxes. 


</description>
<parameters>
<parameter name="toggle">
<parameter_description> a #GtkCellRendererToggle
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we’re rendering radio toggles rather than checkboxes
</return>
</function>

<function name="gtk_cell_renderer_toggle_new">
<description>
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 “active” property on the cell renderer to a boolean value
in the model, thus causing the check button to reflect the state of
the model.


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_toggle_set_activatable">
<description>
Makes the cell renderer activatable.

</description>
<parameters>
<parameter name="toggle">
<parameter_description> a #GtkCellRendererToggle.
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the value to set.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_toggle_set_active">
<description>
Activates or deactivates a cell renderer.

</description>
<parameters>
<parameter name="toggle">
<parameter_description> a #GtkCellRendererToggle.
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the value to set.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_renderer_toggle_set_radio">
<description>
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).

</description>
<parameters>
<parameter name="toggle">
<parameter_description> a #GtkCellRendererToggle
</parameter_description>
</parameter>
<parameter name="radio">
<parameter_description> %TRUE to make the toggle look like a radio button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_view_get_displayed_row">
<description>
Returns a #GtkTreePath referring to the currently 
displayed row. If no row is currently displayed, 
%NULL is returned.


</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
</parameters>
<return> the currently displayed row or %NULL
</return>
</function>

<function name="gtk_cell_view_get_draw_sensitive">
<description>
Gets whether @cell_view is configured to draw all of its
cells in a sensitive state.


</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
</parameters>
<return> whether @cell_view draws all of its
cells in a sensitive state
</return>
</function>

<function name="gtk_cell_view_get_fit_model">
<description>
Gets whether @cell_view is configured to request space
to fit the entire #GtkTreeModel.


</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
</parameters>
<return> whether @cell_view requests space to fit
the entire #GtkTreeModel.
</return>
</function>

<function name="gtk_cell_view_get_model">
<description>
Returns the model for @cell_view. If no model is used %NULL is
returned.


</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
</parameters>
<return> a #GtkTreeModel used or %NULL
</return>
</function>

<function name="gtk_cell_view_new">
<description>
Creates a new #GtkCellView widget.


</description>
<parameters>
</parameters>
<return> A newly created #GtkCellView widget.
</return>
</function>

<function name="gtk_cell_view_new_with_context">
<description>
Creates a new #GtkCellView widget with a specific #GtkCellArea
to layout cells and a specific #GtkCellAreaContext.

Specifying the same context for a handfull of cells lets
the underlying area synchronize the geometry for those cells,
in this way alignments with cellviews for other rows are
possible.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea to layout cells
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkCellAreaContext in which to calculate cell geometry
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkCellView widget.
</return>
</function>

<function name="gtk_cell_view_new_with_markup">
<description>
Creates a new #GtkCellView widget, adds a #GtkCellRendererText 
to it, and makes it show @markup. The text can be
marked up with the [Pango text markup language][PangoMarkupFormat].


</description>
<parameters>
<parameter name="markup">
<parameter_description> the text to display in the cell view
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkCellView widget.
</return>
</function>

<function name="gtk_cell_view_new_with_text">
<description>
Creates a new #GtkCellView widget, adds a #GtkCellRendererText 
to it, and makes it show @text.


</description>
<parameters>
<parameter name="text">
<parameter_description> the text to display in the cell view
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkCellView widget.
</return>
</function>

<function name="gtk_cell_view_new_with_texture">
<description>
Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf
to it, and makes it show @texture.


</description>
<parameters>
<parameter name="texture">
<parameter_description> the image to display in the cell view
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkCellView widget.
</return>
</function>

<function name="gtk_cell_view_set_displayed_row">
<description>
Sets the row of the model that is currently displayed
by the #GtkCellView. If the path is unset, then the
contents of the cellview “stick” 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.

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath or %NULL to unset.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_view_set_draw_sensitive">
<description>
Sets whether @cell_view should draw all of its
cells in a sensitive state, this is used by #GtkComboBox menus
to ensure that rows with insensitive cells that contain
children appear sensitive in the parent menu item.

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
<parameter name="draw_sensitive">
<parameter_description> whether to draw all cells in a sensitive state.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_view_set_fit_model">
<description>
Sets whether @cell_view should request space to fit the entire #GtkTreeModel.

This is used by #GtkComboBox to ensure that the cell view displayed on
the combo box’s button always gets enough space and does not resize
when selection changes.

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
<parameter name="fit_model">
<parameter_description> whether @cell_view should request space for the whole model.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_view_set_model">
<description>
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.

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_view_set_value">
<description>
Sets a property of a cell renderer of @cell_view, and
makes sure the display of @cell_view is updated.

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView widget
</parameter_description>
</parameter>
<parameter name="renderer">
<parameter_description> one of the renderers of @cell_view
</parameter_description>
</parameter>
<parameter name="property">
<parameter_description> the name of the property of @renderer to set
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the new value to set the property to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_box_get_baseline_position">
<description>
Gets the value set by gtk_center_box_set_baseline_position().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
</parameters>
<return> the baseline position
</return>
</function>

<function name="gtk_center_box_get_center_widget">
<description>
Gets the center widget, or %NULL if there is none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
</parameters>
<return> the center widget.
</return>
</function>

<function name="gtk_center_box_get_end_widget">
<description>
Gets the end widget, or %NULL if there is none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
</parameters>
<return> the end widget.
</return>
</function>

<function name="gtk_center_box_get_start_widget">
<description>
Gets the start widget, or %NULL if there is none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
</parameters>
<return> the start widget.
</return>
</function>

<function name="gtk_center_box_new">
<description>
Creates a new #GtkCenterBox.


</description>
<parameters>
</parameters>
<return> the new #GtkCenterBox.
</return>
</function>

<function name="gtk_center_box_set_baseline_position">
<description>
Sets the baseline position of a center box.

This affects only horizontal boxes with at least one baseline
aligned child. If there is more vertical space available than
requested, and the baseline is not allocated by the parent then
@position is used to allocate the baseline wrt. the extra space
available.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> a #GtkBaselinePosition
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_box_set_center_widget">
<description>
Sets the center widget. To remove the existing center widget, pas %NULL.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the new center widget, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_box_set_end_widget">
<description>
Sets the end widget. To remove the existing end widget, pass %NULL.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the new end widget, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_box_set_start_widget">
<description>
Sets the start widget. To remove the existing start widget, pass %NULL.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the new start widget, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_layout_get_baseline_position">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
</parameters>
<return> The current baseline position of @self.
</return>
</function>

<function name="gtk_center_layout_get_center_widget">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
</parameters>
<return> the current center widget of @self
</return>
</function>

<function name="gtk_center_layout_get_end_widget">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
</parameters>
<return> the current end widget of @self
</return>
</function>

<function name="gtk_center_layout_get_orientation">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
</parameters>
<return> The current orientation of @self
</return>
</function>

<function name="gtk_center_layout_get_start_widget">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
</parameters>
<return> The current start widget of @self
</return>
</function>

<function name="gtk_center_layout_new">
<description>
Creates a new #GtkCenterLayout.


</description>
<parameters>
</parameters>
<return> the newly created #GtkCenterLayout
</return>
</function>

<function name="gtk_center_layout_set_baseline_position">
<description>
Sets the new baseline position of @self

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
<parameter name="baseline_position">
<parameter_description> the new baseline position
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_layout_set_center_widget">
<description>
Sets the new center widget of @self

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the new center widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_layout_set_end_widget">
<description>
Sets the new end widget of @self

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the new end widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_layout_set_orientation">
<description>
Sets the orientation of @self.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the new orientation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_center_layout_set_start_widget">
<description>
Sets the new start widget of @self.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCenterLayout
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the new start widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_check_button_get_draw_indicator">
<description>
Returns Whether or not the indicator part of the button gets drawn.


</description>
<parameters>
<parameter name="check_button">
<parameter_description> a #GtkCheckButton
</parameter_description>
</parameter>
</parameters>
<return> The value of the GtkCheckButton:draw-indicator property.
</return>
</function>

<function name="gtk_check_button_get_inconsistent">
<description>
Returns whether the check button is in an inconsistent state.


</description>
<parameters>
<parameter name="check_button">
<parameter_description> a #GtkCheckButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @check_button is currently in an 'in between' state, %FALSE otherwise.
</return>
</function>

<function name="gtk_check_button_new">
<description>
Creates a new #GtkCheckButton.


</description>
<parameters>
</parameters>
<return> a #GtkWidget.
</return>
</function>

<function name="gtk_check_button_new_with_label">
<description>
Creates a new #GtkCheckButton with a #GtkLabel to the right of it.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text for the check button.
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget.
</return>
</function>

<function name="gtk_check_button_new_with_mnemonic">
<description>
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.


</description>
<parameters>
<parameter name="label">
<parameter_description> The text of the button, with an underscore in front of the
mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkCheckButton
</return>
</function>

<function name="gtk_check_button_set_draw_indicator">
<description>
Sets whether the indicator part of the button is drawn. This is important for
cases where the check button should have the functinality of a check button,
but the visuals of a regular button, like in a #GtkStackSwitcher.

</description>
<parameters>
<parameter name="check_button">
<parameter_description> a #GtkCheckButton
</parameter_description>
</parameter>
<parameter name="draw_indicator">
<parameter_description> Whether or not to draw the indicator part of the button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_check_button_set_inconsistent">
<description>
If the user has selected a range of elements (such as some text or
spreadsheet cells) that are affected by a check button, and the
current values in that range are inconsistent, you may want to
display the toggle in an &quot;in between&quot; state. Normally you would
turn off the inconsistent state again if the user checks the
check button. This has to be done manually,
gtk_check_button_set_inconsistent only affects visual appearance,
not the semantics of the button.

</description>
<parameters>
<parameter name="check_button">
<parameter_description> a #GtkCheckButton
</parameter_description>
</parameter>
<parameter name="inconsistent">
<parameter_description> %TRUE if state is inconsistent
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_check_version">
<description>
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.

Compatibility is defined by two things: first the version
of the running library is newer than the version
@required_major.required_minor.@required_micro. Second
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’t loaded
into an incompatible version of GTK. However, such a
check isn’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.


</description>
<parameters>
<parameter name="required_major">
<parameter_description> the required major version
</parameter_description>
</parameter>
<parameter name="required_minor">
<parameter_description> the required minor version
</parameter_description>
</parameter>
<parameter name="required_micro">
<parameter_description> the required micro version
</parameter_description>
</parameter>
</parameters>
<return> %NULL if the GTK library is compatible with the
given version, or a string describing the version mismatch.
The returned string is owned by GTK and should not be modified
or freed.
</return>
</function>

<function name="gtk_color_button_get_title">
<description>
Gets the title of the color selection dialog.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
</parameters>
<return> An internal string, do not free the return value
</return>
</function>

<function name="gtk_color_button_new">
<description>
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.


</description>
<parameters>
</parameters>
<return> a new color button
</return>
</function>

<function name="gtk_color_button_new_with_rgba">
<description>
Creates a new color button.


</description>
<parameters>
<parameter name="rgba">
<parameter_description> A #GdkRGBA to set the current color with
</parameter_description>
</parameter>
</parameters>
<return> a new color button
</return>
</function>

<function name="gtk_color_button_set_title">
<description>
Sets the title for the color selection dialog.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> String containing new window title
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_chooser_add_palette">
<description>
Adds a palette to the color chooser. If @orientation is horizontal,
the colors are grouped in rows, with @colors_per_line colors
in each row. If @horizontal is %FALSE, the colors are grouped
in columns instead.

The default color palette of #GtkColorChooserWidget has
27 colors, organized in columns of 3 colors. The default gray
palette has 9 grays in a single row.

The layout of the color chooser widget works best when the
palettes have 9-10 columns.

Calling this function for the first time has the
side effect of removing the default color and gray palettes
from the color chooser.

If @colors is %NULL, removes all previously added palettes.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkColorChooser
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> %GTK_ORIENTATION_HORIZONTAL if the palette should
be displayed in rows, %GTK_ORIENTATION_VERTICAL for columns
</parameter_description>
</parameter>
<parameter name="colors_per_line">
<parameter_description> the number of colors to show in each row/column
</parameter_description>
</parameter>
<parameter name="n_colors">
<parameter_description> the total number of elements in @colors
</parameter_description>
</parameter>
<parameter name="colors">
<parameter_description> the colors of the palette, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_chooser_dialog_new">
<description>
Creates a new #GtkColorChooserDialog.


</description>
<parameters>
<parameter name="title">
<parameter_description> Title of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> Transient parent of the dialog, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkColorChooserDialog
</return>
</function>

<function name="gtk_color_chooser_get_rgba">
<description>
Gets the currently-selected color.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkColorChooser
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a #GdkRGBA to fill in with the current color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_chooser_get_use_alpha">
<description>
Returns whether the color chooser shows the alpha channel.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkColorChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the color chooser uses the alpha channel,
%FALSE if not
</return>
</function>

<function name="gtk_color_chooser_set_rgba">
<description>
Sets the color.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkColorChooser
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the new color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_chooser_set_use_alpha">
<description>
Sets whether or not the color chooser should use the alpha channel.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkColorChooser
</parameter_description>
</parameter>
<parameter name="use_alpha">
<parameter_description> %TRUE if color chooser should use alpha channel, %FALSE if not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_chooser_widget_new">
<description>
Creates a new #GtkColorChooserWidget.


</description>
<parameters>
</parameters>
<return> a new #GtkColorChooserWidget
</return>
</function>

<function name="gtk_combo_box_get_active">
<description>
Returns the index of the currently active item, or -1 if there’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
`gtk_tree_path_get_indices (path)[0]`, where
`path` is the #GtkTreePath of the active item.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> An integer which is the index of the currently active item,
or -1 if there’s no active item.
</return>
</function>

<function name="gtk_combo_box_get_active_id">
<description>
Returns the ID of the active row of @combo_box.  This value is taken
from the active row and the column specified by the #GtkComboBox:id-column
property of @combo_box (see gtk_combo_box_set_id_column()).

The returned value is an interned string which means that you can
compare the pointer by value to other interned strings and that you
must not free it.

If the #GtkComboBox:id-column property of @combo_box is not set, or if
no row is active, or if the active row has a %NULL ID value, then %NULL
is returned.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the ID of the active row, or %NULL
</return>
</function>

<function name="gtk_combo_box_get_active_iter">
<description>
Sets @iter to point to the currently active item, if any item is active.
Otherwise, @iter is left unchanged.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter was set, %FALSE otherwise
</return>
</function>

<function name="gtk_combo_box_get_button_sensitivity">
<description>
Returns whether the combo box sets the dropdown button
sensitive or not when there are no items in the model.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> %GTK_SENSITIVITY_ON if the dropdown button
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.
</return>
</function>

<function name="gtk_combo_box_get_entry_text_column">
<description>
Returns the column which @combo_box is using to get the strings
from to display in the internal entry.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox.
</parameter_description>
</parameter>
</parameters>
<return> A column in the data source model of @combo_box.
</return>
</function>

<function name="gtk_combo_box_get_has_entry">
<description>
Returns whether the combo box has an entry.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> whether there is an entry in @combo_box.
</return>
</function>

<function name="gtk_combo_box_get_id_column">
<description>
Returns the column which @combo_box is using to get string IDs
for values from.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> A column in the data source model of @combo_box.
</return>
</function>

<function name="gtk_combo_box_get_model">
<description>
Returns the #GtkTreeModel which is acting as data source for @combo_box.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> A #GtkTreeModel which was passed
during construction.
</return>
</function>

<function name="gtk_combo_box_get_popup_accessible">
<description>
Gets the accessible object corresponding to the combo box’s popup.

This function is mostly intended for use by accessibility technologies;
applications should have little use for it.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the accessible object corresponding
to the combo box’s popup.
</return>
</function>

<function name="gtk_combo_box_get_popup_fixed_width">
<description>
Gets whether the popup uses a fixed width matching
the allocated width of the combo box.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the popup uses a fixed width
</return>
</function>

<function name="gtk_combo_box_get_row_separator_func">
<description>
Returns the current row separator function.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the current row separator function.
</return>
</function>

<function name="gtk_combo_box_new">
<description>
Creates a new empty #GtkComboBox.


</description>
<parameters>
</parameters>
<return> A new #GtkComboBox.
</return>
</function>

<function name="gtk_combo_box_new_with_entry">
<description>
Creates a new empty #GtkComboBox with an entry.


</description>
<parameters>
</parameters>
<return> A new #GtkComboBox.
</return>
</function>

<function name="gtk_combo_box_new_with_model">
<description>
Creates a new #GtkComboBox with the model initialized to @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> A #GtkTreeModel.
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkComboBox.
</return>
</function>

<function name="gtk_combo_box_new_with_model_and_entry">
<description>
Creates a new empty #GtkComboBox with an entry
and with the model initialized to @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> A #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkComboBox
</return>
</function>

<function name="gtk_combo_box_popdown">
<description>
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.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_popup">
<description>
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.

Before calling this, @combo_box must be mapped, or nothing will happen.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_popup_for_device">
<description>
Pops up the menu of @combo_box. Note that currently this does not do anything
with the device, as it was previously only used for list-mode ComboBoxes,
and those were removed in GTK+ 4. However, it is retained in case similar
functionality is added back later.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_active">
<description>
Sets the active item of @combo_box to be the item at @index.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> An index in the model passed during construction, or -1 to have
no active item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_active_id">
<description>
Changes the active row of @combo_box to the one that has an ID equal to
@active_id, or unsets the active row if @active_id is %NULL.  Rows having
a %NULL ID string cannot be made active by this function.

If the #GtkComboBox:id-column property of @combo_box is unset or if no
row has the given ID then the function does nothing and returns %FALSE.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="active_id">
<parameter_description> the ID of the row to select, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a row with a matching ID was found.  If a %NULL
@active_id was given to unset the active row, the function
always returns %TRUE.
</return>
</function>

<function name="gtk_combo_box_set_active_iter">
<description>
Sets the current active item to be the one referenced by @iter, or
unsets the active item if @iter is %NULL.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> The #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_button_sensitivity">
<description>
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).

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="sensitivity">
<parameter_description> specify the sensitivity of the dropdown button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_entry_text_column">
<description>
Sets the model column which @combo_box should use to get strings from
to be @text_column. The column @text_column in the model of @combo_box
must be of type %G_TYPE_STRING.

This is only relevant if @combo_box has been created with
#GtkComboBox:has-entry as %TRUE.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="text_column">
<parameter_description> A column in @model to get the strings from for
the internal entry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_id_column">
<description>
Sets the model column which @combo_box should use to get string IDs
for values from. The column @id_column in the model of @combo_box
must be of type %G_TYPE_STRING.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="id_column">
<parameter_description> A column in @model to get string IDs for values from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_model">
<description>
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.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> A #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_popup_fixed_width">
<description>
Specifies whether the popup’s width should be a fixed width
matching the allocated width of the combo box.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="fixed">
<parameter_description> whether to use a fixed popup width
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_row_separator_func">
<description>
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.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a #GtkTreeViewRowSeparatorFunc
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data to pass to @func, or %NULL
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_append">
<description>
Appends @text to the list of strings stored in @combo_box.
If @id is non-%NULL then it is used as the ID of the row.

This is the same as calling gtk_combo_box_text_insert() with a
position of -1.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBoxText
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> a string ID for this value, or %NULL
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> A string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_append_text">
<description>
Appends @text to the list of strings stored in @combo_box.

This is the same as calling gtk_combo_box_text_insert_text() with a
position of -1.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBoxText
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> A string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_get_active_text">
<description>
Returns the currently active string in @combo_box, or %NULL
if none is selected. If @combo_box contains an entry, this
function will return its contents (which will not necessarily
be an item from the list).


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBoxText
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated string containing the
currently active text. Must be freed with g_free().
</return>
</function>

<function name="gtk_combo_box_text_insert">
<description>
Inserts @text at @position in the list of strings stored in @combo_box.
If @id is non-%NULL then it is used as the ID of the row.  See
#GtkComboBox:id-column.

If @position is negative then @text is appended.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBoxText
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> An index to insert @text
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> a string ID for this value, or %NULL
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> A string to display
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_insert_text">
<description>
Inserts @text at @position in the list of strings stored in @combo_box.

If @position is negative then @text is appended.

This is the same as calling gtk_combo_box_text_insert() with a %NULL
ID string.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBoxText
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> An index to insert @text
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> A string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_new">
<description>
Creates a new #GtkComboBoxText, which is a #GtkComboBox just displaying
strings.


</description>
<parameters>
</parameters>
<return> A new #GtkComboBoxText
</return>
</function>

<function name="gtk_combo_box_text_new_with_entry">
<description>
Creates a new #GtkComboBoxText, which is a #GtkComboBox just displaying
strings. The combo box created by this function has an entry.


</description>
<parameters>
</parameters>
<return> a new #GtkComboBoxText
</return>
</function>

<function name="gtk_combo_box_text_prepend">
<description>
Prepends @text to the list of strings stored in @combo_box.
If @id is non-%NULL then it is used as the ID of the row.

This is the same as calling gtk_combo_box_text_insert() with a
position of 0.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> a string ID for this value, or %NULL
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_prepend_text">
<description>
Prepends @text to the list of strings stored in @combo_box.

This is the same as calling gtk_combo_box_text_insert_text() with a
position of 0.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> A string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_remove">
<description>
Removes the string at @position from @combo_box.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> Index of the item to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_text_remove_all">
<description>
Removes all the text entries from the combo box.

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBoxText
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_get_constant">
<description>
Retrieves the constant factor added to the source attributes' value.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> a constant factor
</return>
</function>

<function name="gtk_constraint_get_multiplier">
<description>
Retrieves the multiplication factor applied to the source
attribute's value.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> a multiplication factor
</return>
</function>

<function name="gtk_constraint_get_relation">
<description>
The order relation between the terms of the @constraint.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> a #GtkConstraintRelation value
</return>
</function>

<function name="gtk_constraint_get_source">
<description>
Retrieves the #GtkConstraintTarget used as the source for @constraint.

If the #GtkConstraint:source property is set to %NULL, the @constraint
will use the #GtkConstraintLayout's widget.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> a #GtkConstraintTarget
</return>
</function>

<function name="gtk_constraint_get_source_attribute">
<description>
Retrieves the attribute of the source to be read by the @constraint.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> the target's attribute
</return>
</function>

<function name="gtk_constraint_get_strength">
<description>
Retrieves the strength of the constraint.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> the strength of the constraint
</return>
</function>

<function name="gtk_constraint_get_target">
<description>
Retrieves the #GtkConstraintTarget used as the target for @constraint.

If the #GtkConstraint:target property is set to %NULL, the @constraint
will use the #GtkConstraintLayout's widget.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> a #GtkConstraintTarget
</return>
</function>

<function name="gtk_constraint_get_target_attribute">
<description>
Retrieves the attribute of the target to be set by the @constraint.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> the target's attribute
</return>
</function>

<function name="gtk_constraint_guide_get_max_size">
<description>
Gets the maximum size of @guide.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkContraintGuide object
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> return location for the maximum width,
or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> return location for the maximum height,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_get_min_size">
<description>
Gets the minimum size of @guide.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkContraintGuide object
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> return location for the minimum width,
or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> return location for the minimum height,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_get_name">
<description>
Retrieves the name set using gtk_constraint_guide_set_name().


</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide
</parameter_description>
</parameter>
</parameters>
<return> the name of the guide
</return>
</function>

<function name="gtk_constraint_guide_get_nat_size">
<description>
Gets the natural size of @guide.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkContraintGuide object
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> return location for the natural width,
or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> return location for the natural height,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_get_strength">
<description>
Retrieves the strength set using gtk_constraint_guide_set_strength().


</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide
</parameter_description>
</parameter>
</parameters>
<return> the strength of the constraint on the natural size
</return>
</function>

<function name="gtk_constraint_guide_new">
<description>
Creates a new #GtkConstraintGuide object.

Return: a new #GtkConstraintGuide object.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_set_max_size">
<description>
Sets the maximum size of @guide.

If @guide is attached to a #GtkConstraintLayout,
the constraints will be updated to reflect the new size.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide object
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the new maximum width, or -1 to not change it
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the new maximum height, or -1 to not change it
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_set_min_size">
<description>
Sets the minimum size of @guide.

If @guide is attached to a #GtkConstraintLayout,
the constraints will be updated to reflect the new size.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide object
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the new minimum width, or -1 to not change it
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the new minimum height, or -1 to not change it
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_set_name">
<description>
Sets a name for the given #GtkConstraintGuide.

The name is useful for debugging purposes.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> a name for the @guide
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_set_nat_size">
<description>
Sets the natural size of @guide.

If @guide is attached to a #GtkConstraintLayout,
the constraints will be updated to reflect the new size.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide object
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the new natural width, or -1 to not change it
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the new natural height, or -1 to not change it
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_guide_set_strength">
<description>
Sets the strength of the constraint on the natural size of the
given #GtkConstraintGuide.

</description>
<parameters>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide
</parameter_description>
</parameter>
<parameter name="strength">
<parameter_description> the strength of the constraint
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_is_attached">
<description>
Checks whether the @constraint is attached to a #GtkConstraintLayout,
and it is contributing to the layout.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the constraint is attached
</return>
</function>

<function name="gtk_constraint_is_constant">
<description>
Checks whether the @constraint describes a relation between an attribute
on the #GtkConstraint:target-widget and a constant value.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the constraint is a constant relation
</return>
</function>

<function name="gtk_constraint_is_required">
<description>
Checks whether the @constraint is a required relation for solving the
constraint layout.


</description>
<parameters>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the constraint is required
</return>
</function>

<function name="gtk_constraint_layout_add_constraint">
<description>
Adds a #GtkConstraint to the layout manager.

The #GtkConstraint:source and #GtkConstraint:target
properties of @constraint can be:

- set to %NULL to indicate that the constraint refers to the
widget using @layout
- set to the #GtkWidget using @layout
- set to a child of the #GtkWidget using @layout
- set to a guide that is part of @layout

The @layout acquires the ownership of @constraint after calling
this function.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_layout_add_constraints_from_description">
<description>
Creates a list of constraints they formal description using a compact
description syntax called VFL, or &quot;Visual Format Language&quot;.

This function is a convenience wrapper around
gtk_constraint_layout_add_constraints_from_descriptionv(), using
variadic arguments to populate the view/target map.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
<parameter name="lines">
<parameter_description> an array of Visual Format Language lines
defining a set of constraints
</parameter_description>
</parameter>
<parameter name="n_lines">
<parameter_description> the number of lines
</parameter_description>
</parameter>
<parameter name="hspacing">
<parameter_description> default horizontal spacing value, or -1 for the fallback value
</parameter_description>
</parameter>
<parameter name="vspacing">
<parameter_description> default vertical spacing value, or -1 for the fallback value
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for a #GError
</parameter_description>
</parameter>
<parameter name="first_view">
<parameter_description> the name of a view in the VFL description, followed by the
#GtkConstraintTarget to which it maps
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> a %NULL-terminated list of view names and #GtkConstraintTargets
</parameter_description>
</parameter>
</parameters>
<return> the list of
#GtkConstraints that were added to the layout
</return>
</function>

<function name="gtk_constraint_layout_add_constraints_from_descriptionv">
<description>
Creates a list of constraints from a formal description using a compact
description syntax called VFL, or &quot;Visual Format Language&quot;.

The Visual Format Language is based on Apple's AutoLayout [VFL](https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage.html).

The @views dictionary is used to match #GtkConstraintTargets to the symbolic
view name inside the VFL.

The VFL grammar is:

|[&lt;!-- language=&quot;plain&quot; --&gt;
&lt;visualFormatString&gt; = (&lt;orientation&gt;)?
(&lt;superview&gt;&lt;connection&gt;)?
&lt;view&gt;(&lt;connection&gt;&lt;view&gt;)*
(&lt;connection&gt;&lt;superview&gt;)?
&lt;orientation&gt; = 'H' | 'V'
&lt;superview&gt; = '|'
&lt;connection&gt; = '' | '-' &lt;predicateList&gt; '-' | '-'
&lt;predicateList&gt; = &lt;simplePredicate&gt; | &lt;predicateListWithParens&gt;
&lt;simplePredicate&gt; = &lt;metricName&gt; | &lt;positiveNumber&gt;
&lt;predicateListWithParens&gt; = '(' &lt;predicate&gt; (',' &lt;predicate&gt;)* ')'
&lt;predicate&gt; = (&lt;relation&gt;)? &lt;objectOfPredicate&gt; (&lt;operatorList&gt;)? ('@' &lt;priority&gt;)?
&lt;relation&gt; = '==' | '&lt;=' | '&gt;='
&lt;objectOfPredicate&gt; = &lt;constant&gt; | &lt;viewName&gt; | ('.' &lt;attributeName&gt;)?
&lt;priority&gt; = &lt;positiveNumber&gt; | 'required' | 'strong' | 'medium' | 'weak'
&lt;constant&gt; = &lt;number&gt;
&lt;operatorList&gt; = (&lt;multiplyOperator&gt;)? (&lt;addOperator&gt;)?
&lt;multiplyOperator&gt; = [ '*' | '/' ] &lt;positiveNumber&gt;
&lt;addOperator&gt; = [ '+' | '-' ] &lt;positiveNumber&gt;
&lt;viewName&gt; = [A-Za-z_]([A-Za-z0-9_]*) // A C identifier
&lt;metricName&gt; = [A-Za-z_]([A-Za-z0-9_]*) // A C identifier
&lt;attributeName&gt; = 'top' | 'bottom' | 'left' | 'right' | 'width' | 'height' |
'start' | 'end' | 'centerX' | 'centerY' | 'baseline'
&lt;positiveNumber&gt; // A positive real number parseable by g_ascii_strtod()
&lt;number&gt; // A real number parseable by g_ascii_strtod()
]|

**Note**: The VFL grammar used by GTK is slightly different than the one
defined by Apple, as it can use symbolic values for the constraint's
strength instead of numeric values; additionally, GTK allows adding
simple arithmetic operations inside predicates.

Examples of VFL descriptions are:

|[&lt;!-- language=&quot;plain&quot; --&gt;
// Default spacing
[button]-[textField]

// Width constraint
[button(&gt;=50)]

// Connection to super view
|-50-[purpleBox]-50-|

// Vertical layout
V:[topField]-10-[bottomField]

// Flush views
[maroonView][blueView]

// Priority
[button(100@strong)]

// Equal widths
[button1(==button2)]

// Multiple predicates
[flexibleButton(&gt;=70,&lt;=100)]

// A complete line of layout
|-[find]-[findNext]-[findField(&gt;=20)]-|

// Operators
[button1(button2 / 3 + 50)]

// Named attributes
[button1(==button2.height)]
]|


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
<parameter name="lines">
<parameter_description> an array of Visual Format Language lines
defining a set of constraints
</parameter_description>
</parameter>
<parameter name="n_lines">
<parameter_description> the number of lines
</parameter_description>
</parameter>
<parameter name="hspacing">
<parameter_description> default horizontal spacing value, or -1 for the fallback value
</parameter_description>
</parameter>
<parameter name="vspacing">
<parameter_description> default vertical spacing value, or -1 for the fallback value
</parameter_description>
</parameter>
<parameter name="views">
<parameter_description> a dictionary of [ name, target ]
pairs; the `name` keys map to the view names in the VFL lines, while
the `target` values map to children of the widget using a #GtkConstraintLayout, or guides
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for a #GError
</parameter_description>
</parameter>
</parameters>
<return> the list of
#GtkConstraints that were added to the layout
</return>
</function>

<function name="gtk_constraint_layout_add_guide">
<description>
Adds a guide to @layout. A guide can be used as
the source or target of constraints, like a widget,
but it is not visible.

The @layout acquires the ownership of @guide after calling
this function.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide object
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_layout_new">
<description>
Creates a new #GtkConstraintLayout layout manager.


</description>
<parameters>
</parameters>
<return> the newly created #GtkConstraintLayout
</return>
</function>

<function name="gtk_constraint_layout_observe_constraints">
<description>
Returns a #GListModel to track the constraints that are
part of @layout.

Calling this function will enable extra internal bookkeeping
to track constraints and emit signals on the returned listmodel.
It may slow down operations a lot.

Applications should try hard to avoid calling this function
because of the slowdowns.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
</parameters>
<return> a #GListModel tracking @layout's
constraints 
</return>
</function>

<function name="gtk_constraint_layout_observe_guides">
<description>
Returns a #GListModel to track the guides that are
part of @layout.

Calling this function will enable extra internal bookkeeping
to track guides and emit signals on the returned listmodel.
It may slow down operations a lot.

Applications should try hard to avoid calling this function
because of the slowdowns.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
</parameters>
<return> a #GListModel tracking @layout's
guides
</return>
</function>

<function name="gtk_constraint_layout_remove_all_constraints">
<description>
Removes all constraints from the layout manager.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_layout_remove_constraint">
<description>
Removes @constraint from the layout manager,
so that it no longer influences the layout.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintLayout
</parameter_description>
</parameter>
<parameter name="constraint">
<parameter_description> a #GtkConstraint
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_layout_remove_guide">
<description>
Removes @guide from the layout manager,
so that it no longer influences the layout.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkConstraintManager
</parameter_description>
</parameter>
<parameter name="guide">
<parameter_description> a #GtkConstraintGuide object
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_constraint_new">
<description>
Creates a new #GtkConstraint representing a relation between a layout
attribute on a source and a layout attribute on a target.


</description>
<parameters>
<parameter name="target">
<parameter_description> a #GtkConstraintTarget
</parameter_description>
</parameter>
<parameter name="target_attribute">
<parameter_description> the attribute of @target to be set
</parameter_description>
</parameter>
<parameter name="relation">
<parameter_description> the relation equivalence between @target_attribute and @source_attribute
</parameter_description>
</parameter>
<parameter name="source">
<parameter_description> a #GtkConstraintTarget
</parameter_description>
</parameter>
<parameter name="source_attribute">
<parameter_description> the attribute of @source to be read
</parameter_description>
</parameter>
<parameter name="multiplier">
<parameter_description> a multiplication factor to be applied to @source_attribute
</parameter_description>
</parameter>
<parameter name="constant">
<parameter_description> a constant factor to be added to @source_attribute
</parameter_description>
</parameter>
<parameter name="strength">
<parameter_description> the strength of the constraint
</parameter_description>
</parameter>
</parameters>
<return> the newly created #GtkConstraint
</return>
</function>

<function name="gtk_constraint_new_constant">
<description>
Creates a new #GtkConstraint representing a relation between a layout
attribute on a target and a constant value.


</description>
<parameters>
<parameter name="target">
<parameter_description> a #GtkConstraintTarget
</parameter_description>
</parameter>
<parameter name="target_attribute">
<parameter_description> the attribute of @target to be set
</parameter_description>
</parameter>
<parameter name="relation">
<parameter_description> the relation equivalence between @target_attribute and @constant
</parameter_description>
</parameter>
<parameter name="constant">
<parameter_description> a constant factor to be set on @target_attribute
</parameter_description>
</parameter>
<parameter name="strength">
<parameter_description> the strength of the constraint
</parameter_description>
</parameter>
</parameters>
<return> the newly created #GtkConstraint
</return>
</function>

<function name="gtk_container_add">
<description>
Adds @widget to @container. Typically used for simple containers
such as #GtkWindow, #GtkFrame, or #GtkButton; for more complicated
layout containers such #GtkGrid, this function will
pick default packing parameters that may not be correct.  So
consider functions such as gtk_grid_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’t place the same widget
inside two different containers.

Note that some containers, such as #GtkScrolledWindow or #GtkListBox,
may add intermediate children between the added widget and the
container.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a widget to be placed inside @container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_child_type">
<description>
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.


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return> a #GType
</return>
</function>

<function name="gtk_container_forall">
<description>
Invokes @callback on each direct child of @container, including
children that are considered “internal” (implementation details
of the container). “Internal” children generally weren’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().

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a callback
</parameter_description>
</parameter>
<parameter name="callback_data">
<parameter_description> callback user data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_foreach">
<description>
Invokes @callback on each non-internal child of @container.
See gtk_container_forall() for details on what constitutes
an “internal” child. For all practical purposes, this function
should iterate over precisely those child widgets that were
added to the container by the application with explicit add()
calls.

It is permissible to remove the child from the @callback handler.

Most applications should use gtk_container_foreach(),
rather than gtk_container_forall().

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description>  a callback
</parameter_description>
</parameter>
<parameter name="callback_data">
<parameter_description> callback user data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_get_children">
<description>
Returns the container’s non-internal children. See
gtk_container_forall() for details on what constitutes an &quot;internal&quot; child.


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated list of the container’s non-internal children.
</return>
</function>

<function name="gtk_container_get_focus_hadjustment">
<description>
Retrieves the horizontal focus adjustment for the container. See
gtk_container_set_focus_hadjustment ().


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return> the horizontal focus adjustment, or %NULL if
none has been set.
</return>
</function>

<function name="gtk_container_get_focus_vadjustment">
<description>
Retrieves the vertical focus adjustment for the container. See
gtk_container_set_focus_vadjustment().


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return> the vertical focus adjustment, or
%NULL if none has been set.
</return>
</function>

<function name="gtk_container_remove">
<description>
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 before removing it from
a container, using g_object_ref(). If you don’t want to use @widget
again it’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.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a current child of @container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_set_focus_child">
<description>
Sets, or unsets if @child is %NULL, the focused child of @container.

This function emits the GtkContainer::set_focus_child signal of
@container. Implementations of #GtkContainer can override the
default behaviour by overriding the class closure of this signal.

This is function is mostly meant to be used by widgets. Applications can use
gtk_widget_grab_focus() to manually set the focus to a specific widget.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_set_focus_hadjustment">
<description>
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.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> an adjustment which should be adjusted when the focus is
moved among the descendents of @container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_set_focus_vadjustment">
<description>
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.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> an adjustment which should be adjusted when the focus
is moved among the descendents of @container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_node_new">
<description>
Creates a new CSS node.


</description>
<parameters>
</parameters>
<return> the new CSS node
</return>
</function>

<function name="gtk_css_parser_consume_ident">
<description>
If the current token is an identifier, consumes it and returns
its name.  
If the current token is not an identifier, an error is emitted
and %NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
</parameters>
<return> the name of the consumed identifier
or %NULL on error
</return>
</function>

<function name="gtk_css_parser_consume_string">
<description>
If the current token is a string, consumes it and return the string.  
If the current token is not a string, an error is emitted
and %NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
</parameters>
<return> the name of the consumed string 
or %NULL on error
</return>
</function>

<function name="gtk_css_parser_consume_url">
<description>
If the parser matches the &lt;url&gt; token from the [CSS
specification](https://drafts.csswg.org/css-values-4/#url-value),
consumes it, resolves the URL and resturns the resulting #GFile.
On failure, an error is emitted and %NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
</parameters>
<return> the resulting URL or %NULL on error
</return>
</function>

<function name="gtk_css_parser_get_block_location">
<description>
Queries the start location of the token that started the current
block that is being parsed.

If no block is currently parsed, the beginning of the document
is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
</parameters>
<return> The start location of the current block
</return>
</function>

<function name="gtk_css_parser_get_end_location">
<description>
Queries the location of the current token.

This function will return the location of the end of the
current token. In the case a token has been consumed, but no
new token has been queried yet via gtk_css_parser_peek_token()
or gtk_css_parser_get_token(), the previous token's end location
will be returned.

This function may return the same location as
gtk_css_parser_get_start_location() - in particular at the
beginning and end of the document.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="out_location">
<parameter_description> (caller-allocates) Place to store the location
</parameter_description>
</parameter>
</parameters>
<return> the end location
</return>
</function>

<function name="gtk_css_parser_get_file">
<description>
Gets the file being parsed. If no file is associated with @self -
for example when raw data is parsed - %NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
</parameters>
<return> The file being parsed
or %NULL.
</return>
</function>

<function name="gtk_css_parser_get_start_location">
<description>
Queries the location of the current token.

This function will return the location of the start of the
current token. In the case a token has been consumed, but no
new token has been queried yet via gtk_css_parser_peek_token()
or gtk_css_parser_get_token(), the previous token's start
location will be returned.

This function may return the same location as
gtk_css_parser_get_end_location() - in particular at the
beginning and end of the document.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
</parameters>
<return> the start location
</return>
</function>

<function name="gtk_css_parser_has_function">
<description>
Checks if the next token is a function with the given @name.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of function
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the next token is a function with the given @name
</return>
</function>

<function name="gtk_css_parser_has_ident">
<description>
Checks if the next token is an identifier with the given @name.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="ident">
<parameter_description> name of identifier
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the next token is an identifier with the given @name
</return>
</function>

<function name="gtk_css_parser_has_token">
<description>
Checks if the next token is of @token_type.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="token_type">
<parameter_description> type of the token to check
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the next token is of @token_type
</return>
</function>

<function name="gtk_css_parser_resolve_url">
<description>
Resolves a given URL against the parser's location.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="url">
<parameter_description> the URL to resolve
</parameter_description>
</parameter>
</parameters>
<return> a new #GFile for the
resolved URL or %NULL if the URI cannot be resolved.
</return>
</function>

<function name="gtk_css_parser_try_at_keyword">
<description>
Checks if the current token is an at-keyword token with the
given @keyword. If that is the case, the token is consumed
and %TRUE is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="keyword">
<parameter_description> name of keyword to check for
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the token matched and was consumed.
</return>
</function>

<function name="gtk_css_parser_try_delim">
<description>
Checks if the current token is a delimiter matching the given
@codepoint. If that is the case, the token is consumed and
%TRUE is returned.

Keep in mind that not every unicode codepoint can be a delim
token.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="codepoint">
<parameter_description> unicode character codepoint to check
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the token matched and was consumed.
</return>
</function>

<function name="gtk_css_parser_try_ident">
<description>
Checks if the current token is an identifier matching the given
@ident string. If that is the case, the token is consumed
and %TRUE is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="ident">
<parameter_description> identifier to check for
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the token matched and was consumed.
</return>
</function>

<function name="gtk_css_parser_try_token">
<description>
Consumes the next token if it matches the given @token_type.

This function can be used in loops like this:
do {
... parse one element ...
} while (gtk_css_parser_try_token (parser, GTK_CSS_TOKEN_COMMA);


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkCssParser
</parameter_description>
</parameter>
<parameter name="token_type">
<parameter_description> type of token to try
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a token was consumed
</return>
</function>

<function name="gtk_css_provider_load_from_data">
<description>
Loads @data into @css_provider, and by doing so clears any previously loaded
information.

</description>
<parameters>
<parameter name="css_provider">
<parameter_description> a #GtkCssProvider
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> CSS data loaded in memory
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of @data in bytes, or -1 for NUL terminated strings. If
@length is not -1, the code will assume it is not NUL terminated and will
potentially do a copy.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_provider_load_from_file">
<description>
Loads the data contained in @file into @css_provider, making it
clear any previously loaded information.

</description>
<parameters>
<parameter name="css_provider">
<parameter_description> a #GtkCssProvider
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> #GFile pointing to a file to load
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_provider_load_from_path">
<description>
Loads the data contained in @path into @css_provider, making it clear
any previously loaded information.

</description>
<parameters>
<parameter name="css_provider">
<parameter_description> a #GtkCssProvider
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the path of a filename to load, in the GLib filename encoding
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_provider_load_from_resource">
<description>
Loads the data contained in the resource at @resource_path into
the #GtkCssProvider, clearing any previously loaded information.

To track errors while loading CSS, connect to the
#GtkCssProvider::parsing-error signal.

</description>
<parameters>
<parameter name="css_provider">
<parameter_description> a #GtkCssProvider
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> a #GResource resource path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_provider_load_named">
<description>
Loads a theme from the usual theme paths. The actual process of
finding the theme might change between releases, but it is
guaranteed that this function uses the same mechanism to load the
theme that GTK uses for loading its own theme.

</description>
<parameters>
<parameter name="provider">
<parameter_description> a #GtkCssProvider
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> A theme name
</parameter_description>
</parameter>
<parameter name="variant">
<parameter_description> variant to load, for example, &quot;dark&quot;, or
%NULL for the default
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_provider_new">
<description>
Returns a newly created #GtkCssProvider.


</description>
<parameters>
</parameters>
<return> A new #GtkCssProvider
</return>
</function>

<function name="gtk_css_provider_to_string">
<description>
Converts the @provider into a string representation in CSS
format.

Using gtk_css_provider_load_from_data() with the return value
from this function on a new provider created with
gtk_css_provider_new() will basically create a duplicate of
this @provider.


</description>
<parameters>
<parameter name="provider">
<parameter_description> the provider to write to a string
</parameter_description>
</parameter>
</parameters>
<return> a new string representing the @provider.
</return>
</function>

<function name="gtk_css_section_get_end_location">
<description>
Returns the location in the CSS document where this section ends.


</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> The end location of
this section
</return>
</function>

<function name="gtk_css_section_get_file">
<description>
Gets the file that @section was parsed from. If no such file exists,
for example because the CSS was loaded via
@gtk_css_provider_load_from_data(), then %NULL is returned.


</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> the #GFile that @section was parsed from
or %NULL if @section was parsed from other data
</return>
</function>

<function name="gtk_css_section_get_parent">
<description>
Gets the parent section for the given @section. The parent section is
the section that contains this @section. A special case are sections of
type #GTK_CSS_SECTION_DOCUMENT. Their parent will either be %NULL
if they are the original CSS document that was loaded by
gtk_css_provider_load_from_file() or a section of type
#GTK_CSS_SECTION_IMPORT if it was loaded with an import rule from
a different file.


</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> the parent section or %NULL if none
</return>
</function>

<function name="gtk_css_section_get_start_location">
<description>
Returns the location in the CSS document where this section starts.


</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> The start location of
this section
</return>
</function>

<function name="gtk_css_section_new">
<description>
Creates a new #GtkCssSection referring to the section
in the given @file from the @start location to the
@end location.


</description>
<parameters>
<parameter name="file">
<parameter_description> The file this section refers to
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> The start location
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> The end location
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkCssSection
</return>
</function>

<function name="gtk_css_section_print">
<description>
Prints the @section into @string in a human-readable form. This
is a form like `gtk.css:32:1-23` to denote line 32, characters
1 to 23 in the file gtk.css.

</description>
<parameters>
<parameter name="section">
<parameter_description> a section
</parameter_description>
</parameter>
<parameter name="string">
<parameter_description> a #GString to print to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_section_ref">
<description>
Increments the reference count on @section.


</description>
<parameters>
<parameter name="section">
<parameter_description> a #GtkCssSection
</parameter_description>
</parameter>
</parameters>
<return> @section itself.
</return>
</function>

<function name="gtk_css_section_to_string">
<description>
Prints the section into a human-readable text form using
gtk_css_section_print().


</description>
<parameters>
<parameter name="section">
<parameter_description> a #GtkCssSection
</parameter_description>
</parameter>
</parameters>
<return> A new string.
</return>
</function>

<function name="gtk_css_section_unref">
<description>
Decrements the reference count on @section, freeing the
structure if the reference count reaches 0.

</description>
<parameters>
<parameter name="section">
<parameter_description> a #GtkCssSection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_selector_matches">
<description>
Checks if the @selector matches the given @node.


</description>
<parameters>
<parameter name="selector">
<parameter_description> the selector
</parameter_description>
</parameter>
<parameter name="node">
<parameter_description> The node to match
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the selector matches @node
</return>
</function>

<function name="gtk_css_value_get_dynamic_value">
<description>
Gets the dynamic value for a given timestamp. If @monotonic_time is 0,
the default value is returned.

See gtk_css_value_is_dynamic() for details about dynamic values.


</description>
<parameters>
<parameter name="value">
<parameter_description> a #GtkCssValue
</parameter_description>
</parameter>
<parameter name="monotonic_time">
<parameter_description> the timestamp for which to get the dynamic value
</parameter_description>
</parameter>
</parameters>
<return> The dynamic value for @value at the given
timestamp
</return>
</function>

<function name="gtk_css_value_is_dynamic">
<description>
A &quot;dynamic&quot; value has a different value at different times. This means that
the value needs to be animated when time is progressing.

Examples of dynamic values are animated images, such as videos or dynamic shaders.

Use gtk_css_value_get_dynamic_value() to get the value for a given timestamp.


</description>
<parameters>
<parameter name="value">
<parameter_description> a #GtkCssValue
</parameter_description>
</parameter>
</parameters>
<return>%TRUE if the value is dynamic
</return>
</function>

<function name="gtk_custom_layout_new">
<description>
Creates a new legacy layout manager.

Legacy layout managers map to the old #GtkWidget size negotiation
virtual functions, and are meant to be used during the transition
from layout containers to layout manager delegates.


</description>
<parameters>
<parameter name="request_mode">
<parameter_description> a function to retrieve
the #GtkSizeRequestMode of the widget using the layout; the
default request mode is %GTK_SIZE_REQUEST_CONSTANT_SIZE
</parameter_description>
</parameter>
<parameter name="measure">
<parameter_description> a function to measure the widget using the layout manager
</parameter_description>
</parameter>
<parameter name="allocate">
<parameter_description>  a function to allocate the children of the widget using
the layout manager
</parameter_description>
</parameter>
</parameters>
<return> the newly created #GtkCustomLayout
</return>
</function>

<function name="gtk_custom_paper_unix_dialog_new">
<description>
Creates a new custom paper dialog.


</description>
<parameters>
<parameter name="title">
<parameter_description> the title of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> transient parent of the dialog, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkCustomPaperUnixDialog
</return>
</function>

<function name="gtk_device_grab_add">
<description>
Adds a GTK grab on @device, so all the events on @device and its
associated pointer or keyboard (if any) are delivered to @widget.
If the @block_others parameter is %TRUE, any other devices will be
unable to interact with @widget during the grab.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice to grab on.
</parameter_description>
</parameter>
<parameter name="block_others">
<parameter_description> %TRUE to prevent other devices to interact with @widget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_device_grab_remove">
<description>
Removes a device grab from the given widget.

You have to pair calls to gtk_device_grab_add() and
gtk_device_grab_remove().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_dialog_add_action_widget">
<description>
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’s action area. If you want to add a
non-activatable widget, simply pack it into the @action_area field
of the #GtkDialog struct.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> an activatable widget
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> response ID for @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_dialog_add_button">
<description>
Adds a button with the given text 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’s action area. The button widget is returned, but usually
you don’t need it.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="button_text">
<parameter_description> text of button
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> response ID for the button
</parameter_description>
</parameter>
</parameters>
<return> the #GtkButton widget that was added
</return>
</function>

<function name="gtk_dialog_add_buttons">
<description>
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.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="first_button_text">
<parameter_description> button text
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> response ID for first button, then more text-response_id pairs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_dialog_get_content_area">
<description>
Returns the content area of @dialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
</parameters>
<return> the content area #GtkBox.
</return>
</function>

<function name="gtk_dialog_get_header_bar">
<description>
Returns the header bar of @dialog. Note that the
headerbar is only used by the dialog if the
#GtkDialog:use-header-bar property is %TRUE.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
</parameters>
<return> the header bar
</return>
</function>

<function name="gtk_dialog_get_response_for_widget">
<description>
Gets the response id of a widget in the action area
of a dialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a widget in the action area of @dialog
</parameter_description>
</parameter>
</parameters>
<return> the response id of @widget, or %GTK_RESPONSE_NONE
if @widget doesn’t have a response id set.
</return>
</function>

<function name="gtk_dialog_get_widget_for_response">
<description>
Gets the widget button that uses the given response ID in the action area
of a dialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> the response ID used by the @dialog widget
</parameter_description>
</parameter>
</parameters>
<return> the @widget button that uses the given
@response_id, or %NULL.
</return>
</function>

<function name="gtk_dialog_new">
<description>
Creates a new dialog box.

Widgets should not be packed into this #GtkWindow
directly, but into the @content_area and @action_area, as described above.


</description>
<parameters>
</parameters>
<return> the new dialog as a #GtkWidget
</return>
</function>

<function name="gtk_dialog_new_with_buttons">
<description>
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 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 a delete event,
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’s a simple example:
|[&lt;!-- language=&quot;C&quot; --&gt;
GtkWidget *main_app_window; // Window the dialog should show up on
GtkWidget *dialog;
GtkDialogFlags flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_dialog_new_with_buttons (&quot;My dialog&quot;,
main_app_window,
flags,
_(&quot;_OK&quot;),
GTK_RESPONSE_ACCEPT,
_(&quot;_Cancel&quot;),
GTK_RESPONSE_REJECT,
NULL);
]|


</description>
<parameters>
<parameter name="title">
<parameter_description> Title of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> Transient parent of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> from #GtkDialogFlags
</parameter_description>
</parameter>
<parameter name="first_button_text">
<parameter_description> text to go in first button, or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> response ID for first button, then additional buttons, ending with %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkDialog
</return>
</function>

<function name="gtk_dialog_response">
<description>
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.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> response ID
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_dialog_run">
<description>
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 delete events
is disabled; if the dialog receives a 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’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:
|[&lt;!-- language=&quot;C&quot; --&gt;
GtkWidget *dialog = gtk_dialog_new ();
// Set up dialog...

int 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, will
be triggered during a gtk_dialog_run() call.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
</parameters>
<return> response ID
</return>
</function>

<function name="gtk_dialog_set_default_response">
<description>
Sets the last widget in the dialog’s action area with the given @response_id
as the default widget for the dialog. Pressing “Enter” normally activates
the default widget.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> a response ID
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_dialog_set_response_sensitive">
<description>
Calls `gtk_widget_set_sensitive (widget, @setting)`
for each widget in the dialog’s action area with the given @response_id.
A convenient way to sensitize/desensitize dialog buttons.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> a response ID
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE for sensitive
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_disable_setlocale">
<description>
Prevents gtk_init(), gtk_init_check() and
gtk_parse_args() from automatically
calling `setlocale (LC_ALL, &quot;&quot;)`. You would
want to use this function if you wanted to set the locale for
your program to something other than the user’s locale, or if
you wanted to set different values for different locale categories.

Most programs should not need to call this function.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_distribute_natural_allocation">
<description>
Distributes @extra_space to child @sizes by bringing smaller
children up to natural size first.

The remaining space will be added to the @minimum_size member of the
GtkRequestedSize struct. If all sizes reach their natural size then
the remaining space is returned.


</description>
<parameters>
<parameter name="extra_space">
<parameter_description> Extra space to redistribute among children after subtracting
minimum sizes and any child padding from the overall allocation
</parameter_description>
</parameter>
<parameter name="n_requested_sizes">
<parameter_description> Number of requests to fit into the allocation
</parameter_description>
</parameter>
<parameter name="sizes">
<parameter_description> An array of structs with a client pointer and a minimum/natural size
in the orientation of the allocation.
</parameter_description>
</parameter>
</parameters>
<return> The remainder of @extra_space after redistributing space
to @sizes.
</return>
</function>

<function name="gtk_drag_check_threshold">
<description>
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.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="start_x">
<parameter_description> X coordinate of start of drag
</parameter_description>
</parameter>
<parameter name="start_y">
<parameter_description> Y coordinate of start of drag
</parameter_description>
</parameter>
<parameter name="current_x">
<parameter_description> current X coordinate
</parameter_description>
</parameter>
<parameter name="current_y">
<parameter_description> current Y coordinate
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the drag threshold has been passed.
</return>
</function>

<function name="gtk_drag_icon_new_for_drag">
<description>
Creates a #GtkDragIcon and associates it with the drag operation.


</description>
<parameters>
<parameter name="drag">
<parameter_description> a #GtkDrag
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkDragIcon
</return>
</function>

<function name="gtk_drag_icon_set_from_paintable">
<description>
Creates a #GtkDragIcon that shows @paintable, and associates
it with the drag operation. The hotspot position on the paintable
is aligned with the hotspot of the cursor.

</description>
<parameters>
<parameter name="drag">
<parameter_description> a #GdkDrag
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> a #GdkPaintable to display
</parameter_description>
</parameter>
<parameter name="hot_x">
<parameter_description> X coordinate of the hotspot
</parameter_description>
</parameter>
<parameter name="hot_y">
<parameter_description> Y coordinate of the hotspot
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_drag_cancel">
<description>
Cancels a currently ongoing drag operation.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkDragSource
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_get_actions">
<description>
Gets the actions that are currently set on the #GtkDragSource.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkDragSource
</parameter_description>
</parameter>
</parameters>
<return> the actions set on @source
</return>
</function>

<function name="gtk_drag_source_get_content">
<description>
Gets the current content provider of a #GtkDragSource.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkDragSource
</parameter_description>
</parameter>
</parameters>
<return> the #GtkContentProvider of @source
</return>
</function>

<function name="gtk_drag_source_get_drag">
<description>
Returns the underlying #GtkDrag object for an ongoing drag.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkDragSource
</parameter_description>
</parameter>
</parameters>
<return> the #GdkDrag of the current drag operation, or %NULL
</return>
</function>

<function name="gtk_drag_source_new">
<description>
Creates a new #GtkDragSource object.


</description>
<parameters>
</parameters>
<return> the new #GtkDragSource
</return>
</function>

<function name="gtk_drag_source_set_actions">
<description>
Sets the actions on the #GtkDragSource.

During a DND operation, the actions are offered
to potential drop targets. If @actions include
%GDK_ACTION_MOVE, you need to listen to the
#GtkDraGSource::drag-end signal and handle
@delete_data being %TRUE.

This function can be called before a drag is started,
or in a handler for the #GtkDragSource::prepare signal.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkDragSource
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the actions to offer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_set_content">
<description>
Sets a content provider on a #GtkDragSource.

When the data is requested in the cause of a
DND operation, it will be obtained from the
content provider.

This function can be called before a drag is started,
or in a handler for the #GtkDragSource::prepare signal.

You may consider setting the content provider back to
%NULL in a #GTkDragSource::drag-end signal handler.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkDragSource
</parameter_description>
</parameter>
<parameter name="content">
<parameter_description> a #GtkContentProvider, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_set_icon">
<description>
Sets a paintable to use as icon during DND operations.

The hotspot coordinates determine the point on the icon
that gets aligned with the hotspot of the cursor.

If @paintable is %NULL, a default icon is used.

This function can be called before a drag is started, or in
a #GtkDragSource::prepare or #GtkDragSource::drag-begin signal handler.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkDragSource
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> the #GtkPaintable to use as icon, or %NULL
</parameter_description>
</parameter>
<parameter name="hot_x">
<parameter_description> the hotspot X coordinate on the icon
</parameter_description>
</parameter>
<parameter name="hot_y">
<parameter_description> the hotspot Y coordinate on the icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drawing_area_get_content_height">
<description>
Retrieves the value previously set via gtk_drawing_area_set_content_height().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkDrawingArea
</parameter_description>
</parameter>
</parameters>
<return> The height requested for content of the drawing area
</return>
</function>

<function name="gtk_drawing_area_get_content_width">
<description>
Retrieves the value previously set via gtk_drawing_area_set_content_width().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkDrawingArea
</parameter_description>
</parameter>
</parameters>
<return> The width requested for content of the drawing area
</return>
</function>

<function name="gtk_drawing_area_new">
<description>
Creates a new drawing area.


</description>
<parameters>
</parameters>
<return> a new #GtkDrawingArea
</return>
</function>

<function name="gtk_drawing_area_set_content_height">
<description>
Sets the desired height of the contents of the drawing area. Note that
because widgets may be allocated larger sizes than they requested, it is
possible that the actual height passed to your draw function is larger
than the height set here. You can use gtk_widget_set_valign() to avoid
that.

If the height is set to 0 (the default), the drawing area may disappear.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkDrawingArea
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of contents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drawing_area_set_content_width">
<description>
Sets the desired width of the contents of the drawing area. Note that
because widgets may be allocated larger sizes than they requested, it is
possible that the actual width passed to your draw function is larger
than the width set here. You can use gtk_widget_set_halign() to avoid
that.

If the width is set to 0 (the default), the drawing area may disappear.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkDrawingArea
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of contents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drawing_area_set_draw_func">
<description>
Setting a draw function is the main thing you want to do when using a drawing
area. It is called whenever GTK needs to draw the contents of the drawing area 
to the screen.

The draw function will be called during the drawing stage of GTK. In the
drawing stage it is not allowed to change properties of any GTK widgets or call
any functions that would cause any properties to be changed.
You should restrict yourself exclusively to drawing your contents in the draw
function.

If what you are drawing does change, call gtk_widget_queue_draw() on the
drawing area. This will cause a redraw and will call @draw_func again.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkDrawingArea
</parameter_description>
</parameter>
<parameter name="draw_func">
<parameter_description> callback that lets you draw
the drawing area's contents
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @draw_func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drop_target_deny_drop">
<description>
Sets the @drop as not accepted on this drag site.

This function should be used when delaying the decision
on whether to accept a drag or not until after reading
the data.

</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="drop">
<parameter_description> the #GdkDrop of an ongoing drag operation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drop_target_find_mimetype">
<description>
Returns a mimetype that is supported both by @dest and the ongoing
drag. For more detailed control, you can use gdk_drop_get_formats()
to obtain the content formats that are supported by the source.


</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
</parameters>
<return> a matching mimetype for the ongoing drag, or %NULL
</return>
</function>

<function name="gtk_drop_target_get_actions">
<description>
Gets the actions that this drop target supports.


</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
</parameters>
<return> the actions that this drop target supports
</return>
</function>

<function name="gtk_drop_target_get_drop">
<description>
Returns the underlying #GtkDrop object for an ongoing drag.


</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
</parameters>
<return> the #GtkDrop of the current drag operation, or %NULL
</return>
</function>

<function name="gtk_drop_target_get_formats">
<description>
Gets the data formats that this drop target accepts.


</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
</parameters>
<return> the supported data formats
</return>
</function>

<function name="gtk_drop_target_new">
<description>
Creates a new #GtkDropTarget object.


</description>
<parameters>
<parameter name="formats">
<parameter_description> the supported data formats
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the supported actions
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkDropTarget
</return>
</function>

<function name="gtk_drop_target_read_selection">
<description>
Asynchronously reads the dropped data from an ongoing
drag on a #GtkDropTarget, and returns the data in a 
#GtkSelectionData object.

This function is meant for cases where a #GtkSelectionData
object is needed, such as when using the #GtkTreeModel DND
support. In most other cases, the #GdkDrop async read
APIs that return in input stream or #GValue are more
convenient and should be preferred.

</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the data format to read
</parameter_description>
</parameter>
<parameter name="cancellable">
<parameter_description> a cancellable
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> callback to call on completion
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to @callback
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drop_target_read_selection_finish">
<description>
Finishes an async drop read operation, see gtk_drop_target_read_selection().


</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="result">
<parameter_description> a #GAsyncResult
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the #GtkSelectionData, or %NULL
</return>
</function>

<function name="gtk_drop_target_set_actions">
<description>
Sets the actions that this drop target supports.

</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the supported actions
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drop_target_set_formats">
<description>
Sets the data formats that this drop target will accept.

</description>
<parameters>
<parameter name="dest">
<parameter_description> a #GtkDropTarget
</parameter_description>
</parameter>
<parameter name="formats">
<parameter_description> the supported data formats
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_delegate_get_property">
<description>
Gets a property of the #GtkEditable delegate for @object.

This is helper function that should be called in get_property,
before handling your own properties.


</description>
<parameters>
<parameter name="object">
<parameter_description> a #GObject
</parameter_description>
</parameter>
<parameter name="prop_id">
<parameter_description> a property ID
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> value to set
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the property
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the property was found
</return>
</function>

<function name="gtk_editable_delegate_set_property">
<description>
Sets a property on the #GtkEditable delegate for @object.

This is a helper function that should be called in set_property,
before handling your own properties.


</description>
<parameters>
<parameter name="object">
<parameter_description> a #GObject
</parameter_description>
</parameter>
<parameter name="prop_id">
<parameter_description> a property ID
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> value to set
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the property
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the property was found
</return>
</function>

<function name="gtk_editable_delete_selection">
<description>
Deletes the currently selected text of the editable.
This call doesn’t do anything if there is no selected text.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_delete_text">
<description>
Deletes a sequence of characters. The characters that are deleted are 
those characters at positions from @start_pos up to, but not including 
@end_pos. If @end_pos is negative, then the characters deleted
are those from @start_pos to the end of the text.

Note that the positions are specified in characters, not bytes.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="start_pos">
<parameter_description> start position
</parameter_description>
</parameter>
<parameter name="end_pos">
<parameter_description> end position
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_finish_delegate">
<description>
Undoes the setup done by gtk_editable_init_delegate().

This is a helper function that should be called from dispose,
before removing the delegate object.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_get_alignment">
<description>
Gets the value set by gtk_editable_set_alignment().


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return> the alignment
</return>
</function>

<function name="gtk_editable_get_chars">
<description>
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 characters
retrieved are those characters from @start_pos to the end of the text.

Note that positions are specified in characters, not bytes.


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="start_pos">
<parameter_description> start of text
</parameter_description>
</parameter>
<parameter name="end_pos">
<parameter_description> end of text
</parameter_description>
</parameter>
</parameters>
<return> a pointer to the contents of the widget as a
string. This string is allocated by the #GtkEditable
implementation and should be freed by the caller.
</return>
</function>

<function name="gtk_editable_get_editable">
<description>
Retrieves whether @editable is editable.
See gtk_editable_set_editable().


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @editable is editable.
</return>
</function>

<function name="gtk_editable_get_enable_undo">
<description>
Gets if undo/redo actions are enabled for @editable


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if undo is enabled
</return>
</function>

<function name="gtk_editable_get_max_width_chars">
<description>
Retrieves the desired maximum width of @editable, in characters.
See gtk_editable_set_max_width_chars().


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return> the maximum width of the entry, in characters
</return>
</function>

<function name="gtk_editable_get_position">
<description>
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.


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return> the cursor position
</return>
</function>

<function name="gtk_editable_get_selection_bounds">
<description>
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.


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="start_pos">
<parameter_description> location to store the starting position, or %NULL
</parameter_description>
</parameter>
<parameter name="end_pos">
<parameter_description> location to store the end position, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there is a non-empty selection, %FALSE otherwise
</return>
</function>

<function name="gtk_editable_get_text">
<description>
Retrieves the contents of @editable. The returned string is
owned by GTK and must not be modified or freed.


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return> a pointer to the contents of the editable.
</return>
</function>

<function name="gtk_editable_get_width_chars">
<description>
Gets the value set by gtk_editable_set_width_chars().


</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return> number of chars to request space for, or negative if unset
</return>
</function>

<function name="gtk_editable_init_delegate">
<description>
Sets up a delegate for #GtkEditable, assuming that the
get_delegate vfunc in the #GtkEditable interface has been
set up for the @editable's type.

This is a helper function that should be called in instance init,
after creating the delegate object.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_insert_text">
<description>
Inserts @length bytes of @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.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the text to append
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of the text in bytes, or -1
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> location of the position text will be inserted at
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_install_properties">
<description>
Installs the GtkEditable properties for @class.

This is a helper function that should be called in class_init,
after installing your own properties.

To handle the properties in your set_property and get_property
functions, you can either use gtk_editable_delegate_set_property()
and gtk_editable_delegate_get_property() (if you are using a delegate),
or remember the @first_prop offset and add it to the values in the
#GtkEditableProperties enumeration to get the property IDs for these
properties.


</description>
<parameters>
<parameter name="object_class">
<parameter_description> a #GObjectClass
</parameter_description>
</parameter>
<parameter name="first_prop">
<parameter_description> property ID to use for the first property
</parameter_description>
</parameter>
</parameters>
<return> the number of properties that were installed
</return>
</function>

<function name="gtk_editable_select_region">
<description>
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 characters selected are those characters from
@start_pos to  the end of the text.

Note that positions are specified in characters, not bytes.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="start_pos">
<parameter_description> start of region
</parameter_description>
</parameter>
<parameter name="end_pos">
<parameter_description> end of region
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_set_alignment">
<description>
Sets the alignment for the contents of the editable.

This controls the horizontal positioning of the contents when
the displayed text is shorter than the width of the editable.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> The horizontal alignment, from 0 (left) to 1 (right).
Reversed for RTL layouts
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_set_editable">
<description>
Determines if the user can edit the text
in the editable widget or not. 

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="is_editable">
<parameter_description> %TRUE if the user is allowed to edit the text
in the widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_set_enable_undo">
<description>
If enabled, changes to @editable will be saved for undo/redo actions.

This results in an additional copy of text changes and are not stored in
secure memory. As such, undo is forcefully disabled when #GtkText:visibility
is set to %FALSE.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="enable_undo">
<parameter_description> if undo/redo should be enabled
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_set_max_width_chars">
<description>
Sets the desired maximum width in characters of @editable.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> the new desired maximum width, in characters
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_set_position">
<description>
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.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of the cursor 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_set_text">
<description>
Sets the text in the editable to the given value,
replacing the current contents.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the text to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_set_width_chars">
<description>
Changes the size request of the editable to be about the
right size for @n_chars characters.

Note that it changes the size request, 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 size.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> width in chars
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_emoji_chooser_new">
<description>
Creates a new #GtkEmojiChooser.


</description>
<parameters>
</parameters>
<return> a new #GtkEmojiChoser
</return>
</function>

<function name="gtk_entry_buffer_delete_text">
<description>
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.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position at which to delete text
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> number of characters to delete
</parameter_description>
</parameter>
</parameters>
<return> The number of characters deleted.
</return>
</function>

<function name="gtk_entry_buffer_emit_deleted_text">
<description>
Used when subclassing #GtkEntryBuffer

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position at which text was deleted
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> number of characters deleted
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_buffer_emit_inserted_text">
<description>
Used when subclassing #GtkEntryBuffer

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position at which text was inserted
</parameter_description>
</parameter>
<parameter name="chars">
<parameter_description> text that was inserted
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> number of characters inserted
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_buffer_get_bytes">
<description>
Retrieves the length in bytes of the buffer.
See gtk_entry_buffer_get_length().


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
</parameters>
<return> The byte length of the buffer.
</return>
</function>

<function name="gtk_entry_buffer_get_length">
<description>
Retrieves the length in characters of the buffer.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
</parameters>
<return> The number of characters in the buffer.
</return>
</function>

<function name="gtk_entry_buffer_get_max_length">
<description>
Retrieves the maximum allowed length of the text in
@buffer. See gtk_entry_buffer_set_max_length().


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
</parameters>
<return> the maximum allowed number of characters
in #GtkEntryBuffer, or 0 if there is no maximum.
</return>
</function>

<function name="gtk_entry_buffer_get_text">
<description>
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.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
</parameters>
<return> a pointer to the contents of the widget as a
string. This string points to internally allocated
storage in the buffer and must not be freed, modified or
stored.
</return>
</function>

<function name="gtk_entry_buffer_insert_text">
<description>
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.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position at which to insert text.
</parameter_description>
</parameter>
<parameter name="chars">
<parameter_description> the text to insert into the buffer.
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> the length of the text in characters, or -1
</parameter_description>
</parameter>
</parameters>
<return> The number of characters actually inserted.
</return>
</function>

<function name="gtk_entry_buffer_new">
<description>
Create a new GtkEntryBuffer object.

Optionally, specify initial text to set in the buffer.


</description>
<parameters>
<parameter name="initial_chars">
<parameter_description> initial buffer text, or %NULL
</parameter_description>
</parameter>
<parameter name="n_initial_chars">
<parameter_description> number of characters in @initial_chars, or -1
</parameter_description>
</parameter>
</parameters>
<return> A new GtkEntryBuffer object.
</return>
</function>

<function name="gtk_entry_buffer_set_max_length">
<description>
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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="max_length">
<parameter_description> the maximum length of the entry buffer, or 0 for no maximum.
(other than the maximum length of entries.) The value passed in will
be clamped to the range 0-65536.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_buffer_set_text">
<description>
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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
<parameter name="chars">
<parameter_description> the new text
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> the number of characters in @text, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_complete">
<description>
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.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_compute_prefix">
<description>
Computes the common prefix that is shared by all rows in @completion
that start with @key. If no row matches @key, %NULL will be returned.
Note that a text column must have been set for this function to work,
see gtk_entry_completion_set_text_column() for details. 


</description>
<parameters>
<parameter name="completion">
<parameter_description> the entry completion
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> The text to complete for
</parameter_description>
</parameter>
</parameters>
<return> The common prefix all rows starting with
@key or %NULL if no row matches @key.
</return>
</function>

<function name="gtk_entry_completion_delete_action">
<description>
Deletes the action at @index_ from @completion’s action list.

Note that @index_ is a relative position and the position of an
action may have changed since it was inserted.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index of the item to delete
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_get_completion_prefix">
<description>
Get the original text entered by the user that triggered
the completion or %NULL if there’s no completion ongoing.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> the prefix for the current completion
</return>
</function>

<function name="gtk_entry_completion_get_entry">
<description>
Gets the entry @completion has been attached to.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> The entry @completion has been attached to
</return>
</function>

<function name="gtk_entry_completion_get_inline_completion">
<description>
Returns whether the common prefix of the possible completions should
be automatically inserted in the entry.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if inline completion is turned on
</return>
</function>

<function name="gtk_entry_completion_get_inline_selection">
<description>
Returns %TRUE if inline-selection mode is turned on.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if inline-selection mode is on
</return>
</function>

<function name="gtk_entry_completion_get_minimum_key_length">
<description>
Returns the minimum key length as set for @completion.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> The currently used minimum key length
</return>
</function>

<function name="gtk_entry_completion_get_model">
<description>
Returns the model the #GtkEntryCompletion is using as data source.
Returns %NULL if the model is unset.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> A #GtkTreeModel, or %NULL if none
is currently being used
</return>
</function>

<function name="gtk_entry_completion_get_popup_completion">
<description>
Returns whether the completions should be presented in a popup window.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if popup completion is turned on
</return>
</function>

<function name="gtk_entry_completion_get_popup_set_width">
<description>
Returns whether the  completion popup window will be resized to the
width of the entry.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the popup window will be resized to the width of
the entry
</return>
</function>

<function name="gtk_entry_completion_get_popup_single_match">
<description>
Returns whether the completion popup window will appear even if there is
only a single match.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the popup window will appear regardless of the
number of matches
</return>
</function>

<function name="gtk_entry_completion_get_text_column">
<description>
Returns the column in the model of @completion to get strings from.


</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return> the column containing the strings
</return>
</function>

<function name="gtk_entry_completion_insert_action_markup">
<description>
Inserts an action in @completion’s action item list at position @index_
with markup @markup.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index of the item to insert
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> markup of the item to insert
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_insert_action_text">
<description>
Inserts an action in @completion’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().

Note that @index_ is a relative position in the list of actions and
the position of an action can change when deleting a different action.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index of the item to insert
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text of the item to insert
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_insert_prefix">
<description>
Requests a prefix insertion.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_new">
<description>
Creates a new #GtkEntryCompletion object.


</description>
<parameters>
</parameters>
<return> A newly created #GtkEntryCompletion object
</return>
</function>

<function name="gtk_entry_completion_new_with_area">
<description>
Creates a new #GtkEntryCompletion object using the
specified @area to layout cells in the underlying
#GtkTreeViewColumn for the drop-down menu.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea used to layout cells
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkEntryCompletion object
</return>
</function>

<function name="gtk_entry_completion_set_inline_completion">
<description>
Sets whether the common prefix of the possible completions should
be automatically inserted in the entry.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="inline_completion">
<parameter_description> %TRUE to do inline completion
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_inline_selection">
<description>
Sets whether it is possible to cycle through the possible completions
inside the entry.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="inline_selection">
<parameter_description> %TRUE to do inline selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_match_func">
<description>
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.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> the #GtkEntryCompletionMatchFunc to use
</parameter_description>
</parameter>
<parameter name="func_data">
<parameter_description> user data for @func
</parameter_description>
</parameter>
<parameter name="func_notify">
<parameter_description> destroy notify for @func_data.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_minimum_key_length">
<description>
Requires the length of the search key for @completion to be at least
@length. This is useful for long lists, where completing using a small
key takes a lot of time and will come up with meaningless results anyway
(ie, a too large dataset).

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the minimum length of the key in order to start completing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_model">
<description>
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.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_popup_completion">
<description>
Sets whether the completions should be presented in a popup window.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="popup_completion">
<parameter_description> %TRUE to do popup completion
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_popup_set_width">
<description>
Sets whether the completion popup window will be resized to be the same
width as the entry.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="popup_set_width">
<parameter_description> %TRUE to make the width of the popup the same as the entry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_popup_single_match">
<description>
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 [inline completion][GtkEntryCompletion--inline-completion].

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="popup_single_match">
<parameter_description> %TRUE if the popup should appear even for a single
match
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_completion_set_text_column">
<description>
Convenience function for setting up the most used case of this code: a
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't want the cell
renderer, use g_object_set() to set the #GtkEntryCompletion:text-column
property directly.

</description>
<parameters>
<parameter name="completion">
<parameter_description> a #GtkEntryCompletion
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> the column in the model of @completion to get strings from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_get_activates_default">
<description>
Retrieves the value set by gtk_entry_set_activates_default().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the entry will activate the default widget
</return>
</function>

<function name="gtk_entry_get_alignment">
<description>
Gets the value set by gtk_entry_set_alignment().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the alignment
</return>
</function>

<function name="gtk_entry_get_attributes">
<description>
Gets the attribute list that was set on the entry using
gtk_entry_set_attributes(), if any.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the attribute list, or %NULL
if none was set.
</return>
</function>

<function name="gtk_entry_get_buffer">
<description>
Get the #GtkEntryBuffer object which holds the text for
this widget.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> A #GtkEntryBuffer object.
</return>
</function>

<function name="gtk_entry_get_completion">
<description>
Returns the auxiliary completion object currently in use by @entry.


</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> The auxiliary completion object currently
in use by @entry.
</return>
</function>

<function name="gtk_entry_get_current_icon_drag_source">
<description>
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.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> index of the icon which is the source of the current
DND operation, or -1.
</return>
</function>

<function name="gtk_entry_get_extra_menu">
<description>
Gets the menu model set with gtk_entry_set_extra_menu().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the menu model
</return>
</function>

<function name="gtk_entry_get_has_frame">
<description>
Gets the value set by gtk_entry_set_has_frame().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> whether the entry has a beveled frame
</return>
</function>

<function name="gtk_entry_get_icon_activatable">
<description>
Returns whether the icon is activatable.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the icon is activatable.
</return>
</function>

<function name="gtk_entry_get_icon_area">
<description>
Gets the area where entry’s icon at @icon_pos is drawn.
This function is useful when drawing something to the
entry in a draw callback.

If the entry is not realized or has no icon at the given position,
@icon_area is filled with zeros. Otherwise, @icon_area will be filled
with the icon's allocation, relative to @entry's allocation.

</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
<parameter name="icon_area">
<parameter_description> Return location for the icon’s area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_get_icon_at_pos">
<description>
Finds the icon at the given position and return its index. The
position’s coordinates are relative to the @entry’s top left corner.
If @x, @y doesn’t lie inside an icon, -1 is returned.
This function is intended for use in a #GtkWidget::query-tooltip
signal handler.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate of the position to find, relative to @entry
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the position to find, relative to @entry
</parameter_description>
</parameter>
</parameters>
<return> the index of the icon at the given position, or -1
</return>
</function>

<function name="gtk_entry_get_icon_gicon">
<description>
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
paintable or icon name).


</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
</parameters>
<return> A #GIcon, or %NULL if no icon is set
or if the icon is not a #GIcon
</return>
</function>

<function name="gtk_entry_get_icon_name">
<description>
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
paintable or gicon).


</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
</parameters>
<return> An icon name, or %NULL if no icon is set or if the icon
wasn’t set from an icon name
</return>
</function>

<function name="gtk_entry_get_icon_paintable">
<description>
Retrieves the #GdkPaintable used for the icon.

If no #GdkPaintable was used for the icon, %NULL is returned.


</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
</parameters>
<return> A #GdkPaintable, or %NULL if no icon is
set for this position or the icon set is not a #GdkPaintable.
</return>
</function>

<function name="gtk_entry_get_icon_sensitive">
<description>
Returns whether the icon appears sensitive or insensitive.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the icon is sensitive.
</return>
</function>

<function name="gtk_entry_get_icon_storage_type">
<description>
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.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
</parameters>
<return> image representation being used
</return>
</function>

<function name="gtk_entry_get_icon_tooltip_markup">
<description>
Gets the contents of the tooltip on the icon at the specified 
position in @entry.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> the icon position
</parameter_description>
</parameter>
</parameters>
<return> the tooltip text, or %NULL. Free the returned
string with g_free() when done.
</return>
</function>

<function name="gtk_entry_get_icon_tooltip_text">
<description>
Gets the contents of the tooltip on the icon at the specified 
position in @entry.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> the icon position
</parameter_description>
</parameter>
</parameters>
<return> the tooltip text, or %NULL. Free the returned
string with g_free() when done.
</return>
</function>

<function name="gtk_entry_get_input_hints">
<description>
Gets the value of the #GtkEntry:input-hints property.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_get_input_purpose">
<description>
Gets the value of the #GtkEntry:input-purpose property.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_get_invisible_char">
<description>
Retrieves the character displayed in place of the real characters
for entries with visibility set to false. See gtk_entry_set_invisible_char().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the current invisible char, or 0, if the entry does not
show invisible text at all. 
</return>
</function>

<function name="gtk_entry_get_max_length">
<description>
Retrieves the maximum allowed length of the text in
@entry. See gtk_entry_set_max_length().

This is equivalent to getting @entry's #GtkEntryBuffer and
calling gtk_entry_buffer_get_max_length() on it.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the maximum allowed number of characters
in #GtkEntry, or 0 if there is no maximum.
</return>
</function>

<function name="gtk_entry_get_overwrite_mode">
<description>
Gets the value set by gtk_entry_set_overwrite_mode().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> whether the text is overwritten when typing.
</return>
</function>

<function name="gtk_entry_get_placeholder_text">
<description>
Retrieves the text that will be displayed when @entry is empty and unfocused


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return>a pointer to the placeholder text as a string.
This string points to internally allocated storage in the widget and must
not be freed, modified or stored. If no placeholder text has been set,
%NULL will be returned.
</return>
</function>

<function name="gtk_entry_get_progress_fraction">
<description>
Returns the current fraction of the task that’s been completed.
See gtk_entry_set_progress_fraction().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> a fraction from 0.0 to 1.0
</return>
</function>

<function name="gtk_entry_get_progress_pulse_step">
<description>
Retrieves the pulse step set with gtk_entry_set_progress_pulse_step().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> a fraction from 0.0 to 1.0
</return>
</function>

<function name="gtk_entry_get_tabs">
<description>
Gets the tabstops that were set on the entry using gtk_entry_set_tabs(), if
any.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the tabstops, or %NULL if none was set.
</return>
</function>

<function name="gtk_entry_get_text_length">
<description>
Retrieves the current length of the text in
@entry. 

This is equivalent to getting @entry's #GtkEntryBuffer and
calling gtk_entry_buffer_get_length() on it.



</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the current number of characters
in #GtkEntry, or 0 if there are none.
</return>
</function>

<function name="gtk_entry_get_visibility">
<description>
Retrieves whether the text in @entry is visible. See
gtk_entry_set_visibility().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the text is currently visible
</return>
</function>

<function name="gtk_entry_grab_focus_without_selecting">
<description>
Causes @entry to have keyboard focus.

It behaves like gtk_widget_grab_focus(),
except that it doesn't select the contents of the entry.
You only want to call this on some special entries
which the user usually doesn't want to replace all text in,
such as search-as-you-type entries.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if focus is now inside @self
</return>
</function>

<function name="gtk_entry_new">
<description>
Creates a new entry.


</description>
<parameters>
</parameters>
<return> a new #GtkEntry.
</return>
</function>

<function name="gtk_entry_new_with_buffer">
<description>
Creates a new entry with the specified text buffer.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> The buffer to use for the new #GtkEntry.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkEntry
</return>
</function>

<function name="gtk_entry_progress_pulse">
<description>
Indicates that some progress is made, but you don’t know how much.
Causes the entry’s progress indicator to enter “activity mode,”
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()).

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_reset_im_context">
<description>
Reset the input method context of the entry if needed.

This can be necessary in the case where modifying the buffer
would confuse on-going input method behavior.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_activates_default">
<description>
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.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to activate window’s default widget on Enter keypress
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_alignment">
<description>
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.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> The horizontal alignment, from 0 (left) to 1 (right).
Reversed for RTL layouts
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_attributes">
<description>
Sets a #PangoAttrList; the attributes in the list are applied to the
entry text.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_buffer">
<description>
Set the #GtkEntryBuffer object which holds the text for
this widget.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_completion">
<description>
Sets @completion to be the auxiliary completion object to use with @entry.
All further configuration of the completion mechanism is done on
@completion using the #GtkEntryCompletion API. Completion is disabled if
@completion is set to %NULL.

</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="completion">
<parameter_description> The #GtkEntryCompletion or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_extra_menu">
<description>
Sets a menu model to add when constructing
the context menu for @entry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_has_frame">
<description>
Sets whether the entry has a beveled frame around it.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_activatable">
<description>
Sets whether the icon is activatable.

</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
<parameter name="activatable">
<parameter_description> %TRUE if the icon should be activatable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_drag_source">
<description>
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.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> icon position
</parameter_description>
</parameter>
<parameter name="provider">
<parameter_description> a #GdkContentProvider
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> a bitmask of the allowed drag actions
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_from_gicon">
<description>
Sets the icon shown in the entry at the specified position
from the current icon theme.
If the icon isn’t known, a “broken image” icon will be displayed
instead.

If @icon is %NULL, no icon will be shown in the specified position.

</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> The position at which to set the icon
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> The icon to set, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_from_icon_name">
<description>
Sets the icon shown in the entry at the specified position
from the current icon theme.

If the icon name isn’t known, a “broken image” icon will be displayed
instead.

If @icon_name is %NULL, no icon will be shown in the specified position.

</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> The position at which to set the icon
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> An icon name, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_from_paintable">
<description>
Sets the icon shown in the specified position using a #GdkPaintable

If @paintable is %NULL, no icon will be shown in the specified position.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> A #GdkPaintable, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_sensitive">
<description>
Sets the sensitivity for the specified icon.

</description>
<parameters>
<parameter name="entry">
<parameter_description> A #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> Icon position
</parameter_description>
</parameter>
<parameter name="sensitive">
<parameter_description> Specifies whether the icon should appear
sensitive or insensitive
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_tooltip_markup">
<description>
Sets @tooltip as the contents of the tooltip for the icon at
the specified position. @tooltip is assumed to be marked up with
the [Pango text markup language][PangoMarkupFormat].

Use %NULL for @tooltip to remove an existing tooltip.

See also gtk_widget_set_tooltip_markup() and 
gtk_entry_set_icon_tooltip_text().

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> the icon position
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> the contents of the tooltip for the icon, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_tooltip_text">
<description>
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().

If you unset the widget tooltip via gtk_widget_set_tooltip_text() or
gtk_widget_set_tooltip_markup(), this sets GtkWidget:has-tooltip to %FALSE,
which suppresses icon tooltips too. You can resolve this by then calling
gtk_widget_set_has_tooltip() to set GtkWidget:has-tooltip back to %TRUE, or
setting at least one non-empty tooltip on any icon achieves the same result.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="icon_pos">
<parameter_description> the icon position
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> the contents of the tooltip for the icon, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_input_hints">
<description>
Sets the #GtkEntry:input-hints property, which
allows input methods to fine-tune their behaviour.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="hints">
<parameter_description> the hints
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_input_purpose">
<description>
Sets the #GtkEntry:input-purpose property which
can be used by on-screen keyboards and other input
methods to adjust their behaviour.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="purpose">
<parameter_description> the purpose
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_invisible_char">
<description>
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 “password mode” 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.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="ch">
<parameter_description> a Unicode character
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_max_length">
<description>
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 getting @entry's #GtkEntryBuffer and
calling gtk_entry_buffer_set_max_length() on it.
]|

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="max">
<parameter_description> the maximum length of the entry, or 0 for no maximum.
(other than the maximum length of entries.) The value passed in will
be clamped to the range 0-65536.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_overwrite_mode">
<description>
Sets whether the text is overwritten when typing in the #GtkEntry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="overwrite">
<parameter_description> new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_placeholder_text">
<description>
Sets text to be displayed in @entry when it is empty.
This can be used to give a visual hint of the expected contents of
the #GtkEntry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> a string to be displayed when @entry is empty and unfocused, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_progress_fraction">
<description>
Causes the entry’s progress indicator to “fill in” the given
fraction of the bar. The fraction should be between 0.0 and 1.0,
inclusive.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="fraction">
<parameter_description> fraction of the task that’s been completed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_progress_pulse_step">
<description>
Sets the fraction of total entry width to move the progress
bouncing block for each call to gtk_entry_progress_pulse().

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="fraction">
<parameter_description> fraction between 0.0 and 1.0
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_tabs">
<description>
Sets a #PangoTabArray; the tabstops in the array are applied to the entry
text.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="tabs">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_visibility">
<description>
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().

Note that you probably want to set #GtkEntry:input-purpose
to %GTK_INPUT_PURPOSE_PASSWORD or %GTK_INPUT_PURPOSE_PIN to
inform input methods about the purpose of this entry,
in addition to setting visibility to %FALSE.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> %TRUE if the contents of the entry are displayed
as plaintext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_unset_invisible_char">
<description>
Unsets the invisible char previously set with
gtk_entry_set_invisible_char(). So that the
default invisible char is used again.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_enumerate_printers">
<description>
Calls a function for all #GtkPrinters. 
If @func returns %TRUE, the enumeration is stopped.

</description>
<parameters>
<parameter name="func">
<parameter_description> a function to call for each printer
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data to pass to @func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> function to call if @data is no longer needed
</parameter_description>
</parameter>
<parameter name="wait">
<parameter_description> if %TRUE, wait in a recursive mainloop until
all printers are enumerated; otherwise return early
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_event_controller_get_propagation_phase">
<description>
Gets the propagation phase at which @controller handles events.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventController
</parameter_description>
</parameter>
</parameters>
<return> the propagation phase
</return>
</function>

<function name="gtk_event_controller_get_widget">
<description>
Returns the #GtkWidget this controller relates to.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventController
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget
</return>
</function>

<function name="gtk_event_controller_handle_event">
<description>
Feeds an event into @controller, so it can be interpreted
and the controller actions triggered.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventController
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> a #GdkEvent
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the event was potentially useful to trigger the
controller action
</return>
</function>

<function name="gtk_event_controller_key_contains_focus">
<description>
Returns the value of the GtkEventControllerKey:contains-focus property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if focus is within @self or one of its children
</return>
</function>

<function name="gtk_event_controller_key_forward">
<description>
Forwards the current event of this @controller to a @widget.

This function can only be used in handlers for the
#GtkEventControllerKey::key-pressed,
#GtkEventControllerKey::key-released
or
#GtkEventControllerKey::modifiers
signals.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> whether the @widget handled the event
</return>
</function>

<function name="gtk_event_controller_key_get_focus_origin">
<description>
Returns the widget that was holding focus before.

This function can only be used in handlers for the
#GtkEventControllerKey::focus-in and
#GtkEventControllerKey::focus-out signals.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
</parameters>
<return> the previous focus
</return>
</function>

<function name="gtk_event_controller_key_get_focus_target">
<description>
Returns the widget that will be holding focus afterwards.

This function can only be used in handlers for the
#GtkEventControllerKey::focus-in and
#GtkEventControllerKey::focus-out signals.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
</parameters>
<return> the next focus
</return>
</function>

<function name="gtk_event_controller_key_get_group">
<description>
Gets the key group of the current event of this @controller.
See gdk_event_get_key_group().


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
</parameters>
<return> the key group
</return>
</function>

<function name="gtk_event_controller_key_get_im_context">
<description>
Gets the input method context of the key @controller.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
</parameters>
<return> the #GtkIMContext
</return>
</function>

<function name="gtk_event_controller_key_is_focus">
<description>
Returns the value of the GtkEventControllerKey:is-focus property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if focus is within @self but not one of its children
</return>
</function>

<function name="gtk_event_controller_key_new">
<description>
Creates a new event controller that will handle key events.


</description>
<parameters>
</parameters>
<return> a new #GtkEventControllerKey
</return>
</function>

<function name="gtk_event_controller_key_set_im_context">
<description>
Sets the input method context of the key @controller.

</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
<parameter name="im_context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_event_controller_legacy_new">
<description>
Creates a new legacy event controller.


</description>
<parameters>
</parameters>
<return> the newly created event controller.
</return>
</function>

<function name="gtk_event_controller_motion_contains_pointer">
<description>
Returns the value of the GtkEventControllerMotion:contains-pointer property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkEventControllerMotion
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a pointer is within @self or one of its children
</return>
</function>

<function name="gtk_event_controller_motion_get_pointer_origin">
<description>
Returns the widget that contained the pointer before.

This function can only be used in handlers for the
#GtkEventControllerMotion::enter and
#GtkEventControllerMotion::leave signals.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerMotion
</parameter_description>
</parameter>
</parameters>
<return> the previous pointer focus
</return>
</function>

<function name="gtk_event_controller_motion_get_pointer_target">
<description>
Returns the widget that will contain the pointer afterwards.

This function can only be used in handlers for the
#GtkEventControllerMotion::enter and
#GtkEventControllerMotion::leave signals.


</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventControllerMotion
</parameter_description>
</parameter>
</parameters>
<return> the next pointer focus
</return>
</function>

<function name="gtk_event_controller_motion_is_pointer">
<description>
Returns the value of the GtkEventControllerMotion:is-pointer property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkEventControllerKey
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a pointer is within @self but not one of its children
</return>
</function>

<function name="gtk_event_controller_motion_new">
<description>
Creates a new event controller that will handle motion events.


</description>
<parameters>
</parameters>
<return> a new #GtkEventControllerMotion
</return>
</function>

<function name="gtk_event_controller_reset">
<description>
Resets the @controller to a clean state. Every interaction
the controller did through gtk_event_controll_handle_event()
will be dropped at this point.

</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventController
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_event_controller_scroll_get_flags">
<description>
Gets the flags conditioning the scroll controller behavior.


</description>
<parameters>
<parameter name="scroll">
<parameter_description> a #GtkEventControllerScroll
</parameter_description>
</parameter>
</parameters>
<return> the controller flags.
</return>
</function>

<function name="gtk_event_controller_scroll_new">
<description>
Creates a new event controller that will handle scroll events.


</description>
<parameters>
<parameter name="flags">
<parameter_description> behavior flags
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkEventControllerScroll
</return>
</function>

<function name="gtk_event_controller_scroll_set_flags">
<description>
Sets the flags conditioning scroll controller behavior.

</description>
<parameters>
<parameter name="scroll">
<parameter_description> a #GtkEventControllerScroll
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> behavior flags
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_event_controller_set_propagation_phase">
<description>
Sets the propagation phase at which a controller handles events.

If @phase is %GTK_PHASE_NONE, no automatic event handling will be
performed, but other additional gesture maintenance will. In that phase,
the events can be managed by calling gtk_event_controller_handle_event().

</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkEventController
</parameter_description>
</parameter>
<parameter name="phase">
<parameter_description> a propagation phase
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_expander_get_expanded">
<description>
Queries a #GtkExpander and returns its current state. Returns %TRUE
if the child widget is revealed.

See gtk_expander_set_expanded().


</description>
<parameters>
<parameter name="expander">
<parameter_description>a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> the current state of the expander
</return>
</function>

<function name="gtk_expander_get_label">
<description>
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.


</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> The text of the label widget. This string is owned
by the widget and must not be modified or freed.
</return>
</function>

<function name="gtk_expander_get_label_widget">
<description>
Retrieves the label widget for the frame. See
gtk_expander_set_label_widget().


</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> the label widget,
or %NULL if there is none
</return>
</function>

<function name="gtk_expander_get_resize_toplevel">
<description>
Returns whether the expander will resize the toplevel widget
containing the expander upon resizing and collpasing.


</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> the “resize toplevel” setting.
</return>
</function>

<function name="gtk_expander_get_use_markup">
<description>
Returns whether the label’s text is interpreted as marked up with
the [Pango text markup language][PangoMarkupFormat].
See gtk_expander_set_use_markup().


</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the label’s text will be parsed for markup
</return>
</function>

<function name="gtk_expander_get_use_underline">
<description>
Returns whether an embedded underline in the expander label
indicates a mnemonic. See gtk_expander_set_use_underline().


</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an embedded underline in the expander
label indicates the mnemonic accelerator keys
</return>
</function>

<function name="gtk_expander_new">
<description>
Creates a new expander using @label as the text of the label.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text of the label
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkExpander widget.
</return>
</function>

<function name="gtk_expander_new_with_mnemonic">
<description>
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 “__” (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text of the label with an underscore
in front of the mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkExpander widget.
</return>
</function>

<function name="gtk_expander_set_expanded">
<description>
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.

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="expanded">
<parameter_description> whether the child widget is revealed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_expander_set_label">
<description>
Sets the text of the label of the expander to @label.

This will also clear any previously set labels.

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_expander_set_label_widget">
<description>
Set the label widget for the expander. This is the widget
that will appear embedded alongside the expander arrow.

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="label_widget">
<parameter_description> the new label widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_expander_set_resize_toplevel">
<description>
Sets whether the expander will resize the toplevel widget
containing the expander upon resizing and collpasing.

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="resize_toplevel">
<parameter_description> whether to resize the toplevel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_expander_set_use_markup">
<description>
Sets whether the text of the label contains markup in
[Pango’s text markup language][PangoMarkupFormat].
See gtk_label_set_markup().

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="use_markup">
<parameter_description> %TRUE if the label’s text should be parsed for markup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_expander_set_use_underline">
<description>
If true, an underline in the text of the expander label indicates
the next character should be used for the mnemonic accelerator key.

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="use_underline">
<parameter_description> %TRUE if underlines in the text indicate mnemonics
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_add_choice">
<description>
Adds a 'choice' to the file chooser. This is typically implemented
as a combobox or, for boolean choices, as a checkbutton. You can select
a value using gtk_file_chooser_set_choice() before the dialog is shown,
and you can obtain the user-selected value in the ::response signal handler
using gtk_file_chooser_get_choice().

Compare gtk_file_chooser_set_extra_widget().

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> id for the added choice
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> user-visible label for the added choice
</parameter_description>
</parameter>
<parameter name="options">
<parameter_description> ids for the options of the choice, or %NULL for a boolean choice
</parameter_description>
</parameter>
<parameter name="option_labels">
<parameter_description> user-visible labels for the options, must be the same length as @options
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_add_filter">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_add_shortcut_folder">
<description>
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
“/usr/share/mydrawprogram/Clipart” folder to the volume list.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="folder">
<parameter_description> filename of the folder to add
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the folder could be added successfully, %FALSE
otherwise.  In the latter case, the @error will be set as appropriate.
</return>
</function>

<function name="gtk_file_chooser_add_shortcut_folder_uri">
<description>
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
“file:///usr/share/mydrawprogram/Clipart” folder to the volume list.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> URI of the folder to add
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the folder could be added successfully, %FALSE
otherwise.  In the latter case, the @error will be set as appropriate.
</return>
</function>

<function name="gtk_file_chooser_button_get_title">
<description>
Retrieves the title of the browse dialog used by @button. The returned value
should not be modified or freed.


</description>
<parameters>
<parameter name="button">
<parameter_description> the button widget to examine.
</parameter_description>
</parameter>
</parameters>
<return> a pointer to the browse dialog’s title.
</return>
</function>

<function name="gtk_file_chooser_button_get_width_chars">
<description>
Retrieves the width in characters of the @button widget’s entry and/or label.


</description>
<parameters>
<parameter name="button">
<parameter_description> the button widget to examine.
</parameter_description>
</parameter>
</parameters>
<return> an integer width (in characters) that the button will use to size itself.
</return>
</function>

<function name="gtk_file_chooser_button_new">
<description>
Creates a new file-selecting button widget.


</description>
<parameters>
<parameter name="title">
<parameter_description> the title of the browse dialog.
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the open mode for the widget.
</parameter_description>
</parameter>
</parameters>
<return> a new button widget.
</return>
</function>

<function name="gtk_file_chooser_button_new_with_dialog">
<description>
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.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> the widget to use as dialog
</parameter_description>
</parameter>
</parameters>
<return> a new button widget.
</return>
</function>

<function name="gtk_file_chooser_button_set_title">
<description>
Modifies the @title of the browse dialog used by @button.

</description>
<parameters>
<parameter name="button">
<parameter_description> the button widget to modify.
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> the new browse dialog title.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_button_set_width_chars">
<description>
Sets the width (in characters) that @button will use to @n_chars.

</description>
<parameters>
<parameter name="button">
<parameter_description> the button widget to examine.
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> the new width, in characters.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_dialog_new">
<description>
Creates a new #GtkFileChooserDialog.  This function is analogous to
gtk_dialog_new_with_buttons().


</description>
<parameters>
<parameter name="title">
<parameter_description> Title of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> Transient parent of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> Open or save mode for the dialog
</parameter_description>
</parameter>
<parameter name="first_button_text">
<parameter_description> text to go in the first button, or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> response ID for the first button, then additional (button, id) pairs, ending with %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFileChooserDialog
</return>
</function>

<function name="gtk_file_chooser_error_quark">
<description>
Registers an error quark for #GtkFileChooser if necessary.


</description>
<parameters>
</parameters>
<return> The error quark used for #GtkFileChooser errors.
</return>
</function>

<function name="gtk_file_chooser_get_action">
<description>
Gets the type of operation that the file chooser is performing; see
gtk_file_chooser_set_action().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the action that the file selector is performing
</return>
</function>

<function name="gtk_file_chooser_get_choice">
<description>
Gets the currently selected option in the 'choice' with the given ID.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> the ID of the choice to get
</parameter_description>
</parameter>
</parameters>
<return> the ID of the currenly selected option
</return>
</function>

<function name="gtk_file_chooser_get_create_folders">
<description>
Gets whether file choser will offer to create new folders.
See gtk_file_chooser_set_create_folders().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the Create Folder button should be displayed.
</return>
</function>

<function name="gtk_file_chooser_get_current_folder">
<description>
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 not the same
as the currently-selected folder if the chooser is in
%GTK_FILE_CHOOSER_ACTION_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.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the full path of the current
folder, or %NULL if the current 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.
</return>
</function>

<function name="gtk_file_chooser_get_current_folder_file">
<description>
Gets the current folder of @chooser as #GFile.
See gtk_file_chooser_get_current_folder_uri().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the #GFile for the current folder.
</return>
</function>

<function name="gtk_file_chooser_get_current_folder_uri">
<description>
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 not the same
as the currently-selected folder if the chooser is in
%GTK_FILE_CHOOSER_ACTION_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.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the URI for the current folder.
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_uri() on a
nonexistent folder.
</return>
</function>

<function name="gtk_file_chooser_get_current_name">
<description>
Gets the current name in the file selector, as entered by the user in the
text entry for “Name”.

This is meant to be used in save dialogs, to get the currently typed filename
when the file itself does not exist yet.  For example, an application that
adds a custom extra widget to the file chooser for “file format” may want to
change the extension of the typed filename based on the chosen format, say,
from “.jpg” to “.png”.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> The raw text from the file chooser’s “Name” entry.  Free this with
g_free().  Note that this string is not a full pathname or URI; it is
whatever the contents of the entry are.  Note also that this string is in
UTF-8 encoding, which is not necessarily the system’s encoding for filenames.
</return>
</function>

<function name="gtk_file_chooser_get_do_overwrite_confirmation">
<description>
Queries whether a file chooser is set to confirm for overwriting when the user
types a file name that already exists.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the file chooser will present a confirmation dialog;
%FALSE otherwise.
</return>
</function>

<function name="gtk_file_chooser_get_extra_widget">
<description>
Gets the current extra widget; see
gtk_file_chooser_set_extra_widget().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the current extra widget, or %NULL
</return>
</function>

<function name="gtk_file_chooser_get_file">
<description>
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.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> a selected #GFile. You own the returned file;
use g_object_unref() to release it.
</return>
</function>

<function name="gtk_file_chooser_get_filename">
<description>
Gets the filename for the currently selected file in
the file selector. The filename is returned as an absolute path. 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.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> The currently selected filename,
or %NULL if no file is selected, or the selected file can't
be represented with a local filename. Free with g_free().
</return>
</function>

<function name="gtk_file_chooser_get_filenames">
<description>
Lists all the selected files and subfolders in the current folder of
@chooser. The returned names are full absolute paths. If files in the current
folder cannot be represented as local filenames they will be ignored. (See
gtk_file_chooser_get_uris())


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> a #GSList
containing the filenames of all selected files and subfolders in
the current folder. Free the returned list with g_slist_free(),
and the filenames with g_free().
</return>
</function>

<function name="gtk_file_chooser_get_files">
<description>
Lists all the selected files and subfolders in the current folder of @chooser
as #GFile. An internal function, see gtk_file_chooser_get_uris().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> a #GSList
containing a #GFile for each selected file and subfolder in the
current folder.  Free the returned list with g_slist_free(), and
the files with g_object_unref().
</return>
</function>

<function name="gtk_file_chooser_get_filter">
<description>
Gets the current filter; see gtk_file_chooser_set_filter().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the current filter, or %NULL
</return>
</function>

<function name="gtk_file_chooser_get_local_only">
<description>
Gets whether only local files can be selected in the
file selector. See gtk_file_chooser_set_local_only()


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if only local files can be selected.
</return>
</function>

<function name="gtk_file_chooser_get_preview_file">
<description>
Gets the #GFile that should be previewed in a custom preview
Internal function, see gtk_file_chooser_get_preview_uri().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the #GFile for the file to preview,
or %NULL if no file is selected. Free with g_object_unref().
</return>
</function>

<function name="gtk_file_chooser_get_preview_filename">
<description>
Gets the filename that should be previewed in a custom preview
widget. See gtk_file_chooser_set_preview_widget().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the filename to preview, or %NULL if
no file is selected, or if the selected file cannot be represented
as a local filename. Free with g_free()
</return>
</function>

<function name="gtk_file_chooser_get_preview_uri">
<description>
Gets the URI that should be previewed in a custom preview
widget. See gtk_file_chooser_set_preview_widget().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the URI for the file to preview,
or %NULL if no file is selected. Free with g_free().
</return>
</function>

<function name="gtk_file_chooser_get_preview_widget">
<description>
Gets the current preview widget; see
gtk_file_chooser_set_preview_widget().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> the current preview widget, or %NULL
</return>
</function>

<function name="gtk_file_chooser_get_preview_widget_active">
<description>
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().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the preview widget is active for the current filename.
</return>
</function>

<function name="gtk_file_chooser_get_select_multiple">
<description>
Gets whether multiple files can be selected in the file
selector. See gtk_file_chooser_set_select_multiple().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if multiple files can be selected.
</return>
</function>

<function name="gtk_file_chooser_get_show_hidden">
<description>
Gets whether hidden files and folders are displayed in the file selector.   
See gtk_file_chooser_set_show_hidden().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if hidden files and folders are displayed.
</return>
</function>

<function name="gtk_file_chooser_get_uri">
<description>
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.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> The currently selected URI, or %NULL
if no file is selected. If gtk_file_chooser_set_local_only() is set to
%TRUE (the default) a local URI will be returned for any FUSE locations.
Free with g_free()
</return>
</function>

<function name="gtk_file_chooser_get_uris">
<description>
Lists all the selected files and subfolders in the current folder of
@chooser. The returned names are full absolute URIs.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> a #GSList containing the URIs of all selected
files and subfolders in the current folder. Free the returned list
with g_slist_free(), and the filenames with g_free().
</return>
</function>

<function name="gtk_file_chooser_get_use_preview_label">
<description>
Gets whether a label should be drawn with the name of the previewed
file.  See gtk_file_chooser_set_use_preview_label().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the file chooser is set to display a label with the
name of the previewed file, %FALSE otherwise.
</return>
</function>

<function name="gtk_file_chooser_list_filters">
<description>
Lists the current set of user-selectable filters; see
gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> a
#GSList containing the current set of 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.
</return>
</function>

<function name="gtk_file_chooser_list_shortcut_folder_uris">
<description>
Queries the list of shortcut folders in the file chooser, as set by
gtk_file_chooser_add_shortcut_folder_uri().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> A list of
folder URIs, or %NULL if there are no shortcut folders.  Free the
returned list with g_slist_free(), and the URIs with g_free().
</return>
</function>

<function name="gtk_file_chooser_list_shortcut_folders">
<description>
Queries the list of shortcut folders in the file chooser, as set by
gtk_file_chooser_add_shortcut_folder().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> A list
of folder filenames, or %NULL if there are no shortcut folders.
Free the returned list with g_slist_free(), and the filenames with
g_free().
</return>
</function>

<function name="gtk_file_chooser_native_get_accept_label">
<description>
Retrieves the custom label text for the accept button.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFileChooserNative
</parameter_description>
</parameter>
</parameters>
<return> The custom label, or %NULL for the default. This string
is owned by GTK+ and should not be modified or freed
</return>
</function>

<function name="gtk_file_chooser_native_get_cancel_label">
<description>
Retrieves the custom label text for the cancel button.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFileChooserNative
</parameter_description>
</parameter>
</parameters>
<return> The custom label, or %NULL for the default. This string
is owned by GTK+ and should not be modified or freed
</return>
</function>

<function name="gtk_file_chooser_native_new">
<description>
Creates a new #GtkFileChooserNative.


</description>
<parameters>
<parameter name="title">
<parameter_description> Title of the native, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> Transient parent of the native, or %NULL
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> Open or save mode for the dialog
</parameter_description>
</parameter>
<parameter name="accept_label">
<parameter_description> text to go in the accept button, or %NULL for the default
</parameter_description>
</parameter>
<parameter name="cancel_label">
<parameter_description> text to go in the cancel button, or %NULL for the default
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFileChooserNative
</return>
</function>

<function name="gtk_file_chooser_native_set_accept_label">
<description>
Sets the custom label text for the accept button.

If characters in @label are preceded by an underscore, they are underlined.
If you need a literal underscore character in a label, use “__” (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFileChooserNative
</parameter_description>
</parameter>
<parameter name="accept_label">
<parameter_description> custom label or %NULL for the default
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_native_set_cancel_label">
<description>
Sets the custom label text for the cancel button.

If characters in @label are preceded by an underscore, they are underlined.
If you need a literal underscore character in a label, use “__” (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFileChooserNative
</parameter_description>
</parameter>
<parameter name="cancel_label">
<parameter_description> custom label or %NULL for the default
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_remove_choice">
<description>
Removes a 'choice' that has been added with gtk_file_chooser_add_choice().

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> the ID of the choice to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_remove_filter">
<description>
Removes @filter from the list of filters that the user can select between.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_remove_shortcut_folder">
<description>
Removes a folder from a file chooser’s list of shortcut folders.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="folder">
<parameter_description> filename of the folder to remove
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the operation succeeds, %FALSE otherwise.  
In the latter case, the @error will be set as appropriate.

See also: gtk_file_chooser_add_shortcut_folder()
</return>
</function>

<function name="gtk_file_chooser_remove_shortcut_folder_uri">
<description>
Removes a folder URI from a file chooser’s list of shortcut folders.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> URI of the folder to remove
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the operation succeeds, %FALSE otherwise.  
In the latter case, the @error will be set as appropriate.

See also: gtk_file_chooser_add_shortcut_folder_uri()
</return>
</function>

<function name="gtk_file_chooser_select_all">
<description>
Selects all the files in the current folder of a file chooser.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_select_file">
<description>
Selects the file referred to by @file. An internal function. See
_gtk_file_chooser_select_uri().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> the file to select
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> Not useful.
</return>
</function>

<function name="gtk_file_chooser_select_filename">
<description>
Selects a filename. If the file name isn’t in the current
folder of @chooser, then the current folder of @chooser will
be changed to the folder containing @filename.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the filename to select
</parameter_description>
</parameter>
</parameters>
<return> Not useful.

See also: gtk_file_chooser_set_filename()
</return>
</function>

<function name="gtk_file_chooser_select_uri">
<description>
Selects the file to by @uri. If the URI doesn’t refer to a
file in the current folder of @chooser, then the current folder of
@chooser will be changed to the folder containing @filename.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI to select
</parameter_description>
</parameter>
</parameters>
<return> Not useful.
</return>
</function>

<function name="gtk_file_chooser_set_action">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action that the file selector is performing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_choice">
<description>
Selects an option in a 'choice' that has been added with
gtk_file_chooser_add_choice(). For a boolean choice, the
possible options are &quot;true&quot; and &quot;false&quot;.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> the ID of the choice to set
</parameter_description>
</parameter>
<parameter name="option">
<parameter_description> the ID of the option to select
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_create_folders">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="create_folders">
<parameter_description> %TRUE if the Create Folder button should be displayed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_current_folder">
<description>
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.

In general, you should not use this function.  See the
[section on setting up a file chooser dialog][gtkfilechooserdialog-setting-up]
for the rationale behind this.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the full path of the new current folder
</parameter_description>
</parameter>
</parameters>
<return> Not useful.
</return>
</function>

<function name="gtk_file_chooser_set_current_folder_file">
<description>
Sets the current folder for @chooser from a #GFile.
Internal function, see gtk_file_chooser_set_current_folder_uri().


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> the #GFile for the new folder
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the folder could be changed successfully, %FALSE
otherwise.
</return>
</function>

<function name="gtk_file_chooser_set_current_folder_uri">
<description>
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.

In general, you should not use this function.  See the
[section on setting up a file chooser dialog][gtkfilechooserdialog-setting-up]
for the rationale behind this.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI for the new current folder
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the folder could be changed successfully, %FALSE
otherwise.
</return>
</function>

<function name="gtk_file_chooser_set_current_name">
<description>
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 “Save As...” dialog.  You can
pass “Untitled.doc” or a similarly suitable suggestion for the @name.

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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the filename to use, as a UTF-8 string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_do_overwrite_confirmation">
<description>
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.

If set to %TRUE, the @chooser will emit the
#GtkFileChooser::confirm-overwrite signal when appropriate.

If all you need is the standard 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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="do_overwrite_confirmation">
<parameter_description> whether to confirm overwriting in save mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_extra_widget">
<description>
Sets an application-supplied widget to provide extra options to the user.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="extra_widget">
<parameter_description> widget for extra options
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_file">
<description>
Sets @file as the current filename for the file chooser, by changing
to the file’s parent folder and actually selecting the file in list.  If
the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file’s base name
will also appear in the dialog’s file name entry.

If the file name isn’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 save 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 Save As...  If you don’t have
a file name already — 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:
|[&lt;!-- language=&quot;C&quot; --&gt;
if (document_is_new)
{
// the user just created a new document
gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving);
gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
}
else
{
// the user edited an existing document
gtk_file_chooser_set_file (chooser, existing_file);
}
]|


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> the #GFile to set as current
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store the error, or %NULL to ignore errors.
</parameter_description>
</parameter>
</parameters>
<return> Not useful.
</return>
</function>

<function name="gtk_file_chooser_set_filename">
<description>
Sets @filename as the current filename for the file chooser, by changing to
the file’s parent folder and actually selecting the file in list; all other
files will be unselected.  If the @chooser is in
%GTK_FILE_CHOOSER_ACTION_SAVE mode, the file’s base name will also appear in
the dialog’s file name entry.

Note that the file must exist, or nothing will be done except
for the directory change.

You should use this function only when implementing a save
dialog for which you already have a file name to which
the user may save.  For example, when the user opens an existing file and
then does Save As... to save a copy or
a modified version.  If you don’t have a file name already — 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:
|[&lt;!-- language=&quot;C&quot; --&gt;
if (document_is_new)
{
// the user just created a new document
gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
}
else
{
// the user edited an existing document
gtk_file_chooser_set_filename (chooser, existing_filename);
}
]|

In the first case, the file chooser will present the user with useful suggestions
as to where to save his new file.  In the second case, the file’s existing location
is already known, so the file chooser will use it.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the filename to set as current
</parameter_description>
</parameter>
</parameters>
<return> Not useful.
</return>
</function>

<function name="gtk_file_chooser_set_filter">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_local_only">
<description>
Sets whether only local files can be selected in the
file selector. If @local_only is %TRUE (the default is %FALSE),
then the selected file or files are guaranteed to be
accessible through the operating system’s native 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(),

On some systems non-native files may still be
available using the native filesystem via a userspace
filesystem (FUSE).

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="local_only">
<parameter_description> %TRUE if only local files can be selected
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_preview_widget">
<description>
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
will display no preview at all.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="preview_widget">
<parameter_description> widget for displaying preview.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_preview_widget_active">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="active">
<parameter_description> whether to display the user-specified preview widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_select_multiple">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="select_multiple">
<parameter_description> %TRUE if multiple files can be selected.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_show_hidden">
<description>
Sets whether hidden files and folders are displayed in the file selector.  

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="show_hidden">
<parameter_description> %TRUE if hidden files and folders should be displayed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_set_uri">
<description>
Sets the file referred to by @uri as the current file for the file chooser,
by changing to the URI’s parent folder and actually selecting the URI in the
list.  If the @chooser is %GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI’s base
name will also appear in the dialog’s file name entry.

Note that the URI must exist, or nothing will be done except for the 
directory change.

You should use this function only when implementing a save
dialog for which you already have a file name to which
the user may save.  For example, when the user opens an existing file and then
does Save As... to save a copy or a
modified version.  If you don’t have a file name already — 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:
|[&lt;!-- language=&quot;C&quot; --&gt;
if (document_is_new)
{
// the user just created a new document
gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
}
else
{
// the user edited an existing document
gtk_file_chooser_set_uri (chooser, existing_uri);
}
]|


In the first case, the file chooser will present the user with useful suggestions
as to where to save his new file.  In the second case, the file’s existing location
is already known, so the file chooser will use it.


</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI to set as current
</parameter_description>
</parameter>
</parameters>
<return> Not useful.
</return>
</function>

<function name="gtk_file_chooser_set_use_preview_label">
<description>
Sets whether the file chooser should display a 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.

See also: gtk_file_chooser_set_preview_widget()

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="use_label">
<parameter_description> whether to display a label with the name of the previewed file
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_unselect_all">
<description>
Unselects all the files in the current folder of a file chooser.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_unselect_file">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> a #GFile
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_unselect_filename">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the filename to unselect
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_unselect_uri">
<description>
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.

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI to unselect
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_widget_new">
<description>
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.


</description>
<parameters>
<parameter name="action">
<parameter_description> Open or save mode for the widget
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFileChooserWidget
</return>
</function>

<function name="gtk_file_filter_add_custom">
<description>
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’t needed by the filter.

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
<parameter name="needed">
<parameter_description> bitfield of flags indicating the information that the custom
filter function needs.
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> callback function; if the function returns %TRUE, then
the file will be displayed.
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to pass to @func
</parameter_description>
</parameter>
<parameter name="notify">
<parameter_description> function to call to free @data when it is no longer needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_filter_add_mime_type">
<description>
Adds a rule allowing a given mime type to @filter.

</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkFileFilter
</parameter_description>
</parameter>
<parameter name="mime_type">
<parameter_description> name of a MIME type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_filter_add_pattern">
<description>
Adds a rule allowing a shell style glob to a filter.

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
<parameter name="pattern">
<parameter_description> a shell style glob
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_filter_add_pixbuf_formats">
<description>
Adds a rule allowing image files in the formats supported
by GdkPixbuf.

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_filter_filter">
<description>
Tests whether a file should be displayed according to @filter.
The #GtkFileFilterInfo @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.


</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
<parameter name="filter_info">
<parameter_description> a #GtkFileFilterInfo containing information
about a file.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the file should be displayed
</return>
</function>

<function name="gtk_file_filter_get_name">
<description>
Gets the human-readable name for the filter. See gtk_file_filter_set_name().


</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
</parameters>
<return> The human-readable name of the filter,
or %NULL. This value is owned by GTK+ and must not
be modified or freed.
</return>
</function>

<function name="gtk_file_filter_get_needed">
<description>
Gets the fields that need to be filled in for the #GtkFileFilterInfo
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.


</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
</parameters>
<return> bitfield of flags indicating needed fields when
calling gtk_file_filter_filter()
</return>
</function>

<function name="gtk_file_filter_new">
<description>
Creates a new #GtkFileFilter with no rules added to it.
Such a filter doesn’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:
|[&lt;!-- language=&quot;C&quot; --&gt;
GtkFileFilter *filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, &quot;*&quot;);
]|


</description>
<parameters>
</parameters>
<return> a new #GtkFileFilter
</return>
</function>

<function name="gtk_file_filter_new_from_gvariant">
<description>
Deserialize a file filter from an a{sv} variant in
the format produced by gtk_file_filter_to_gvariant().


</description>
<parameters>
<parameter name="variant">
<parameter_description> an a{sv} #GVariant
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFileFilter object
</return>
</function>

<function name="gtk_file_filter_set_name">
<description>
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.

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the human-readable-name for the filter, or %NULL
to remove any existing name.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_filter_to_gvariant">
<description>
Serialize a file filter to an a{sv} variant.


</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
</parameters>
<return> a new, floating, #GVariant
</return>
</function>

<function name="gtk_filter_list_model_get_model">
<description>
Gets the model currently filtered or %NULL if none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFilterListModel
</parameter_description>
</parameter>
</parameters>
<return> The model that gets filtered
</return>
</function>

<function name="gtk_filter_list_model_has_filter">
<description>
Checks if a filter function is currently set on @self


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFilterListModel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a filter function is set
</return>
</function>

<function name="gtk_filter_list_model_new">
<description>
Creates a new #GtkFilterListModel that will filter @model using the given
@filter_func.


</description>
<parameters>
<parameter name="model">
<parameter_description> the model to sort
</parameter_description>
</parameter>
<parameter name="filter_func">
<parameter_description> filter function or %NULL to not filter items
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @filter_func
</parameter_description>
</parameter>
<parameter name="user_destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFilterListModel
</return>
</function>

<function name="gtk_filter_list_model_new_for_type">
<description>
Creates a new empty filter list model set up to return items of type @item_type.
It is up to the application to set a proper filter function and model to ensure
the item type is matched.


</description>
<parameters>
<parameter name="item_type">
<parameter_description> the type of the items that will be returned
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFilterListModel
</return>
</function>

<function name="gtk_filter_list_model_refilter">
<description>
Causes @self to refilter all items in the model.

Calling this function is necessary when data used by the filter
function has changed.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFilterListModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_filter_list_model_set_filter_func">
<description>
Sets the function used to filter items. The function will be called for every
item and if it returns %TRUE the item is considered visible.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFilterListModel
</parameter_description>
</parameter>
<parameter name="filter_func">
<parameter_description> filter function or %NULL to not filter items
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @filter_func
</parameter_description>
</parameter>
<parameter name="user_destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_filter_list_model_set_model">
<description>
Sets the model to be filtered.

Note that GTK makes no effort to ensure that @model conforms to
the item type of @self. It assumes that the caller knows what they
are doing and have set up an appropriate filter function to ensure
that item types match.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFilterListModel
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> The model to be filtered
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_fixed_get_child_position">
<description>
Retrieves the translation transformation of the given child #GtkWidget
in the given #GtkFixed container.

See also: gtk_fixed_get_child_transform().

</description>
<parameters>
<parameter name="fixed">
<parameter_description> a #GtkFixed
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a child of @fixed
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the horizontal position of the @widget
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the vertical position of the @widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_fixed_get_child_transform">
<description>
Retrieves the transformation for @widget set using
gtk_fixed_set_child_transform().


</description>
<parameters>
<parameter name="fixed">
<parameter_description> a #GtkFixed
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget, child of @fixed
</parameter_description>
</parameter>
</parameters>
<return> a #GskTransform or %NULL
in case no transform has been set on @widget
</return>
</function>

<function name="gtk_fixed_layout_child_get_transform">
<description>
Retrieves the transformation of the child of a #GtkFixedLayout.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkFixedLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> a #GskTransform
</return>
</function>

<function name="gtk_fixed_layout_child_set_transform">
<description>
Sets the transformation of the child of a #GtkFixedLayout.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkFixedLayoutChild
</parameter_description>
</parameter>
<parameter name="transform">
<parameter_description> a #GskTransform
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_fixed_layout_new">
<description>
Creates a new #GtkFixedLayout.


</description>
<parameters>
</parameters>
<return> the newly created #GtkFixedLayout
</return>
</function>

<function name="gtk_fixed_move">
<description>
Sets a translation transformation to the given @x and @y coordinates to
the child @widget of the given #GtkFixed container.

</description>
<parameters>
<parameter name="fixed">
<parameter_description> a #GtkFixed.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the child widget.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the horizontal position to move the widget to.
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the vertical position to move the widget to.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_fixed_new">
<description>
Creates a new #GtkFixed.


</description>
<parameters>
</parameters>
<return> a new #GtkFixed.
</return>
</function>

<function name="gtk_fixed_put">
<description>
Adds a widget to a #GtkFixed container and assigns a translation
transformation to the given @x and @y coordinates to it.

</description>
<parameters>
<parameter name="fixed">
<parameter_description> a #GtkFixed.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget to add.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the horizontal position to place the widget at.
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the vertical position to place the widget at.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_fixed_set_child_transform">
<description>
Sets the transformation for @widget.

This is a convenience function that retrieves the #GtkFixedLayoutChild
instance associated to @widget and calls gtk_fixed_layout_child_set_transform().

</description>
<parameters>
<parameter name="fixed">
<parameter_description> a #GtkFixed
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget, child of @fixed
</parameter_description>
</parameter>
<parameter name="transform">
<parameter_description> the transformation assigned to @widget or %NULL
to reset @widget's transform
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flatten_list_model_get_model">
<description>
Gets the model set via gtk_flatten_list_model_set_model().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFlattenListModel
</parameter_description>
</parameter>
</parameters>
<return> The model flattened by @self
</return>
</function>

<function name="gtk_flatten_list_model_new">
<description>
Creates a new #GtkFlattenListModel that flattens @list. The
models returned by @model must conform to the given @item_type,
either by having an identical type or a subtype.


</description>
<parameters>
<parameter name="item_type">
<parameter_description> The type of items in the to-be-flattened models
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the item to be flattened
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFlattenListModel
</return>
</function>

<function name="gtk_flatten_list_model_set_model">
<description>
Sets a new model to be flattened. The model must contain items of
#GtkListModel that conform to the item type of @self.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkFlattenListModel
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the new model or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_bind_model">
<description>
Binds @model to @box.

If @box was already bound to a model, that previous binding is
destroyed.

The contents of @box are cleared and then filled with widgets that
represent items from @model. @box is updated whenever @model changes.
If @model is %NULL, @box is left empty.

It is undefined to add or remove widgets directly (for example, with
gtk_flow_box_insert() or gtk_container_add()) while @box is bound to a
model.

Note that using a model is incompatible with the filtering and sorting
functionality in GtkFlowBox. When using a model, filtering and sorting
should be implemented by the model.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the #GListModel to be bound to @box
</parameter_description>
</parameter>
<parameter name="create_widget_func">
<parameter_description> a function that creates widgets for items
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @create_widget_func
</parameter_description>
</parameter>
<parameter name="user_data_free_func">
<parameter_description> function for freeing @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_child_changed">
<description>
Marks @child as changed, causing any state that depends on this
to be updated. This affects sorting and filtering.

Note that calls to this method must be in sync with the data
used for the sorting and filtering functions. For instance, if
the list is mirroring some external data set, and *two* children
changed in the external data set when you call
gtk_flow_box_child_changed() on the first child, the sort function
must only read the new data for the first of the two changed
children, otherwise the resorting of the children will be wrong.

This generally means that if you don’t fully control the data
model, you have to duplicate the data that affects the sorting
and filtering functions into the widgets themselves. Another
alternative is to call gtk_flow_box_invalidate_sort() on any
model change, but that is more expensive.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkFlowBoxChild
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_child_get_index">
<description>
Gets the current index of the @child in its #GtkFlowBox container.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkFlowBoxChild
</parameter_description>
</parameter>
</parameters>
<return> the index of the @child, or -1 if the @child is not
in a flow box.
</return>
</function>

<function name="gtk_flow_box_child_is_selected">
<description>
Returns whether the @child is currently selected in its
#GtkFlowBox container.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkFlowBoxChild
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @child is selected
</return>
</function>

<function name="gtk_flow_box_child_new">
<description>
Creates a new #GtkFlowBoxChild, to be used as a child
of a #GtkFlowBox.


</description>
<parameters>
</parameters>
<return> a new #GtkFlowBoxChild
</return>
</function>

<function name="gtk_flow_box_get_activate_on_single_click">
<description>
Returns whether children activate on single clicks.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if children are activated on single click,
%FALSE otherwise
</return>
</function>

<function name="gtk_flow_box_get_child_at_index">
<description>
Gets the nth child in the @box.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="idx">
<parameter_description> the position of the child
</parameter_description>
</parameter>
</parameters>
<return> the child widget, which will
always be a #GtkFlowBoxChild or %NULL in case no child widget
with the given index exists.
</return>
</function>

<function name="gtk_flow_box_get_child_at_pos">
<description>
Gets the child in the (@x, @y) position. Both @x and @y are
assumed to be relative to the origin of @box.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate of the child
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the child
</parameter_description>
</parameter>
</parameters>
<return> the child widget, which will
always be a #GtkFlowBoxChild or %NULL in case no child widget
exists for the given x and y coordinates.
</return>
</function>

<function name="gtk_flow_box_get_column_spacing">
<description>
Gets the horizontal spacing.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return> the horizontal spacing
</return>
</function>

<function name="gtk_flow_box_get_homogeneous">
<description>
Returns whether the box is homogeneous (all children are the
same size). See gtk_box_set_homogeneous().


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the box is homogeneous.
</return>
</function>

<function name="gtk_flow_box_get_max_children_per_line">
<description>
Gets the maximum number of children per line.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return> the maximum number of children per line
</return>
</function>

<function name="gtk_flow_box_get_min_children_per_line">
<description>
Gets the minimum number of children per line.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return> the minimum number of children per line
</return>
</function>

<function name="gtk_flow_box_get_row_spacing">
<description>
Gets the vertical spacing.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return> the vertical spacing
</return>
</function>

<function name="gtk_flow_box_get_selected_children">
<description>
Creates a list of all selected children.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return>
A #GList containing the #GtkWidget for each selected child.
Free with g_list_free() when done.
</return>
</function>

<function name="gtk_flow_box_get_selection_mode">
<description>
Gets the selection mode of @box.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return> the #GtkSelectionMode
</return>
</function>

<function name="gtk_flow_box_insert">
<description>
Inserts the @widget into @box at @position.

If a sort function is set, the widget will actually be inserted
at the calculated position and this function has the same effect
as gtk_container_add().

If @position is -1, or larger than the total number of children
in the @box, then the @widget will be appended to the end.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget to add
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position to insert @child in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_invalidate_filter">
<description>
Updates the filtering for all children.

Call this function when the result of the filter
function on the @box is changed due ot an external
factor. For instance, this would be used if the
filter function just looked for a specific search
term, and the entry with the string has changed.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_invalidate_sort">
<description>
Updates the sorting for all children.

Call this when the result of the sort function on
@box is changed due to an external factor.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_new">
<description>
Creates a GtkFlowBox.


</description>
<parameters>
</parameters>
<return> a new #GtkFlowBox container
</return>
</function>

<function name="gtk_flow_box_select_all">
<description>
Select all children of @box, if the selection
mode allows it.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_select_child">
<description>
Selects a single child of @box, if the selection
mode allows it.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @box
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_selected_foreach">
<description>
Calls a function for each selected child.

Note that the selection cannot be modified from within
this function.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> the function to call for each selected child
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data to pass to the function
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_activate_on_single_click">
<description>
If @single is %TRUE, children will be activated when you click
on them, otherwise you need to double-click.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="single">
<parameter_description> %TRUE to emit child-activated on a single click
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_column_spacing">
<description>
Sets the horizontal space to add between children.
See the #GtkFlowBox:column-spacing property.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the spacing to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_filter_func">
<description>
By setting a filter function on the @box one can decide dynamically
which of the children to show. For instance, to implement a search
function that only shows the children matching the search terms.

The @filter_func will be called for each child after the call, and
it will continue to be called each time a child changes (via
gtk_flow_box_child_changed()) or when gtk_flow_box_invalidate_filter()
is called.

Note that using a filter function is incompatible with using a model
(see gtk_flow_box_bind_model()).

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="filter_func">
<parameter_description> callback that
lets you filter which children to show
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @filter_func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_hadjustment">
<description>
Hooks up an adjustment to focus handling in @box.
The adjustment is also used for autoscrolling during
rubberband selection. See gtk_scrolled_window_get_hadjustment()
for a typical way of obtaining the adjustment, and
gtk_flow_box_set_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 box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> an adjustment which should be adjusted
when the focus is moved among the descendents of @container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_homogeneous">
<description>
Sets the #GtkFlowBox:homogeneous property of @box, controlling
whether or not all children of @box are given equal space
in the box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> %TRUE to create equal allotments,
%FALSE for variable allotments
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_max_children_per_line">
<description>
Sets the maximum number of children to request and
allocate space for in @box’s orientation.

Setting the maximum number of children per line
limits the overall natural size request to be no more
than @n_children children long in the given orientation.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="n_children">
<parameter_description> the maximum number of children per line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_min_children_per_line">
<description>
Sets the minimum number of children to line up
in @box’s orientation before flowing.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="n_children">
<parameter_description> the minimum number of children per line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_row_spacing">
<description>
Sets the vertical space to add between children.
See the #GtkFlowBox:row-spacing property.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the spacing to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_selection_mode">
<description>
Sets how selection works in @box.
See #GtkSelectionMode for details.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> the new selection mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_sort_func">
<description>
By setting a sort function on the @box, one can dynamically
reorder the children of the box, based on the contents of
the children.

The @sort_func will be called for each child after the call,
and will continue to be called each time a child changes (via
gtk_flow_box_child_changed()) and when gtk_flow_box_invalidate_sort()
is called.

Note that using a sort function is incompatible with using a model
(see gtk_flow_box_bind_model()).

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="sort_func">
<parameter_description> the sort function
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @sort_func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_set_vadjustment">
<description>
Hooks up an adjustment to focus handling in @box.
The adjustment is also used for autoscrolling during
rubberband selection. See gtk_scrolled_window_get_vadjustment()
for a typical way of obtaining the adjustment, and
gtk_flow_box_set_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 box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> an adjustment which should be adjusted
when the focus is moved among the descendents of @container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_unselect_all">
<description>
Unselect all children of @box, if the selection
mode allows it.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_flow_box_unselect_child">
<description>
Unselects a single child of @box, if the selection
mode allows it.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkFlowBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @box
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_button_get_title">
<description>
Retrieves the title of the font chooser dialog.


</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
</parameters>
<return> an internal copy of the title string which must not be freed.
</return>
</function>

<function name="gtk_font_button_get_use_font">
<description>
Returns whether the selected font is used in the label.


</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
</parameters>
<return> whether the selected font is used in the label.
</return>
</function>

<function name="gtk_font_button_get_use_size">
<description>
Returns whether the selected size is used in the label.


</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
</parameters>
<return> whether the selected size is used in the label.
</return>
</function>

<function name="gtk_font_button_new">
<description>
Creates a new font picker widget.


</description>
<parameters>
</parameters>
<return> a new font picker widget.
</return>
</function>

<function name="gtk_font_button_new_with_font">
<description>
Creates a new font picker widget.


</description>
<parameters>
<parameter name="fontname">
<parameter_description> Name of font to display in font chooser dialog
</parameter_description>
</parameter>
</parameters>
<return> a new font picker widget.
</return>
</function>

<function name="gtk_font_button_set_title">
<description>
Sets the title for the font chooser dialog.  

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> a string containing the font chooser dialog title
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_button_set_use_font">
<description>
If @use_font is %TRUE, the font name will be written using the selected font.  

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
<parameter name="use_font">
<parameter_description> If %TRUE, font name will be written using font chosen.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_button_set_use_size">
<description>
If @use_size is %TRUE, the font name will be written using the selected size.

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
<parameter name="use_size">
<parameter_description> If %TRUE, font name will be written using the selected size.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_dialog_new">
<description>
Creates a new #GtkFontChooserDialog.


</description>
<parameters>
<parameter name="title">
<parameter_description> Title of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> Transient parent of the dialog, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFontChooserDialog
</return>
</function>

<function name="gtk_font_chooser_get_font">
<description>
Gets the currently-selected font name.

Note that this can be a different string than what you set with
gtk_font_chooser_set_font(), as the font chooser widget may
normalize font names and thus return a string with a different
structure. For example, “Helvetica Italic Bold 12” could be
normalized to “Helvetica Bold Italic 12”.

Use pango_font_description_equal() if you want to compare two
font descriptions.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> A string with the name
of the current font, or %NULL if  no font is selected. You must
free this string with g_free().
</return>
</function>

<function name="gtk_font_chooser_get_font_desc">
<description>
Gets the currently-selected font.

Note that this can be a different string than what you set with
gtk_font_chooser_set_font(), as the font chooser widget may
normalize font names and thus return a string with a different
structure. For example, “Helvetica Italic Bold 12” could be
normalized to “Helvetica Bold Italic 12”.

Use pango_font_description_equal() if you want to compare two
font descriptions.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> A #PangoFontDescription for the
current font, or %NULL if  no font is selected.
</return>
</function>

<function name="gtk_font_chooser_get_font_face">
<description>
Gets the #PangoFontFace representing the selected font group
details (i.e. family, slant, weight, width, etc).

If the selected font is not installed, returns %NULL.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> A #PangoFontFace representing the
selected font group details, or %NULL. The returned object is owned by
@fontchooser and must not be modified or freed.
</return>
</function>

<function name="gtk_font_chooser_get_font_family">
<description>
Gets the #PangoFontFamily representing the selected font family.
Font families are a collection of font faces.

If the selected font is not installed, returns %NULL.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> A #PangoFontFamily representing the
selected font family, or %NULL. The returned object is owned by @fontchooser
and must not be modified or freed.
</return>
</function>

<function name="gtk_font_chooser_get_font_features">
<description>
Gets the currently-selected font features.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> the currently selected font features
</return>
</function>

<function name="gtk_font_chooser_get_font_map">
<description>
Gets the custom font map of this font chooser widget,
or %NULL if it does not have one.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> a #PangoFontMap, or %NULL
</return>
</function>

<function name="gtk_font_chooser_get_font_size">
<description>
The selected font size.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> A n integer representing the selected font size,
or -1 if no font size is selected.
</return>
</function>

<function name="gtk_font_chooser_get_language">
<description>
Gets the language that is used for font features.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> the currently selected language
</return>
</function>

<function name="gtk_font_chooser_get_level">
<description>
Returns the current level of granularity for selecting fonts.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> the current granularity level
</return>
</function>

<function name="gtk_font_chooser_get_preview_text">
<description>
Gets the text displayed in the preview area.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> the text displayed in the
preview area
</return>
</function>

<function name="gtk_font_chooser_get_show_preview_entry">
<description>
Returns whether the preview entry is shown or not.


</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the preview entry is shown
or %FALSE if it is hidden.
</return>
</function>

<function name="gtk_font_chooser_set_filter_func">
<description>
Adds a filter function that decides which fonts to display
in the font chooser.

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="filter">
<parameter_description> a #GtkFontFilterFunc, or %NULL
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to @filter
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> function to call to free @data when it is no longer needed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_font">
<description>
Sets the currently-selected font.

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="fontname">
<parameter_description> a font name like “Helvetica 12” or “Times Bold 18”
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_font_desc">
<description>
Sets the currently-selected font from @font_desc.

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="font_desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_font_map">
<description>
Sets a custom font map to use for this font chooser widget.
A custom font map can be used to present application-specific
fonts instead of or in addition to the normal system fonts.

|[&lt;!-- language=&quot;C&quot; --&gt;
FcConfig *config;
PangoFontMap *fontmap;

config = FcInitLoadConfigAndFonts ();
FcConfigAppFontAddFile (config, my_app_font_file);

fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT);
pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (fontmap), config);

gtk_font_chooser_set_font_map (font_chooser, fontmap);
]|

Note that other GTK+ widgets will only be able to use the application-specific
font if it is present in the font map they use:

|[
context = gtk_widget_get_pango_context (label);
pango_context_set_font_map (context, fontmap);
]|

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="fontmap">
<parameter_description> a #PangoFontMap
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_language">
<description>
Sets the language to use for font features.

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> a language
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_level">
<description>
Sets the desired level of granularity for selecting fonts.

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="level">
<parameter_description> the desired level of granularity
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_preview_text">
<description>
Sets the text displayed in the preview area.
The @text is used to show how the selected font looks.

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the text to display in the preview area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_show_preview_entry">
<description>
Shows or hides the editable preview entry.

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="show_preview_entry">
<parameter_description> whether to show the editable preview entry or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_widget_new">
<description>
Creates a new #GtkFontChooserWidget.


</description>
<parameters>
</parameters>
<return> a new #GtkFontChooserWidget
</return>
</function>

<function name="gtk_frame_get_label">
<description>
If the frame’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().)


</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
</parameters>
<return> the text in the label, or %NULL if there
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>
</function>

<function name="gtk_frame_get_label_align">
<description>
Retrieves the X alignment of the frame’s label. See
gtk_frame_set_label_align().

</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_frame_get_label_widget">
<description>
Retrieves the label widget for the frame. See
gtk_frame_set_label_widget().


</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
</parameters>
<return> the label widget, or %NULL if
there is none.
</return>
</function>

<function name="gtk_frame_get_shadow_type">
<description>
Retrieves the shadow type of the frame. See
gtk_frame_set_shadow_type().


</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
</parameters>
<return> the current shadow type of the frame.
</return>
</function>

<function name="gtk_frame_new">
<description>
Creates a new #GtkFrame, with optional label @label.
If @label is %NULL, the label is omitted.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text to use as the label of the frame
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFrame widget
</return>
</function>

<function name="gtk_frame_set_label">
<description>
Removes the current #GtkFrame:label-widget. If @label is not %NULL, creates a
new #GtkLabel with that text and adds it as the #GtkFrame:label-widget.

</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text to use as the label of the frame
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_frame_set_label_align">
<description>
Sets the X alignment of the frame widget’s label. The
default value for a newly created frame is 0.0.

</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> The position of the label along the top edge
of the widget. A value of 0.0 represents left alignment;
1.0 represents right alignment.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_frame_set_label_widget">
<description>
Sets the #GtkFrame:label-widget for the frame. This is the widget that
will appear embedded in the top edge of the frame as a title.

</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
<parameter name="label_widget">
<parameter_description> the new label widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_frame_set_shadow_type">
<description>
Sets the #GtkFrame:shadow-type for @frame, i.e. whether it is drawn without
(%GTK_SHADOW_NONE) or with (other values) a visible border. Values other than
%GTK_SHADOW_NONE are treated identically by GtkFrame. The chosen type is
applied by removing or adding the .flat class to the main CSS node, frame.

</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the new #GtkShadowType
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_click_get_area">
<description>
If an area was set through gtk_gesture_click_set_area(),
this function will return %TRUE and fill in @rect with the
press area. See gtk_gesture_click_set_area() for more
details on what the press area represents.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureClick
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> return location for the press area
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @rect was filled with the press area
</return>
</function>

<function name="gtk_gesture_click_new">
<description>
Returns a newly created #GtkGesture that recognizes single and multiple
presses.


</description>
<parameters>
</parameters>
<return> a newly created #GtkGestureClick
</return>
</function>

<function name="gtk_gesture_click_set_area">
<description>
If @rect is non-%NULL, the press area will be checked to be
confined within the rectangle, otherwise the button count
will be reset so the press is seen as being the first one.
If @rect is %NULL, the area will be reset to an unrestricted
state.

Note: The rectangle is only used to determine whether any
non-first click falls within the expected area. This is not
akin to an input shape.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureClick
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> rectangle to receive coordinates on
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_drag_get_offset">
<description>
If the @gesture is active, this function returns %TRUE and
fills in @x and @y with the coordinates of the current point,
as an offset to the starting drag point.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X offset for the current point
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y offset for the current point
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the gesture is active
</return>
</function>

<function name="gtk_gesture_drag_get_start_point">
<description>
If the @gesture is active, this function returns %TRUE
and fills in @x and @y with the drag start coordinates,
in window-relative coordinates.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate for the drag start point
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate for the drag start point
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the gesture is active
</return>
</function>

<function name="gtk_gesture_drag_new">
<description>
Returns a newly created #GtkGesture that recognizes drags.


</description>
<parameters>
</parameters>
<return> a newly created #GtkGestureDrag
</return>
</function>

<function name="gtk_gesture_get_bounding_box">
<description>
If there are touch sequences being currently handled by @gesture,
this function returns %TRUE and fills in @rect with the bounding
box containing all active touches. Otherwise, %FALSE will be
returned.

Note: This function will yield unexpected results on touchpad
gestures. Since there is no correlation between physical and
pixel distances, these will look as if constrained in an
infinitely small area, @rect width and height will thus be 0
regardless of the number of touchpoints.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> bounding box containing all active touches.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there are active touches, %FALSE otherwise
</return>
</function>

<function name="gtk_gesture_get_bounding_box_center">
<description>
If there are touch sequences being currently handled by @gesture,
this function returns %TRUE and fills in @x and @y with the center
of the bounding box containing all active touches. Otherwise, %FALSE
will be returned.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate for the bounding box center
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate for the bounding box center
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if no active touches are present, %TRUE otherwise
</return>
</function>

<function name="gtk_gesture_get_device">
<description>
Returns the master #GdkDevice that is currently operating
on @gesture, or %NULL if the gesture is not being interacted.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return> a #GdkDevice, or %NULL
</return>
</function>

<function name="gtk_gesture_get_group">
<description>
Returns all gestures in the group of @gesture


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return> The list
of #GtkGestures, free with g_list_free()
</return>
</function>

<function name="gtk_gesture_get_last_event">
<description>
Returns the last event that was processed for @sequence.

Note that the returned pointer is only valid as long as the @sequence
is still interpreted by the @gesture. If in doubt, you should make
a copy of the event.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> a #GdkEventSequence
</parameter_description>
</parameter>
</parameters>
<return> The last event from @sequence
</return>
</function>

<function name="gtk_gesture_get_last_updated_sequence">
<description>
Returns the #GdkEventSequence that was last updated on @gesture.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return> The last updated sequence
</return>
</function>

<function name="gtk_gesture_get_point">
<description>
If @sequence is currently being interpreted by @gesture, this
function returns %TRUE and fills in @x and @y with the last coordinates
stored for that event sequence. The coordinates are always relative to the
widget allocation.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> a #GdkEventSequence, or %NULL for pointer events
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> return location for X axis of the sequence coordinates
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> return location for Y axis of the sequence coordinates
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @sequence is currently interpreted
</return>
</function>

<function name="gtk_gesture_get_sequence_state">
<description>
Returns the @sequence state, as seen by @gesture.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> a #GdkEventSequence
</parameter_description>
</parameter>
</parameters>
<return> The sequence state in @gesture
</return>
</function>

<function name="gtk_gesture_get_sequences">
<description>
Returns the list of #GdkEventSequences currently being interpreted
by @gesture.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return> A list
of #GdkEventSequences, the list elements are owned by GTK+
and must not be freed or modified, the list itself must be deleted
through g_list_free()
</return>
</function>

<function name="gtk_gesture_group">
<description>
Adds @gesture to the same group than @group_gesture. Gestures
are by default isolated in their own groups.

Both gestures must have been added to the same widget before they
can be grouped. 

When gestures are grouped, the state of #GdkEventSequences
is kept in sync for all of those, so calling gtk_gesture_set_sequence_state(),
on one will transfer the same value to the others.

Groups also perform an &quot;implicit grabbing&quot; of sequences, if a
#GdkEventSequence state is set to #GTK_EVENT_SEQUENCE_CLAIMED on one group,
every other gesture group attached to the same #GtkWidget will switch the
state for that sequence to #GTK_EVENT_SEQUENCE_DENIED.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="group_gesture">
<parameter_description> #GtkGesture to group @gesture with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_handles_sequence">
<description>
Returns %TRUE if @gesture is currently handling events corresponding to
@sequence.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> a #GdkEventSequence or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @gesture is handling @sequence, %FALSE otherwise
</return>
</function>

<function name="gtk_gesture_is_active">
<description>
Returns %TRUE if the gesture is currently active.
A gesture is active meanwhile there are touch sequences
interacting with it.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if gesture is active
</return>
</function>

<function name="gtk_gesture_is_grouped_with">
<description>
Returns %TRUE if both gestures pertain to the same group.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="other">
<parameter_description> another #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return> whether the gestures are grouped
</return>
</function>

<function name="gtk_gesture_is_recognized">
<description>
Returns %TRUE if the gesture is currently recognized.
A gesture is recognized if there are as many interacting
touch sequences as required by @gesture, and #GtkGesture::check
returned %TRUE for the sequences being currently interpreted.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if gesture is recognized
</return>
</function>

<function name="gtk_gesture_long_press_get_property">
<description>
Returns the delay factor as set by gtk_gesture_long_press_set_delay_factor().

</description>
<parameters>
<parameter name="gesture">
<parameter_description> A #GtkGestureLongPress
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_long_press_new">
<description>
Returns a newly created #GtkGesture that recognizes long presses.


</description>
<parameters>
</parameters>
<return> a newly created #GtkGestureLongPress
</return>
</function>

<function name="gtk_gesture_long_press_set_property">
<description>
Applies the given delay factor. The default long press time will be
multiplied by this value.
Valid values are in the range [0.5..2.0].

</description>
<parameters>
<parameter name="gesture">
<parameter_description> A #GtkGestureLongPress
</parameter_description>
</parameter>
<parameter name="delay_factor">
<parameter_description> The delay factor to apply
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_pan_get_orientation">
<description>
Returns the orientation of the pan gestures that this @gesture expects.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> A #GtkGesturePan
</parameter_description>
</parameter>
</parameters>
<return> the expected orientation for pan gestures
</return>
</function>

<function name="gtk_gesture_pan_new">
<description>
Returns a newly created #GtkGesture that recognizes pan gestures.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> expected orientation
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkGesturePan
</return>
</function>

<function name="gtk_gesture_pan_set_orientation">
<description>
Sets the orientation to be expected on pan gestures.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> A #GtkGesturePan
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> expected orientation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_rotate_get_angle_delta">
<description>
If @gesture is active, this function returns the angle difference
in radians since the gesture was first recognized. If @gesture is
not active, 0 is returned.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureRotate
</parameter_description>
</parameter>
</parameters>
<return> the angle delta in radians
</return>
</function>

<function name="gtk_gesture_rotate_new">
<description>
Returns a newly created #GtkGesture that recognizes 2-touch
rotation gestures.


</description>
<parameters>
</parameters>
<return> a newly created #GtkGestureRotate
</return>
</function>

<function name="gtk_gesture_set_sequence_state">
<description>
Sets the state of @sequence in @gesture. Sequences start
in state #GTK_EVENT_SEQUENCE_NONE, and whenever they change
state, they can never go back to that state. Likewise,
sequences in state #GTK_EVENT_SEQUENCE_DENIED cannot turn
back to a not denied state. With these rules, the lifetime
of an event sequence is constrained to the next four:

* None
* None → Denied
* None → Claimed
* None → Claimed → Denied

Note: Due to event handling ordering, it may be unsafe to
set the state on another gesture within a #GtkGesture::begin
signal handler, as the callback might be executed before
the other gesture knows about the sequence. A safe way to
perform this could be:

|[
static void
first_gesture_begin_cb (GtkGesture       *first_gesture,
GdkEventSequence *sequence,
gpointer          user_data)
{
gtk_gesture_set_sequence_state (first_gesture, sequence, GTK_EVENT_SEQUENCE_CLAIMED);
gtk_gesture_set_sequence_state (second_gesture, sequence, GTK_EVENT_SEQUENCE_DENIED);
}

static void
second_gesture_begin_cb (GtkGesture       *second_gesture,
GdkEventSequence *sequence,
gpointer          user_data)
{
if (gtk_gesture_get_sequence_state (first_gesture, sequence) == GTK_EVENT_SEQUENCE_CLAIMED)
gtk_gesture_set_sequence_state (second_gesture, sequence, GTK_EVENT_SEQUENCE_DENIED);
}
]|

If both gestures are in the same group, just set the state on
the gesture emitting the event, the sequence will be already
be initialized to the group's global state when the second
gesture processes the event.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="sequence">
<parameter_description> a #GdkEventSequence
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the sequence state
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @sequence is handled by @gesture,
and the state is changed successfully
</return>
</function>

<function name="gtk_gesture_set_state">
<description>
Sets the state of all sequences that @gesture is currently
interacting with. See gtk_gesture_set_sequence_state()
for more details on sequence states.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the sequence state
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the state of at least one sequence
was changed successfully
</return>
</function>

<function name="gtk_gesture_single_get_button">
<description>
Returns the button number @gesture listens for, or 0 if @gesture
reacts to any button press.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
</parameters>
<return> The button number, or 0 for any button
</return>
</function>

<function name="gtk_gesture_single_get_current_button">
<description>
Returns the button number currently interacting with @gesture, or 0 if there
is none.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
</parameters>
<return> The current button number
</return>
</function>

<function name="gtk_gesture_single_get_current_sequence">
<description>
Returns the event sequence currently interacting with @gesture.
This is only meaningful if gtk_gesture_is_active() returns %TRUE.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
</parameters>
<return> the current sequence
</return>
</function>

<function name="gtk_gesture_single_get_exclusive">
<description>
Gets whether a gesture is exclusive. For more information, see
gtk_gesture_single_set_exclusive().


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
</parameters>
<return> Whether the gesture is exclusive
</return>
</function>

<function name="gtk_gesture_single_get_touch_only">
<description>
Returns %TRUE if the gesture is only triggered by touch events.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the gesture only handles touch events
</return>
</function>

<function name="gtk_gesture_single_set_button">
<description>
Sets the button number @gesture listens to. If non-0, every
button press from a different button number will be ignored.
Touch events implicitly match with button 1.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> button number to listen to, or 0 for any button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_single_set_exclusive">
<description>
Sets whether @gesture is exclusive. An exclusive gesture will
only handle pointer and &quot;pointer emulated&quot; touch events, so at
any given time, there is only one sequence able to interact with
those.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
<parameter name="exclusive">
<parameter_description> %TRUE to make @gesture exclusive
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_single_set_touch_only">
<description>
If @touch_only is %TRUE, @gesture will only handle events of type
#GDK_TOUCH_BEGIN, #GDK_TOUCH_UPDATE or #GDK_TOUCH_END. If %FALSE,
mouse events will be handled too.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSingle
</parameter_description>
</parameter>
<parameter name="touch_only">
<parameter_description> whether @gesture handles only touch events
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_stylus_get_axes">
<description>
Returns the current values for the requested @axes. This function
must be called from either the #GtkGestureStylus::down,
#GtkGestureStylus::motion, #GtkGestureStylus::up or #GtkGestureStylus::proximity
signals.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a GtkGestureStylus
</parameter_description>
</parameter>
<parameter name="axes">
<parameter_description> array of requested axes, terminated with #GDK_AXIS_IGNORE
</parameter_description>
</parameter>
<parameter name="values">
<parameter_description> return location for the axis values
</parameter_description>
</parameter>
</parameters>
<return> #TRUE if there is a current value for the axes
</return>
</function>

<function name="gtk_gesture_stylus_get_axis">
<description>
Returns the current value for the requested @axis. This function
must be called from either the #GtkGestureStylus::down,
#GtkGestureStylus::motion, #GtkGestureStylus::up or #GtkGestureStylus::proximity
signals.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureStylus
</parameter_description>
</parameter>
<parameter name="axis">
<parameter_description> requested device axis
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> return location for the axis value
</parameter_description>
</parameter>
</parameters>
<return> #TRUE if there is a current value for the axis
</return>
</function>

<function name="gtk_gesture_stylus_get_backlog">
<description>
By default, GTK+ will limit rate of input events. On stylus input where
accuracy of strokes is paramount, this function returns the accumulated
coordinate/timing state before the emission of the current
#GtkGestureStylus:motion signal.

This function may only be called within a #GtkGestureStylus::motion
signal handler, the state given in this signal and obtainable through
gtk_gesture_stylus_get_axis() call express the latest (most up-to-date)
state in motion history.

@backlog is provided in chronological order.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureStylus
</parameter_description>
</parameter>
<parameter name="backlog">
<parameter_description> coordinates and times for the backlog events
</parameter_description>
</parameter>
<parameter name="n_elems">
<parameter_description> return location for the number of elements
</parameter_description>
</parameter>
</parameters>
<return> #TRUE if there is a backlog to unfold in the current state.
</return>
</function>

<function name="gtk_gesture_stylus_get_device_tool">
<description>
Returns the #GdkDeviceTool currently driving input through this gesture.
This function must be called from either the #GtkGestureStylus::down,
#GtkGestureStylus::motion, #GtkGestureStylus::up or #GtkGestureStylus::proximity
signal handlers.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureStylus
</parameter_description>
</parameter>
</parameters>
<return> The current stylus tool
</return>
</function>

<function name="gtk_gesture_stylus_new">
<description>
Creates a new #GtkGestureStylus.


</description>
<parameters>
</parameters>
<return> a newly created stylus gesture
</return>
</function>

<function name="gtk_gesture_swipe_get_velocity">
<description>
If the gesture is recognized, this function returns %TRUE and fill in
@velocity_x and @velocity_y with the recorded velocity, as per the
last event(s) processed.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureSwipe
</parameter_description>
</parameter>
<parameter name="velocity_x">
<parameter_description> return value for the velocity in the X axis, in pixels/sec
</parameter_description>
</parameter>
<parameter name="velocity_y">
<parameter_description> return value for the velocity in the Y axis, in pixels/sec
</parameter_description>
</parameter>
</parameters>
<return> whether velocity could be calculated
</return>
</function>

<function name="gtk_gesture_swipe_new">
<description>
Returns a newly created #GtkGesture that recognizes swipes.


</description>
<parameters>
</parameters>
<return> a newly created #GtkGestureSwipe
</return>
</function>

<function name="gtk_gesture_ungroup">
<description>
Separates @gesture into an isolated group.

</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGesture
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gesture_zoom_get_scale_delta">
<description>
If @gesture is active, this function returns the zooming difference
since the gesture was recognized (hence the starting point is
considered 1:1). If @gesture is not active, 1 is returned.


</description>
<parameters>
<parameter name="gesture">
<parameter_description> a #GtkGestureZoom
</parameter_description>
</parameter>
</parameters>
<return> the scale delta
</return>
</function>

<function name="gtk_gesture_zoom_new">
<description>
Returns a newly created #GtkGesture that recognizes zoom
in/out gestures (usually known as pinch/zoom).


</description>
<parameters>
</parameters>
<return> a newly created #GtkGestureZoom
</return>
</function>

<function name="gtk_get_binary_age">
<description>
Returns the binary age as passed to `libtool`
when building the GTK library the process is running against.
If `libtool` means nothing to you, don't
worry about it.


</description>
<parameters>
</parameters>
<return> the binary age of the GTK library
</return>
</function>

<function name="gtk_get_current_event">
<description>
Obtains a reference of the event currently being processed by GTK.

For example, if you are handling a #GtkButton::clicked signal,
the current event will be the #GdkEventButton that triggered
the ::clicked signal.


</description>
<parameters>
</parameters>
<return> a reference of the current event, or
%NULL if there is no current event. The returned event must be
freed with g_object_unref().
</return>
</function>

<function name="gtk_get_current_event_device">
<description>
If there is a current event and it has a device, return that
device, otherwise return %NULL.


</description>
<parameters>
</parameters>
<return> a #GdkDevice, or %NULL
</return>
</function>

<function name="gtk_get_current_event_state">
<description>
If there is a current event and it has a state field, place
that state field in @state and return %TRUE, otherwise return
%FALSE.


</description>
<parameters>
<parameter name="state">
<parameter_description> a location to store the state of the current event
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there was a current event and it
had a state field
</return>
</function>

<function name="gtk_get_current_event_time">
<description>
If there is a current event and it has a timestamp,
return that timestamp, otherwise return %GDK_CURRENT_TIME.


</description>
<parameters>
</parameters>
<return> the timestamp from the current event,
or %GDK_CURRENT_TIME.
</return>
</function>

<function name="gtk_get_debug_flags">
<description>
Returns the GTK debug flags.

This function is intended for GTK modules that want
to adjust their debug output based on GTK debug flags.


</description>
<parameters>
</parameters>
<return> the GTK debug flags.
</return>
</function>

<function name="gtk_get_default_language">
<description>
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.


</description>
<parameters>
</parameters>
<return> the default language as a #PangoLanguage,
must not be freed
</return>
</function>

<function name="gtk_get_event_target">
<description>
If @event is %NULL or the event was not associated with any widget,
returns %NULL, otherwise returns the widget that is the deepmost
receiver of the event.


</description>
<parameters>
<parameter name="event">
<parameter_description> a #GdkEvent
</parameter_description>
</parameter>
</parameters>
<return> the target widget, or %NULL
</return>
</function>

<function name="gtk_get_event_target_with_type">
<description>
If @event is %NULL or the event was not associated with any widget,
returns %NULL, otherwise returns first widget found from the event
target to the toplevel that matches @type.


</description>
<parameters>
<parameter name="event">
<parameter_description> a #GdkEvent
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the type to look for
</parameter_description>
</parameter>
</parameters>
<return> the widget in the target stack
with the given type, or %NULL
</return>
</function>

<function name="gtk_get_event_widget">
<description>
If @event is %NULL or the event was not associated with any widget,
returns %NULL, otherwise returns the widget that received the event
originally.


</description>
<parameters>
<parameter name="event">
<parameter_description> a #GdkEvent
</parameter_description>
</parameter>
</parameters>
<return> the widget that originally
received @event, or %NULL
</return>
</function>

<function name="gtk_get_interface_age">
<description>
Returns the interface age as passed to `libtool`
when building the GTK library the process is running against.
If `libtool` means nothing to you, don't
worry about it.


</description>
<parameters>
</parameters>
<return> the interface age of the GTK library
</return>
</function>

<function name="gtk_get_locale_direction">
<description>
Get the direction of the current locale. This is the expected
reading direction for text and UI.

This function depends on the current locale being set with
setlocale() and will default to setting the %GTK_TEXT_DIR_LTR
direction otherwise. %GTK_TEXT_DIR_NONE will never be returned.

GTK sets the default text direction according to the locale
during gtk_init(), and you should normally use
gtk_widget_get_direction() or gtk_widget_get_default_direction()
to obtain the current direcion.

This function is only needed rare cases when the locale is
changed after GTK has already been initialized. In this case,
you can use it to update the default text direction as follows:

|[&lt;!-- language=&quot;C&quot; --&gt;
setlocale (LC_ALL, new_locale);
direction = gtk_get_locale_direction ();
gtk_widget_set_default_direction (direction);
]|


</description>
<parameters>
</parameters>
<return> the #GtkTextDirection of the current locale
</return>
</function>

<function name="gtk_get_major_version">
<description>
Returns the major version number of the GTK library.
(e.g. in GTK version 3.1.5 this is 3.)

This function is in the library, so it represents the GTK library
your code is running against. Contrast with the #GTK_MAJOR_VERSION
macro, which represents the major version of the GTK headers you
have included when compiling your code.


</description>
<parameters>
</parameters>
<return> the major version number of the GTK library
</return>
</function>

<function name="gtk_get_micro_version">
<description>
Returns the micro version number of the GTK library.
(e.g. in GTK version 3.1.5 this is 5.)

This function is in the library, so it represents the GTK library
your code is are running against. Contrast with the
#GTK_MICRO_VERSION macro, which represents the micro version of the
GTK headers you have included when compiling your code.


</description>
<parameters>
</parameters>
<return> the micro version number of the GTK library
</return>
</function>

<function name="gtk_get_minor_version">
<description>
Returns the minor version number of the GTK library.
(e.g. in GTK version 3.1.5 this is 1.)

This function is in the library, so it represents the GTK library
your code is are running against. Contrast with the
#GTK_MINOR_VERSION macro, which represents the minor version of the
GTK headers you have included when compiling your code.


</description>
<parameters>
</parameters>
<return> the minor version number of the GTK library
</return>
</function>

<function name="gtk_gl_area_attach_buffers">
<description>
Ensures that the @area framebuffer object is made the current draw
and read target, and that all the required buffers for the @area
are created and bound to the frambuffer.

This function is automatically called before emitting the
#GtkGLArea::render signal, and doesn't normally need to be called
by application code.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_get_auto_render">
<description>
Returns whether the area is in auto render mode or not.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the @area is auto rendering, %FALSE otherwise
</return>
</function>

<function name="gtk_gl_area_get_context">
<description>
Retrieves the #GdkGLContext used by @area.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return> the #GdkGLContext
</return>
</function>

<function name="gtk_gl_area_get_error">
<description>
Gets the current error set on the @area.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return> the #GError or %NULL
</return>
</function>

<function name="gtk_gl_area_get_has_depth_buffer">
<description>
Returns whether the area has a depth buffer.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the @area has a depth buffer, %FALSE otherwise
</return>
</function>

<function name="gtk_gl_area_get_has_stencil_buffer">
<description>
Returns whether the area has a stencil buffer.


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the @area has a stencil buffer, %FALSE otherwise
</return>
</function>

<function name="gtk_gl_area_get_required_version">
<description>
Retrieves the required version of OpenGL set
using gtk_gl_area_set_required_version().

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
<parameter name="major">
<parameter_description> return location for the required major version
</parameter_description>
</parameter>
<parameter name="minor">
<parameter_description> return location for the required minor version
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_get_use_es">
<description>
Retrieves the value set by gtk_gl_area_set_use_es().


</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the #GtkGLArea should create an OpenGL ES context
and %FALSE otherwise
</return>
</function>

<function name="gtk_gl_area_make_current">
<description>
Ensures that the #GdkGLContext used by @area is associated with
the #GtkGLArea.

This function is automatically called before emitting the
#GtkGLArea::render signal, and doesn't normally need to be called
by application code.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_new">
<description>
Creates a new #GtkGLArea widget.


</description>
<parameters>
</parameters>
<return> a new #GtkGLArea
</return>
</function>

<function name="gtk_gl_area_queue_render">
<description>
Marks the currently rendered data (if any) as invalid, and queues
a redraw of the widget, ensuring that the #GtkGLArea::render signal
is emitted during the draw.

This is only needed when the gtk_gl_area_set_auto_render() has
been called with a %FALSE value. The default behaviour is to
emit #GtkGLArea::render on each draw.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_set_auto_render">
<description>
If @auto_render is %TRUE the #GtkGLArea::render signal will be
emitted every time the widget draws. This is the default and is
useful if drawing the widget is faster.

If @auto_render is %FALSE the data from previous rendering is kept
around and will be used for drawing the widget the next time,
unless the window is resized. In order to force a rendering
gtk_gl_area_queue_render() must be called. This mode is useful when
the scene changes seldomly, but takes a long time to redraw.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
<parameter name="auto_render">
<parameter_description> a boolean
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_set_error">
<description>
Sets an error on the area which will be shown instead of the
GL rendering. This is useful in the #GtkGLArea::create-context
signal if GL context creation fails.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> a new #GError, or %NULL to unset the error
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_set_has_depth_buffer">
<description>
If @has_depth_buffer is %TRUE the widget will allocate and
enable a depth buffer for the target framebuffer. Otherwise
there will be none.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
<parameter name="has_depth_buffer">
<parameter_description> %TRUE to add a depth buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_set_has_stencil_buffer">
<description>
If @has_stencil_buffer is %TRUE the widget will allocate and
enable a stencil buffer for the target framebuffer. Otherwise
there will be none.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
<parameter name="has_stencil_buffer">
<parameter_description> %TRUE to add a stencil buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_set_required_version">
<description>
Sets the required version of OpenGL to be used when creating the context
for the widget.

This function must be called before the area has been realized.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
<parameter name="major">
<parameter_description> the major version
</parameter_description>
</parameter>
<parameter name="minor">
<parameter_description> the minor version
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gl_area_set_use_es">
<description>
Sets whether the @area should create an OpenGL or an OpenGL ES context.

You should check the capabilities of the #GdkGLContext before drawing
with either API.

</description>
<parameters>
<parameter name="area">
<parameter_description> a #GtkGLArea
</parameter_description>
</parameter>
<parameter name="use_es">
<parameter_description> whether to use OpenGL or OpenGL ES
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grab_add">
<description>
Makes @widget the current grabbed widget.

This means that interaction with other widgets in the same
application is blocked and mouse as well as keyboard events
are delivered to this widget.

If @widget is not sensitive, it is not set as the current
grabbed widget and this function does nothing.

</description>
<parameters>
<parameter name="widget">
<parameter_description> The widget that grabs keyboard and pointer events
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grab_get_current">
<description>
Queries the current grab of the default window group.


</description>
<parameters>
</parameters>
<return> The widget which currently
has the grab or %NULL if no grab is active
</return>
</function>

<function name="gtk_grab_remove">
<description>
Removes the grab from the given widget.

You have to pair calls to gtk_grab_add() and gtk_grab_remove().

If @widget does not have the grab, this function does nothing.

</description>
<parameters>
<parameter name="widget">
<parameter_description> The widget which gives up the grab
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_attach">
<description>
Adds a widget to the grid.

The position of @child is determined by @left and @top. The
number of “cells” that @child will occupy is determined by
@width and @height.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the widget to add
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> the column number to attach the left side of @child to
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> the row number to attach the top side of @child to
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the number of columns that @child will span
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the number of rows that @child will span
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_attach_next_to">
<description>
Adds a widget to the grid.

The widget is placed next to @sibling, on the side determined by
@side. When @sibling is %NULL, the widget is placed in row (for
left or right placement) or column 0 (for top or bottom placement),
at the end indicated by @side.

Attaching widgets labeled [1], [2], [3] with @sibling == %NULL and
@side == %GTK_POS_LEFT yields a layout of [3][2][1].

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the widget to add
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> the child of @grid that @child will be placed
next to, or %NULL to place @child at the beginning or end
</parameter_description>
</parameter>
<parameter name="side">
<parameter_description> the side of @sibling that @child is positioned next to
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the number of columns that @child will span
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the number of rows that @child will span
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_get_baseline_row">
<description>
Returns which row defines the global baseline of @grid.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
</parameters>
<return> the row index defining the global baseline
</return>
</function>

<function name="gtk_grid_get_child_at">
<description>
Gets the child of @grid whose area covers the grid
cell whose upper left corner is at @left, @top.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> the left edge of the cell
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> the top edge of the cell
</parameter_description>
</parameter>
</parameters>
<return> the child at the given position, or %NULL
</return>
</function>

<function name="gtk_grid_get_column_homogeneous">
<description>
Returns whether all columns of @grid have the same width.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
</parameters>
<return> whether all columns of @grid have the same width.
</return>
</function>

<function name="gtk_grid_get_column_spacing">
<description>
Returns the amount of space between the columns of @grid.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
</parameters>
<return> the column spacing of @grid
</return>
</function>

<function name="gtk_grid_get_row_baseline_position">
<description>
Returns the baseline position of @row as set
by gtk_grid_set_row_baseline_position() or the default value
%GTK_BASELINE_POSITION_CENTER.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> a row index
</parameter_description>
</parameter>
</parameters>
<return> the baseline position of @row
</return>
</function>

<function name="gtk_grid_get_row_homogeneous">
<description>
Returns whether all rows of @grid have the same height.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
</parameters>
<return> whether all rows of @grid have the same height.
</return>
</function>

<function name="gtk_grid_get_row_spacing">
<description>
Returns the amount of space between the rows of @grid.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
</parameters>
<return> the row spacing of @grid
</return>
</function>

<function name="gtk_grid_insert_column">
<description>
Inserts a column at the specified position.

Children which are attached at or to the right of this position
are moved one column to the right. Children which span across this
position are grown to span the new column.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position to insert the column at
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_insert_next_to">
<description>
Inserts a row or column at the specified position.

The new row or column is placed next to @sibling, on the side
determined by @side. If @side is %GTK_POS_TOP or %GTK_POS_BOTTOM,
a row is inserted. If @side is %GTK_POS_LEFT of %GTK_POS_RIGHT,
a column is inserted.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> the child of @grid that the new row or column will be
placed next to
</parameter_description>
</parameter>
<parameter name="side">
<parameter_description> the side of @sibling that @child is positioned next to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_insert_row">
<description>
Inserts a row at the specified position.

Children which are attached at or below this position
are moved one row down. Children which span across this
position are grown to span the new row.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position to insert the row at
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_child_get_column_span">
<description>
Retrieves the number of columns that @child spans to.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> the number of columns
</return>
</function>

<function name="gtk_grid_layout_child_get_left_attach">
<description>
Retrieves the column number to which @child attaches its left side.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> the column number
</return>
</function>

<function name="gtk_grid_layout_child_get_row_span">
<description>
Retrieves the number of rows that @child spans to.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> the number of row
</return>
</function>

<function name="gtk_grid_layout_child_get_top_attach">
<description>
Retrieves the row number to which @child attaches its top side.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> the row number
</return>
</function>

<function name="gtk_grid_layout_child_set_column_span">
<description>
Sets the number of columns @child spans to.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
<parameter name="span">
<parameter_description> the span of @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_child_set_left_attach">
<description>
Sets the column number to attach the left side of @child.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
<parameter name="attach">
<parameter_description> the attach point for @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_child_set_row_span">
<description>
Sets the number of rows @child spans to.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
<parameter name="span">
<parameter_description> the span of @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_child_set_top_attach">
<description>
Sets the row number to attach the top side of @child.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkGridLayoutChild
</parameter_description>
</parameter>
<parameter name="attach">
<parameter_description> the attach point for @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_get_baseline_row">
<description>
Retrieves the row set with gtk_grid_layout_set_baseline_row().


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
</parameters>
<return> the global baseline row
</return>
</function>

<function name="gtk_grid_layout_get_column_homogeneous">
<description>
Checks whether all columns of @grid should have the same width.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the columns are homogeneous, and %FALSE otherwise
</return>
</function>

<function name="gtk_grid_layout_get_column_spacing">
<description>
Retrieves the spacing set with gtk_grid_layout_set_column_spacing().


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
</parameters>
<return> the spacing between consecutive columns
</return>
</function>

<function name="gtk_grid_layout_get_row_baseline_position">
<description>
Returns the baseline position of @row as set by
gtk_grid_layout_set_row_baseline_position(), or the default value
of %GTK_BASELINE_POSITION_CENTER.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> a row index
</parameter_description>
</parameter>
</parameters>
<return> the baseline position of @row
</return>
</function>

<function name="gtk_grid_layout_get_row_homogeneous">
<description>
Checks whether all rows of @grid should have the same height.


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the rows are homogeneous, and %FALSE otherwise
</return>
</function>

<function name="gtk_grid_layout_get_row_spacing">
<description>
Retrieves the spacing set with gtk_grid_layout_set_row_spacing().


</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
</parameters>
<return> the spacing between consecutive rows
</return>
</function>

<function name="gtk_grid_layout_new">
<description>
Creates a new #GtkGridLayout.


</description>
<parameters>
</parameters>
<return> the newly created #GtkGridLayout
</return>
</function>

<function name="gtk_grid_layout_set_baseline_row">
<description>
Sets which row defines the global baseline for the entire grid.

Each row in the grid can have its own local baseline, but only
one of those is global, meaning it will be the baseline in the
parent of the @grid.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> the row index
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_set_column_homogeneous">
<description>
Sets whether all columns of @grid should have the same width.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> %TRUE to make columns homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_set_column_spacing">
<description>
Sets the amount of space to insert between consecutive columns.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the amount of space between columns, in pixels
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_set_row_baseline_position">
<description>
Sets how the baseline should be positioned on @row of the
grid, in case that row is assigned more space than is requested.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> a row index
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> a #GtkBaselinePosition
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_set_row_homogeneous">
<description>
Sets whether all rows of @grid should have the same height.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> %TRUE to make rows homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_layout_set_row_spacing">
<description>
Sets the amount of space to insert between consecutive rows.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGridLayout
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the amount of space between rows, in pixels
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_new">
<description>
Creates a new grid widget.


</description>
<parameters>
</parameters>
<return> the new #GtkGrid
</return>
</function>

<function name="gtk_grid_query_child">
<description>
Queries the attach points and spans of @child inside the given #GtkGrid.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget child of @grid
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> the column used to attach the left side of @child
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> the row used to attach the top side of @child
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the number of columns @child spans
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the number of rows @child spans
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_remove_column">
<description>
Removes a column from the grid.

Children that are placed in this column are removed,
spanning children that overlap this column have their
width reduced by one, and children after the column
are moved to the left.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of the column to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_remove_row">
<description>
Removes a row from the grid.

Children that are placed in this row are removed,
spanning children that overlap this row have their
height reduced by one, and children below the row
are moved up.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of the row to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_set_baseline_row">
<description>
Sets which row defines the global baseline for the entire grid.
Each row in the grid can have its own local baseline, but only
one of those is global, meaning it will be the baseline in the
parent of the @grid.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> the row index
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_set_column_homogeneous">
<description>
Sets whether all columns of @grid will have the same width.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> %TRUE to make columns homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_set_column_spacing">
<description>
Sets the amount of space between columns of @grid.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the amount of space to insert between columns
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_set_row_baseline_position">
<description>
Sets how the baseline should be positioned on @row of the
grid, in case that row is assigned more space than is requested.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> a row index
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> a #GtkBaselinePosition
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_set_row_homogeneous">
<description>
Sets whether all rows of @grid will have the same height.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> %TRUE to make rows homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_grid_set_row_spacing">
<description>
Sets the amount of space between rows of @grid.

</description>
<parameters>
<parameter name="grid">
<parameter_description> a #GtkGrid
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the amount of space to insert between rows
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_get_custom_title">
<description>
Retrieves the custom title widget of the header. See
gtk_header_bar_set_custom_title().


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
</parameters>
<return> the custom title widget
of the header, or %NULL if none has been set explicitly.
</return>
</function>

<function name="gtk_header_bar_get_decoration_layout">
<description>
Gets the decoration layout set with
gtk_header_bar_set_decoration_layout().


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
</parameters>
<return> the decoration layout
</return>
</function>

<function name="gtk_header_bar_get_has_subtitle">
<description>
Retrieves whether the header bar reserves space for
a subtitle, regardless if one is currently set or not.


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the header bar reserves space
for a subtitle
</return>
</function>

<function name="gtk_header_bar_get_show_title_buttons">
<description>
Returns whether this header bar shows the standard window
title buttons.


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if title buttons are shown
</return>
</function>

<function name="gtk_header_bar_get_subtitle">
<description>
Retrieves the subtitle of the header. See gtk_header_bar_set_subtitle().


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
</parameters>
<return> the subtitle of the header, or %NULL if none has
been set explicitly. The returned string is owned by the widget
and must not be modified or freed.
</return>
</function>

<function name="gtk_header_bar_get_title">
<description>
Retrieves the title of the header. See gtk_header_bar_set_title().


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
</parameters>
<return> the title of the header, or %NULL if none has
been set explicitly. The returned string is owned by the widget
and must not be modified or freed.
</return>
</function>

<function name="gtk_header_bar_new">
<description>
Creates a new #GtkHeaderBar widget.


</description>
<parameters>
</parameters>
<return> a new #GtkHeaderBar
</return>
</function>

<function name="gtk_header_bar_pack_end">
<description>
Adds @child to @bar, packed with reference to the
end of the @bar.

</description>
<parameters>
<parameter name="bar">
<parameter_description> A #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to be added to @bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_pack_start">
<description>
Adds @child to @bar, packed with reference to the
start of the @bar.

</description>
<parameters>
<parameter name="bar">
<parameter_description> A #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to be added to @bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_set_custom_title">
<description>
Sets a custom title for the #GtkHeaderBar.

The title should help a user identify the current view. This
supersedes any title set by gtk_header_bar_set_title() or
gtk_header_bar_set_subtitle(). To achieve the same style as
the builtin title and subtitle, use the “title” and “subtitle”
style classes.

You should set the custom title to %NULL, for the header title
label to be visible again.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="title_widget">
<parameter_description> a custom widget to use for a title
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_set_decoration_layout">
<description>
Sets the decoration layout for this header bar, overriding
the #GtkSettings:gtk-decoration-layout setting. 

There can be valid reasons for overriding the setting, such
as a header bar design that does not allow for buttons to take
room on the right, or only offers room for a single close button.
Split header bars are another example for overriding the
setting.

The format of the string is button names, separated by commas.
A colon separates the buttons that should appear on the left
from those on the right. Recognized button names are minimize,
maximize, close, icon (the window icon) and menu (a menu button
for the fallback app menu).

For example, “menu:minimize,maximize,close” specifies a menu
on the left, and minimize, maximize and close buttons on the right.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> a decoration layout, or %NULL to
unset the layout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_set_has_subtitle">
<description>
Sets whether the header bar should reserve space
for a subtitle, even if none is currently set.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to reserve space for a subtitle
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_set_show_title_buttons">
<description>
Sets whether this header bar shows the standard window
title buttons including close, maximize, and minimize.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to show standard title buttons
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_set_subtitle">
<description>
Sets the subtitle of the #GtkHeaderBar. The title should give a user
an additional detail to help him identify the current view.

Note that GtkHeaderBar by default reserves room for the subtitle,
even if none is currently set. If this is not desired, set the
#GtkHeaderBar:has-subtitle property to %FALSE.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="subtitle">
<parameter_description> a subtitle, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_header_bar_set_title">
<description>
Sets the title of the #GtkHeaderBar. The title should help a user
identify the current view. A good title should not include the
application name.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkHeaderBar
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> a title, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_hsv_to_rgb">
<description>
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.

</description>
<parameters>
<parameter name="h">
<parameter_description> Hue
</parameter_description>
</parameter>
<parameter name="s">
<parameter_description> Saturation
</parameter_description>
</parameter>
<parameter name="v">
<parameter_description> Value
</parameter_description>
</parameter>
<parameter name="r">
<parameter_description> Return value for the red component
</parameter_description>
</parameter>
<parameter name="g">
<parameter_description> Return value for the green component
</parameter_description>
</parameter>
<parameter name="b">
<parameter_description> Return value for the blue component
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_paintable_get_file">
<description>
Gets the #GFile that was used to load the icon, or %NULL if the icon was
not loaded from a file.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIcon
</parameter_description>
</parameter>
</parameters>
<return> the #GFile for the icon, or %NULL.
Free with g_object_unref().
</return>
</function>

<function name="gtk_icon_paintable_get_icon_name">
<description>
Get the icon name being used for this icon.

When an icon looked up in the icon theme was not available, the
icon theme may use fallback icons - either those specified to
gtk_icon_theme_lookup() or the always-available
&quot;image-missing&quot;. The icon chosen is returned by this function.

If the icon was created without an icon theme, this function returns %NULL.



</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIcon
</parameter_description>
</parameter>
</parameters>
<return> the themed icon-name for the icon, or %NULL
if its not a themed icon.
</return>
</function>

<function name="gtk_icon_paintable_is_symbolic">
<description>
Checks if the icon is symbolic or not. This currently uses only
the file name and not the file contents for determining this.
This behaviour may change in the future.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIcon
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the icon is symbolic, %FALSE otherwise
</return>
</function>

<function name="gtk_icon_paintable_new_for_file">
<description>
Creates a #GtkIconPaintable for a file with a given size and scale
#GtkIcon. The icon can then be rendered by using it as a #GdkPaintable.


</description>
<parameters>
<parameter name="file">
<parameter_description> a #GFile
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> desired icon size
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> the desired scale
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconPaintable containing
for the icon. Unref with g_object_unref()
</return>
</function>

<function name="gtk_icon_paintable_snapshot_with_colors">
<description>
This is similar to the implementation of gdk_paintable_snapshot(), but if the icon is
symbolic it will be recolored with the specified colors (which ususally comes from the theme).

</description>
<parameters>
<parameter name="icon">
<parameter_description> a #GtkIcon
</parameter_description>
</parameter>
<parameter name="snapshot">
<parameter_description> a #GdkSnapshot to snapshot to
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width to snapshot in
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height to snapshot in
</parameter_description>
</parameter>
<parameter name="foreground_color">
<parameter_description> a #GdkRGBA representing the foreground color
of the icon or %NULL to use the default color.
</parameter_description>
</parameter>
<parameter name="success_color">
<parameter_description> a #GdkRGBA representing the warning color
of the icon or %NULL to use the default color
</parameter_description>
</parameter>
<parameter name="warning_color">
<parameter_description> a #GdkRGBA representing the warning color
of the icon or %NULL to use the default color
</parameter_description>
</parameter>
<parameter name="error_color">
<parameter_description> a #GdkRGBA representing the error color
of the icon or %NULL to use the default color (allow-none)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_add_resource_path">
<description>
Adds a resource path that will be looked at when looking
for icons, similar to search paths.

This function should be used to make application-specific icons
available as part of the icon theme.

The resources are considered as part of the hicolor icon theme
and must be located in subdirectories that are defined in the
hicolor icon theme, such as `@path/16x16/actions/run.png`.
Icons that are directly placed in the resource path instead
of a subdirectory are also considered as ultimate fallback.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a resource path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_append_search_path">
<description>
Appends a directory to the search path.
See gtk_icon_theme_set_search_path().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> directory name to append to the icon path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_get_for_display">
<description>
Gets the icon theme object associated with @display; if this
function has not previously been called for the given
display, a new icon theme object will be created and
associated with the display. 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 display yourself; by using this function
a single icon theme object will be shared between users.


</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay
</parameter_description>
</parameter>
</parameters>
<return> A unique #GtkIconTheme associated with
the given display. This icon theme is associated with
the display and can be used as long as the display
is open. Do not ref or unref it.
</return>
</function>

<function name="gtk_icon_theme_get_icon_sizes">
<description>
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.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> the name of an icon
</parameter_description>
</parameter>
</parameters>
<return> A newly
allocated array describing the sizes at which the icon is
available. The array should be freed with g_free() when it is no
longer needed.
</return>
</function>

<function name="gtk_icon_theme_get_search_path">
<description>
Gets the current search path. See gtk_icon_theme_set_search_path().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description>
location to store a list of icon theme path directories or %NULL.
The stored value should be freed with g_strfreev().
</parameter_description>
</parameter>
<parameter name="n_elements">
<parameter_description> location to store number of elements in @path, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_has_icon">
<description>
Checks whether an icon theme includes an icon
for a particular name.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> the name of an icon
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @self includes an
icon for @icon_name.
</return>
</function>

<function name="gtk_icon_theme_list_icons">
<description>
Lists the icons in the current icon theme.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
</parameters>
<return> a #GList list
holding the names of all the 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().
</return>
</function>

<function name="gtk_icon_theme_lookup_by_gicon">
<description>
Looks up a icon for a desired size and window scale, returning a
#GtkIcon. The icon can then be rendered by using it as a #GdkPaintable,
or you can get information such as the filename and size.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> the #GIcon to look up
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> desired icon size
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> the desired scale
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> text direction the icon will be displayed in
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags modifying the behavior of the icon lookup
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconPaintable containing
information about the icon. Unref with g_object_unref()
</return>
</function>

<function name="gtk_icon_theme_lookup_icon">
<description>
Looks up a named icon for a desired size and window scale, returning a
#GtkIcon. The icon can then be rendered by using it as a #GdkPaintable,
or you can get information such as the filename and size.

If the available @icon_name is not available and @fallbacks are provided,
they will be tried in order.

If no matching icon is found, then a paintable that renders the
&quot;missing icon&quot; icon is returned. If you need to do something else
for missing icons you need to use gtk_icon_theme_has_icon().

Note that you probably want to listen for icon theme changes and
update the icon. This is usually done by overriding the
#GtkWidget:css-changed function.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> the name of the icon to lookup
</parameter_description>
</parameter>
<parameter name="fallbacks">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> desired icon size.
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> the window scale this will be displayed on
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> text direction the icon will be displayed in
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags modifying the behavior of the icon lookup
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconPaintable object
containing the icon.
</return>
</function>

<function name="gtk_icon_theme_new">
<description>
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’ll want to use gtk_icon_theme_get_for_display()
rather than creating a new icon theme object for scratch.


</description>
<parameters>
</parameters>
<return> the newly created #GtkIconTheme object.
</return>
</function>

<function name="gtk_icon_theme_prepend_search_path">
<description>
Prepends a directory to the search path.
See gtk_icon_theme_set_search_path().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> directory name to prepend to the icon path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_set_custom_theme">
<description>
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_for_display().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="theme_name">
<parameter_description> name of icon theme to use instead of
configured theme, or %NULL to unset a previously set custom theme
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_set_display">
<description>
Sets the display for an icon theme; the display is used
to track the user’s currently configured icon theme,
which might be different for different displays.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="display">
<parameter_description> a #GdkDisplay
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_set_search_path">
<description>
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 containing an index.theme file. (Themes from
multiple of the path elements are combined to allow themes to be
extended by adding icons in the user’s home directory.)

In addition if an icon found isn’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
@path, then that image will be used for the icon name.
(This is legacy feature, and new icons should be put
into the fallback icon theme, which is called hicolor,
rather than directly on the icon path.)

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> array of
directories that are searched for icon themes
</parameter_description>
</parameter>
<parameter name="n_elements">
<parameter_description> number of elements in @path.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_create_drag_icon">
<description>
Creates a #cairo_surface_t representation of the item at @path.  
This image is used for a drag icon.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath in @icon_view
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated surface of the drag icon.
</return>
</function>

<function name="gtk_icon_view_enable_model_drag_dest">
<description>
Turns @icon_view into a drop destination for automatic DND. Calling this
method sets #GtkIconView:reorderable to %FALSE.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="formats">
<parameter_description> the formats that the drag will support
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the bitmask of possible actions for a drag to this
widget
</parameter_description>
</parameter>
</parameters>
<return> the drop target that was attached
</return>
</function>

<function name="gtk_icon_view_enable_model_drag_source">
<description>
Turns @icon_view into a drag source for automatic DND. Calling this
method sets #GtkIconView:reorderable to %FALSE.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="start_button_mask">
<parameter_description> Mask of allowed buttons to start drag
</parameter_description>
</parameter>
<parameter name="formats">
<parameter_description> the formats that the drag will support
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the bitmask of possible actions for a drag from this
widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_get_activate_on_single_click">
<description>
Gets the setting set by gtk_icon_view_set_activate_on_single_click().


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if item-activated will be emitted on a single click
</return>
</function>

<function name="gtk_icon_view_get_cell_rect">
<description>
Fills the bounding rectangle in widget coordinates for the cell specified by
@path and @cell. If @cell is %NULL the main cell area is used.

This function is only valid if @icon_view is realized.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer or %NULL
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> rectangle to fill with cell rect
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if there is no such item, %TRUE otherwise
</return>
</function>

<function name="gtk_icon_view_get_column_spacing">
<description>
Returns the value of the ::column-spacing property.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the space between columns
</return>
</function>

<function name="gtk_icon_view_get_columns">
<description>
Returns the value of the ::columns property.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the number of columns, or -1
</return>
</function>

<function name="gtk_icon_view_get_cursor">
<description>
Fills in @path and @cell with the current cursor path and cell. 
If the cursor isn’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().


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> Return location for the current
cursor path, or %NULL
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> Return location the current
focus cell, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cursor is set.
</return>
</function>

<function name="gtk_icon_view_get_dest_item_at_pos">
<description>
Determines the destination item for a given position.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="drag_x">
<parameter_description> the position to determine the destination item for
</parameter_description>
</parameter>
<parameter name="drag_y">
<parameter_description> the position to determine the destination item for
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> Return location for the path of the item,
or %NULL.
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> Return location for the drop position, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether there is an item at the given position.
</return>
</function>

<function name="gtk_icon_view_get_drag_dest_item">
<description>
Gets information about the item that is highlighted for feedback.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> Return location for the path of
the highlighted item, or %NULL.
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> Return location for the drop position, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_get_item_at_pos">
<description>

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> The x position to be identified
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> The y position to be identified
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> Return location for the path, or %NULL
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> Return location for the renderer
responsible for the cell at (@x, @y), or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an item exists at the specified position
</return>
</function>

<function name="gtk_icon_view_get_item_column">
<description>
Gets the column in which the item @path is currently
displayed. Column numbers start at 0.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the #GtkTreePath of the item
</parameter_description>
</parameter>
</parameters>
<return> The column in which the item is displayed
</return>
</function>

<function name="gtk_icon_view_get_item_orientation">
<description>
Returns the value of the ::item-orientation property which determines 
whether the labels are drawn beside the icons instead of below. 


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the relative position of texts and icons 
</return>
</function>

<function name="gtk_icon_view_get_item_padding">
<description>
Returns the value of the ::item-padding property.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the padding around items
</return>
</function>

<function name="gtk_icon_view_get_item_row">
<description>
Gets the row in which the item @path is currently
displayed. Row numbers start at 0.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the #GtkTreePath of the item
</parameter_description>
</parameter>
</parameters>
<return> The row in which the item is displayed
</return>
</function>

<function name="gtk_icon_view_get_item_width">
<description>
Returns the value of the ::item-width property.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the width of a single item, or -1
</return>
</function>

<function name="gtk_icon_view_get_margin">
<description>
Returns the value of the ::margin property.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the space at the borders 
</return>
</function>

<function name="gtk_icon_view_get_markup_column">
<description>
Returns the column with markup text for @icon_view.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
</parameters>
<return> the markup column, or -1 if it’s unset.
</return>
</function>

<function name="gtk_icon_view_get_model">
<description>
Returns the model the #GtkIconView is based on.  Returns %NULL if the
model is unset.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> A #GtkTreeModel, or %NULL if none is
currently being used.
</return>
</function>

<function name="gtk_icon_view_get_path_at_pos">
<description>

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> The x position to be identified
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> The y position to be identified
</parameter_description>
</parameter>
</parameters>
<return> The #GtkTreePath corresponding
to the icon or %NULL if no icon exists at that position.
</return>
</function>

<function name="gtk_icon_view_get_pixbuf_column">
<description>
Returns the column with pixbufs for @icon_view.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
</parameters>
<return> the pixbuf column, or -1 if it’s unset.
</return>
</function>

<function name="gtk_icon_view_get_reorderable">
<description>
Retrieves whether the user can reorder the list via drag-and-drop. 
See gtk_icon_view_set_reorderable().


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the list can be reordered.
</return>
</function>

<function name="gtk_icon_view_get_row_spacing">
<description>
Returns the value of the ::row-spacing property.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the space between rows
</return>
</function>

<function name="gtk_icon_view_get_selected_items">
<description>
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 #GtkTreeRowReferences.
To do this, you can use gtk_tree_row_reference_new().

To free the return value, use:
|[&lt;!-- language=&quot;C&quot; --&gt;
g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
]|


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
</parameters>
<return> A #GList containing a #GtkTreePath for each selected row.
</return>
</function>

<function name="gtk_icon_view_get_selection_mode">
<description>
Gets the selection mode of the @icon_view.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
</parameters>
<return> the current selection mode
</return>
</function>

<function name="gtk_icon_view_get_spacing">
<description>
Returns the value of the ::spacing property.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the space between cells 
</return>
</function>

<function name="gtk_icon_view_get_text_column">
<description>
Returns the column with text for @icon_view.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
</parameters>
<return> the text column, or -1 if it’s unset.
</return>
</function>

<function name="gtk_icon_view_get_tooltip_column">
<description>
Returns the column of @icon_view’s model which is being used for
displaying tooltips on @icon_view’s rows.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return> the index of the tooltip column that is currently being
used, or -1 if this is disabled.
</return>
</function>

<function name="gtk_icon_view_get_tooltip_context">
<description>
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
@model, @path and @iter which have been provided will be set to point to
that row and the corresponding model.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> an #GtkIconView
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate (relative to widget coordinates)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate (relative to widget coordinates)
</parameter_description>
</parameter>
<parameter name="keyboard_tip">
<parameter_description> whether this is a keyboard tooltip or not
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a pointer to receive a
#GtkTreeModel or %NULL
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a pointer to receive a #GtkTreePath or %NULL
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a pointer to receive a #GtkTreeIter or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether or not the given tooltip context points to an item
</return>
</function>

<function name="gtk_icon_view_get_visible_range">
<description>
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.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView
</parameter_description>
</parameter>
<parameter name="start_path">
<parameter_description> Return location for start of region,
or %NULL
</parameter_description>
</parameter>
<parameter name="end_path">
<parameter_description> Return location for end of region, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if valid paths were placed in @start_path and @end_path
</return>
</function>

<function name="gtk_icon_view_item_activated">
<description>
Activates the item determined by @path.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The #GtkTreePath to be activated
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_new">
<description>
Creates a new #GtkIconView widget


</description>
<parameters>
</parameters>
<return> A newly created #GtkIconView widget
</return>
</function>

<function name="gtk_icon_view_new_with_area">
<description>
Creates a new #GtkIconView widget using the
specified @area to layout cells inside the icons.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea to use to layout cells
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkIconView widget
</return>
</function>

<function name="gtk_icon_view_new_with_model">
<description>
Creates a new #GtkIconView widget with the model @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> The model.
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkIconView widget.
</return>
</function>

<function name="gtk_icon_view_path_is_selected">
<description>
Returns %TRUE if the icon pointed to by @path is currently
selected. If @path does not point to a valid location, %FALSE is returned.


</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A #GtkTreePath to check selection on.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @path is selected.
</return>
</function>

<function name="gtk_icon_view_scroll_to_path">
<description>
Moves the alignments of @icon_view to the position specified by @path.  
@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 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.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The path of the item to move to.
</parameter_description>
</parameter>
<parameter name="use_align">
<parameter_description> whether to use alignment arguments, or %FALSE.
</parameter_description>
</parameter>
<parameter name="row_align">
<parameter_description> The vertical alignment of the item specified by @path.
</parameter_description>
</parameter>
<parameter name="col_align">
<parameter_description> The horizontal alignment of the item specified by @path.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_select_all">
<description>
Selects all the icons. @icon_view must has its selection mode set
to #GTK_SELECTION_MULTIPLE.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_select_path">
<description>
Selects the row at @path.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The #GtkTreePath to be selected.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_selected_foreach">
<description>
Calls a function for each selected icon. Note that the model or
selection cannot be modified from within this function.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> The function to call for each selected icon.
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> User data to pass to the function.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_activate_on_single_click">
<description>
Causes the #GtkIconView::item-activated signal to be emitted on
a single click instead of a double click.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="single">
<parameter_description> %TRUE to emit item-activated on a single click
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_column_spacing">
<description>
Sets the ::column-spacing property which specifies the space 
which is inserted between the columns of the icon view.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="column_spacing">
<parameter_description> the column spacing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_columns">
<description>
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. 

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> the number of columns
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_cursor">
<description>
Sets the current keyboard focus to be at @path, and selects it.  This is
useful when you want to focus the user’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 `gtk_widget_grab_focus 
(icon_view)` in order to give keyboard focus to the widget.  
Please note that editing can only happen when the widget is realized.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A #GtkTreePath
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> One of the cell renderers of @icon_view, or %NULL
</parameter_description>
</parameter>
<parameter name="start_editing">
<parameter_description> %TRUE if the specified cell should start being edited.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_drag_dest_item">
<description>
Sets the item that is highlighted for feedback.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The path of the item to highlight, or %NULL.
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> Specifies where to drop, relative to the item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_item_orientation">
<description>
Sets the ::item-orientation property which determines whether the labels 
are drawn beside the icons instead of below.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the relative position of texts and icons 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_item_padding">
<description>
Sets the #GtkIconView:item-padding property which specifies the padding
around each of the icon view’s items.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="item_padding">
<parameter_description> the item padding
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_item_width">
<description>
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.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="item_width">
<parameter_description> the width for each item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_margin">
<description>
Sets the ::margin property which specifies the space 
which is inserted at the top, bottom, left and right 
of the icon view.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_markup_column">
<description>
Sets the column with markup information for @icon_view to be
@column. The markup column must be of type #G_TYPE_STRING.
If the markup column is set to something, it overrides
the text column set by gtk_icon_view_set_text_column().

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> A column in the currently used model, or -1 to display no text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_model">
<description>
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.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> The model.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_pixbuf_column">
<description>
Sets the column with pixbufs for @icon_view to be @column. The pixbuf
column must be of type #GDK_TYPE_PIXBUF

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> A column in the currently used model, or -1 to disable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_reorderable">
<description>
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'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.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="reorderable">
<parameter_description> %TRUE, if the list of items can be reordered.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_row_spacing">
<description>
Sets the ::row-spacing property which specifies the space 
which is inserted between the rows of the icon view.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="row_spacing">
<parameter_description> the row spacing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_selection_mode">
<description>
Sets the selection mode of the @icon_view.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> The selection mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_spacing">
<description>
Sets the ::spacing property which specifies the space 
which is inserted between the cells (i.e. the icon and 
the text) of an item.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the spacing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_text_column">
<description>
Sets the column with text for @icon_view to be @column. The text
column must be of type #G_TYPE_STRING.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> A column in the currently used model, or -1 to display no text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_tooltip_cell">
<description>
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.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_tooltip_column">
<description>
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’s model
containing the tooltip texts, or -1 to disable this feature.

When enabled, #GtkWidget:has-tooltip will be set to %TRUE and
@icon_view will connect a #GtkWidget::query-tooltip signal handler.

Note that the signal handler sets the text with gtk_tooltip_set_markup(),
so &amp;, &lt;, etc have to be escaped in the text.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> an integer, which is a valid column number for @icon_view’s model
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_set_tooltip_item">
<description>
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().

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_unselect_all">
<description>
Unselects all the icons.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_unselect_path">
<description>
Unselects the row at @path.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> A #GtkIconView.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The #GtkTreePath to be unselected.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_unset_model_drag_dest">
<description>
Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this
method sets #GtkIconView:reorderable to %FALSE.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_view_unset_model_drag_source">
<description>
Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this
method sets #GtkIconView:reorderable to %FALSE.

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_delete_surrounding">
<description>
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.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="offset">
<parameter_description> offset from cursor position in chars;
a negative value means start before the cursor.
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> number of characters to delete.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal was handled.
</return>
</function>

<function name="gtk_im_context_filter_keypress">
<description>
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.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the key event
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the input method handled the key event.

</return>
</function>

<function name="gtk_im_context_focus_in">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_focus_out">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_get_preedit_string">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description>    a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> location to store the retrieved
string. The string retrieved must be freed with g_free().
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> location to store the retrieved
attribute list.  When you are done with this list, you
must unreference it with pango_attr_list_unref().
</parameter_description>
</parameter>
<parameter name="cursor_pos">
<parameter_description> location to store position of cursor (in characters)
within the preedit string.  
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_get_surrounding">
<description>
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.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> location to store a UTF-8 encoded
string of text holding context around the insertion point.
If the function returns %TRUE, then you must free the result
stored in this location with g_free().
</parameter_description>
</parameter>
<parameter name="cursor_index">
<parameter_description> location to store byte index of the insertion
cursor within @text.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if surrounding text was provided; in this case
you must free the result stored in *text.
</return>
</function>

<function name="gtk_im_context_reset">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_set_client_widget">
<description>
Set the client window for the input context; this is the
#GtkWidget holding the input focus. This widget is
used in order to correctly position status windows, and may
also be used for purposes internal to the input method.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description>  the client widget. This may be %NULL to indicate
that the previous client widget no longer exists.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_set_cursor_location">
<description>
Notify the input method that a change in cursor 
position has been made. The location is relative to the client
window.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="area">
<parameter_description> new location
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_set_surrounding">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext 
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text surrounding the insertion point, as UTF-8.
the preedit string should not be included within
@text.
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> the length of @text, or -1 if @text is nul-terminated
</parameter_description>
</parameter>
<parameter name="cursor_index">
<parameter_description> the byte index of the insertion cursor within @text.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_set_use_preedit">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="use_preedit">
<parameter_description> whether the IM context should use the preedit string.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_simple_add_compose_file">
<description>
Adds an additional table from the X11 compose file.

</description>
<parameters>
<parameter name="context_simple">
<parameter_description> A #GtkIMContextSimple
</parameter_description>
</parameter>
<parameter name="compose_file">
<parameter_description> The path of compose file
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_simple_add_table">
<description>
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.)

</description>
<parameters>
<parameter name="context_simple">
<parameter_description> A #GtkIMContextSimple
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> the table
</parameter_description>
</parameter>
<parameter name="max_seq_len">
<parameter_description> Maximum length of a sequence in the table
(cannot be greater than #GTK_MAX_COMPOSE_LEN)
</parameter_description>
</parameter>
<parameter name="n_seqs">
<parameter_description> number of sequences in the table
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_context_simple_new">
<description>
Creates a new #GtkIMContextSimple.


</description>
<parameters>
</parameters>
<return> a new #GtkIMContextSimple.
</return>
</function>

<function name="gtk_im_multicontext_get_context_id">
<description>
Gets the id of the currently active slave of the @context.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMMulticontext
</parameter_description>
</parameter>
</parameters>
<return> the id of the currently active slave
</return>
</function>

<function name="gtk_im_multicontext_new">
<description>
Creates a new #GtkIMMulticontext.


</description>
<parameters>
</parameters>
<return> a new #GtkIMMulticontext.
</return>
</function>

<function name="gtk_im_multicontext_set_context_id">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMMulticontext
</parameter_description>
</parameter>
<parameter name="context_id">
<parameter_description> the id to use 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_clear">
<description>
Resets the image to be empty.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_get_gicon">
<description>
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.

Note: This function was changed in 3.94 not to use out parameters
anymore, but return the GIcon directly. See gtk_image_get_icon_size()
for a way to get the icon size.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> a #GIcon, or %NULL
</return>
</function>

<function name="gtk_image_get_icon_name">
<description>
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.

Note: This function was changed in 3.94 not to use out parameters
anymore, but return the icon name directly. See gtk_image_get_icon_size()
for a way to get the icon size.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> the icon name, or %NULL
</return>
</function>

<function name="gtk_image_get_icon_size">
<description>
Gets the icon size used by the @image when rendering icons.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> the image size used by icons
</return>
</function>

<function name="gtk_image_get_paintable">
<description>
Gets the image #GdkPaintable being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_PAINTABLE (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned paintable.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> the displayed paintable, or %NULL if
the image is empty
</return>
</function>

<function name="gtk_image_get_pixel_size">
<description>
Gets the pixel size used for named icons.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> the pixel size used for named icons.
</return>
</function>

<function name="gtk_image_get_storage_type">
<description>
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.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> image representation being used
</return>
</function>

<function name="gtk_image_new">
<description>
Creates a new empty #GtkImage widget.


</description>
<parameters>
</parameters>
<return> a newly created #GtkImage widget. 
</return>
</function>

<function name="gtk_image_new_from_file">
<description>
Creates a new #GtkImage displaying the file @filename. If the file
isn’t found or can’t be loaded, the resulting #GtkImage will
display a “broken image” icon. This function never returns %NULL,
it always returns a valid #GtkImage widget.

If you need to detect failures to load the file, use
gdk_texture_new_from_file() to load the file yourself, then create
the #GtkImage from the texture.

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.


</description>
<parameters>
<parameter name="filename">
<parameter_description> a filename
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage
</return>
</function>

<function name="gtk_image_new_from_gicon">
<description>
Creates a #GtkImage displaying an icon from the current icon theme.
If the icon name isn’t known, a “broken image” icon will be
displayed instead.  If the current icon theme is changed, the icon
will be updated appropriately.

Note: Before 3.94, this function was taking an extra icon size
argument. See gtk_image_set_icon_size() for another way to set
the icon size.


</description>
<parameters>
<parameter name="icon">
<parameter_description> an icon
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage displaying the themed icon
</return>
</function>

<function name="gtk_image_new_from_icon_name">
<description>
Creates a #GtkImage displaying an icon from the current icon theme.
If the icon name isn’t known, a “broken image” icon will be
displayed instead.  If the current icon theme is changed, the icon
will be updated appropriately.

Note: Before 3.94, this function was taking an extra icon size
argument. See gtk_image_set_icon_size() for another way to set
the icon size.


</description>
<parameters>
<parameter name="icon_name">
<parameter_description> an icon name or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage displaying the themed icon
</return>
</function>

<function name="gtk_image_new_from_paintable">
<description>
Creates a new #GtkImage displaying @paintable.
The #GtkImage does not assume a reference to the
paintable; you still need to unref it if you own references.
#GtkImage will add its own reference rather than adopting yours.

The #GtkImage will track changes to the @paintable and update
its size and contents in response to it.


</description>
<parameters>
<parameter name="paintable">
<parameter_description> a #GdkPaintable, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage
</return>
</function>

<function name="gtk_image_new_from_pixbuf">
<description>
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.

This is a helper for gtk_image_new_from_texture(), and you can't
get back the exact pixbuf once this is called, only a texture.

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_name().


</description>
<parameters>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage
</return>
</function>

<function name="gtk_image_new_from_resource">
<description>
Creates a new #GtkImage displaying the resource file @resource_path. If the file
isn’t found or can’t be loaded, the resulting #GtkImage will
display a “broken image” icon. This function never returns %NULL,
it always returns a valid #GtkImage widget.

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.

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.


</description>
<parameters>
<parameter name="resource_path">
<parameter_description> a resource path
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage
</return>
</function>

<function name="gtk_image_set_from_file">
<description>
See gtk_image_new_from_file() for details.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> a filename or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_from_gicon">
<description>
See gtk_image_new_from_gicon() for details.

Note: Before 3.94, this function was taking an extra icon size
argument. See gtk_image_set_icon_size() for another way to set
the icon size.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> an icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_from_icon_name">
<description>
See gtk_image_new_from_icon_name() for details.

Note: Before 3.94, this function was taking an extra icon size
argument. See gtk_image_set_icon_size() for another way to set
the icon size.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> an icon name or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_from_paintable">
<description>
See gtk_image_new_from_paintable() for details.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> a #GdkPaintable or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_from_pixbuf">
<description>
See gtk_image_new_from_pixbuf() for details.

Note: This is a helper for gtk_image_set_from_paintable(), and you can't
get back the exact pixbuf once this is called, only a paintable.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_from_resource">
<description>
See gtk_image_new_from_resource() for details.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> a resource path or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_icon_size">
<description>
Suggests an icon size to the theme for named icons.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon_size">
<parameter_description> the new icon size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_pixel_size">
<description>
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().

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="pixel_size">
<parameter_description> the new pixel size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_add_action_widget">
<description>
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.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> an activatable widget
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> response ID for @child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_add_button">
<description>
Adds a button with the given text and sets things up so that
clicking the button will emit the “response” signal with the given
response_id. The button is appended to the end of the info bars's
action area. The button widget is returned, but usually you don't
need it.


</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="button_text">
<parameter_description> text of button
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> response ID for the button
</parameter_description>
</parameter>
</parameters>
<return> the #GtkButton widget
that was added
</return>
</function>

<function name="gtk_info_bar_add_buttons">
<description>
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.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="first_button_text">
<parameter_description> button text
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> response ID for first button, then more text-response_id pairs,
ending with %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_get_action_area">
<description>
Returns the action area of @info_bar.


</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
</parameters>
<return> the action area
</return>
</function>

<function name="gtk_info_bar_get_content_area">
<description>
Returns the content area of @info_bar.


</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
</parameters>
<return> the content area
</return>
</function>

<function name="gtk_info_bar_get_message_type">
<description>
Returns the message type of the message area.


</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
</parameters>
<return> the message type of the message area.
</return>
</function>

<function name="gtk_info_bar_get_revealed">
<description>
Returns whether the info bar is currently revealed.


</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
</parameters>
<return> the current value of the #GtkInfoBar:revealed property
</return>
</function>

<function name="gtk_info_bar_get_show_close_button">
<description>
Returns whether the widget will display a standard close button.


</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget displays standard close button
</return>
</function>

<function name="gtk_info_bar_new">
<description>
Creates a new #GtkInfoBar object.


</description>
<parameters>
</parameters>
<return> a new #GtkInfoBar object
</return>
</function>

<function name="gtk_info_bar_new_with_buttons">
<description>
Creates a new #GtkInfoBar with buttons. Button text/response ID
pairs should be listed, with a %NULL pointer ending the list.
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 “response” signal with the corresponding response ID.


</description>
<parameters>
<parameter name="first_button_text">
<parameter_description> ext to go in first button, or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> response ID for first button, then additional buttons, ending
with %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkInfoBar
</return>
</function>

<function name="gtk_info_bar_response">
<description>
Emits the “response” signal with the given @response_id.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> a response ID
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_set_default_response">
<description>
Sets the last widget in the info bar’s action area with
the given response_id as the default widget for the dialog.
Pressing “Enter” normally activates the default widget.

Note that this function currently requires @info_bar to
be added to a widget hierarchy. 

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> a response ID
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_set_message_type">
<description>
Sets the message type of the message area.

GTK+ uses this type to determine how the message is displayed.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="message_type">
<parameter_description> a #GtkMessageType
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_set_response_sensitive">
<description>
Calls gtk_widget_set_sensitive (widget, setting) for each
widget in the info bars’s action area with the given response_id.
A convenient way to sensitize/desensitize dialog buttons.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="response_id">
<parameter_description> a response ID
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> TRUE for sensitive
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_set_revealed">
<description>
Sets the #GtkInfoBar:revealed property to @revealed. Changing this will make
@info_bar reveal (%TRUE) or conceal (%FALSE) itself via a sliding transition.

Note: this does not show or hide @info_bar in the #GtkWidget:visible sense,
so revealing has no effect if #GtkWidget:visible is %FALSE.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="revealed">
<parameter_description> The new value of the property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_info_bar_set_show_close_button">
<description>
If true, a standard close button is shown. When clicked it emits
the response %GTK_RESPONSE_CLOSE.

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to include a close button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_init">
<description>
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.

If you are using #GtkApplication, you don't have to call gtk_init()
or gtk_init_check(); the #GtkApplication::startup handler
does it for you.

This function will terminate your program if it was unable to
initialize the windowing system for some reason. If you want
your program to fall back to a textual interface you want to
call gtk_init_check() instead.

GTK calls `signal (SIGPIPE, SIG_IGN)`
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.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_init_check">
<description>
This function does the same work as gtk_init() with only a single
change: It does not terminate the program if the windowing system
can’t be 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.


</description>
<parameters>
</parameters>
<return> %TRUE if the windowing system has been successfully
initialized, %FALSE otherwise
</return>
</function>

<function name="gtk_is_initialized">
<description>
Use this function to check if GTK has been initialized with gtk_init()
or gtk_init_check().


</description>
<parameters>
</parameters>
<return> the initialization status
</return>
</function>

<function name="gtk_key_hash_free">
<description>
Destroys a key hash created with gtk_key_hash_new()

</description>
<parameters>
<parameter name="key_hash">
<parameter_description> a #GtkKeyHash
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_get_attributes">
<description>
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)).


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the attribute list, or %NULL
if none was set.
</return>
</function>

<function name="gtk_label_get_current_uri">
<description>
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.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the currently active URI or %NULL if there is none.
The string is owned by GTK+ and must not be freed or modified.
</return>
</function>

<function name="gtk_label_get_ellipsize">
<description>
Returns the ellipsizing position of the label. See gtk_label_set_ellipsize().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> #PangoEllipsizeMode
</return>
</function>

<function name="gtk_label_get_extra_menu">
<description>
Gets the menu model set with gtk_label_set_extra_menu().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the menu model
</return>
</function>

<function name="gtk_label_get_justify">
<description>
Returns the justification of the label. See gtk_label_set_justify().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> #GtkJustification
</return>
</function>

<function name="gtk_label_get_label">
<description>
Fetches the text from a label widget including any embedded
underlines indicating mnemonics and Pango markup. (See
gtk_label_get_text()).


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the text of the label widget. This string is
owned by the widget and must not be modified or freed.
</return>
</function>

<function name="gtk_label_get_layout">
<description>
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. The @label is free to recreate its layout at
any time, so it should be considered read-only.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the #PangoLayout for this label
</return>
</function>

<function name="gtk_label_get_layout_offsets">
<description>
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. Remember
when using the #PangoLayout functions you need to convert to
and from pixels using PANGO_PIXELS() or #PANGO_SCALE.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> location to store X offset of layout, or %NULL
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> location to store Y offset of layout, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_get_lines">
<description>
Gets the number of lines to which an ellipsized, wrapping
label should be limited. See gtk_label_set_lines().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> The number of lines
</return>
</function>

<function name="gtk_label_get_max_width_chars">
<description>
Retrieves the desired maximum width of @label, in characters. See
gtk_label_set_width_chars().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the maximum width of the label in characters.
</return>
</function>

<function name="gtk_label_get_measuring_layout">
<description>
Gets a layout that can be used for measuring sizes. The returned
layout will be identical to the label’s layout except for the
layout’s width, which will be set to @width. Do not modify the returned
layout.


</description>
<parameters>
<parameter name="label">
<parameter_description> the label
</parameter_description>
</parameter>
<parameter name="existing_layout">
<parameter_description> %NULL or an existing layout already in use.
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width to measure with in pango units, or -1 for infinite
</parameter_description>
</parameter>
</parameters>
<return> a new reference to a pango layout
</return>
</function>

<function name="gtk_label_get_mnemonic_keyval">
<description>
If the label has been set so that it has a mnemonic key this function
returns the keyval used for the mnemonic accelerator. If there is no
mnemonic set up it returns #GDK_KEY_VoidSymbol.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> GDK keyval usable for accelerators, or #GDK_KEY_VoidSymbol
</return>
</function>

<function name="gtk_label_get_mnemonic_widget">
<description>
Retrieves the target of the mnemonic (keyboard shortcut) of this
label. See gtk_label_set_mnemonic_widget().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the target of the label’s mnemonic,
or %NULL if none has been set and the default algorithm will be used.
</return>
</function>

<function name="gtk_label_get_selectable">
<description>
Gets the value set by gtk_label_set_selectable().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the user can copy text from the label
</return>
</function>

<function name="gtk_label_get_selection_bounds">
<description>
Gets the selected range of characters in the label, returning %TRUE
if there’s a selection.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> return location for start of selection, as a character offset
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> return location for end of selection, as a character offset
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if selection is non-empty
</return>
</function>

<function name="gtk_label_get_single_line_mode">
<description>
Returns whether the label is in single line mode.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE when the label is in single line mode.
</return>
</function>

<function name="gtk_label_get_text">
<description>
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())


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the text in the label widget. This is the internal
string used by the label, and must not be modified.
</return>
</function>

<function name="gtk_label_get_track_visited_links">
<description>
Returns whether the label is currently keeping track
of clicked links.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if clicked links are remembered
</return>
</function>

<function name="gtk_label_get_use_markup">
<description>
Returns whether the label’s text is interpreted as marked up with
the [Pango text markup language][PangoMarkupFormat].
See gtk_label_set_use_markup ().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the label’s text will be parsed for markup.
</return>
</function>

<function name="gtk_label_get_use_underline">
<description>
Returns whether an embedded underline in the label indicates a
mnemonic. See gtk_label_set_use_underline().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE whether an embedded underline in the label indicates
the mnemonic accelerator keys.
</return>
</function>

<function name="gtk_label_get_width_chars">
<description>
Retrieves the desired width of @label, in characters. See
gtk_label_set_width_chars().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the width of the label in characters.
</return>
</function>

<function name="gtk_label_get_wrap">
<description>
Returns whether lines in the label are automatically wrapped.
See gtk_label_set_wrap().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the lines of the label are automatically wrapped.
</return>
</function>

<function name="gtk_label_get_wrap_mode">
<description>
Returns line wrap mode used by the label. See gtk_label_set_wrap_mode().


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the lines of the label are automatically wrapped.
</return>
</function>

<function name="gtk_label_get_xalign">
<description>
Gets the #GtkLabel:xalign property for @label.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the xalign property
</return>
</function>

<function name="gtk_label_get_yalign">
<description>
Gets the #GtkLabel:yalign property for @label.


</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the yalign property
</return>
</function>

<function name="gtk_label_new">
<description>
Creates a new label with the given text inside it. You can
pass %NULL to get an empty label widget.


</description>
<parameters>
<parameter name="str">
<parameter_description> The text of the label
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkLabel
</return>
</function>

<function name="gtk_label_new_with_mnemonic">
<description>
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
'__' (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.


</description>
<parameters>
<parameter name="str">
<parameter_description> The text of the label, with an underscore in front of the
mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkLabel
</return>
</function>

<function name="gtk_label_select_region">
<description>
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
@end_offset are -1, then the end of the label will be substituted.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="start_offset">
<parameter_description> start offset (in characters not bytes)
</parameter_description>
</parameter>
<parameter name="end_offset">
<parameter_description> end offset (in characters not bytes)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_attributes">
<description>
Sets a #PangoAttrList; the attributes in the list are applied to the
label text.

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.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> a #PangoAttrList, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_ellipsize">
<description>
Sets the mode used to ellipsize (add an ellipsis: &quot;...&quot;) to the text 
if there is not enough space to render the entire string.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> a #PangoEllipsizeMode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_extra_menu">
<description>
Sets a menu model to add when constructing
the context menu for @label.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_justify">
<description>
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_widget_set_halign() instead.
gtk_label_set_justify() has no effect on labels containing only a
single line.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="jtype">
<parameter_description> a #GtkJustification
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_label">
<description>
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 and
#GtkLabel:use-markup properties.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> the new text to set for the label
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_lines">
<description>
Sets the number of lines to which an ellipsized, wrapping label
should be limited. This has no effect if the label is not wrapping
or ellipsized. Set this to -1 if you don’t want to limit the
number of lines.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="lines">
<parameter_description> the desired number of lines, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_markup">
<description>
Parses @str which is marked up with the
[Pango text markup language][PangoMarkupFormat], setting the
label’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;!-- language=&quot;C&quot; --&gt;
GtkWidget *label = gtk_label_new (NULL);
const char *str = &quot;...&quot;;
const char *format = &quot;&lt;span style=\&quot;italic\&quot;&gt;\%s&lt;/span&gt;&quot;;
char *markup;

markup = g_markup_printf_escaped (format, str);
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
]|

This function will set the #GtkLabel:use-markup property to %TRUE as
a side effect.

If you set the label contents using the #GtkLabel:label property you
should also ensure that you set the #GtkLabel:use-markup property
accordingly.

See also: gtk_label_set_text()

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> a markup string (see [Pango markup format][PangoMarkupFormat])
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_markup_with_mnemonic">
<description>
Parses @str which is marked up with the
[Pango text markup language][PangoMarkupFormat],
setting the label’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().

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> a markup string (see
[Pango markup format][PangoMarkupFormat])
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_max_width_chars">
<description>
Sets the desired maximum width in characters of @label to @n_chars.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> the new desired maximum width, in characters.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_mnemonic_widget">
<description>
If the label has been set so that it has a mnemonic key (using
i.e. gtk_label_set_markup_with_mnemonic(),
gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic()
or the “use_underline” 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.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the target #GtkWidget, or %NULL to unset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_pattern">
<description>
The pattern of underlines you want under the existing text within the
#GtkLabel widget.  For example if the current text of the label says
“FooBarBaz” passing a pattern of “___   ___” will underline
“Foo” and “Baz” but not “Bar”.

</description>
<parameters>
<parameter name="label">
<parameter_description> The #GtkLabel you want to set the pattern to.
</parameter_description>
</parameter>
<parameter name="pattern">
<parameter_description> The pattern as described above.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_selectable">
<description>
Selectable labels allow the user to select text from the label, for
copy-and-paste.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to allow selecting text in the label
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_single_line_mode">
<description>
Sets whether the label is in single line mode.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="single_line_mode">
<parameter_description> %TRUE if the label should be in single line mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_text">
<description>
Sets the text within the #GtkLabel widget. It overwrites any text that
was there before.  

This function will clear any previously set mnemonic accelerators, and
set the #GtkLabel:use-underline property to %FALSE as a side effect.

This function will set the #GtkLabel:use-markup property to %FALSE
as a side effect.

See also: gtk_label_set_markup()

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> The text you want to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_text_with_mnemonic">
<description>
Sets the label’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().

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_track_visited_links">
<description>
Sets whether the label should keep track of clicked
links (and use a different color for them).

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="track_links">
<parameter_description> %TRUE to track visited links
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_use_markup">
<description>
Sets whether the text of the label contains markup in
[Pango’s text markup language][PangoMarkupFormat].
See gtk_label_set_markup().

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE if the label’s text should be parsed for markup.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_use_underline">
<description>
If true, an underline in the text indicates the next character should be
used for the mnemonic accelerator key.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE if underlines in the text indicate mnemonics
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_width_chars">
<description>
Sets the desired width in characters of @label to @n_chars.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> the new desired width, in characters.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_wrap">
<description>
Toggles line wrapping within the #GtkLabel widget. %TRUE makes it break
lines if text exceeds the widget’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’s width, because GTK+ widgets
conceptually can’t make their requisition depend on the parent
container’s size. For a label that wraps at a specific position,
set the label’s width using gtk_widget_set_size_request().

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="wrap">
<parameter_description> the setting
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_wrap_mode">
<description>
If line wrapping is on (see gtk_label_set_wrap()) this controls how
the line wrapping is done. The default is %PANGO_WRAP_WORD which means
wrap on word boundaries.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="wrap_mode">
<parameter_description> the line wrapping mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_xalign">
<description>
Sets the #GtkLabel:xalign property for @label.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> the new xalign value, between 0 and 1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_yalign">
<description>
Sets the #GtkLabel:yalign property for @label.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> the new yalign value, between 0 and 1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_child_get_child_widget">
<description>
Retrieves the #GtkWidget associated to the given @layout_child.


</description>
<parameters>
<parameter name="layout_child">
<parameter_description> a #GtkLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget
</return>
</function>

<function name="gtk_layout_child_get_layout_manager">
<description>
Retrieves the #GtkLayoutManager instance that created the
given @layout_child.


</description>
<parameters>
<parameter name="layout_child">
<parameter_description> a #GtkLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> a #GtkLayoutManager
</return>
</function>

<function name="gtk_layout_manager_allocate">
<description>
This function assigns the given @width, @height, and @baseline to
a @widget, and computes the position and sizes of the children of
the @widget using the layout management policy of @manager.

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkLayoutManager
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget using @manager
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the new width of the @widget
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the new height of the @widget
</parameter_description>
</parameter>
<parameter name="baseline">
<parameter_description> the baseline position of the @widget, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_manager_get_layout_child">
<description>
Retrieves a #GtkLayoutChild instance for the #GtkLayoutManager, creating
one if necessary.

The @child widget must be a child of the widget using @manager.

The #GtkLayoutChild instance is owned by the #GtkLayoutManager, and is
guaranteed to exist as long as @child is a child of the #GtkWidget using
the given #GtkLayoutManager.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkLayoutManager
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> a #GtkLayoutChild
</return>
</function>

<function name="gtk_layout_manager_get_request_mode">
<description>
Retrieves the request mode of @manager.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkLayoutManager
</parameter_description>
</parameter>
</parameters>
<return> a #GtkSizeRequestMode
</return>
</function>

<function name="gtk_layout_manager_get_widget">
<description>
Retrieves the #GtkWidget using the given #GtkLayoutManager.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkLayoutManager
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget
</return>
</function>

<function name="gtk_layout_manager_layout_changed">
<description>
Queues a resize on the #GtkWidget using @manager, if any.

This function should be called by subclasses of #GtkLayoutManager in
response to changes to their layout management policies.

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkLayoutManager
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_manager_measure">
<description>
Measures the size of the @widget using @manager, for the
given @orientation and size.

See [GtkWidget's geometry management section][geometry-management] for
more details.

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkLayoutManager
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget using @manager
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the orientation to measure
</parameter_description>
</parameter>
<parameter name="for_size">
<parameter_description> Size for the opposite of @orientation; for instance, if
the @orientation is %GTK_ORIENTATION_HORIZONTAL, this is the height
of the widget; if the @orientation is %GTK_ORIENTATION_VERTICAL, this
is the width of the widget. This allows to measure the height for the
given width, and the width for the given height. Use -1 if the size
is not known
</parameter_description>
</parameter>
<parameter name="minimum">
<parameter_description> the minimum size for the given size and
orientation
</parameter_description>
</parameter>
<parameter name="natural">
<parameter_description> the natural, or preferred size for the
given size and orientation
</parameter_description>
</parameter>
<parameter name="minimum_baseline">
<parameter_description> the baseline position for the
minimum size
</parameter_description>
</parameter>
<parameter name="natural_baseline">
<parameter_description> the baseline position for the
natural size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_level_bar_add_offset_value">
<description>
Adds a new offset marker on @self at the position specified by @value.
When the bar value is in the interval topped by @value (or between @value
and #GtkLevelBar:max-value in case the offset is the last one on the bar)
a style class named `level-`@name will be applied
when rendering the level bar fill.
If another offset marker named @name exists, its value will be
replaced by @value.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the new offset
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value for the new offset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_level_bar_get_inverted">
<description>
Return the value of the #GtkLevelBar:inverted property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the level bar is inverted
</return>
</function>

<function name="gtk_level_bar_get_max_value">
<description>
Returns the value of the #GtkLevelBar:max-value property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
</parameters>
<return> a positive value
</return>
</function>

<function name="gtk_level_bar_get_min_value">
<description>
Returns the value of the #GtkLevelBar:min-value property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
</parameters>
<return> a positive value
</return>
</function>

<function name="gtk_level_bar_get_mode">
<description>
Returns the value of the #GtkLevelBar:mode property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
</parameters>
<return> a #GtkLevelBarMode
</return>
</function>

<function name="gtk_level_bar_get_offset_value">
<description>
Fetches the value specified for the offset marker @name in @self,
returning %TRUE in case an offset named @name was found.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of an offset in the bar
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> location where to store the value
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the specified offset is found
</return>
</function>

<function name="gtk_level_bar_get_value">
<description>
Returns the value of the #GtkLevelBar:value property.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
</parameters>
<return> a value in the interval between
#GtkLevelBar:min-value and #GtkLevelBar:max-value
</return>
</function>

<function name="gtk_level_bar_new">
<description>
Creates a new #GtkLevelBar.


</description>
<parameters>
</parameters>
<return> a #GtkLevelBar.
</return>
</function>

<function name="gtk_level_bar_new_for_interval">
<description>
Utility constructor that creates a new #GtkLevelBar for the specified
interval.


</description>
<parameters>
<parameter name="min_value">
<parameter_description> a positive value
</parameter_description>
</parameter>
<parameter name="max_value">
<parameter_description> a positive value
</parameter_description>
</parameter>
</parameters>
<return> a #GtkLevelBar
</return>
</function>

<function name="gtk_level_bar_remove_offset_value">
<description>
Removes an offset marker previously added with
gtk_level_bar_add_offset_value().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of an offset in the bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_level_bar_set_inverted">
<description>
Sets the value of the #GtkLevelBar:inverted property.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="inverted">
<parameter_description> %TRUE to invert the level bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_level_bar_set_max_value">
<description>
Sets the value of the #GtkLevelBar:max-value property.

You probably want to update preexisting level offsets after calling
this function.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a positive value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_level_bar_set_min_value">
<description>
Sets the value of the #GtkLevelBar:min-value property.

You probably want to update preexisting level offsets after calling
this function.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a positive value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_level_bar_set_mode">
<description>
Sets the value of the #GtkLevelBar:mode property.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> a #GtkLevelBarMode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_level_bar_set_value">
<description>
Sets the value of the #GtkLevelBar:value property.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkLevelBar
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a value in the interval between
#GtkLevelBar:min-value and #GtkLevelBar:max-value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_link_button_get_uri">
<description>
Retrieves the URI set using gtk_link_button_set_uri().


</description>
<parameters>
<parameter name="link_button">
<parameter_description> a #GtkLinkButton
</parameter_description>
</parameter>
</parameters>
<return> a valid URI.  The returned string is owned by the link button
and should not be modified or freed.
</return>
</function>

<function name="gtk_link_button_get_visited">
<description>
Retrieves the “visited” 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 “visited” state is unset again.

The state may also be changed using gtk_link_button_set_visited().


</description>
<parameters>
<parameter name="link_button">
<parameter_description> a #GtkLinkButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the link has been visited, %FALSE otherwise
</return>
</function>

<function name="gtk_link_button_new">
<description>
Creates a new #GtkLinkButton with the URI as its text.


</description>
<parameters>
<parameter name="uri">
<parameter_description> a valid URI
</parameter_description>
</parameter>
</parameters>
<return> a new link button widget.
</return>
</function>

<function name="gtk_link_button_new_with_label">
<description>
Creates a new #GtkLinkButton containing a label.


</description>
<parameters>
<parameter name="uri">
<parameter_description> a valid URI
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text of the button
</parameter_description>
</parameter>
</parameters>
<return> a new link button widget.
</return>
</function>

<function name="gtk_link_button_set_uri">
<description>
Sets @uri as the URI where the #GtkLinkButton points. As a side-effect
this unsets the “visited” state of the button.

</description>
<parameters>
<parameter name="link_button">
<parameter_description> a #GtkLinkButton
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a valid URI
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_link_button_set_visited">
<description>
Sets the “visited” state of the URI where the #GtkLinkButton
points.  See gtk_link_button_get_visited() for more details.

</description>
<parameters>
<parameter name="link_button">
<parameter_description> a #GtkLinkButton
</parameter_description>
</parameter>
<parameter name="visited">
<parameter_description> the new “visited” state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_bind_model">
<description>
Binds @model to @box.

If @box was already bound to a model, that previous binding is
destroyed.

The contents of @box are cleared and then filled with widgets that
represent items from @model. @box is updated whenever @model changes.
If @model is %NULL, @box is left empty.

It is undefined to add or remove widgets directly (for example, with
gtk_list_box_insert() or gtk_container_add()) while @box is bound to a
model.

Note that using a model is incompatible with the filtering and sorting
functionality in GtkListBox. When using a model, filtering and sorting
should be implemented by the model.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the #GListModel to be bound to @box
</parameter_description>
</parameter>
<parameter name="create_widget_func">
<parameter_description> a function that creates widgets for items
or %NULL in case you also passed %NULL as @model
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @create_widget_func
</parameter_description>
</parameter>
<parameter name="user_data_free_func">
<parameter_description> function for freeing @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_drag_highlight_row">
<description>
This is a helper function for implementing DnD onto a #GtkListBox.
The passed in @row will be highlighted via gtk_drag_highlight(),
and any previously highlighted row will be unhighlighted.

The row will also be unhighlighted when the widget gets
a drag leave event.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_drag_unhighlight_row">
<description>
If a row has previously been highlighted via gtk_list_box_drag_highlight_row()
it will have the highlight removed.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_get_activate_on_single_click">
<description>
Returns whether rows activate on single clicks.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if rows are activated on single click, %FALSE otherwise
</return>
</function>

<function name="gtk_list_box_get_adjustment">
<description>
Gets the adjustment (if any) that the widget uses to
for vertical scrolling.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return> the adjustment
</return>
</function>

<function name="gtk_list_box_get_row_at_index">
<description>
Gets the n-th child in the list (not counting headers).
If @_index is negative or larger than the number of items in the
list, %NULL is returned.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index of the row
</parameter_description>
</parameter>
</parameters>
<return> the child #GtkWidget or %NULL
</return>
</function>

<function name="gtk_list_box_get_row_at_y">
<description>
Gets the row at the @y position.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> position
</parameter_description>
</parameter>
</parameters>
<return> the row or %NULL
in case no row exists for the given y coordinate.
</return>
</function>

<function name="gtk_list_box_get_selected_row">
<description>
Gets the selected row.

Note that the box may allow multiple selection, in which
case you should use gtk_list_box_selected_foreach() to
find all selected rows.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return> the selected row
</return>
</function>

<function name="gtk_list_box_get_selected_rows">
<description>
Creates a list of all selected children.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return>
A #GList containing the #GtkWidget for each selected child.
Free with g_list_free() when done.
</return>
</function>

<function name="gtk_list_box_get_selection_mode">
<description>
Gets the selection mode of the listbox.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return> a #GtkSelectionMode
</return>
</function>

<function name="gtk_list_box_get_show_separators">
<description>
Returns whether the list box should show separators
between rows.


</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the list box shows separators
</return>
</function>

<function name="gtk_list_box_insert">
<description>
Insert the @child into the @box at @position. If a sort function is
set, the widget will actually be inserted at the calculated position and
this function has the same effect of gtk_container_add().

If @position is -1, or larger than the total number of items in the
@box, then the @child will be appended to the end.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to add
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position to insert @child in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_invalidate_filter">
<description>
Update the filtering for all rows. Call this when result
of the filter function on the @box is changed due
to an external factor. For instance, this would be used
if the filter function just looked for a specific search
string and the entry with the search string has changed.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_invalidate_headers">
<description>
Update the separators for all rows. Call this when result
of the header function on the @box is changed due
to an external factor.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_invalidate_sort">
<description>
Update the sorting for all rows. Call this when result
of the sort function on the @box is changed due
to an external factor.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_new">
<description>
Creates a new #GtkListBox container.


</description>
<parameters>
</parameters>
<return> a new #GtkListBox
</return>
</function>

<function name="gtk_list_box_prepend">
<description>
Prepend a widget to the list. If a sort function is set, the widget will
actually be inserted at the calculated position and this function has the
same effect of gtk_container_add().

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to add
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_row_changed">
<description>
Marks @row as changed, causing any state that depends on this
to be updated. This affects sorting, filtering and headers.

Note that calls to this method must be in sync with the data
used for the row functions. For instance, if the list is
mirroring some external data set, and *two* rows changed in the
external data set then when you call gtk_list_box_row_changed()
on the first row the sort function must only read the new data
for the first of the two changed rows, otherwise the resorting
of the rows will be wrong.

This generally means that if you don’t fully control the data
model you have to duplicate the data that affects the listbox
row functions into the row widgets themselves. Another alternative
is to call gtk_list_box_invalidate_sort() on any model change,
but that is more expensive.

</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_row_get_activatable">
<description>
Gets the value of the #GtkListBoxRow:activatable property
for this row.


</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row is activatable
</return>
</function>

<function name="gtk_list_box_row_get_header">
<description>
Returns the current header of the @row. This can be used
in a #GtkListBoxUpdateHeaderFunc to see if there is a header
set already, and if so to update the state of it.


</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
</parameters>
<return> the current header, or %NULL if none
</return>
</function>

<function name="gtk_list_box_row_get_index">
<description>
Gets the current index of the @row in its #GtkListBox container.


</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
</parameters>
<return> the index of the @row, or -1 if the @row is not in a listbox
</return>
</function>

<function name="gtk_list_box_row_get_selectable">
<description>
Gets the value of the #GtkListBoxRow:selectable property
for this row.


</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row is selectable
</return>
</function>

<function name="gtk_list_box_row_is_selected">
<description>
Returns whether the child is currently selected in its
#GtkListBox container.


</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @row is selected
</return>
</function>

<function name="gtk_list_box_row_new">
<description>
Creates a new #GtkListBoxRow, to be used as a child of a #GtkListBox.


</description>
<parameters>
</parameters>
<return> a new #GtkListBoxRow
</return>
</function>

<function name="gtk_list_box_row_set_activatable">
<description>
Set the #GtkListBoxRow:activatable property for this row.

</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
<parameter name="activatable">
<parameter_description> %TRUE to mark the row as activatable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_row_set_header">
<description>
Sets the current header of the @row. This is only allowed to be called
from a #GtkListBoxUpdateHeaderFunc. It will replace any existing
header in the row, and be shown in front of the row in the listbox.

</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
<parameter name="header">
<parameter_description> the header, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_row_set_selectable">
<description>
Set the #GtkListBoxRow:selectable property for this row.

</description>
<parameters>
<parameter name="row">
<parameter_description> a #GtkListBoxRow
</parameter_description>
</parameter>
<parameter name="selectable">
<parameter_description> %TRUE to mark the row as selectable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_select_all">
<description>
Select all children of @box, if the selection mode allows it.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_select_row">
<description>
Make @row the currently selected row.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> The row to select or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_selected_foreach">
<description>
Calls a function for each selected child.

Note that the selection cannot be modified from within this function.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> the function to call for each selected child
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data to pass to the function
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_activate_on_single_click">
<description>
If @single is %TRUE, rows will be activated when you click on them,
otherwise you need to double-click.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="single">
<parameter_description> a boolean
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_adjustment">
<description>
Sets the adjustment (if any) that the widget uses to
for vertical scrolling. For instance, this is used
to get the page size for PageUp/Down key handling.

In the normal case when the @box is packed inside
a #GtkScrolledWindow the adjustment from that will
be picked up automatically, so there is no need
to manually do that.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> the adjustment, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_filter_func">
<description>
By setting a filter function on the @box one can decide dynamically which
of the rows to show. For instance, to implement a search function on a list that
filters the original list to only show the matching rows.

The @filter_func will be called for each row after the call, and it will
continue to be called each time a row changes (via gtk_list_box_row_changed()) or
when gtk_list_box_invalidate_filter() is called.

Note that using a filter function is incompatible with using a model
(see gtk_list_box_bind_model()).

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="filter_func">
<parameter_description> callback that lets you filter which rows to show
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @filter_func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_header_func">
<description>
By setting a header function on the @box one can dynamically add headers
in front of rows, depending on the contents of the row and its position in the list.
For instance, one could use it to add headers in front of the first item of a
new kind, in a list sorted by the kind.

The @update_header can look at the current header widget using gtk_list_box_row_get_header()
and either update the state of the widget as needed, or set a new one using
gtk_list_box_row_set_header(). If no header is needed, set the header to %NULL.

Note that you may get many calls @update_header to this for a particular row when e.g.
changing things that don’t affect the header. In this case it is important for performance
to not blindly replace an existing header with an identical one.

The @update_header function will be called for each row after the call, and it will
continue to be called each time a row changes (via gtk_list_box_row_changed()) and when
the row before changes (either by gtk_list_box_row_changed() on the previous row, or when
the previous row becomes a different row). It is also called for all rows when
gtk_list_box_invalidate_headers() is called.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="update_header">
<parameter_description> callback that lets you add row headers
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @update_header
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_placeholder">
<description>
Sets the placeholder widget that is shown in the list when
it doesn't display any visible children.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="placeholder">
<parameter_description> a #GtkWidget or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_selection_mode">
<description>
Sets how selection works in the listbox.
See #GtkSelectionMode for details.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> The #GtkSelectionMode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_show_separators">
<description>
Sets whether the list box should show separators
between rows.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="show_separators">
<parameter_description> %TRUE to show separators
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_set_sort_func">
<description>
By setting a sort function on the @box one can dynamically reorder the rows
of the list, based on the contents of the rows.

The @sort_func will be called for each row after the call, and will continue to
be called each time a row changes (via gtk_list_box_row_changed()) and when
gtk_list_box_invalidate_sort() is called.

Note that using a sort function is incompatible with using a model
(see gtk_list_box_bind_model()).

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="sort_func">
<parameter_description> the sort function
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @sort_func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_unselect_all">
<description>
Unselect all children of @box, if the selection mode allows it.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_box_unselect_row">
<description>
Unselects a single row of @box, if the selection mode allows it.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkListBox
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> the row to unselected
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_append">
<description>
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().


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the appended row
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_clear">
<description>
Removes all rows from the list store.  


</description>
<parameters>
<parameter name="list_store">
<parameter_description> a #GtkListStore.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_insert">
<description>
Creates a new row at @position.  @iter will be changed to point to this new
row.  If @position is -1 or 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().


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position to insert the new row, or -1 for last
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_insert_after">
<description>
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().


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_insert_before">
<description>
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().


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_insert_with_values">
<description>
Creates a new row at @position. @iter will be changed to point to this new
row. If @position is -1, or larger than the number of rows in 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
`gtk_list_store_insert_with_values (list_store, iter, position...)`
has the same effect as calling
|[&lt;!-- language=&quot;C&quot; --&gt;
static void
insert_value (GtkListStore *list_store,
GtkTreeIter  *iter,
int           position)
{
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.

</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row, or %NULL
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position to insert the new row, or -1 to append after existing
rows
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> pairs of column number and value, terminated with -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_insert_with_valuesv">
<description>
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.

</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row, or %NULL.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position to insert the new row, or -1 for last
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> an array of column numbers
</parameter_description>
</parameter>
<parameter name="values">
<parameter_description> an array of GValues 
</parameter_description>
</parameter>
<parameter name="n_values">
<parameter_description> the length of the @columns and @values arrays
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_iter_is_valid">
<description>
&gt; This function is slow. Only use it for debugging and/or testing
&gt; purposes.

Checks if the given iter is a valid iter for this #GtkListStore.


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iter is valid, %FALSE if the iter is invalid.
</return>
</function>

<function name="gtk_list_store_move_after">
<description>
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.

</description>
<parameters>
<parameter name="store">
<parameter_description> A #GtkListStore.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> A #GtkTreeIter or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_move_before">
<description>
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.

</description>
<parameters>
<parameter name="store">
<parameter_description> A #GtkListStore.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> A #GtkTreeIter, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_new">
<description>
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, `gtk_list_store_new (3, G_TYPE_INT, G_TYPE_STRING,
GDK_TYPE_TEXTURE);` will create a new #GtkListStore with three columns, of type
int, string and #GdkTexture, respectively.


</description>
<parameters>
<parameter name="n_columns">
<parameter_description> number of columns in the list store
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> all #GType types for the columns, from first to last
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkListStore
</return>
</function>

<function name="gtk_list_store_newv">
<description>
Non-vararg creation function.  Used primarily by language bindings.


</description>
<parameters>
<parameter name="n_columns">
<parameter_description> number of columns in the list store
</parameter_description>
</parameter>
<parameter name="types">
<parameter_description> an array of #GType types for the columns, from first to last
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkListStore
</return>
</function>

<function name="gtk_list_store_prepend">
<description>
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().


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the prepend row
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_remove">
<description>
Removes the given row from the list store.  After being removed, 
@iter is set to be the next valid row, or invalidated if it pointed 
to the last row in @list_store.


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is valid, %FALSE if not.
</return>
</function>

<function name="gtk_list_store_reorder">
<description>
Reorders @store to follow the order indicated by @new_order. Note that
this function only works with unsorted stores.

</description>
<parameters>
<parameter name="store">
<parameter_description> A #GtkListStore.
</parameter_description>
</parameter>
<parameter name="new_order">
<parameter_description> an array of integers mapping the new
position of each child to its old position before the re-ordering,
i.e. @new_order`[newpos] = oldpos`. It must have
exactly as many items as the list store’s length.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_set">
<description>
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 “Foo”, you would write `gtk_list_store_set (store, iter,
0, &quot;Foo&quot;, -1)`.

The value will be referenced by the store if it is a %G_TYPE_OBJECT, and it
will be copied if it is a %G_TYPE_STRING or %G_TYPE_BOXED.

</description>
<parameters>
<parameter name="list_store">
<parameter_description> a #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> row iterator
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> pairs of column number and value, terminated with -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_set_column_types">
<description>
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.

</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="n_columns">
<parameter_description> Number of columns for the list store
</parameter_description>
</parameter>
<parameter name="types">
<parameter_description> An array length n of #GTypes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_set_valist">
<description>
See gtk_list_store_set(); this version takes a va_list for use by language
bindings.


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter for the row being modified
</parameter_description>
</parameter>
<parameter name="var_args">
<parameter_description> va_list of column/value pairs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_set_value">
<description>
Sets the data in the cell specified by @iter and @column.
The type of @value must be convertible to the type of the
column.


</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter for the row being modified
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> column number to modify
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> new value for the cell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_set_valuesv">
<description>
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.

</description>
<parameters>
<parameter name="list_store">
<parameter_description> A #GtkListStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter for the row being modified
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> an array of column numbers
</parameter_description>
</parameter>
<parameter name="values">
<parameter_description> an array of GValues
</parameter_description>
</parameter>
<parameter name="n_values">
<parameter_description> the length of the @columns and @values arrays
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_list_store_swap">
<description>
Swaps @a and @b in @store. Note that this function only works with
unsorted stores.

</description>
<parameters>
<parameter name="store">
<parameter_description> A #GtkListStore.
</parameter_description>
</parameter>
<parameter name="a">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="b">
<parameter_description> Another #GtkTreeIter.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_lock_button_get_permission">
<description>
Obtains the #GPermission object that controls @button.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkLockButton
</parameter_description>
</parameter>
</parameters>
<return> the #GPermission of @button
</return>
</function>

<function name="gtk_lock_button_new">
<description>
Creates a new lock button which reflects the @permission.


</description>
<parameters>
<parameter name="permission">
<parameter_description> a #GPermission
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkLockButton
</return>
</function>

<function name="gtk_lock_button_set_permission">
<description>
Sets the #GPermission object that controls @button.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkLockButton
</parameter_description>
</parameter>
<parameter name="permission">
<parameter_description> a #GPermission object, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_map_list_model_get_model">
<description>
Gets the model that is curently being mapped or %NULL if none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMapListModel
</parameter_description>
</parameter>
</parameters>
<return> The model that gets mapped
</return>
</function>

<function name="gtk_map_list_model_has_map">
<description>
Checks if a map function is currently set on @self


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMapListModel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a map function is set
</return>
</function>

<function name="gtk_map_list_model_new">
<description>
Creates a new #GtkMapListModel for the given arguments.


</description>
<parameters>
<parameter name="item_type">
<parameter_description> the #GType to use as the model's item type
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> The model to map or %NULL for none
</parameter_description>
</parameter>
<parameter name="map_func">
<parameter_description> map function or %NULL to not map items
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @map_func
</parameter_description>
</parameter>
<parameter name="user_destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMapListModel
</return>
</function>

<function name="gtk_map_list_model_set_map_func">
<description>
Sets the function used to map items. The function will be called whenever
an item needs to be mapped and must return the item to use for the given
input item.

Note that #GtkMapListModel may call this function multiple times on the
same item, because it may delete items it doesn't need anymore.

GTK makes no effort to ensure that @map_func conforms to the item type
of @self. It assumes that the caller knows what they are doing and the map
function returns items of the appropriate type.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMapListModel
</parameter_description>
</parameter>
<parameter name="map_func">
<parameter_description> map function or %NULL to not map items
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @map_func
</parameter_description>
</parameter>
<parameter name="user_destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_map_list_model_set_model">
<description>
Sets the model to be mapped.

GTK makes no effort to ensure that @model conforms to the item type
expected by the map function. It assumes that the caller knows what
they are doing and have set up an appropriate map function.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMapListModel
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> The model to be mapped
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_controls_get_media_stream">
<description>
Gets the media stream managed by @controls or %NULL if none.


</description>
<parameters>
<parameter name="controls">
<parameter_description> a #GtkMediaControls
</parameter_description>
</parameter>
</parameters>
<return> The media stream managed by @controls
</return>
</function>

<function name="gtk_media_controls_new">
<description>
Creates a new #GtkMediaControls managing the @stream passed to it.


</description>
<parameters>
<parameter name="stream">
<parameter_description> a #GtkMediaStream to
manage or %NULL for none.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMediaControls
</return>
</function>

<function name="gtk_media_controls_set_media_stream">
<description>
Sets the stream that is controlled by @controls.

</description>
<parameters>
<parameter name="controls">
<parameter_description> a #GtkMediaControls widget
</parameter_description>
</parameter>
<parameter name="stream">
<parameter_description>  a #GtkMediaStream, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_file_clear">
<description>
Resets the media file to be empty. 

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaFile
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_file_get_file">
<description>
Returns the file that @self is currently playing from.

When @self is not playing or not playing from a file,
%NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaFile
</parameter_description>
</parameter>
</parameters>
<return> The currently playing file or %NULL if not
playing from a file.
</return>
</function>

<function name="gtk_media_file_get_input_stream">
<description>
Returns the stream that @self is currently playing from.

When @self is not playing or not playing from a stream,
%NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaFile
</parameter_description>
</parameter>
</parameters>
<return> The currently playing stream or %NULL if not
playing from a stream.
</return>
</function>

<function name="gtk_media_file_new">
<description>
Creates a new empty media file.


</description>
<parameters>
</parameters>
<return> a new #GtkMediaFile
</return>
</function>

<function name="gtk_media_file_new_for_file">
<description>
Creates a new media file to play @file. 


</description>
<parameters>
<parameter name="file">
<parameter_description> The file to play
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMediaFile playing @file
</return>
</function>

<function name="gtk_media_file_new_for_filename">
<description>
This is a utility function that converts the given @filename
to a #GFile and calls gtk_media_file_new_for_file().


</description>
<parameters>
<parameter name="filename">
<parameter_description> filename to open
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMediaFile playing @filename
</return>
</function>

<function name="gtk_media_file_new_for_input_stream">
<description>
Creates a new media file to play @stream. If you want the
resulting media to be seekable, the stream should implement
the #GSeekable interface.


</description>
<parameters>
<parameter name="stream">
<parameter_description> The stream to play
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMediaFile
</return>
</function>

<function name="gtk_media_file_new_for_resource">
<description>
This is a utility function that converts the given @resource
to a #GFile and calls gtk_media_file_new_for_file().


</description>
<parameters>
<parameter name="resource_path">
<parameter_description> resource path to open
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMediaFile playing @resource_path
</return>
</function>

<function name="gtk_media_file_set_file">
<description>
If any file is still playing, stop playing it.

Then start playing the given @file.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaFile
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> the file to play
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_file_set_filename">
<description>
This is a utility function that converts the given @filename
to a #GFile and calls gtk_media_file_set_file().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaFile
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> name of file to play
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_file_set_input_stream">
<description>
If anything is still playing, stop playing it. Then start
playing the given @stream.

Full control about the @stream is assumed for the duration of
playback. The stream will not bt be closed.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaFile
</parameter_description>
</parameter>
<parameter name="stream">
<parameter_description> the stream to play from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_file_set_resource">
<description>
This is a utility function that converts the given @resource_path
to a #GFile and calls gtk_media_file_set_file().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaFile
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> path to resource to play
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_ended">
<description>
Pauses the media stream and marks it as ended. This is a hint only, calls
to GtkMediaStream.play() may still happen.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_error">
<description>
Sets @self into an error state using a printf()-style format string.

This is a utility function that calls gtk_media_stream_gerror(). See
that function for details.  

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="domain">
<parameter_description> error domain
</parameter_description>
</parameter>
<parameter name="code">
<parameter_description> error code
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> printf()-style format for error message
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> parameters for message format
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_error_valist">
<description>
Sets @self into an error state using a printf()-style format string.

This is a utility function that calls gtk_media_stream_gerror(). See
that function for details.  

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="domain">
<parameter_description> error domain
</parameter_description>
</parameter>
<parameter name="code">
<parameter_description> error code
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> printf()-style format for error message
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> #va_list of parameters for the message format
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_gerror">
<description>
Sets @self into an error state. This will pause the stream
(you can check for an error via gtk_media_stream_get_error() in
your GtkMediaStream.pause() implementation), abort pending seeks
and mark the stream as prepared.

if the stream is already in an error state, this call will be ignored
and the existing error will be retained.
FIXME: Or do we want to set the new error?

To unset an error, the stream must be reset via a call to
gtk_media_stream_unprepared().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> the #GError to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_get_duration">
<description>
Gets the duration of the stream. If the duration is not known,
0 will be returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> the duration of the stream or 0 if not known.
</return>
</function>

<function name="gtk_media_stream_get_ended">
<description>
Returns whether the streams playback is finished.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if playback is finished
</return>
</function>

<function name="gtk_media_stream_get_error">
<description>
If the stream is in an error state, returns the #GError explaining that state.
Any type of error can be reported here depending on the implementation of the
media stream.

A media stream in an error cannot be operated on, calls like
gtk_media_stream_play() or gtk_media_stream_seek() will not have any effect.

#GtkMediaStream itself does not provide a way to unset an error, but
implementations may provide options. For example, a #GtkMediaFile will unset
errors when a new source is set with ie gtk_media_file_set_file().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %NULL if not in an error state or
the #GError of the stream
</return>
</function>

<function name="gtk_media_stream_get_loop">
<description>
Returns whether the stream is set to loop. See
gtk_media_stream_set_loop() for details.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the stream should loop
</return>
</function>

<function name="gtk_media_stream_get_muted">
<description>
Returns whether the audio for the stream is muted.
See gtk_media_stream_set_muted() for details.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the stream is muted
</return>
</function>

<function name="gtk_media_stream_get_playing">
<description>
Return whether the stream is currently playing.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the stream is playing
</return>
</function>

<function name="gtk_media_stream_get_timestamp">
<description>
Returns the current presentation timestamp in microseconds.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> the timestamp in microseconds
</return>
</function>

<function name="gtk_media_stream_get_volume">
<description>
Returns the volume of the audio for the stream.
See gtk_media_stream_set_volume() for details.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> volume of the stream from 0.0 to 1.0
</return>
</function>

<function name="gtk_media_stream_has_audio">
<description>
Returns whether the stream has audio.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the stream has audio
</return>
</function>

<function name="gtk_media_stream_has_video">
<description>
Returns whether the stream has video.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the stream has video
</return>
</function>

<function name="gtk_media_stream_is_prepared">
<description>
Returns whether the stream has finished initializing and existence of
audio and video is known.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the stream is prepared
</return>
</function>

<function name="gtk_media_stream_is_seekable">
<description>
Checks if a stream may be seekable.

This is meant to be a hint. Streams may not allow seeking even if
this function returns %TRUE. However, if this function returns
%FALSE, streams are guaranteed to not be seekable and user interfaces
may hide controls that allow seeking.

It is allowed to call gtk_media_stream_seek() on a non-seekable
stream, though it will not do anything.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the stream may support seeking
</return>
</function>

<function name="gtk_media_stream_is_seeking">
<description>
Checks if there is currently a seek operation going on.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a seek operation is ongoing.
</return>
</function>

<function name="gtk_media_stream_pause">
<description>
Pauses playback of the stream. If the stream
is not playing, do nothing.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_play">
<description>
Starts playing the stream. If the stream
is in error or already playing, do nothing.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_prepared">
<description>
Called by #GtkMediaStream implementations to advertise the stream
being ready to play and providing details about the stream.

Note that the arguments are hints. If the stream implementation
cannot determine the correct values, it is better to err on the
side of caution and return %TRUE. User interfaces will use those
values to determine what controls to show.

This function may not be called again until the stream has been
reset via gtk_media_stream_unprepared().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="has_audio">
<parameter_description> %TRUE if the stream should advertise audio support
</parameter_description>
</parameter>
<parameter name="has_video">
<parameter_description> %TRUE if the stream should advertise video support
</parameter_description>
</parameter>
<parameter name="seekable">
<parameter_description> %TRUE if the stream should advertise seekability
</parameter_description>
</parameter>
<parameter name="duration">
<parameter_description> The duration of the stream or 0 if unknown
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_realize">
<description>
Called by users to attach the media stream to a #GdkSurface they manage.
The stream can then access the resources of @surface for its rendering
purposes. In particular, media streams might want to create
#GdkGLContexts or sync to the #GdkFrameClock.

Whoever calls this function is responsible for calling
gtk_media_stream_unrealize() before either the stream or @surface get
destroyed.

Multiple calls to this function may happen from different users of the
video, even with the same @surface. Each of these calls must be followed
by its own call to gtk_media_stream_unrealize().

It is not required to call this function to make a media stream work.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="surface">
<parameter_description> a #GdkSurface
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_seek">
<description>
Start a seek operation on @self to @timestamp. If @timestamp is out of range,
it will be clamped.

Seek operations may not finish instantly. While a seek operation is
in process, the GtkMediaStream:seeking property will be set.

When calling gtk_media_stream_seek() during an ongoing seek operation,
the new seek wil override any pending seek.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="timestamp">
<parameter_description> timestamp to seek to.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_seek_failed">
<description>
Ends a seek operation started via GtkMediaStream.seek() as a failure.
This will not cause an error on the stream and will assume that
playback continues as if no seek had happened.

See gtk_media_stream_seek_success() for the other way of
ending a seek.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_seek_success">
<description>
Ends a seek operation started via GtkMediaStream.seek() successfully.
This function will unset the GtkMediaStream:ended property if it was
set.

See gtk_media_stream_seek_failed() for the other way of
ending a seek.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_set_loop">
<description>
Sets whether the stream should loop, ie restart playback from
the beginning instead of stopping at the end.

Not all streams may support looping, in particular non-seekable
streams. Those streams will ignore the loop setting and just end.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="loop">
<parameter_description> %TRUE if the stream should loop
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_set_muted">
<description>
Sets whether the audio stream should be muted. Muting a stream will
cause no audio to be played, but it does not modify the volume.
This means that muting and then unmuting the stream will restore
the volume settings.

If the stream has no audio, calling this function will still work
but it will not have an audible effect.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="muted">
<parameter_description> %TRUE if the stream should be muted
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_set_playing">
<description>
Starts or pauses playback of the stream.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="playing">
<parameter_description> whether to start or pause playback
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_set_volume">
<description>
Sets the volume of the audio stream. This function call will work even if
the stream is muted.

The given @volume should range from 0.0 for silence to 1.0 for as loud as
possible. Values outside of this range will be clamped to the nearest
value.

If the stream has no audio or is muted, calling this function will still
work but it will not have an immediate audible effect. When the stream is
unmuted, the new volume setting will take effect.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="volume">
<parameter_description> New volume of the stream from 0.0 to 1.0
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_unprepared">
<description>
Resets a given media stream implementation. gtk_media_stream_prepared()
can now be called again.

This function will also reset any error state the stream was in.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_unrealize">
<description>
Undoes a previous call to gtk_media_stream_realize() and causes
the stream to release all resources it had allocated from @surface.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream previously realized
</parameter_description>
</parameter>
<parameter name="surface">
<parameter_description> the #GdkSurface the stream was realized with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_media_stream_update">
<description>
Media stream implementations should regularly call this function to
update the timestamp reported by the stream. It is up to
implementations to call this at the frequency they deem appropriate.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
<parameter name="timestamp">
<parameter_description> the new timestamp
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_get_align_widget">
<description>
Returns the parent #GtkWidget to use to line up with menu.


</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget value or %NULL
</return>
</function>

<function name="gtk_menu_button_get_direction">
<description>
Returns the direction the popup will be pointing at when popped up.


</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return> a #GtkArrowType value
</return>
</function>

<function name="gtk_menu_button_get_icon_name">
<description>
Gets the name of the icon shown in the button.


</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return> the name of the icon shown in the button
</return>
</function>

<function name="gtk_menu_button_get_label">
<description>
Gets the label shown in the button


</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return> the label shown in the button
</return>
</function>

<function name="gtk_menu_button_get_menu_model">
<description>
Returns the #GMenuModel used to generate the popup.


</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return> a #GMenuModel or %NULL
</return>
</function>

<function name="gtk_menu_button_get_popover">
<description>
Returns the #GtkPopover that pops out of the button.
If the button is not using a #GtkPopover, this function
returns %NULL.


</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return> a #GtkPopover or %NULL
</return>
</function>

<function name="gtk_menu_button_get_relief">
<description>
Returns the current relief style of the given #GtkMenuButton.


</description>
<parameters>
<parameter name="menu_button">
<parameter_description> The #GtkMenuButton you want the #GtkReliefStyle from.
</parameter_description>
</parameter>
</parameters>
<return> The current #GtkReliefStyle
</return>
</function>

<function name="gtk_menu_button_new">
<description>
Creates a new #GtkMenuButton widget with downwards-pointing
arrow as the only child. You can replace the child widget
with another #GtkWidget should you wish to.


</description>
<parameters>
</parameters>
<return> The newly created #GtkMenuButton widget
</return>
</function>

<function name="gtk_menu_button_popdown">
<description>
Dismiss the menu.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_popup">
<description>
Pop up the menu.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_align_widget">
<description>
Sets the #GtkWidget to use to line the menu with when popped up.
Note that the @align_widget must contain the #GtkMenuButton itself.

Setting it to %NULL means that the menu will be aligned with the
button itself.

Note that this property is only used with menus currently,
and not for popovers.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="align_widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_create_popup_func">
<description>
Sets @func to be called when a popup is about to be shown.
@func should use one of

- gtk_menu_button_set_popover()
- gtk_menu_button_set_menu_model()

to set a popup for @menu_button.
If @func is non-%NULL, @menu_button will always be sensitive.

Using this function will not reset the menu widget attached to @menu_button.
Instead, this can be done manually in @func.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> function to call when a popuop is about to
be shown, but none has been provided via other means, or %NULL
to reset to default behavior.
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @func.
</parameter_description>
</parameter>
<parameter name="destroy_notify">
<parameter_description> destroy notify for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_direction">
<description>
Sets the direction in which the popup will be popped up, as
well as changing the arrow’s direction. The child will not
be changed to an arrow if it was customized.

If the does not fit in the available space in the given direction,
GTK+ will its best to keep it inside the screen and fully visible.

If you pass %GTK_ARROW_NONE for a @direction, the popup will behave
as if you passed %GTK_ARROW_DOWN (although you won’t see any arrows).

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> a #GtkArrowType
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_icon_name">
<description>
Sets the name of an icon to show inside the menu button.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> the icon name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_label">
<description>
Sets the label to show inside the menu button.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the label
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_menu_model">
<description>
Sets the #GMenuModel from which the popup will be constructed,
or %NULL to dissociate any existing menu model and disable the button.

A #GtkPopover will be created from the menu model with gtk_popover_menu_new_from_model().
Actions will be connected as documented for this function.

If #GtkMenuButton:popover is already set, it will be dissociated from the @menu_button,
and the property is set to %NULL.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="menu_model">
<parameter_description> a #GMenuModel, or %NULL to unset and disable the
button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_popover">
<description>
Sets the #GtkPopover that will be popped up when the @menu_button is clicked,
or %NULL to dissociate any existing popover and disable the button.

If #GtkMenuButton:menu-model is set, the menu model is dissociated from the
@menu_button, and the property is set to %NULL.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="popover">
<parameter_description> a #GtkPopover, or %NULL to unset and disable the button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_relief">
<description>
Sets the relief style of the edges of the given
#GtkMenuButton widget.

Two styles exist, %GTK_RELIEF_NORMAL and %GTK_RELIEF_NONE.
The default style is, as one can guess, %GTK_RELIEF_NORMAL.

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> The #GtkMenuButton you want to set relief styles of
</parameter_description>
</parameter>
<parameter name="relief">
<parameter_description> The GtkReliefStyle as described above
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_tracker_item_get_is_visible">
<description>
Don't use this unless you're tracking items for yourself -- normally
the tracker will emit add/remove automatically when this changes.


</description>
<parameters>
<parameter name="self">
<parameter_description> A #GtkMenuTrackerItem instance
</parameter_description>
</parameter>
</parameters>
<return> if the item should currently be shown
</return>
</function>

<function name="gtk_menu_tracker_item_may_disappear">
<description>

</description>
<parameters>
<parameter name="self">
<parameter_description> A #GtkMenuTrackerItem instance
</parameter_description>
</parameter>
</parameters>
<return> if the item may disappear (ie: is-visible property may change)
</return>
</function>

<function name="gtk_message_dialog_format_secondary_markup">
<description>
Sets the secondary text of the message dialog to be @message_format (with
printf()-style), which is marked up with the
[Pango text markup language][PangoMarkupFormat].

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;!-- language=&quot;C&quot; --&gt;
gchar *msg;

msg = g_markup_printf_escaped (message_format, ...);
gtk_message_dialog_format_secondary_markup (message_dialog,
&quot;%s&quot;, msg);
g_free (msg);
]|

</description>
<parameters>
<parameter name="message_dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
<parameter name="message_format">
<parameter_description> printf()-style markup string (see
     [Pango markup format][PangoMarkupFormat]), or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments for @message_format
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_message_dialog_format_secondary_text">
<description>
Sets the secondary text of the message dialog to be @message_format
(with printf()-style).

</description>
<parameters>
<parameter name="message_dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
<parameter name="message_format">
<parameter_description> printf()-style format string, or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments for @message_format
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_message_dialog_get_message_area">
<description>
Returns the message area of the dialog. This is the box where the
dialog’s primary and secondary labels are packed. You can add your
own extra content to that box and it will appear below those labels.
See gtk_dialog_get_content_area() for the corresponding
function in the parent #GtkDialog.


</description>
<parameters>
<parameter name="message_dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
</parameters>
<return> A #GtkBox corresponding to the
“message area” in the @message_dialog.
</return>
</function>

<function name="gtk_message_dialog_new">
<description>
Creates a new message dialog, which is a simple dialog with some text
the user may want to see. When the user clicks a button a “response”
signal is emitted with response IDs from #GtkResponseType. See
#GtkDialog for more details.


</description>
<parameters>
<parameter name="parent">
<parameter_description> transient parent, or %NULL for none
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> type of message
</parameter_description>
</parameter>
<parameter name="buttons">
<parameter_description> set of buttons to use
</parameter_description>
</parameter>
<parameter name="message_format">
<parameter_description> printf()-style format string, or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments for @message_format
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMessageDialog
</return>
</function>

<function name="gtk_message_dialog_new_with_markup">
<description>
Creates a new message dialog, which is a simple dialog with some text that
is marked up with the [Pango text markup language][PangoMarkupFormat].
When the user clicks a button a “response” 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’t pass the markup string either
as the format (it might contain “%” characters) or as a string
argument.
|[&lt;!-- language=&quot;C&quot; --&gt;
GtkWidget *dialog;
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
NULL);
gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog),
markup);
]|


</description>
<parameters>
<parameter name="parent">
<parameter_description> transient parent, or %NULL for none
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> type of message
</parameter_description>
</parameter>
<parameter name="buttons">
<parameter_description> set of buttons to use
</parameter_description>
</parameter>
<parameter name="message_format">
<parameter_description> printf()-style format string, or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments for @message_format
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMessageDialog
</return>
</function>

<function name="gtk_message_dialog_set_markup">
<description>
Sets the text of the message dialog to be @str, which is marked
up with the [Pango text markup language][PangoMarkupFormat].

</description>
<parameters>
<parameter name="message_dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> markup string (see [Pango markup format][PangoMarkupFormat])
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_model_button_new">
<description>
Creates a new GtkModelButton.


</description>
<parameters>
</parameters>
<return> the newly created #GtkModelButton widget
</return>
</function>

<function name="gtk_mount_operation_get_display">
<description>
Gets the display on which windows of the #GtkMountOperation
will be shown.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkMountOperation
</parameter_description>
</parameter>
</parameters>
<return> the display on which windows of @op are shown
</return>
</function>

<function name="gtk_mount_operation_get_parent">
<description>
Gets the transient parent used by the #GtkMountOperation


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkMountOperation
</parameter_description>
</parameter>
</parameters>
<return> the transient parent for windows shown by @op
</return>
</function>

<function name="gtk_mount_operation_is_showing">
<description>
Returns whether the #GtkMountOperation is currently displaying
a window.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkMountOperation
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @op is currently displaying a window
</return>
</function>

<function name="gtk_mount_operation_new">
<description>
Creates a new #GtkMountOperation


</description>
<parameters>
<parameter name="parent">
<parameter_description> transient parent of the window, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMountOperation
</return>
</function>

<function name="gtk_mount_operation_set_display">
<description>
Sets the display to show windows of the #GtkMountOperation on.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkMountOperation
</parameter_description>
</parameter>
<parameter name="display">
<parameter_description> a #Gdk
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_mount_operation_set_parent">
<description>
Sets the transient parent for windows shown by the
#GtkMountOperation.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkMountOperation
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> transient parent of the window, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_check_resize">
<description>
Reposition and resize a #GtkNative.

Widgets need to call this function on their attached
native widgets when they receive a new size allocation.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNative
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_dialog_destroy">
<description>
Destroys a dialog.

When a dialog is destroyed, it will break any references it holds
to other objects. If it is visible it will be hidden and any underlying
window system resources will be destroyed.

Note that this does not release any reference to the object (as opposed to
destroying a GtkWindow) because there is no reference from the windowing
system to the #GtkNativeDialog.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_dialog_get_modal">
<description>
Returns whether the dialog is modal. See gtk_native_dialog_set_modal().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the dialog is set to be modal
</return>
</function>

<function name="gtk_native_dialog_get_title">
<description>
Gets the title of the #GtkNativeDialog.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return> the title of the dialog, or %NULL if none has
been set explicitly. The returned string is owned by the widget
and must not be modified or freed.
</return>
</function>

<function name="gtk_native_dialog_get_transient_for">
<description>
Fetches the transient parent for this window. See
gtk_native_dialog_set_transient_for().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return> the transient parent for this window,
or %NULL if no transient parent has been set.
</return>
</function>

<function name="gtk_native_dialog_get_visible">
<description>
Determines whether the dialog is visible.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the dialog is visible
</return>
</function>

<function name="gtk_native_dialog_hide">
<description>
Hides the dialog if it is visilbe, aborting any interaction. Once this
is called the  #GtkNativeDialog::response signal will not be emitted
until after the next call to gtk_native_dialog_show().

If the dialog is not visible this does nothing.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_dialog_run">
<description>
Blocks in a recursive main loop until @self emits the
#GtkNativeDialog::response signal. It then returns the response ID
from the ::response signal emission.

Before entering the recursive main loop, gtk_native_dialog_run()
calls gtk_native_dialog_show() on the dialog for you.

After gtk_native_dialog_run() returns, then dialog will be hidden.

Typical usage of this function might be:
|[&lt;!-- language=&quot;C&quot; --&gt;
gint result = gtk_native_dialog_run (GTK_NATIVE_DIALOG (dialog));
switch (result)
{
case GTK_RESPONSE_ACCEPT:
do_application_specific_something ();
break;
default:
do_nothing_since_dialog_was_cancelled ();
break;
}
g_object_unref (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, will
be triggered during a gtk_native_dialog_run() call.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return> response ID
</return>
</function>

<function name="gtk_native_dialog_set_modal">
<description>
Sets a dialog modal or non-modal. Modal dialogs prevent interaction
with other windows in the same application. To keep modal dialogs
on top of main application windows, use
gtk_native_dialog_set_transient_for() to make the dialog transient for the
parent; most [window managers][gtk-X11-arch]
will then disallow lowering the dialog below the parent.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
<parameter name="modal">
<parameter_description> whether the window is modal
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_dialog_set_title">
<description>
Sets the title of the #GtkNativeDialog.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> title of the dialog
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_dialog_set_transient_for">
<description>
Dialog windows should be set transient for the main application
window they were spawned from. This allows
[window managers][gtk-X11-arch] to e.g. keep the
dialog on top of the main window, or center the dialog over the
main window.

Passing %NULL for @parent unsets the current transient window.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> parent window, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_dialog_show">
<description>
Shows the dialog on the display, allowing the user to interact with
it. When the user accepts the state of the dialog the dialog will
be automatically hidden and the #GtkNativeDialog::response signal
will be emitted.

Multiple calls while the dialog is visible will be ignored.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNativeDialog
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_native_get_for_surface">
<description>
Finds the GtkNative associated with the surface.


</description>
<parameters>
<parameter name="surface">
<parameter_description> a #GdkSurface
</parameter_description>
</parameter>
</parameters>
<return> the #GtkNative that is associated with @surface
</return>
</function>

<function name="gtk_native_get_renderer">
<description>
Returns the renderer that is used for this #GtkNative.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNative
</parameter_description>
</parameter>
</parameters>
<return> the renderer for @self
</return>
</function>

<function name="gtk_native_get_surface">
<description>
Returns the surface of this #GtkNative.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNative
</parameter_description>
</parameter>
</parameters>
<return> the surface of @self
</return>
</function>

<function name="gtk_no_selection_get_model">
<description>
Gets the model that @self is wrapping.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNoSelection
</parameter_description>
</parameter>
</parameters>
<return> The model being wrapped
</return>
</function>

<function name="gtk_no_selection_new">
<description>
Creates a new selection to handle @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> the #GListModel to manage
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkNoSelection
</return>
</function>

<function name="gtk_notebook_append_page">
<description>
Appends a page to @notebook.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to use as the contents of the page
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the #GtkWidget to be used as the label
for the page, or %NULL to use the default label, “page N”
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the appended
page in the notebook, or -1 if function fails
</return>
</function>

<function name="gtk_notebook_append_page_menu">
<description>
Appends a page to @notebook, specifying the widget to use as the
label in the popup menu.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to use as the contents of the page
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the #GtkWidget to be used as the label
for the page, or %NULL to use the default label, “page N”
</parameter_description>
</parameter>
<parameter name="menu_label">
<parameter_description> the widget to use as a label for the
page-switch 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.
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the appended
page in the notebook, or -1 if function fails
</return>
</function>

<function name="gtk_notebook_detach_tab">
<description>
Removes the child from the notebook.

This function is very similar to gtk_container_remove(),
but additionally informs the notebook that the removal
is happening as part of a tab DND operation, which should
not be cancelled.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_get_action_widget">
<description>
Gets one of the action widgets. See gtk_notebook_set_action_widget().


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="pack_type">
<parameter_description> pack type of the action widget to receive
</parameter_description>
</parameter>
</parameters>
<return> The action widget with the given
@pack_type or %NULL when this action widget has not been set
</return>
</function>

<function name="gtk_notebook_get_current_page">
<description>
Returns the page number of the current page.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the current
page in the notebook. If the notebook has no pages,
then -1 will be returned.
</return>
</function>

<function name="gtk_notebook_get_group_name">
<description>
Gets the current group name for @notebook.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> the group name, or %NULL if none is set
</return>
</function>

<function name="gtk_notebook_get_menu_label">
<description>
Retrieves the menu label widget of the page containing @child.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget contained in a page of @notebook
</parameter_description>
</parameter>
</parameters>
<return> the menu label, or %NULL if the
notebook page does not have a menu label other than the default (the tab
label).
</return>
</function>

<function name="gtk_notebook_get_menu_label_text">
<description>
Retrieves the text of the menu label for the page containing
@child.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child widget of a page of the notebook.
</parameter_description>
</parameter>
</parameters>
<return> the text of the tab label, or %NULL if the 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>
</function>

<function name="gtk_notebook_get_n_pages">
<description>
Gets the number of pages in a notebook.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> the number of pages in the notebook
</return>
</function>

<function name="gtk_notebook_get_nth_page">
<description>
Returns the child widget contained in page number @page_num.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the index of a page in the notebook, or -1
to get the last page
</parameter_description>
</parameter>
</parameters>
<return> the child widget, or %NULL if @page_num
is out of bounds
</return>
</function>

<function name="gtk_notebook_get_page">
<description>
Returns the #GtkNotebookPage for @child.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @notebook
</parameter_description>
</parameter>
</parameters>
<return> the #GtkNotebookPage for @child
</return>
</function>

<function name="gtk_notebook_get_pages">
<description>
Returns a #GListModel that contains the pages of the notebook,
and can be used to keep an up-to-date view.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> a #GListModel for the notebook's children
</return>
</function>

<function name="gtk_notebook_get_scrollable">
<description>
Returns whether the tab label area has arrows for scrolling.
See gtk_notebook_set_scrollable().


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if arrows for scrolling are present
</return>
</function>

<function name="gtk_notebook_get_show_border">
<description>
Returns whether a bevel will be drawn around the notebook pages.
See gtk_notebook_set_show_border().


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the bevel is drawn
</return>
</function>

<function name="gtk_notebook_get_show_tabs">
<description>
Returns whether the tabs of the notebook are shown.
See gtk_notebook_set_show_tabs().


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the tabs are shown
</return>
</function>

<function name="gtk_notebook_get_tab_detachable">
<description>
Returns whether the tab contents can be detached from @notebook.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the tab is detachable.
</return>
</function>

<function name="gtk_notebook_get_tab_label">
<description>
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.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the page
</parameter_description>
</parameter>
</parameters>
<return> the tab label
</return>
</function>

<function name="gtk_notebook_get_tab_label_text">
<description>
Retrieves the text of the tab label for the page containing
@child.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget contained in a page of @notebook
</parameter_description>
</parameter>
</parameters>
<return> the text of the tab label, or %NULL if the tab label
widget is not a #GtkLabel. The string is owned by the widget and must not be
freed.
</return>
</function>

<function name="gtk_notebook_get_tab_pos">
<description>
Gets the edge at which the tabs for switching pages in the
notebook are drawn.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> the edge at which the tabs are drawn
</return>
</function>

<function name="gtk_notebook_get_tab_reorderable">
<description>
Gets whether the tab can be reordered via drag and drop or not.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the tab is reorderable.
</return>
</function>

<function name="gtk_notebook_insert_page">
<description>
Insert a page into @notebook at the given position.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to use as the contents of the page
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the #GtkWidget to be used as the label
for the page, or %NULL to use the default label, “page N”
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the index (starting at 0) at which to insert the page,
or -1 to append the page after all other pages
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the inserted
page in the notebook, or -1 if function fails
</return>
</function>

<function name="gtk_notebook_insert_page_menu">
<description>
Insert a page into @notebook at the given position, specifying
the widget to use as the label in the popup menu.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to use as the contents of the page
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the #GtkWidget to be used as the label
for the page, or %NULL to use the default label, “page N”
</parameter_description>
</parameter>
<parameter name="menu_label">
<parameter_description> the widget to use as a label for the
page-switch 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.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the index (starting at 0) at which to insert the page,
or -1 to append the page after all other pages.
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the inserted
page in the notebook
</return>
</function>

<function name="gtk_notebook_new">
<description>
Creates a new #GtkNotebook widget with no pages.


</description>
<parameters>
</parameters>
<return> the newly created #GtkNotebook
</return>
</function>

<function name="gtk_notebook_next_page">
<description>
Switches to the next page. Nothing happens if the current page is
the last page.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_page_get_child">
<description>
Returns the notebook child to which @page belongs.


</description>
<parameters>
<parameter name="page">
<parameter_description> a #GtkNotebookPage
</parameter_description>
</parameter>
</parameters>
<return> the child to which @page belongs
</return>
</function>

<function name="gtk_notebook_page_num">
<description>
Finds the index of the page which contains the given child
widget.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the index of the page containing @child, or
-1 if @child is not in the notebook
</return>
</function>

<function name="gtk_notebook_popup_disable">
<description>
Disables the popup menu.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_popup_enable">
<description>
Enables the popup menu: if the user clicks with the right
mouse button on the tab labels, a menu with all the pages
will be popped up.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_prepend_page">
<description>
Prepends a page to @notebook.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to use as the contents of the page
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the #GtkWidget to be used as the label
for the page, or %NULL to use the default label, “page N”
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the prepended
page in the notebook, or -1 if function fails
</return>
</function>

<function name="gtk_notebook_prepend_page_menu">
<description>
Prepends a page to @notebook, specifying the widget to use as the
label in the popup menu.


</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to use as the contents of the page
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the #GtkWidget to be used as the label
for the page, or %NULL to use the default label, “page N”
</parameter_description>
</parameter>
<parameter name="menu_label">
<parameter_description> the widget to use as a label for the
page-switch 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.
</parameter_description>
</parameter>
</parameters>
<return> the index (starting from 0) of the prepended
page in the notebook, or -1 if function fails
</return>
</function>

<function name="gtk_notebook_prev_page">
<description>
Switches to the previous page. Nothing happens if the current page
is the first page.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_remove_page">
<description>
Removes a page from the notebook given its index
in the notebook.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> the index of a notebook page, starting
from 0. If -1, the last page will be removed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_reorder_child">
<description>
Reorders the page containing @child, so that it appears in position
@position. If @position is greater than or equal to the number of
children in the list or negative, @child will be moved to the end
of the list.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child to move
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the new position, or -1 to move to the end
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_action_widget">
<description>
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 “internal” children of the notebook and thus
not included in the list returned from gtk_container_foreach().

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="pack_type">
<parameter_description> pack type of the action widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_current_page">
<description>
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.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="page_num">
<parameter_description> index of the page to switch to, starting from 0.
If negative, the last page will be used. If greater
than the number of pages in the notebook, nothing
will be done.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_group_name">
<description>
Sets a group name for @notebook.

Notebooks with the same name will be able to exchange tabs
via drag and drop. A notebook with a %NULL group name will
not be able to exchange tabs with any other notebook.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the name of the notebook group,
or %NULL to unset it
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_menu_label">
<description>
Changes the menu label for the page containing @child.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child widget
</parameter_description>
</parameter>
<parameter name="menu_label">
<parameter_description> the menu label, or %NULL for default
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_menu_label_text">
<description>
Creates a new label and sets it as the menu label of @child.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child widget
</parameter_description>
</parameter>
<parameter name="menu_text">
<parameter_description> the label text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_scrollable">
<description>
Sets whether the tab label area will have arrows for
scrolling if there are too many tabs to fit in the area.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="scrollable">
<parameter_description> %TRUE if scroll arrows should be added
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_show_border">
<description>
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().

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="show_border">
<parameter_description> %TRUE if a bevel should be drawn around the notebook
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_show_tabs">
<description>
Sets whether to show the tabs for the notebook or not.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="show_tabs">
<parameter_description> %TRUE if the tabs should be shown
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_tab_detachable">
<description>
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_name()) to allow automatic tabs
interchange between them.

If you want a widget to interact with a notebook through DnD
(i.e.: accept dragged tabs from it) it must be set as a drop
destination and accept the target “GTK_NOTEBOOK_TAB”. The notebook
will fill the selection with a GtkWidget** pointing to the child
widget that corresponds to the dropped tab.

Note that you should use gtk_notebook_detach_tab() instead
of gtk_container_remove() if you want to remove the tab from
the source notebook as part of accepting a drop. Otherwise,
the source notebook will think that the dragged tab was
removed from underneath the ongoing drag operation, and
will initiate a drag cancel animation.

|[&lt;!-- language=&quot;C&quot; --&gt;
static void
on_drag_data_received (GtkWidget        *widget,
GdkDrop          *drop,
GtkSelectionData *data,
guint             time,
gpointer          user_data)
{
GtkDrag *drag;
GtkWidget *notebook;
GtkWidget **child;

drag = gtk_drop_get_drag (drop);
notebook = g_object_get_data (drag, &quot;gtk-notebook-drag-origin&quot;);
child = (void*) gtk_selection_data_get_data (data);

// process_widget (*child);

gtk_notebook_detach_tab (GTK_NOTEBOOK (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.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child #GtkWidget
</parameter_description>
</parameter>
<parameter name="detachable">
<parameter_description> whether the tab is detachable or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_tab_label">
<description>
Changes the tab label for @child.
If %NULL is specified for @tab_label, then the page will
have the label “page N”.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the page
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the tab label widget to use, or %NULL
for default tab label
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_tab_label_text">
<description>
Creates a new label and sets it as the tab label for the page
containing @child.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the page
</parameter_description>
</parameter>
<parameter name="tab_text">
<parameter_description> the label text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_tab_pos">
<description>
Sets the edge at which the tabs for switching pages in the
notebook are drawn.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook.
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> the edge to draw the tabs at
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_notebook_set_tab_reorderable">
<description>
Sets whether the notebook tab can be reordered
via drag and drop or not.

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child #GtkWidget
</parameter_description>
</parameter>
<parameter name="reorderable">
<parameter_description> whether the tab is reorderable or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_orientable_get_orientation">
<description>
Retrieves the orientation of the @orientable.


</description>
<parameters>
<parameter name="orientable">
<parameter_description> a #GtkOrientable
</parameter_description>
</parameter>
</parameters>
<return> the orientation of the @orientable.
</return>
</function>

<function name="gtk_orientable_set_orientation">
<description>
Sets the orientation of the @orientable.

</description>
<parameters>
<parameter name="orientable">
<parameter_description> a #GtkOrientable
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the orientable’s new orientation.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_overlay_add_overlay">
<description>
Adds @widget to @overlay.

The widget will be stacked on top of the main widget
added with gtk_container_add().

The position at which @widget is placed is determined
from its #GtkWidget:halign and #GtkWidget:valign properties.

</description>
<parameters>
<parameter name="overlay">
<parameter_description> a #GtkOverlay
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget to be added to the container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_overlay_get_clip_overlay">
<description>
Convenience function to get the value of the #GtkOverlay:clip-overlay
child property for @widget.


</description>
<parameters>
<parameter name="overlay">
<parameter_description> a #GtkOverlay
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> an overlay child of #GtkOverlay
</parameter_description>
</parameter>
</parameters>
<return> whether the widget is clipped within the parent.
</return>
</function>

<function name="gtk_overlay_get_measure_overlay">
<description>
Gets whether @widget's size is included in the measurement of
@overlay.


</description>
<parameters>
<parameter name="overlay">
<parameter_description> a #GtkOverlay
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> an overlay child of #GtkOverlay
</parameter_description>
</parameter>
</parameters>
<return> whether the widget is measured
</return>
</function>

<function name="gtk_overlay_layout_child_get_clip_overlay">
<description>
Retrieves whether the child is clipped.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkOverlayLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> whether the child is clipped
</return>
</function>

<function name="gtk_overlay_layout_child_get_measure">
<description>
Retrieves whether the child is measured.


</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkOverlayLayoutChild
</parameter_description>
</parameter>
</parameters>
<return> whether the child is measured
</return>
</function>

<function name="gtk_overlay_layout_child_set_clip_overlay">
<description>
Sets whether to clip this child.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkOverlayLayoutChild
</parameter_description>
</parameter>
<parameter name="clip_overlay">
<parameter_description> whether to clip this child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_overlay_layout_child_set_measure">
<description>
Sets whether to measure this child.

</description>
<parameters>
<parameter name="child">
<parameter_description> a #GtkOverlayLayoutChild
</parameter_description>
</parameter>
<parameter name="measure">
<parameter_description> whether to measure this child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_overlay_new">
<description>
Creates a new #GtkOverlay.


</description>
<parameters>
</parameters>
<return> a new #GtkOverlay object.
</return>
</function>

<function name="gtk_overlay_set_clip_overlay">
<description>
Convenience function to set the value of the #GtkOverlay:clip-overlay
child property for @widget.

</description>
<parameters>
<parameter name="overlay">
<parameter_description> a #GtkOverlay
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> an overlay child of #GtkOverlay
</parameter_description>
</parameter>
<parameter name="clip_overlay">
<parameter_description> whether the child should be clipped
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_overlay_set_measure_overlay">
<description>
Sets whether @widget is included in the measured size of @overlay.

The overlay will request the size of the largest child that has
this property set to %TRUE. Children who are not included may
be drawn outside of @overlay's allocation if they are too large.

</description>
<parameters>
<parameter name="overlay">
<parameter_description> a #GtkOverlay
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> an overlay child of #GtkOverlay
</parameter_description>
</parameter>
<parameter name="measure">
<parameter_description> whether the child should be measured
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_pad_controller_new">
<description>
Creates a new #GtkPadController that will associate events from @pad to
actions. A %NULL pad may be provided so the controller manages all pad devices
generically, it is discouraged to mix #GtkPadController objects with %NULL
and non-%NULL @pad argument on the same toplevel window, as execution order
is not guaranteed.

The #GtkPadController is created with no mapped actions. In order to map pad
events to actions, use gtk_pad_controller_set_action_entries() or
gtk_pad_controller_set_action().

Be aware that pad events will only be delivered to #GtkWindows, so adding a pad
controller to any other type of widget will not have an effect.


</description>
<parameters>
<parameter name="group">
<parameter_description> #GActionGroup to trigger actions from
</parameter_description>
</parameter>
<parameter name="pad">
<parameter_description> A %GDK_SOURCE_TABLET_PAD device, or %NULL to handle all pads
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkPadController
</return>
</function>

<function name="gtk_pad_controller_set_action">
<description>
Adds an individual action to @controller. This action will only be activated
if the given button/ring/strip number in @index is interacted while
the current mode is @mode. -1 may be used for simple cases, so the action
is triggered on all modes.

The given @label should be considered user-visible, so internationalization
rules apply. Some windowing systems may be able to use those for user
feedback.

</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkPadController
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the type of pad feature that will trigger this action
</parameter_description>
</parameter>
<parameter name="index">
<parameter_description> the 0-indexed button/ring/strip number that will trigger this action
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> the mode that will trigger this action, or -1 for all modes.
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> Human readable description of this action, this string should
be deemed user-visible.
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> action name that will be activated in the #GActionGroup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_pad_controller_set_action_entries">
<description>
This is a convenience function to add a group of action entries on
@controller. See #GtkPadActionEntry and gtk_pad_controller_set_action().

</description>
<parameters>
<parameter name="controller">
<parameter_description> a #GtkPadController
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> the action entries to set on @controller
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> the number of elements in @entries
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_copy">
<description>
Copies a #GtkPageSetup.


</description>
<parameters>
<parameter name="other">
<parameter_description> the #GtkPageSetup to copy
</parameter_description>
</parameter>
</parameters>
<return> a copy of @other
</return>
</function>

<function name="gtk_page_setup_get_bottom_margin">
<description>
Gets the bottom margin in units of @unit.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the bottom margin
</return>
</function>

<function name="gtk_page_setup_get_left_margin">
<description>
Gets the left margin in units of @unit.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the left margin
</return>
</function>

<function name="gtk_page_setup_get_orientation">
<description>
Gets the page orientation of the #GtkPageSetup.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
</parameters>
<return> the page orientation
</return>
</function>

<function name="gtk_page_setup_get_page_height">
<description>
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().


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the page height.
</return>
</function>

<function name="gtk_page_setup_get_page_width">
<description>
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().


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the page width.
</return>
</function>

<function name="gtk_page_setup_get_paper_height">
<description>
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().


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the paper height.
</return>
</function>

<function name="gtk_page_setup_get_paper_size">
<description>
Gets the paper size of the #GtkPageSetup.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
</parameters>
<return> the paper size
</return>
</function>

<function name="gtk_page_setup_get_paper_width">
<description>
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().


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the paper width.
</return>
</function>

<function name="gtk_page_setup_get_right_margin">
<description>
Gets the right margin in units of @unit.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the right margin
</return>
</function>

<function name="gtk_page_setup_get_top_margin">
<description>
Gets the top margin in units of @unit.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the top margin
</return>
</function>

<function name="gtk_page_setup_load_file">
<description>
Reads the page setup from the file @file_name.
See gtk_page_setup_to_file().


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="file_name">
<parameter_description> the filename to read the page setup from
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_page_setup_load_key_file">
<description>
Reads the page setup from the group @group_name in the key file
@key_file.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="key_file">
<parameter_description> the #GKeyFile to retrieve the page_setup from
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the name of the group in the key_file to read, or %NULL
to use the default name “Page Setup”
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_page_setup_new">
<description>
Creates a new #GtkPageSetup. 


</description>
<parameters>
</parameters>
<return> a new #GtkPageSetup.
</return>
</function>

<function name="gtk_page_setup_new_from_file">
<description>
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().


</description>
<parameters>
<parameter name="file_name">
<parameter_description> the filename to read the page setup from
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the restored #GtkPageSetup
</return>
</function>

<function name="gtk_page_setup_new_from_gvariant">
<description>
Desrialize a page setup from an a{sv} variant in
the format produced by gtk_page_setup_to_gvariant().


</description>
<parameters>
<parameter name="variant">
<parameter_description> an a{sv} #GVariant
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPageSetup object
</return>
</function>

<function name="gtk_page_setup_new_from_key_file">
<description>
Reads the page setup from the group @group_name in the key file
@key_file. Returns a new #GtkPageSetup object with the restored
page setup, or %NULL if an error occurred.


</description>
<parameters>
<parameter name="key_file">
<parameter_description> the #GKeyFile to retrieve the page_setup from
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the name of the group in the key_file to read, or %NULL
to use the default name “Page Setup”
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the restored #GtkPageSetup
</return>
</function>

<function name="gtk_page_setup_set_bottom_margin">
<description>
Sets the bottom margin of the #GtkPageSetup.

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the new bottom margin in units of @unit
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the units for @margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_set_left_margin">
<description>
Sets the left margin of the #GtkPageSetup.

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the new left margin in units of @unit
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the units for @margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_set_orientation">
<description>
Sets the page orientation of the #GtkPageSetup.

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> a #GtkPageOrientation value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_set_paper_size">
<description>
Sets the paper size of the #GtkPageSetup without
changing the margins. See 
gtk_page_setup_set_paper_size_and_default_margins().

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a #GtkPaperSize 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_set_paper_size_and_default_margins">
<description>
Sets the paper size of the #GtkPageSetup and modifies
the margins according to the new paper size.

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a #GtkPaperSize 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_set_right_margin">
<description>
Sets the right margin of the #GtkPageSetup.

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the new right margin in units of @unit
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the units for @margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_set_top_margin">
<description>
Sets the top margin of the #GtkPageSetup.

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the new top margin in units of @unit
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the units for @margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_to_file">
<description>
This function saves the information from @setup to @file_name.


</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="file_name">
<parameter_description> the file to save to
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_page_setup_to_gvariant">
<description>
Serialize page setup to an a{sv} variant.

Return: (transfer none): a new, floating, #GVariant

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_to_key_file">
<description>
This function adds the page setup from @setup to @key_file.

</description>
<parameters>
<parameter name="setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="key_file">
<parameter_description> the #GKeyFile to save the page setup to
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the group to add the settings to in @key_file,
or %NULL to use the default name “Page Setup”
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_unix_dialog_get_page_setup">
<description>
Gets the currently selected page setup from the dialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPageSetupUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> the current page setup
</return>
</function>

<function name="gtk_page_setup_unix_dialog_get_print_settings">
<description>
Gets the current print settings from the dialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPageSetupUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> the current print settings
</return>
</function>

<function name="gtk_page_setup_unix_dialog_new">
<description>
Creates a new page setup dialog.


</description>
<parameters>
<parameter name="title">
<parameter_description> the title of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> transient parent of the dialog, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkPageSetupUnixDialog
</return>
</function>

<function name="gtk_page_setup_unix_dialog_set_page_setup">
<description>
Sets the #GtkPageSetup from which the page setup
dialog takes its values.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPageSetupUnixDialog
</parameter_description>
</parameter>
<parameter name="page_setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_page_setup_unix_dialog_set_print_settings">
<description>
Sets the #GtkPrintSettings from which the page setup dialog
takes its values.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPageSetupUnixDialog
</parameter_description>
</parameter>
<parameter name="print_settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paned_add1">
<description>
Adds a child to the top or left pane with default parameters. This is
equivalent to
`gtk_paned_pack1 (paned, child, FALSE, TRUE)`.

</description>
<parameters>
<parameter name="paned">
<parameter_description> a paned widget
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child to add
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paned_add2">
<description>
Adds a child to the bottom or right pane with default parameters. This
is equivalent to
`gtk_paned_pack2 (paned, child, TRUE, TRUE)`.

</description>
<parameters>
<parameter name="paned">
<parameter_description> a paned widget
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child to add
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paned_get_child1">
<description>
Obtains the first child of the paned widget.


</description>
<parameters>
<parameter name="paned">
<parameter_description> a #GtkPaned widget
</parameter_description>
</parameter>
</parameters>
<return> first child, or %NULL if it is not set.
</return>
</function>

<function name="gtk_paned_get_child2">
<description>
Obtains the second child of the paned widget.


</description>
<parameters>
<parameter name="paned">
<parameter_description> a #GtkPaned widget
</parameter_description>
</parameter>
</parameters>
<return> second child, or %NULL if it is not set.
</return>
</function>

<function name="gtk_paned_get_position">
<description>
Obtains the position of the divider between the two panes.


</description>
<parameters>
<parameter name="paned">
<parameter_description> a #GtkPaned widget
</parameter_description>
</parameter>
</parameters>
<return> position of the divider
</return>
</function>

<function name="gtk_paned_get_wide_handle">
<description>
Gets the #GtkPaned:wide-handle property.


</description>
<parameters>
<parameter name="paned">
<parameter_description> a #GtkPaned
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the paned should have a wide handle
</return>
</function>

<function name="gtk_paned_new">
<description>
Creates a new #GtkPaned widget.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> the paned’s orientation.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPaned.
</return>
</function>

<function name="gtk_paned_pack1">
<description>
Adds a child to the top or left pane.

</description>
<parameters>
<parameter name="paned">
<parameter_description> a paned widget
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child to add
</parameter_description>
</parameter>
<parameter name="resize">
<parameter_description> should this child expand when the paned widget is resized.
</parameter_description>
</parameter>
<parameter name="shrink">
<parameter_description> can this child be made smaller than its requisition.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paned_pack2">
<description>
Adds a child to the bottom or right pane.

</description>
<parameters>
<parameter name="paned">
<parameter_description> a paned widget
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child to add
</parameter_description>
</parameter>
<parameter name="resize">
<parameter_description> should this child expand when the paned widget is resized.
</parameter_description>
</parameter>
<parameter name="shrink">
<parameter_description> can this child be made smaller than its requisition.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paned_set_position">
<description>
Sets the position of the divider between the two panes.

</description>
<parameters>
<parameter name="paned">
<parameter_description> a #GtkPaned widget
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> pixel position of divider, a negative value means that the position
is unset.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paned_set_wide_handle">
<description>
Sets the #GtkPaned:wide-handle property.

</description>
<parameters>
<parameter name="paned">
<parameter_description> a #GtkPaned
</parameter_description>
</parameter>
<parameter name="wide">
<parameter_description> the new value for the #GtkPaned:wide-handle property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paper_size_copy">
<description>
Copies an existing #GtkPaperSize.


</description>
<parameters>
<parameter name="other">
<parameter_description> a #GtkPaperSize
</parameter_description>
</parameter>
</parameters>
<return> a copy of @other
</return>
</function>

<function name="gtk_paper_size_free">
<description>
Free the given #GtkPaperSize object.

</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paper_size_get_default">
<description>
Returns the name of the default paper size, which
depends on the current locale.


</description>
<parameters>
</parameters>
<return> the name of the default paper size. The string
is owned by GTK and should not be modified.
</return>
</function>

<function name="gtk_paper_size_get_default_bottom_margin">
<description>
Gets the default bottom margin for the #GtkPaperSize.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value, not %GTK_UNIT_NONE
</parameter_description>
</parameter>
</parameters>
<return> the default bottom margin
</return>
</function>

<function name="gtk_paper_size_get_default_left_margin">
<description>
Gets the default left margin for the #GtkPaperSize.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value, not %GTK_UNIT_NONE
</parameter_description>
</parameter>
</parameters>
<return> the default left margin
</return>
</function>

<function name="gtk_paper_size_get_default_right_margin">
<description>
Gets the default right margin for the #GtkPaperSize.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value, not %GTK_UNIT_NONE
</parameter_description>
</parameter>
</parameters>
<return> the default right margin
</return>
</function>

<function name="gtk_paper_size_get_default_top_margin">
<description>
Gets the default top margin for the #GtkPaperSize.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value, not %GTK_UNIT_NONE
</parameter_description>
</parameter>
</parameters>
<return> the default top margin
</return>
</function>

<function name="gtk_paper_size_get_display_name">
<description>
Gets the human-readable name of the #GtkPaperSize.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
</parameters>
<return> the human-readable name of @size
</return>
</function>

<function name="gtk_paper_size_get_height">
<description>
Gets the paper height of the #GtkPaperSize, in
units of @unit.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value, not %GTK_UNIT_NONE
</parameter_description>
</parameter>
</parameters>
<return> the paper height
</return>
</function>

<function name="gtk_paper_size_get_name">
<description>
Gets the name of the #GtkPaperSize.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
</parameters>
<return> the name of @size
</return>
</function>

<function name="gtk_paper_size_get_paper_sizes">
<description>
Creates a list of known paper sizes.


</description>
<parameters>
<parameter name="include_custom">
<parameter_description> whether to include custom paper sizes
as defined in the page setup dialog
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated list of newly
allocated #GtkPaperSize objects
</return>
</function>

<function name="gtk_paper_size_get_ppd_name">
<description>
Gets the PPD name of the #GtkPaperSize, which
may be %NULL.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
</parameters>
<return> the PPD name of @size
</return>
</function>

<function name="gtk_paper_size_get_width">
<description>
Gets the paper width of the #GtkPaperSize, in
units of @unit.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value, not %GTK_UNIT_NONE
</parameter_description>
</parameter>
</parameters>
<return> the paper width
</return>
</function>

<function name="gtk_paper_size_is_custom">
<description>
Returns %TRUE if @size is not a standard paper size.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
</parameters>
<return> whether @size is a custom paper size.
</return>
</function>

<function name="gtk_paper_size_is_equal">
<description>
Compares two #GtkPaperSize objects.


</description>
<parameters>
<parameter name="size1">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="size2">
<parameter_description> another #GtkPaperSize object
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @size1 and @size2
represent the same paper size
</return>
</function>

<function name="gtk_paper_size_is_ipp">
<description>
Returns %TRUE if @size is an IPP standard paper size.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize object
</parameter_description>
</parameter>
</parameters>
<return> whether @size is not an IPP custom paper size.
</return>
</function>

<function name="gtk_paper_size_new">
<description>
Creates a new #GtkPaperSize object by parsing a
[PWG 5101.1-2002](ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf)
paper name.

If @name is %NULL, the default paper size is returned,
see gtk_paper_size_get_default().


</description>
<parameters>
<parameter name="name">
<parameter_description> a paper size name, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPaperSize, use gtk_paper_size_free()
to free it
</return>
</function>

<function name="gtk_paper_size_new_custom">
<description>
Creates a new #GtkPaperSize object with the
given parameters.


</description>
<parameters>
<parameter name="name">
<parameter_description> the paper name
</parameter_description>
</parameter>
<parameter name="display_name">
<parameter_description> the human-readable name
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the paper width, in units of @unit
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the paper height, in units of @unit
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for @width and @height. not %GTK_UNIT_NONE.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPaperSize object, use gtk_paper_size_free()
to free it
</return>
</function>

<function name="gtk_paper_size_new_from_gvariant">
<description>
Deserialize a paper size from an a{sv} variant in
the format produced by gtk_paper_size_to_gvariant().


</description>
<parameters>
<parameter name="variant">
<parameter_description> an a{sv} #GVariant
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPaperSize object
</return>
</function>

<function name="gtk_paper_size_new_from_ipp">
<description>
Creates a new #GtkPaperSize object by using
IPP information.

If @ipp_name is not a recognized paper name,
@width and @height are used to
construct a custom #GtkPaperSize object.


</description>
<parameters>
<parameter name="ipp_name">
<parameter_description> an IPP paper name
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the paper width, in points
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the paper height in points
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPaperSize, use gtk_paper_size_free()
to free it
</return>
</function>

<function name="gtk_paper_size_new_from_key_file">
<description>
Reads a paper size from the group @group_name in the key file
@key_file.


</description>
<parameters>
<parameter name="key_file">
<parameter_description> the #GKeyFile to retrieve the papersize from
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the name of the group in the key file to read,
or %NULL to read the first group
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPaperSize object with the restored
paper size, or %NULL if an error occurred
</return>
</function>

<function name="gtk_paper_size_new_from_ppd">
<description>
Creates a new #GtkPaperSize object by using
PPD information.

If @ppd_name is not a recognized PPD paper name,
@ppd_display_name, @width and @height are used to
construct a custom #GtkPaperSize object.


</description>
<parameters>
<parameter name="ppd_name">
<parameter_description> a PPD paper name
</parameter_description>
</parameter>
<parameter name="ppd_display_name">
<parameter_description> the corresponding human-readable name
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the paper width, in points
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the paper height in points
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPaperSize, use gtk_paper_size_free()
to free it
</return>
</function>

<function name="gtk_paper_size_set_size">
<description>
Changes the dimensions of a @size to @width x @height.

</description>
<parameters>
<parameter name="size">
<parameter_description> a custom #GtkPaperSize object
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the new width in units of @unit
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the new height in units of @unit
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for @width and @height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paper_size_to_gvariant">
<description>
Serialize a paper size to an a{sv} variant.


</description>
<parameters>
<parameter name="paper_size">
<parameter_description> a #GtkPaperSize
</parameter_description>
</parameter>
</parameters>
<return> a new, floating, #GVariant
</return>
</function>

<function name="gtk_paper_size_to_key_file">
<description>
This function adds the paper size from @size to @key_file.

</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkPaperSize
</parameter_description>
</parameter>
<parameter name="key_file">
<parameter_description> the #GKeyFile to save the paper size to
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the group to add the settings to in @key_file
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_password_entry_get_extra_menu">
<description>
Gets the menu model set with gtk_password_entry_set_extra_menu().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> the menu model
</return>
</function>

<function name="gtk_password_entry_get_show_peek_icon">
<description>
Returns whether the entry is showing a clickable icon
to reveal the contents of the entry in clear text.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkPasswordEntry
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an icon is shown
</return>
</function>

<function name="gtk_password_entry_new">
<description>
Creates a #GtkPasswordEntry.


</description>
<parameters>
</parameters>
<return> a new #GtkPasswordEntry
</return>
</function>

<function name="gtk_password_entry_set_extra_menu">
<description>
Sets a menu model to add when constructing
the context menu for @entry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkPasswordEntry
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_password_entry_set_show_peek_icon">
<description>
Sets whether the entry should have a clickable icon
to show the contents of the entry in clear text.

Setting this to %FALSE also hides the text again.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkPasswordEntry
</parameter_description>
</parameter>
<parameter name="show_peek_icon">
<parameter_description> whether to show the peek icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_get_alternative_text">
<description>
Gets the alternative textual description of the picture or returns %NULL if
the picture cannot be described textually.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
</parameters>
<return> the alternative textual description
of @self.
</return>
</function>

<function name="gtk_picture_get_can_shrink">
<description>
Gets the value set via gtk_picture_set_can_shrink().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the picture can be made smaller than its contents
</return>
</function>

<function name="gtk_picture_get_file">
<description>
Gets the #GFile currently displayed if @self is displaying a file.
If @self is not displaying a file, for example when gtk_picture_set_paintable()
was used, then %NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
</parameters>
<return> The #GFile displayed by @self.
</return>
</function>

<function name="gtk_picture_get_keep_aspect_ratio">
<description>
Gets the value set via gtk_picture_set_keep_aspect_ratio().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the self tries to keep the contents' aspect ratio
</return>
</function>

<function name="gtk_picture_get_paintable">
<description>
Gets the #GdkPaintable being displayed by the #GtkPicture.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
</parameters>
<return> the displayed paintable, or %NULL if
the picture is empty
</return>
</function>

<function name="gtk_picture_new">
<description>
Creates a new empty #GtkPicture widget.


</description>
<parameters>
</parameters>
<return> a newly created #GtkPicture widget.
</return>
</function>

<function name="gtk_picture_new_for_file">
<description>
Creates a new #GtkPicture displaying the given @file. If the file
isn’t found or can’t be loaded, the resulting #GtkPicture be empty.

If you need to detect failures to load the file, use
gdk_texture_new_for_file() to load the file yourself, then create
the #GtkPicture from the texture.


</description>
<parameters>
<parameter name="file">
<parameter_description> a #GFile
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPicture
</return>
</function>

<function name="gtk_picture_new_for_filename">
<description>
Creates a new #GtkPicture displaying the file @filename.

This is a utility function that calls gtk_picture_new_for_file().
See that function for details.


</description>
<parameters>
<parameter name="filename">
<parameter_description> a filename
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPicture
</return>
</function>

<function name="gtk_picture_new_for_paintable">
<description>
Creates a new #GtkPicture displaying @paintable.

The #GtkPicture will track changes to the @paintable and update
its size and contents in response to it.


</description>
<parameters>
<parameter name="paintable">
<parameter_description> a #GdkPaintable, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPicture
</return>
</function>

<function name="gtk_picture_new_for_pixbuf">
<description>
Creates a new #GtkPicture displaying @pixbuf.

This is a utility function that calls gtk_picture_new_for_paintable(),
See that function for details.

The pixbuf must not be modified after passing it to this function.


</description>
<parameters>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPicture
</return>
</function>

<function name="gtk_picture_new_for_resource">
<description>
Creates a new #GtkPicture displaying the file @filename.

This is a utility function that calls gtk_picture_new_for_file().
See that function for details.


</description>
<parameters>
<parameter name="resource_path">
<parameter_description> resource path to play back
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPicture
</return>
</function>

<function name="gtk_picture_set_alternative_text">
<description>
Sets an alternative textual description for the picture contents.
It is equivalent to the &quot;alt&quot; attribute for images on websites.

This text will be made available to accessibility tools.

If the picture cannot be described textually, set this property to %NULL.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="alternative_text">
<parameter_description> a textual description of the contents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_set_can_shrink">
<description>
If set to %TRUE, the @self can be made smaller than its contents.
The contents will then be scaled down when rendering.

If you want to still force a minimum size manually, consider using
gtk_widget_set_size_request().

Also of note is that a similar function for growing does not exist
because the grow behavior can be controlled via
gtk_widget_set_halign() and gtk_widget_set_valign().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="can_shrink">
<parameter_description> if @self can be made smaller than its contents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_set_file">
<description>
Makes @self load and display @file.

See gtk_picture_new_for_file() for details.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> a %GFile or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_set_filename">
<description>
Makes @self load and display the given @filename.

This is a utility function that calls gtk_picture_set_file().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the filename to play
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_set_keep_aspect_ratio">
<description>
If set to %TRUE, the @self will render its contents according to
their aspect ratio. That means that empty space may show up at the
top/bottom or left/right of @self.

If set to %FALSE or if the contents provide no aspect ratio, the
contents will be stretched over the picture's whole area.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="keep_aspect_ratio">
<parameter_description> whether to keep aspect ratio
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_set_paintable">
<description>
Makes @self display the given @paintable. If @paintable is %NULL,
nothing will be displayed.

See gtk_picture_new_for_paintable() for details.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> a #GdkPaintable or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_set_pixbuf">
<description>
See gtk_picture_new_for_pixbuf() for details.

This is a utility function that calls gtk_picture_set_paintable(),

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_picture_set_resource">
<description>
Makes @self load and display the resource at the given
@resource_path.

This is a utility function that calls gtk_picture_set_file(),

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkPicture
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> the resource to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_get_autohide">
<description>
Returns whether the popover is modal.

See gtk_popover_set_autohide() for the
implications of this.


</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
</parameters>
<return> #TRUE if @popover is modal
</return>
</function>

<function name="gtk_popover_get_has_arrow">
<description>
Gets whether this popover is showing an arrow
pointing at the widget that it is relative to.


</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
</parameters>
<return> whether the popover has an arrow
</return>
</function>

<function name="gtk_popover_get_pointing_to">
<description>
If a rectangle to point to has been set, this function will
return %TRUE and fill in @rect with such rectangle, otherwise
it will return %FALSE and fill in @rect with the attached
widget coordinates.


</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> location to store the rectangle
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a rectangle to point to was set.
</return>
</function>

<function name="gtk_popover_get_position">
<description>
Returns the preferred position of @popover.


</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
</parameters>
<return> The preferred position.
</return>
</function>

<function name="gtk_popover_get_relative_to">
<description>
Returns the widget @popover is currently attached to


</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget
</return>
</function>

<function name="gtk_popover_menu_bar_get_menu_model">
<description>
Returns the model from which the contents of @bar are taken.


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkPopoverMenuBar
</parameter_description>
</parameter>
</parameters>
<return> a #GMenuModel
</return>
</function>

<function name="gtk_popover_menu_bar_new_from_model">
<description>
Creates a #GtkPopoverMenuBar from a #GMenuModel.


</description>
<parameters>
<parameter name="model">
<parameter_description> a #GMenuModel, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPopoverMenuBar
</return>
</function>

<function name="gtk_popover_menu_bar_set_menu_model">
<description>
Sets a menu model from which @bar should take
its contents.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkPopoverMenuBar
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_menu_get_menu_model">
<description>
Returns the menu model used to populate the popover.


</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopoverMenu
</parameter_description>
</parameter>
</parameters>
<return> the menu model of @popover
</return>
</function>

<function name="gtk_popover_menu_new">
<description>
Creates a new popover menu.


</description>
<parameters>
<parameter name="relative_to">
<parameter_description> #GtkWidget the popover is related to
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPopoverMenu
</return>
</function>

<function name="gtk_popover_menu_new_from_model">
<description>
Creates a #GtkPopoverMenu and populates it according to
@model. The popover is pointed to the @relative_to widget.

The created buttons are connected to actions found in the
#GtkApplicationWindow to which the popover belongs - typically
by means of being attached to a widget that is contained within
the #GtkApplicationWindows widget hierarchy.

Actions can also be added using gtk_widget_insert_action_group()
on the menus attach widget or on any of its parent widgets.

This function creates menus with sliding submenus.
See gtk_popover_menu_new_from_model_full() for a way
to control this.


</description>
<parameters>
<parameter name="relative_to">
<parameter_description> #GtkWidget the popover is related to
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkPopoverMenu
</return>
</function>

<function name="gtk_popover_menu_new_from_model_full">
<description>
Creates a #GtkPopoverMenu and populates it according to
@model. The popover is pointed to the @relative_to widget.

The created buttons are connected to actions found in the
action groups that are accessible from the @relative-to widget.
This includes the #GtkApplicationWindow to which the popover
belongs. Actions can also be added using gtk_widget_insert_action_group()
on the @relative-to widget or on any of its parent widgets.

The only flag that is supported currently is
#GTK_POPOVER_MENU_NESTED, which makes GTK create traditional,
nested submenus instead of the default sliding submenus.


</description>
<parameters>
<parameter name="relative_to">
<parameter_description> #GtkWidget the popover is related to
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags that affect how the menu is created
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkPopoverMenu
</return>
</function>

<function name="gtk_popover_menu_set_model">
<description>
Sets a new menu model on @popover.

The existing contents of @popover are removed, and
the @popover is populated with new contents according
to @model.

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopoverMenu
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GtkMenuModel, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_popdown">
<description>
Pops @popover down.This is different than a gtk_widget_hide() call
in that it shows the popover with a transition. If you want to hide
the popover without a transition, use gtk_widget_hide().

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_popup">
<description>
Pops @popover up. This is different than a gtk_widget_show() call
in that it shows the popover with a transition. If you want to show
the popover without a transition, use gtk_widget_show().

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_set_autohide">
<description>
Sets whether @popover is modal.

A modal popover will grab the keyboard focus on it when being
displayed. Clicking outside the popover area or pressing Esc will
dismiss the popover.

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
<parameter name="autohide">
<parameter_description> #TRUE to dismiss the popover on outside clicks
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_set_has_arrow">
<description>
Sets whether this popover should draw an arrow
pointing at the widget it is relative to.

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
<parameter name="has_arrow">
<parameter_description> %TRUE to draw an arrow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_set_pointing_to">
<description>
Sets the rectangle that @popover will point to, in the
coordinate space of the widget @popover is attached to,
see gtk_popover_set_relative_to().

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> rectangle to point to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_set_position">
<description>
Sets the preferred position for @popover to appear. If the @popover
is currently visible, it will be immediately updated.

This preference will be respected where possible, although
on lack of space (eg. if close to the window edges), the
#GtkPopover may choose to appear on the opposite side

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> preferred popover position
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_popover_set_relative_to">
<description>
Sets a new widget to be attached to @popover. If @popover is
visible, the position will be updated.

Note: the ownership of popovers is always given to their @relative_to
widget, so if @relative_to is set to %NULL on an attached @popover, it
will be detached from its previous widget, and consequently destroyed
unless extra references are kept.

</description>
<parameters>
<parameter name="popover">
<parameter_description> a #GtkPopover
</parameter_description>
</parameter>
<parameter name="relative_to">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_backend_get_printer_list">
<description>
Returns the current list of printers.


</description>
<parameters>
</parameters>
<return>
A list of #GtkPrinter objects. The list should be freed
with g_list_free().
</return>
</function>

<function name="gtk_print_backend_load_modules">
<description>

</description>
<parameters>
</parameters>
<return>
</return>
</function>

<function name="gtk_print_context_create_pango_context">
<description>
Creates a new #PangoContext that can be used with the
#GtkPrintContext.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> a new Pango context for @context
</return>
</function>

<function name="gtk_print_context_create_pango_layout">
<description>
Creates a new #PangoLayout that is suitable for use
with the #GtkPrintContext.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> a new Pango layout for @context
</return>
</function>

<function name="gtk_print_context_get_cairo_context">
<description>
Obtains the cairo context that is associated with the
#GtkPrintContext.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> the cairo context of @context
</return>
</function>

<function name="gtk_print_context_get_dpi_x">
<description>
Obtains the horizontal resolution of the #GtkPrintContext,
in dots per inch.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> the horizontal resolution of @context
</return>
</function>

<function name="gtk_print_context_get_dpi_y">
<description>
Obtains the vertical resolution of the #GtkPrintContext,
in dots per inch.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> the vertical resolution of @context
</return>
</function>

<function name="gtk_print_context_get_hard_margins">
<description>
Obtains the hardware printer margins of the #GtkPrintContext, in units.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> top hardware printer margin
</parameter_description>
</parameter>
<parameter name="bottom">
<parameter_description> bottom hardware printer margin
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> left hardware printer margin
</parameter_description>
</parameter>
<parameter name="right">
<parameter_description> right hardware printer margin
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the hard margins were retrieved
</return>
</function>

<function name="gtk_print_context_get_height">
<description>
Obtains the height of the #GtkPrintContext, in pixels.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> the height of @context
</return>
</function>

<function name="gtk_print_context_get_page_setup">
<description>
Obtains the #GtkPageSetup that determines the page
dimensions of the #GtkPrintContext.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> the page setup of @context
</return>
</function>

<function name="gtk_print_context_get_pango_fontmap">
<description>
Returns a #PangoFontMap that is suitable for use
with the #GtkPrintContext.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> the font map of @context
</return>
</function>

<function name="gtk_print_context_get_width">
<description>
Obtains the width of the #GtkPrintContext, in pixels.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
</parameters>
<return> the width of @context
</return>
</function>

<function name="gtk_print_context_set_cairo_context">
<description>
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.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> the cairo context
</parameter_description>
</parameter>
<parameter name="dpi_x">
<parameter_description> the horizontal resolution to use with @cr
</parameter_description>
</parameter>
<parameter name="dpi_y">
<parameter_description> the vertical resolution to use with @cr
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_context_set_hard_margins">
<description>
set the hard margins in pixel coordinates

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkPrintContext
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> top hardware printer margin
</parameter_description>
</parameter>
<parameter name="bottom">
<parameter_description> bottom hardware printer margin
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> left hardware printer margin
</parameter_description>
</parameter>
<parameter name="right">
<parameter_description> right hardware printer margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_error_quark">
<description>
Registers an error quark for #GtkPrintOperation if necessary.


</description>
<parameters>
</parameters>
<return> The error quark used for #GtkPrintOperation errors.
</return>
</function>

<function name="gtk_print_job_get_collate">
<description>
Gets whether this job is printed collated.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> whether the job is printed collated
</return>
</function>

<function name="gtk_print_job_get_n_up">
<description>
Gets the n-up setting for this job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the n-up setting
</return>
</function>

<function name="gtk_print_job_get_n_up_layout">
<description>
Gets the n-up layout setting for this job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the n-up layout
</return>
</function>

<function name="gtk_print_job_get_num_copies">
<description>
Gets the number of copies of this job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the number of copies
</return>
</function>

<function name="gtk_print_job_get_page_ranges">
<description>
Gets the page ranges for this job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="n_ranges">
<parameter_description> return location for the number of ranges
</parameter_description>
</parameter>
</parameters>
<return> a pointer to an
array of #GtkPageRange structs
</return>
</function>

<function name="gtk_print_job_get_page_set">
<description>
Gets the #GtkPageSet setting for this job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the #GtkPageSet setting
</return>
</function>

<function name="gtk_print_job_get_pages">
<description>
Gets the #GtkPrintPages setting for this job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the #GtkPrintPages setting
</return>
</function>

<function name="gtk_print_job_get_printer">
<description>
Gets the #GtkPrinter of the print job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the printer of @job
</return>
</function>

<function name="gtk_print_job_get_reverse">
<description>
Gets whether this job is printed reversed.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> whether the job is printed reversed.
</return>
</function>

<function name="gtk_print_job_get_rotate">
<description>
Gets whether the job is printed rotated.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> whether the job is printed rotated
</return>
</function>

<function name="gtk_print_job_get_scale">
<description>
Gets the scale for this job (where 1.0 means unscaled).


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the scale
</return>
</function>

<function name="gtk_print_job_get_settings">
<description>
Gets the #GtkPrintSettings of the print job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the settings of @job
</return>
</function>

<function name="gtk_print_job_get_status">
<description>
Gets the status of the print job.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the status of @job
</return>
</function>

<function name="gtk_print_job_get_surface">
<description>
Gets a cairo surface onto which the pages of
the print job should be rendered.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the cairo surface of @job
</return>
</function>

<function name="gtk_print_job_get_title">
<description>
Gets the job title.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> the title of @job
</return>
</function>

<function name="gtk_print_job_get_track_print_status">
<description>
Returns wheter jobs will be tracked after printing.
For details, see gtk_print_job_set_track_print_status().


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if print job status will be reported after printing
</return>
</function>

<function name="gtk_print_job_new">
<description>
Creates a new #GtkPrintJob.


</description>
<parameters>
<parameter name="title">
<parameter_description> the job title
</parameter_description>
</parameter>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="page_setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPrintJob
</return>
</function>

<function name="gtk_print_job_send">
<description>
Sends the print job off to the printer.  

</description>
<parameters>
<parameter name="job">
<parameter_description> a GtkPrintJob
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> function to call when the job completes or an error occurs
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data that gets passed to @callback
</parameter_description>
</parameter>
<parameter name="dnotify">
<parameter_description> destroy notify for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_collate">
<description>
Sets whether this job is printed collated.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="collate">
<parameter_description> whether the job is printed collated
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_n_up">
<description>
Sets the n-up setting for this job.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="n_up">
<parameter_description> the n-up value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_n_up_layout">
<description>
Sets the n-up layout setting for this job.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> the n-up layout setting
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_num_copies">
<description>
Sets the number of copies for this job.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="num_copies">
<parameter_description> the number of copies
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_page_ranges">
<description>
Sets the page ranges for this job.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="ranges">
<parameter_description> pointer to an array of
#GtkPageRange structs
</parameter_description>
</parameter>
<parameter name="n_ranges">
<parameter_description> the length of the @ranges array
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_page_set">
<description>
Sets the #GtkPageSet setting for this job.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="page_set">
<parameter_description> a #GtkPageSet setting
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_pages">
<description>
Sets the #GtkPrintPages setting for this job.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="pages">
<parameter_description> the #GtkPrintPages setting
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_reverse">
<description>
Sets whether this job is printed reversed.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="reverse">
<parameter_description> whether the job is printed reversed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_rotate">
<description>
Sets whether this job is printed rotated.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="rotate">
<parameter_description> whether to print rotated
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_scale">
<description>
Sets the scale for this job (where 1.0 means unscaled).

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> the scale
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_job_set_source_fd">
<description>
Make the #GtkPrintJob send an existing document to the
printing system. The file can be in any format understood
by the platforms printing system (typically PostScript,
but on many platforms PDF may work too). See
gtk_printer_accepts_pdf() and gtk_printer_accepts_ps().

This is similar to gtk_print_job_set_source_file(),
but takes expects an open file descriptor for the file,
instead of a filename.


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="fd">
<parameter_description> a file descriptor
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if an error occurred
</return>
</function>

<function name="gtk_print_job_set_source_file">
<description>
Make the #GtkPrintJob send an existing document to the 
printing system. The file can be in any format understood
by the platforms printing system (typically PostScript,
but on many platforms PDF may work too). See 
gtk_printer_accepts_pdf() and gtk_printer_accepts_ps().


</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the file to be printed
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if an error occurred
</return>
</function>

<function name="gtk_print_job_set_track_print_status">
<description>
If track_status is %TRUE, the print job 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 “out of paper” 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.

</description>
<parameters>
<parameter name="job">
<parameter_description> a #GtkPrintJob
</parameter_description>
</parameter>
<parameter name="track_status">
<parameter_description> %TRUE to track status after printing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_cancel">
<description>
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.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_draw_page_finish">
<description>
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.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_get_default_page_setup">
<description>
Returns the default page setup, see
gtk_print_operation_set_default_page_setup().


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> the default page setup
</return>
</function>

<function name="gtk_print_operation_get_embed_page_setup">
<description>
Gets the value of #GtkPrintOperation:embed-page-setup property.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> whether page setup selection combos are embedded
</return>
</function>

<function name="gtk_print_operation_get_error">
<description>
Call this when the result of a print operation is
%GTK_PRINT_OPERATION_RESULT_ERROR, either as returned by 
gtk_print_operation_run(), or in the #GtkPrintOperation::done signal 
handler. The returned #GError will contain more details on what went wrong.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for the error
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_get_has_selection">
<description>
Gets the value of #GtkPrintOperation:has-selection property.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> whether there is a selection
</return>
</function>

<function name="gtk_print_operation_get_n_pages_to_print">
<description>
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.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> the number of pages that will be printed
</return>
</function>

<function name="gtk_print_operation_get_print_settings">
<description>
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.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> the current print settings of @op.
</return>
</function>

<function name="gtk_print_operation_get_status">
<description>
Returns the status of the print operation. 
Also see gtk_print_operation_get_status_string().


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> the status of the print operation
</return>
</function>

<function name="gtk_print_operation_get_status_string">
<description>
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. 


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> a string representation of the status
of the print operation
</return>
</function>

<function name="gtk_print_operation_get_support_selection">
<description>
Gets the value of #GtkPrintOperation:support-selection property.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> whether the application supports print of selection
</return>
</function>

<function name="gtk_print_operation_is_finished">
<description>
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).

Note: when you enable print status tracking the print operation
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.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if the print operation is finished.
</return>
</function>

<function name="gtk_print_operation_new">
<description>
Creates a new #GtkPrintOperation. 


</description>
<parameters>
</parameters>
<return> a new #GtkPrintOperation
</return>
</function>

<function name="gtk_print_operation_preview_end_preview">
<description>
Ends a preview. 

This function must be called to finish a custom print preview.

</description>
<parameters>
<parameter name="preview">
<parameter_description> a #GtkPrintOperationPreview
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_preview_is_selected">
<description>
Returns whether the given page is included in the set of pages that
have been selected for printing.


</description>
<parameters>
<parameter name="preview">
<parameter_description> a #GtkPrintOperationPreview
</parameter_description>
</parameter>
<parameter name="page_nr">
<parameter_description> a page number
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the page has been selected for printing
</return>
</function>

<function name="gtk_print_operation_preview_render_page">
<description>
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. 

</description>
<parameters>
<parameter name="preview">
<parameter_description> a #GtkPrintOperationPreview
</parameter_description>
</parameter>
<parameter name="page_nr">
<parameter_description> the page to render
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_run">
<description>
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).
|[&lt;!-- language=&quot;C&quot; --&gt;
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.


</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action to start
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> Transient parent of the dialog
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> Return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the result of the print operation. A return value of 
%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.
</return>
</function>

<function name="gtk_print_operation_set_allow_async">
<description>
Sets whether the gtk_print_operation_run() may return
before the print operation is completed. Note that
some platforms may not allow asynchronous operation.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="allow_async">
<parameter_description> %TRUE to allow asynchronous operation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_current_page">
<description>
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.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="current_page">
<parameter_description> the current page, 0-based
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_custom_tab_label">
<description>
Sets the label for the tab holding custom widgets.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the label to use, or %NULL to use the default label
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_default_page_setup">
<description>
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.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="default_page_setup">
<parameter_description> a #GtkPageSetup, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_defer_drawing">
<description>
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 “draw-page” signal.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_embed_page_setup">
<description>
Embed page size combo box and orientation combo box into page setup page.
Selected page setup is stored as default page setup in #GtkPrintOperation.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="embed">
<parameter_description> %TRUE to embed page setup selection in the #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_export_filename">
<description>
Sets up the #GtkPrintOperation to generate a file instead
of showing the print dialog. The indended use of this function
is for implementing “Export to PDF” actions. Currently, PDF
is the only supported format.

“Print to PDF” support is independent of this and is done
by letting the user pick the “Print to PDF” item from the list
of printers in the print dialog.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the filename for the exported file
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_has_selection">
<description>
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.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="has_selection">
<parameter_description> %TRUE indicates that a selection exists
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_job_name">
<description>
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’t set a job name, GTK+ picks a default one by 
numbering successive print jobs.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="job_name">
<parameter_description> a string that identifies the print job
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_n_pages">
<description>
Sets the number of pages in the document. 

This must 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.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="n_pages">
<parameter_description> the number of pages
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_print_settings">
<description>
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().

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="print_settings">
<parameter_description> #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_show_progress">
<description>
If @show_progress is %TRUE, the print operation will show a 
progress dialog during the print operation.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="show_progress">
<parameter_description> %TRUE to show a progress dialog
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_support_selection">
<description>
Sets whether selection is supported by #GtkPrintOperation.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="support_selection">
<parameter_description> %TRUE to support selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_track_print_status">
<description>
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 “out of paper” 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.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="track_status">
<parameter_description> %TRUE to track status after printing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_unit">
<description>
Sets up the transformation for the cairo context obtained from
#GtkPrintContext in such a way that distances are measured in 
units of @unit.

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_operation_set_use_full_page">
<description>
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).

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkPrintOperation
</parameter_description>
</parameter>
<parameter name="full_page">
<parameter_description> %TRUE to set up the #GtkPrintContext for the full page
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_run_page_setup_dialog">
<description>
Runs a page setup dialog, letting the user modify the values from
@page_setup. If the user cancels the dialog, the returned #GtkPageSetup
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.


</description>
<parameters>
<parameter name="parent">
<parameter_description> transient parent
</parameter_description>
</parameter>
<parameter name="page_setup">
<parameter_description> an existing #GtkPageSetup
</parameter_description>
</parameter>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPageSetup
</return>
</function>

<function name="gtk_print_run_page_setup_dialog_async">
<description>
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.

</description>
<parameters>
<parameter name="parent">
<parameter_description> transient parent, or %NULL
</parameter_description>
</parameter>
<parameter name="page_setup">
<parameter_description> an existing #GtkPageSetup, or %NULL
</parameter_description>
</parameter>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="done_cb">
<parameter_description> a function to call when the user saves
the modified page setup
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data to pass to @done_cb
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_copy">
<description>
Copies a #GtkPrintSettings object.


</description>
<parameters>
<parameter name="other">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated copy of @other
</return>
</function>

<function name="gtk_print_settings_foreach">
<description>
Calls @func for each key-value pair of @settings.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> the function to call
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data for @func
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_get">
<description>
Looks up the string value associated with @key.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
</parameters>
<return> the string value for @key
</return>
</function>

<function name="gtk_print_settings_get_bool">
<description>
Returns the boolean represented by the value
that is associated with @key. 

The string “true” represents %TRUE, any other 
string %FALSE.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @key maps to a true value.
</return>
</function>

<function name="gtk_print_settings_get_bool_with_default">
<description>
Returns the boolean represented by the value
that is associated with @key, or @default_val
if the value does not represent a boolean.

The string “true” represents %TRUE, the string
“false” represents %FALSE.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="default_val">
<parameter_description> the default value
</parameter_description>
</parameter>
</parameters>
<return> the boolean value associated with @key
</return>
</function>

<function name="gtk_print_settings_get_collate">
<description>
Gets the value of %GTK_PRINT_SETTINGS_COLLATE.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> whether to collate the printed pages
</return>
</function>

<function name="gtk_print_settings_get_default_source">
<description>
Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the default source
</return>
</function>

<function name="gtk_print_settings_get_dither">
<description>
Gets the value of %GTK_PRINT_SETTINGS_DITHER.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the dithering that is used
</return>
</function>

<function name="gtk_print_settings_get_double">
<description>
Returns the double value associated with @key, or 0.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
</parameters>
<return> the double value of @key
</return>
</function>

<function name="gtk_print_settings_get_double_with_default">
<description>
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().


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="def">
<parameter_description> the default value
</parameter_description>
</parameter>
</parameters>
<return> the floating point number associated with @key
</return>
</function>

<function name="gtk_print_settings_get_duplex">
<description>
Gets the value of %GTK_PRINT_SETTINGS_DUPLEX.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> whether to print the output in duplex.
</return>
</function>

<function name="gtk_print_settings_get_finishings">
<description>
Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the finishings
</return>
</function>

<function name="gtk_print_settings_get_int">
<description>
Returns the integer value of @key, or 0.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
</parameters>
<return> the integer value of @key 
</return>
</function>

<function name="gtk_print_settings_get_int_with_default">
<description>
Returns the value of @key, interpreted as
an integer, or the default value.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="def">
<parameter_description> the default value
</parameter_description>
</parameter>
</parameters>
<return> the integer value of @key
</return>
</function>

<function name="gtk_print_settings_get_length">
<description>
Returns the value associated with @key, interpreted
as a length. The returned value is converted to @units.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit of the return value
</parameter_description>
</parameter>
</parameters>
<return> the length value of @key, converted to @unit
</return>
</function>

<function name="gtk_print_settings_get_media_type">
<description>
Gets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.

The set of media types is defined in PWG 5101.1-2002 PWG.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the media type
</return>
</function>

<function name="gtk_print_settings_get_n_copies">
<description>
Gets the value of %GTK_PRINT_SETTINGS_N_COPIES.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the number of copies to print
</return>
</function>

<function name="gtk_print_settings_get_number_up">
<description>
Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the number of pages per sheet
</return>
</function>

<function name="gtk_print_settings_get_number_up_layout">
<description>
Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> layout of page in number-up mode
</return>
</function>

<function name="gtk_print_settings_get_orientation">
<description>
Get the value of %GTK_PRINT_SETTINGS_ORIENTATION, 
converted to a #GtkPageOrientation.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the orientation
</return>
</function>

<function name="gtk_print_settings_get_output_bin">
<description>
Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the output bin
</return>
</function>

<function name="gtk_print_settings_get_page_ranges">
<description>
Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="num_ranges">
<parameter_description> return location for the length of the returned array
</parameter_description>
</parameter>
</parameters>
<return> an array
of #GtkPageRanges.  Use g_free() to free the array when
it is no longer needed.
</return>
</function>

<function name="gtk_print_settings_get_page_set">
<description>
Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the set of pages to print
</return>
</function>

<function name="gtk_print_settings_get_paper_height">
<description>
Gets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT,
converted to @unit. 


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the paper height, in units of @unit
</return>
</function>

<function name="gtk_print_settings_get_paper_size">
<description>
Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, 
converted to a #GtkPaperSize.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the paper size
</return>
</function>

<function name="gtk_print_settings_get_paper_width">
<description>
Gets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH,
converted to @unit. 


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit for the return value
</parameter_description>
</parameter>
</parameters>
<return> the paper width, in units of @unit
</return>
</function>

<function name="gtk_print_settings_get_print_pages">
<description>
Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> which pages to print
</return>
</function>

<function name="gtk_print_settings_get_printer">
<description>
Convenience function to obtain the value of 
%GTK_PRINT_SETTINGS_PRINTER.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the printer name
</return>
</function>

<function name="gtk_print_settings_get_printer_lpi">
<description>
Gets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the resolution in lpi (lines per inch)
</return>
</function>

<function name="gtk_print_settings_get_quality">
<description>
Gets the value of %GTK_PRINT_SETTINGS_QUALITY.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the print quality
</return>
</function>

<function name="gtk_print_settings_get_resolution">
<description>
Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the resolution in dpi
</return>
</function>

<function name="gtk_print_settings_get_resolution_x">
<description>
Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_X.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the horizontal resolution in dpi
</return>
</function>

<function name="gtk_print_settings_get_resolution_y">
<description>
Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_Y.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the vertical resolution in dpi
</return>
</function>

<function name="gtk_print_settings_get_reverse">
<description>
Gets the value of %GTK_PRINT_SETTINGS_REVERSE.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> whether to reverse the order of the printed pages
</return>
</function>

<function name="gtk_print_settings_get_scale">
<description>
Gets the value of %GTK_PRINT_SETTINGS_SCALE.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> the scale in percent
</return>
</function>

<function name="gtk_print_settings_get_use_color">
<description>
Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> whether to use color
</return>
</function>

<function name="gtk_print_settings_has_key">
<description>
Returns %TRUE, if a value is associated with @key.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @key has a value
</return>
</function>

<function name="gtk_print_settings_load_file">
<description>
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().


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="file_name">
<parameter_description> the filename to read the settings from
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_print_settings_load_key_file">
<description>
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.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key_file">
<parameter_description> the #GKeyFile to retrieve the settings from
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the name of the group to use, or %NULL to use the default
“Print Settings”
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_print_settings_new">
<description>
Creates a new #GtkPrintSettings object.


</description>
<parameters>
</parameters>
<return> a new #GtkPrintSettings object
</return>
</function>

<function name="gtk_print_settings_new_from_file">
<description>
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().


</description>
<parameters>
<parameter name="file_name">
<parameter_description> the filename to read the settings from
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the restored #GtkPrintSettings
</return>
</function>

<function name="gtk_print_settings_new_from_gvariant">
<description>
Deserialize print settings from an a{sv} variant in
the format produced by gtk_print_settings_to_gvariant().


</description>
<parameters>
<parameter name="variant">
<parameter_description> an a{sv} #GVariant
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPrintSettings object
</return>
</function>

<function name="gtk_print_settings_new_from_key_file">
<description>
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.


</description>
<parameters>
<parameter name="key_file">
<parameter_description> the #GKeyFile to retrieve the settings from
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the name of the group to use, or %NULL to use
the default “Print Settings”
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the restored #GtkPrintSettings
</return>
</function>

<function name="gtk_print_settings_set">
<description>
Associates @value with @key.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a string value, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_bool">
<description>
Sets @key to a boolean value.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a boolean
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_collate">
<description>
Sets the value of %GTK_PRINT_SETTINGS_COLLATE.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="collate">
<parameter_description> whether to collate the output
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_default_source">
<description>
Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="default_source">
<parameter_description> the default source
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_dither">
<description>
Sets the value of %GTK_PRINT_SETTINGS_DITHER.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="dither">
<parameter_description> the dithering that is used
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_double">
<description>
Sets @key to a double value.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key 
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a double value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_duplex">
<description>
Sets the value of %GTK_PRINT_SETTINGS_DUPLEX.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="duplex">
<parameter_description> a #GtkPrintDuplex value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_finishings">
<description>
Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="finishings">
<parameter_description> the finishings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_int">
<description>
Sets @key to an integer value.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> an integer 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_length">
<description>
Associates a length in units of @unit with @key.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a length
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the unit of @length
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_media_type">
<description>
Sets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.

The set of media types is defined in PWG 5101.1-2002 PWG.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="media_type">
<parameter_description> the media type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_n_copies">
<description>
Sets the value of %GTK_PRINT_SETTINGS_N_COPIES.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="num_copies">
<parameter_description> the number of copies 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_number_up">
<description>
Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="number_up">
<parameter_description> the number of pages per sheet 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_number_up_layout">
<description>
Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="number_up_layout">
<parameter_description> a #GtkNumberUpLayout value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_orientation">
<description>
Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> a page orientation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_output_bin">
<description>
Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="output_bin">
<parameter_description> the output bin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_page_ranges">
<description>
Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="page_ranges">
<parameter_description> an array of #GtkPageRanges
</parameter_description>
</parameter>
<parameter name="num_ranges">
<parameter_description> the length of @page_ranges
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_page_set">
<description>
Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="page_set">
<parameter_description> a #GtkPageSet value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_paper_height">
<description>
Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the paper height
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the units of @height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_paper_size">
<description>
Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT,
%GTK_PRINT_SETTINGS_PAPER_WIDTH and
%GTK_PRINT_SETTINGS_PAPER_HEIGHT.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="paper_size">
<parameter_description> a paper size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_paper_width">
<description>
Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the paper width
</parameter_description>
</parameter>
<parameter name="unit">
<parameter_description> the units of @width
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_print_pages">
<description>
Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="pages">
<parameter_description> a #GtkPrintPages value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_printer">
<description>
Convenience function to set %GTK_PRINT_SETTINGS_PRINTER
to @printer.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="printer">
<parameter_description> the printer name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_printer_lpi">
<description>
Sets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="lpi">
<parameter_description> the resolution in lpi (lines per inch)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_quality">
<description>
Sets the value of %GTK_PRINT_SETTINGS_QUALITY.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="quality">
<parameter_description> a #GtkPrintQuality value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_resolution">
<description>
Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
%GTK_PRINT_SETTINGS_RESOLUTION_X and 
%GTK_PRINT_SETTINGS_RESOLUTION_Y.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="resolution">
<parameter_description> the resolution in dpi
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_resolution_xy">
<description>
Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
%GTK_PRINT_SETTINGS_RESOLUTION_X and
%GTK_PRINT_SETTINGS_RESOLUTION_Y.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="resolution_x">
<parameter_description> the horizontal resolution in dpi
</parameter_description>
</parameter>
<parameter name="resolution_y">
<parameter_description> the vertical resolution in dpi
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_reverse">
<description>
Sets the value of %GTK_PRINT_SETTINGS_REVERSE.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="reverse">
<parameter_description> whether to reverse the output
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_scale">
<description>
Sets the value of %GTK_PRINT_SETTINGS_SCALE.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> the scale in percent
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_set_use_color">
<description>
Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="use_color">
<parameter_description> whether to use color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_to_file">
<description>
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.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="file_name">
<parameter_description> the file to save to
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for errors, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_print_settings_to_gvariant">
<description>
Serialize print settings to an a{sv} variant.


</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
</parameters>
<return> a new, floating, #GVariant
</return>
</function>

<function name="gtk_print_settings_to_key_file">
<description>
This function adds the print settings from @settings to @key_file.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key_file">
<parameter_description> the #GKeyFile to save the print settings to
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> the group to add the settings to in @key_file, or
%NULL to use the default “Print Settings”
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_settings_unset">
<description>
Removes any value associated with @key. 
This has the same effect as setting the value to %NULL.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="key">
<parameter_description> a key
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_add_custom_tab">
<description>
Adds a custom tab to the print dialog.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the widget to put in the custom tab
</parameter_description>
</parameter>
<parameter name="tab_label">
<parameter_description> the widget to use as tab label
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_get_current_page">
<description>
Gets the current page of the #GtkPrintUnixDialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> the current page of @dialog
</return>
</function>

<function name="gtk_print_unix_dialog_get_embed_page_setup">
<description>
Gets the value of #GtkPrintUnixDialog:embed-page-setup property.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> whether there is a selection
</return>
</function>

<function name="gtk_print_unix_dialog_get_has_selection">
<description>
Gets the value of #GtkPrintUnixDialog:has-selection property.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> whether there is a selection
</return>
</function>

<function name="gtk_print_unix_dialog_get_manual_capabilities">
<description>
Gets the value of #GtkPrintUnixDialog:manual-capabilities property.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> the printing capabilities
</return>
</function>

<function name="gtk_print_unix_dialog_get_page_setup">
<description>
Gets the page setup that is used by the #GtkPrintUnixDialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> the page setup of @dialog.
</return>
</function>

<function name="gtk_print_unix_dialog_get_page_setup_set">
<description>
Gets the page setup that is used by the #GtkPrintUnixDialog.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> whether a page setup was set by user.
</return>
</function>

<function name="gtk_print_unix_dialog_get_selected_printer">
<description>
Gets the currently selected printer.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> the currently selected printer
</return>
</function>

<function name="gtk_print_unix_dialog_get_settings">
<description>
Gets a new #GtkPrintSettings object that represents the
current values in the print dialog. Note that this creates a
new object, and you need to unref it
if don’t want to keep it.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPrintSettings object with the values from @dialog
</return>
</function>

<function name="gtk_print_unix_dialog_get_support_selection">
<description>
Gets the value of #GtkPrintUnixDialog:support-selection property.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
</parameters>
<return> whether the application supports print of selection
</return>
</function>

<function name="gtk_print_unix_dialog_new">
<description>
Creates a new #GtkPrintUnixDialog.


</description>
<parameters>
<parameter name="title">
<parameter_description> Title of the dialog, or %NULL
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> Transient parent of the dialog, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPrintUnixDialog
</return>
</function>

<function name="gtk_print_unix_dialog_set_current_page">
<description>
Sets the current page number. If @current_page is not -1, this enables
the current page choice for the range of pages to print.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="current_page">
<parameter_description> the current page number.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_set_embed_page_setup">
<description>
Embed page size combo box and orientation combo box into page setup page.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="embed">
<parameter_description> embed page setup selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_set_has_selection">
<description>
Sets whether a selection exists.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="has_selection">
<parameter_description> %TRUE indicates that a selection exists
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_set_manual_capabilities">
<description>
This lets you specify the printing capabilities your application
supports. For instance, if you can handle scaling the output then
you pass #GTK_PRINT_CAPABILITY_SCALE. If you don’t pass that, then
the dialog will only let you select the scale if the printing
system automatically handles scaling.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="capabilities">
<parameter_description> the printing capabilities of your application
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_set_page_setup">
<description>
Sets the page setup of the #GtkPrintUnixDialog.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="page_setup">
<parameter_description> a #GtkPageSetup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_set_settings">
<description>
Sets the #GtkPrintSettings for the #GtkPrintUnixDialog. Typically,
this is used to restore saved print settings from a previous print
operation before the print dialog is shown.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_print_unix_dialog_set_support_selection">
<description>
Sets whether the print dialog allows user to print a selection.

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkPrintUnixDialog
</parameter_description>
</parameter>
<parameter name="support_selection">
<parameter_description> %TRUE to allow print selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_printer_accepts_pdf">
<description>
Returns whether the printer accepts input in
PDF format.  


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer accepts PDF
</return>
</function>

<function name="gtk_printer_accepts_ps">
<description>
Returns whether the printer accepts input in
PostScript format.  


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer accepts PostScript
</return>
</function>

<function name="gtk_printer_compare">
<description>
Compares two printers.


</description>
<parameters>
<parameter name="a">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
<parameter name="b">
<parameter_description> another #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> 0 if the printer match, a negative value if @a &lt; @b, 
or a positive value if @a &gt; @b
</return>
</function>

<function name="gtk_printer_get_backend">
<description>
Returns the backend of the printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the backend of @printer
</return>
</function>

<function name="gtk_printer_get_capabilities">
<description>
Returns the printer’s capabilities.

This is useful when you’re using #GtkPrintUnixDialog’s manual-capabilities 
setting and need to know which settings the printer can handle and which 
you must handle yourself.

This will return 0 unless the printer’s details are available, see
gtk_printer_has_details() and gtk_printer_request_details().


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the printer’s capabilities
</return>
</function>

<function name="gtk_printer_get_default_page_size">
<description>
Returns default page size of @printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated #GtkPageSetup with default page size of the printer.
</return>
</function>

<function name="gtk_printer_get_description">
<description>
Gets the description of the printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the description of @printer
</return>
</function>

<function name="gtk_printer_get_hard_margins">
<description>
Retrieve the hard margins of @printer, i.e. the margins that define
the area at the borders of the paper that the printer cannot print to.

Note: This will not succeed unless the printer’s details are available,
see gtk_printer_has_details() and gtk_printer_request_details().


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> a location to store the top margin in
</parameter_description>
</parameter>
<parameter name="bottom">
<parameter_description> a location to store the bottom margin in
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> a location to store the left margin in
</parameter_description>
</parameter>
<parameter name="right">
<parameter_description> a location to store the right margin in
</parameter_description>
</parameter>
</parameters>
<return> %TRUE iff the hard margins were retrieved
</return>
</function>

<function name="gtk_printer_get_hard_margins_for_paper_size">
<description>
Retrieve the hard margins of @printer for @paper_size, i.e. the
margins that define the area at the borders of the paper that the
printer cannot print to.

Note: This will not succeed unless the printer's details are available,
see gtk_printer_has_details() and gtk_printer_request_details().


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
<parameter name="paper_size">
<parameter_description> a #GtkPaperSize
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> a location to store the top margin in
</parameter_description>
</parameter>
<parameter name="bottom">
<parameter_description> a location to store the bottom margin in
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> a location to store the left margin in
</parameter_description>
</parameter>
<parameter name="right">
<parameter_description> a location to store the right margin in
</parameter_description>
</parameter>
</parameters>
<return> %TRUE iff the hard margins were retrieved
</return>
</function>

<function name="gtk_printer_get_icon_name">
<description>
Gets the name of the icon to use for the printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the icon name for @printer
</return>
</function>

<function name="gtk_printer_get_job_count">
<description>
Gets the number of jobs currently queued on the printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the number of jobs on @printer
</return>
</function>

<function name="gtk_printer_get_location">
<description>
Returns a description of the location of the printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the location of @printer
</return>
</function>

<function name="gtk_printer_get_name">
<description>
Returns the name of the printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the name of @printer
</return>
</function>

<function name="gtk_printer_get_state_message">
<description>
Returns the state message describing the current state
of the printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> the state message of @printer
</return>
</function>

<function name="gtk_printer_has_details">
<description>
Returns whether the printer details are available.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer details are available
</return>
</function>

<function name="gtk_printer_is_accepting_jobs">
<description>
Returns whether the printer is accepting jobs


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer is accepting jobs
</return>
</function>

<function name="gtk_printer_is_active">
<description>
Returns whether the printer is currently active (i.e. 
accepts new jobs).


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer is active
</return>
</function>

<function name="gtk_printer_is_default">
<description>
Returns whether the printer is the default printer.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer is the default
</return>
</function>

<function name="gtk_printer_is_paused">
<description>
Returns whether the printer is currently paused.
A paused printer still accepts jobs, but it is not
printing them.


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer is paused
</return>
</function>

<function name="gtk_printer_is_virtual">
<description>
Returns whether the printer is virtual (i.e. does not
represent actual printer hardware, but something like 
a CUPS class).


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @printer is virtual
</return>
</function>

<function name="gtk_printer_list_papers">
<description>
Lists all the paper sizes @printer supports.
This will return and empty list unless the printer’s details are 
available, see gtk_printer_has_details() and gtk_printer_request_details().


</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated list of newly allocated #GtkPageSetup s.
</return>
</function>

<function name="gtk_printer_new">
<description>
Creates a new #GtkPrinter.


</description>
<parameters>
<parameter name="name">
<parameter_description> the name of the printer
</parameter_description>
</parameter>
<parameter name="backend">
<parameter_description> a #GtkPrintBackend
</parameter_description>
</parameter>
<parameter name="virtual_">
<parameter_description> whether the printer is virtual
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkPrinter
</return>
</function>

<function name="gtk_printer_option_set_get_groups">
<description>
Gets the groups in this set.


</description>
<parameters>
<parameter name="set">
<parameter_description> a #GtkPrinterOptionSet
</parameter_description>
</parameter>
</parameters>
<return> a list of group names.
</return>
</function>

<function name="gtk_printer_request_details">
<description>
Requests the printer details. When the details are available,
the #GtkPrinter::details-acquired signal will be emitted on @printer.

</description>
<parameters>
<parameter name="printer">
<parameter_description> a #GtkPrinter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_get_ellipsize">
<description>
Returns the ellipsizing position of the progress bar.
See gtk_progress_bar_set_ellipsize().


</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
</parameters>
<return> #PangoEllipsizeMode
</return>
</function>

<function name="gtk_progress_bar_get_fraction">
<description>
Returns the current fraction of the task that’s been completed.


</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
</parameters>
<return> a fraction from 0.0 to 1.0
</return>
</function>

<function name="gtk_progress_bar_get_inverted">
<description>
Gets the value set by gtk_progress_bar_set_inverted().


</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the progress bar is inverted
</return>
</function>

<function name="gtk_progress_bar_get_pulse_step">
<description>
Retrieves the pulse step set with gtk_progress_bar_set_pulse_step().


</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
</parameters>
<return> a fraction from 0.0 to 1.0
</return>
</function>

<function name="gtk_progress_bar_get_show_text">
<description>
Gets the value of the #GtkProgressBar:show-text property.
See gtk_progress_bar_set_show_text().


</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if text is shown in the progress bar
</return>
</function>

<function name="gtk_progress_bar_get_text">
<description>
Retrieves the text that is displayed with 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.


</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
</parameters>
<return> text, or %NULL; this string is owned by the widget
and should not be modified or freed.
</return>
</function>

<function name="gtk_progress_bar_new">
<description>
Creates a new #GtkProgressBar.


</description>
<parameters>
</parameters>
<return> a #GtkProgressBar.
</return>
</function>

<function name="gtk_progress_bar_pulse">
<description>
Indicates that some progress has been made, but you don’t know how much.
Causes the progress bar to enter “activity mode,” 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()).

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_set_ellipsize">
<description>
Sets the mode used to ellipsize (add an ellipsis: &quot;...&quot;) the
text if there is not enough space to render the entire string.

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> a #PangoEllipsizeMode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_set_fraction">
<description>
Causes the progress bar to “fill in” the given fraction
of the bar. The fraction should be between 0.0 and 1.0,
inclusive.

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
<parameter name="fraction">
<parameter_description> fraction of the task that’s been completed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_set_inverted">
<description>
Progress bars normally grow from top to bottom or left to right.
Inverted progress bars grow in the opposite direction.

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
<parameter name="inverted">
<parameter_description> %TRUE to invert the progress bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_set_pulse_step">
<description>
Sets the fraction of total progress bar length to move the
bouncing block for each call to gtk_progress_bar_pulse().

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
<parameter name="fraction">
<parameter_description> fraction between 0.0 and 1.0
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_set_show_text">
<description>
Sets whether the progress bar will show text next to the bar.
The shown text is either the value of the #GtkProgressBar:text
property or, if that is %NULL, the #GtkProgressBar:fraction value,
as a percentage.

To make a progress bar that is styled and sized suitably for containing
text (even if the actual text is blank), set #GtkProgressBar:show-text to
%TRUE and #GtkProgressBar:text to the empty string (not %NULL).

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
<parameter name="show_text">
<parameter_description> whether to show text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_set_text">
<description>
Causes the given @text to appear next to the progress bar.

If @text is %NULL and #GtkProgressBar:show-text is %TRUE, the current
value of #GtkProgressBar:fraction will be displayed as a percentage.

If @text is non-%NULL and #GtkProgressBar:show-text is %TRUE, the text
will be displayed. In this case, it will not display the progress
percentage. If @text is the empty string, the progress bar will still
be styled and sized suitably for containing text, as long as
#GtkProgressBar:show-text is %TRUE.

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> a UTF-8 string, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_tracker_advance_frame">
<description>
Increments the progress of the animation forward a frame. If no animation has
been started, does nothing.

</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
<parameter name="frame_time">
<parameter_description> The current frame time, usually from the frame clock.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_tracker_finish">
<description>
Stops running the current animation.

</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_tracker_get_ease_out_cubic">
<description>
Applies a simple ease out cubic function to the result of
gtk_progress_tracker_get_progress().


</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
<parameter name="reversed">
<parameter_description> If progress should be reversed before applying the ease function.
</parameter_description>
</parameter>
</parameters>
<return> The eased progress value.
</return>
</function>

<function name="gtk_progress_tracker_get_iteration">
<description>
Returns the fractional number of cycles the animation has completed. For
example, it you started an animation with iteration-count of 2 and are half
way through the second animation, this returns 1.5.


</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
</parameters>
<return> The current iteration.
</return>
</function>

<function name="gtk_progress_tracker_get_iteration_cycle">
<description>
Returns an integer index of the current iteration cycle tracker is
progressing through. Handles edge cases, such as an iteration value of 2.0
which could be considered the end of the second iteration of the beginning of
the third, in the same way as gtk_progress_tracker_get_progress().


</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
</parameters>
<return> The integer count of the current animation cycle.
</return>
</function>

<function name="gtk_progress_tracker_get_progress">
<description>
Gets the progress through the current animation iteration, from [0, 1]. Use
to interpolate between animation targets. If reverse is true each iteration
will begin at 1 and end at 0.


</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
<parameter name="reversed">
<parameter_description> If progress should be reversed.
</parameter_description>
</parameter>
</parameters>
<return> The progress value.
</return>
</function>

<function name="gtk_progress_tracker_get_state">
<description>
Returns whether the tracker is before, during or after the currently started
animation. The tracker will only ever be in the before state if the animation
was started with a delay. If no animation has been started, returns
%GTK_PROGRESS_STATE_AFTER.


</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
</parameters>
<return> A GtkProgressState
</return>
</function>

<function name="gtk_progress_tracker_init_copy">
<description>
Copy all progress tracker state from the source tracker to dest tracker.

</description>
<parameters>
<parameter name="source">
<parameter_description> The source progress tracker
</parameter_description>
</parameter>
<parameter name="dest">
<parameter_description> The destination progress tracker
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_tracker_skip_frame">
<description>
Does not update the progress of the animation forward, but records the frame
to calculate future deltas. Calling this each frame will effectively pause
the animation.

</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
<parameter name="frame_time">
<parameter_description> The current frame time, usually from the frame clock.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_tracker_start">
<description>
Begins tracking progress for a new animation. Clears all previous state.

</description>
<parameters>
<parameter name="tracker">
<parameter_description> The progress tracker
</parameter_description>
</parameter>
<parameter name="duration">
<parameter_description> Animation duration in us
</parameter_description>
</parameter>
<parameter name="delay">
<parameter_description> Animation delay in us
</parameter_description>
</parameter>
<parameter name="iteration_count">
<parameter_description> Number of iterations to run the animation, must be &gt;= 0
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_propagate_event">
<description>
Sends an event to a widget, propagating the event to parent widgets
if the event remains unhandled. This function will emit the event
through all the hierarchy of @widget through all propagation phases.

Events received by GTK from GDK normally begin at a #GtkRoot widget.
Depending on the type of event, existence of modal dialogs, grabs, etc.,
the event may be propagated; if so, this function is used.

All that said, you most likely don’t want to use any of these
functions; synthesizing events is rarely needed. There are almost
certainly better ways to achieve your goals. For example, use
gtk_widget_queue_draw() instead
of making up expose events.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> an event
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the event was handled
</return>
</function>

<function name="gtk_radio_button_get_group">
<description>
Retrieves the group assigned to a radio button.


</description>
<parameters>
<parameter name="radio_button">
<parameter_description> a #GtkRadioButton.
</parameter_description>
</parameter>
</parameters>
<return> a linked list
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>
</function>

<function name="gtk_radio_button_join_group">
<description>
Joins a #GtkRadioButton object to the group of another #GtkRadioButton object

Use this in language bindings instead of the gtk_radio_button_get_group() 
and gtk_radio_button_set_group() methods

A common way to set up a group of radio buttons is the following:
|[&lt;!-- language=&quot;C&quot; --&gt;
GtkRadioButton *radio_button;
GtkRadioButton *last_button;

while (some_condition)
{
radio_button = GTK_RADIO_BUTTON (gtk_radio_button_new (NULL));

gtk_radio_button_join_group (radio_button, last_button);
last_button = radio_button;
}
]|

</description>
<parameters>
<parameter name="radio_button">
<parameter_description> the #GtkRadioButton object
</parameter_description>
</parameter>
<parameter name="group_source">
<parameter_description> a radio button object whos group we are 
joining, or %NULL to remove the radio button from its group
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_radio_button_new">
<description>
Creates a new #GtkRadioButton. To be of any practical value, a widget should
then be packed into the radio button.


</description>
<parameters>
<parameter name="group">
<parameter_description> an existing
radio button group, or %NULL if you are creating a new group.
</parameter_description>
</parameter>
</parameters>
<return> a new radio button
</return>
</function>

<function name="gtk_radio_button_new_from_widget">
<description>
Creates a new #GtkRadioButton, adding it to the same group as
@radio_group_member. As with gtk_radio_button_new(), a widget
should be packed into the radio button.


</description>
<parameters>
<parameter name="radio_group_member">
<parameter_description> an existing #GtkRadioButton.
</parameter_description>
</parameter>
</parameters>
<return> a new radio button.
</return>
</function>

<function name="gtk_radio_button_new_with_label">
<description>
Creates a new #GtkRadioButton with a text label.


</description>
<parameters>
<parameter name="group">
<parameter_description> an existing
radio button group, or %NULL if you are creating a new group.
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text label to display next to the radio button.
</parameter_description>
</parameter>
</parameters>
<return> a new radio button.
</return>
</function>

<function name="gtk_radio_button_new_with_label_from_widget">
<description>
Creates a new #GtkRadioButton with a text label, adding it to
the same group as @radio_group_member.


</description>
<parameters>
<parameter name="radio_group_member">
<parameter_description> widget to get radio group from or %NULL
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a text string to display next to the radio button.
</parameter_description>
</parameter>
</parameters>
<return> a new radio button.
</return>
</function>

<function name="gtk_radio_button_new_with_mnemonic">
<description>
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.


</description>
<parameters>
<parameter name="group">
<parameter_description> the radio button
group, or %NULL
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text of the button, with an underscore in front of the
mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkRadioButton
</return>
</function>

<function name="gtk_radio_button_new_with_mnemonic_from_widget">
<description>
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.


</description>
<parameters>
<parameter name="radio_group_member">
<parameter_description> widget to get radio group from or %NULL
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text of the button, with an underscore in front of the
mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkRadioButton
</return>
</function>

<function name="gtk_radio_button_set_group">
<description>
Sets a #GtkRadioButton’s group. It should be noted that this does not change
the layout of your interface in any way, so if you are changing the group,
it is likely you will need to re-arrange the user interface to reflect these
changes.

</description>
<parameters>
<parameter name="radio_button">
<parameter_description> a #GtkRadioButton.
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> an existing radio
button group, such as one returned from gtk_radio_button_get_group(), or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_get_adjustment">
<description>
Get the #GtkAdjustment which is the “model” object for #GtkRange.
See gtk_range_set_adjustment() for details.
The return value does not have a reference added, so should not
be unreferenced.


</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> a #GtkAdjustment
</return>
</function>

<function name="gtk_range_get_fill_level">
<description>
Gets the current position of the fill level indicator.


</description>
<parameters>
<parameter name="range">
<parameter_description> A #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> The current fill level
</return>
</function>

<function name="gtk_range_get_flippable">
<description>
Gets the value set by gtk_range_set_flippable().


</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the range is flippable
</return>
</function>

<function name="gtk_range_get_inverted">
<description>
Gets the value set by gtk_range_set_inverted().


</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the range is inverted
</return>
</function>

<function name="gtk_range_get_range_rect">
<description>
This function returns the area that contains the range’s trough,
in coordinates relative to @range's origin.

This function is useful mainly for #GtkRange subclasses.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="range_rect">
<parameter_description> return location for the range rectangle
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_get_restrict_to_fill_level">
<description>
Gets whether the range is restricted to the fill level.


</description>
<parameters>
<parameter name="range">
<parameter_description> A #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @range is restricted to the fill level.
</return>
</function>

<function name="gtk_range_get_round_digits">
<description>
Gets the number of digits to round the value to when
it changes. See #GtkRange::change-value.


</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> the number of digits to round to
</return>
</function>

<function name="gtk_range_get_show_fill_level">
<description>
Gets whether the range displays the fill level graphically.


</description>
<parameters>
<parameter name="range">
<parameter_description> A #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @range shows the fill level.
</return>
</function>

<function name="gtk_range_get_slider_range">
<description>
This function returns sliders range along the long dimension,
in widget-&gt;window coordinates.

This function is useful mainly for #GtkRange subclasses.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="slider_start">
<parameter_description> return location for the slider's
start, or %NULL
</parameter_description>
</parameter>
<parameter name="slider_end">
<parameter_description> return location for the slider's
end, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_get_slider_size_fixed">
<description>
This function is useful mainly for #GtkRange subclasses.

See gtk_range_set_slider_size_fixed().


</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> whether the range’s slider has a fixed size.
</return>
</function>

<function name="gtk_range_get_value">
<description>
Gets the current value of the range.


</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> current value of the range.
</return>
</function>

<function name="gtk_range_set_adjustment">
<description>
Sets the adjustment to be used as the “model” 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.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_fill_level">
<description>
Set the new position of the fill level indicator.

The “fill level” 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’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’s possible to restrict the range’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.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="fill_level">
<parameter_description> the new position of the fill level indicator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_flippable">
<description>
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().

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="flippable">
<parameter_description> %TRUE to make the range flippable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_increments">
<description>
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.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> step size
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> page size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_inverted">
<description>
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.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to invert the range
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_range">
<description>
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.)

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="min">
<parameter_description> minimum range value
</parameter_description>
</parameter>
<parameter name="max">
<parameter_description> maximum range value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_restrict_to_fill_level">
<description>
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.

</description>
<parameters>
<parameter name="range">
<parameter_description>                  A #GtkRange
</parameter_description>
</parameter>
<parameter name="restrict_to_fill_level">
<parameter_description> Whether the fill level restricts slider movement.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_round_digits">
<description>
Sets the number of digits to round the value to when
it changes. See #GtkRange::change-value.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="round_digits">
<parameter_description> the precision in digits, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_show_fill_level">
<description>
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.

</description>
<parameters>
<parameter name="range">
<parameter_description>           A #GtkRange
</parameter_description>
</parameter>
<parameter name="show_fill_level">
<parameter_description> Whether a fill level indicator graphics is shown.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_slider_size_fixed">
<description>
Sets whether the range’s slider has a fixed size, or a size that
depends on its adjustment’s page size.

This function is useful mainly for #GtkRange subclasses.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="size_fixed">
<parameter_description> %TRUE to make the slider size constant
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_value">
<description>
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.

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> new value of the range
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_info_create_app_info">
<description>
Creates a #GAppInfo for the specified #GtkRecentInfo


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="app_name">
<parameter_description> the name of the application that should
be mapped to a #GAppInfo; if %NULL is used then the default
application for the MIME type is used
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the newly created #GAppInfo, or %NULL.
In case of error, @error will be set either with a
%GTK_RECENT_MANAGER_ERROR or a %G_IO_ERROR
</return>
</function>

<function name="gtk_recent_info_exists">
<description>
Checks whether the resource pointed by @info still exists.
At the moment this check is done only on resources pointing
to local files.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the resource exists
</return>
</function>

<function name="gtk_recent_info_get_added">
<description>
Gets the timestamp (seconds from system’s Epoch) when the resource
was added to the recently used resources list.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the number of seconds elapsed from system’s Epoch when
the resource was added to the list, or -1 on failure.
</return>
</function>

<function name="gtk_recent_info_get_age">
<description>
Gets the number of days elapsed since the last update
of the resource pointed by @info.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> a positive integer containing the number of days
elapsed since the time this resource was last modified
</return>
</function>

<function name="gtk_recent_info_get_application_info">
<description>
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.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="app_name">
<parameter_description> the name of the application that has registered this item
</parameter_description>
</parameter>
<parameter name="app_exec">
<parameter_description> return location for the string containing
the command line
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> return location for the number of times this item was registered
</parameter_description>
</parameter>
<parameter name="time_">
<parameter_description> return location for the timestamp this item was last registered
for this application
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an application with @app_name has registered this
resource inside the recently used list, or %FALSE otherwise. The
@app_exec string is owned by the #GtkRecentInfo and should not be
modified or freed
</return>
</function>

<function name="gtk_recent_info_get_applications">
<description>
Retrieves the list of applications that have registered this resource.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> return location for the length of the returned list
</parameter_description>
</parameter>
</parameters>
<return>
a newly allocated %NULL-terminated array of strings.
Use g_strfreev() to free it.
</return>
</function>

<function name="gtk_recent_info_get_description">
<description>
Gets the (short) description of the resource.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the description of the resource. The returned string
is owned by the recent manager, and should not be freed.
</return>
</function>

<function name="gtk_recent_info_get_display_name">
<description>
Gets the name of the resource. If none has been defined, the basename
of the resource is obtained.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the display name of the resource. The returned string
is owned by the recent manager, and should not be freed.
</return>
</function>

<function name="gtk_recent_info_get_gicon">
<description>
Retrieves the icon associated to the resource MIME type.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> a #GIcon containing the icon, or %NULL.
Use g_object_unref() when finished using the icon
</return>
</function>

<function name="gtk_recent_info_get_groups">
<description>
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.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> return location for the number of groups returned
</parameter_description>
</parameter>
</parameters>
<return>
a newly allocated %NULL terminated array of strings.
Use g_strfreev() to free it.
</return>
</function>

<function name="gtk_recent_info_get_mime_type">
<description>
Gets the MIME type of the resource.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the MIME type of the resource. The returned string
is owned by the recent manager, and should not be freed.
</return>
</function>

<function name="gtk_recent_info_get_modified">
<description>
Gets the timestamp (seconds from system’s Epoch) when the meta-data
for the resource was last modified.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the number of seconds elapsed from system’s Epoch when
the resource was last modified, or -1 on failure.
</return>
</function>

<function name="gtk_recent_info_get_private_hint">
<description>
Gets the value of the “private” 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.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the private flag was found, %FALSE otherwise
</return>
</function>

<function name="gtk_recent_info_get_short_name">
<description>
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
“file:///foo/bar.txt” will yield “bar.txt”.


</description>
<parameters>
<parameter name="info">
<parameter_description> an #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> A newly-allocated string in UTF-8 encoding
free it with g_free()
</return>
</function>

<function name="gtk_recent_info_get_uri">
<description>
Gets the URI of the resource.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the URI of the resource. The returned string is
owned by the recent manager, and should not be freed.
</return>
</function>

<function name="gtk_recent_info_get_uri_display">
<description>
Gets a displayable version of the resource’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().


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated UTF-8 string containing the
resource’s URI or %NULL. Use g_free() when done using it.
</return>
</function>

<function name="gtk_recent_info_get_visited">
<description>
Gets the timestamp (seconds from system’s Epoch) when the meta-data
for the resource was last visited.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the number of seconds elapsed from system’s Epoch when
the resource was last visited, or -1 on failure.
</return>
</function>

<function name="gtk_recent_info_has_application">
<description>
Checks whether an application registered this resource using @app_name.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="app_name">
<parameter_description> a string containing an application name
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an application with name @app_name was found,
%FALSE otherwise
</return>
</function>

<function name="gtk_recent_info_has_group">
<description>
Checks whether @group_name appears inside the groups
registered for the recently used item @info.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="group_name">
<parameter_description> name of a group
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the group was found
</return>
</function>

<function name="gtk_recent_info_is_local">
<description>
Checks whether the resource is local or not by looking at the
scheme of its URI.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the resource is local
</return>
</function>

<function name="gtk_recent_info_last_application">
<description>
Gets the name of the last application that have registered the
recently used resource represented by @info.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> an application name. Use g_free() to free it.
</return>
</function>

<function name="gtk_recent_info_match">
<description>
Checks whether two #GtkRecentInfo-struct point to the same
resource.


</description>
<parameters>
<parameter name="info_a">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="info_b">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if both #GtkRecentInfo-struct point to the same
resource, %FALSE otherwise
</return>
</function>

<function name="gtk_recent_info_ref">
<description>
Increases the reference count of @recent_info by one.


</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return> the recent info object with its reference count
increased by one
</return>
</function>

<function name="gtk_recent_info_unref">
<description>
Decreases the reference count of @info by one. If the reference
count reaches zero, @info is deallocated, and the memory freed.

</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_manager_add_full">
<description>
Adds a new resource, pointed by @uri, into the recently used
resources list, using the metadata specified inside the
#GtkRecentData-struct 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-struct, 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-struct 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.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a valid URI
</parameter_description>
</parameter>
<parameter name="recent_data">
<parameter_description> metadata of the resource
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the new item was successfully added to the
recently used resources list, %FALSE otherwise
</return>
</function>

<function name="gtk_recent_manager_add_item">
<description>
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.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a valid URI
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the new item was successfully added
to the recently used resources list
</return>
</function>

<function name="gtk_recent_manager_get_default">
<description>
Gets a unique instance of #GtkRecentManager, that you can share
in your application without caring about memory management.


</description>
<parameters>
</parameters>
<return> A unique #GtkRecentManager. Do not ref or
unref it.
</return>
</function>

<function name="gtk_recent_manager_get_items">
<description>
Gets the list of recently used resources.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
</parameters>
<return> a list of
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().
</return>
</function>

<function name="gtk_recent_manager_has_item">
<description>
Checks whether there is a recently used resource registered
with @uri inside the recent manager.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a URI
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the resource was found, %FALSE otherwise
</return>
</function>

<function name="gtk_recent_manager_lookup_item">
<description>
Searches for a URI inside the recently used resources list, and
returns a #GtkRecentInfo-struct containing informations about the resource
like its MIME type, or its display name.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a URI
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> a return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a #GtkRecentInfo-struct containing information
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().
</return>
</function>

<function name="gtk_recent_manager_move_item">
<description>
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.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI of a recently used resource
</parameter_description>
</parameter>
<parameter name="new_uri">
<parameter_description> the new URI of the recently used resource, or
%NULL to remove the item pointed by @uri in the list
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> a return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success
</return>
</function>

<function name="gtk_recent_manager_new">
<description>
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 “changed” signal
each time something inside the list changes.

#GtkRecentManager objects are expensive: be sure to create them only when
needed. You should use gtk_recent_manager_get_default() instead.


</description>
<parameters>
</parameters>
<return> A newly created #GtkRecentManager object
</return>
</function>

<function name="gtk_recent_manager_purge_items">
<description>
Purges every item from the recently used resources list.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> a return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the number of items that have been removed from the
recently used resources list
</return>
</function>

<function name="gtk_recent_manager_remove_item">
<description>
Removes a resource pointed by @uri from the recently used resources
list handled by a recent manager.


</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the URI of the item you wish to remove
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the item pointed by @uri has been successfully
removed by the recently used resources list, and %FALSE otherwise
</return>
</function>

<function name="gtk_render_activity">
<description>
Renders an activity indicator (such as in #GtkSpinner).
The state %GTK_STATE_FLAG_CHECKED determines whether there is
activity going on.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_arrow">
<description>
Renders an arrow pointing to @angle.

Typical arrow rendering at 0, 1⁄2 π;, π; and 3⁄2 π:

![](arrows.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="angle">
<parameter_description> arrow angle from 0 to 2 * %G_PI, being 0 the arrow pointing to the north
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the render area
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the render area
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> square side for render area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_background">
<description>
Renders the background of an element.

Typical background rendering, showing the effect of
`background-image`, `border-width` and `border-radius`:

![](background.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_check">
<description>
Renders a checkmark (as in a #GtkCheckButton).

The %GTK_STATE_FLAG_CHECKED state determines whether the check is
on or off, and %GTK_STATE_FLAG_INCONSISTENT determines whether it
should be marked as undefined.

Typical checkmark rendering:

![](checks.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_expander">
<description>
Renders an expander (as used in #GtkTreeView and #GtkExpander) in the area
defined by @x, @y, @width, @height. The state %GTK_STATE_FLAG_CHECKED
determines whether the expander is collapsed or expanded.

Typical expander rendering:

![](expanders.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_focus">
<description>
Renders a focus indicator on the rectangle determined by @x, @y, @width, @height.

Typical focus rendering:

![](focus.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_frame">
<description>
Renders a frame around the rectangle defined by @x, @y, @width, @height.

Examples of frame rendering, showing the effect of `border-image`,
`border-color`, `border-width`, `border-radius` and junctions:

![](frames.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_handle">
<description>
Renders a handle (as in #GtkPaned and
#GtkWindow’s resize grip), in the rectangle
determined by @x, @y, @width, @height.

Handles rendered for the paned and grip classes:

![](handles.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_icon">
<description>
Renders the icon in @texture at the specified @x and @y coordinates.

This function will render the icon in @texture at exactly its size,
regardless of scaling factors, which may not be appropriate when
drawing on displays with high pixel densities.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="texture">
<parameter_description> a #GdkTexture containing the icon to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X position for the @texture
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y position for the @texture 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_insertion_cursor">
<description>
Draws a text caret on @cr at the specified index of @layout.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> the #PangoLayout of the text
</parameter_description>
</parameter>
<parameter name="index">
<parameter_description> the index in the #PangoLayout
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the #PangoDirection of the text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_layout">
<description>
Renders @layout on the coordinates @x, @y

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> the #PangoLayout to render
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_line">
<description>
Renders a line from (x0, y0) to (x1, y1).

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x0">
<parameter_description> X coordinate for the origin of the line
</parameter_description>
</parameter>
<parameter name="y0">
<parameter_description> Y coordinate for the origin of the line
</parameter_description>
</parameter>
<parameter name="x1">
<parameter_description> X coordinate for the end of the line
</parameter_description>
</parameter>
<parameter name="y1">
<parameter_description> Y coordinate for the end of the line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_option">
<description>
Renders an option mark (as in a #GtkRadioButton), the %GTK_STATE_FLAG_CHECKED
state will determine whether the option is on or off, and
%GTK_STATE_FLAG_INCONSISTENT whether it should be marked as undefined.

Typical option mark rendering:

![](options.png)

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_requisition_copy">
<description>
Copies a #GtkRequisition.


</description>
<parameters>
<parameter name="requisition">
<parameter_description> a #GtkRequisition
</parameter_description>
</parameter>
</parameters>
<return> a copy of @requisition
</return>
</function>

<function name="gtk_requisition_free">
<description>
Frees a #GtkRequisition.

</description>
<parameters>
<parameter name="requisition">
<parameter_description> a #GtkRequisition
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_requisition_new">
<description>
Allocates a new #GtkRequisition-struct and initializes its elements to zero.


</description>
<parameters>
</parameters>
<return> a new empty #GtkRequisition. The newly allocated #GtkRequisition should
be freed with gtk_requisition_free().
</return>
</function>

<function name="gtk_revealer_get_child_revealed">
<description>
Returns whether the child is fully revealed, in other words whether
the transition to the revealed state is completed.


</description>
<parameters>
<parameter name="revealer">
<parameter_description> a #GtkRevealer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the child is fully revealed
</return>
</function>

<function name="gtk_revealer_get_reveal_child">
<description>
Returns whether the child is currently
revealed. See gtk_revealer_set_reveal_child().

This function returns %TRUE as soon as the transition
is to the revealed state is started. To learn whether
the child is fully revealed (ie the transition is completed),
use gtk_revealer_get_child_revealed().


</description>
<parameters>
<parameter name="revealer">
<parameter_description> a #GtkRevealer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the child is revealed.
</return>
</function>

<function name="gtk_revealer_get_transition_duration">
<description>
Returns the amount of time (in milliseconds) that
transitions will take.


</description>
<parameters>
<parameter name="revealer">
<parameter_description> a #GtkRevealer
</parameter_description>
</parameter>
</parameters>
<return> the transition duration
</return>
</function>

<function name="gtk_revealer_get_transition_type">
<description>
Gets the type of animation that will be used
for transitions in @revealer.


</description>
<parameters>
<parameter name="revealer">
<parameter_description> a #GtkRevealer
</parameter_description>
</parameter>
</parameters>
<return> the current transition type of @revealer
</return>
</function>

<function name="gtk_revealer_new">
<description>
Creates a new #GtkRevealer.


</description>
<parameters>
</parameters>
<return> a newly created #GtkRevealer
</return>
</function>

<function name="gtk_revealer_set_reveal_child">
<description>
Tells the #GtkRevealer to reveal or conceal its child.

The transition will be animated with the current
transition type of @revealer.

</description>
<parameters>
<parameter name="revealer">
<parameter_description> a #GtkRevealer
</parameter_description>
</parameter>
<parameter name="reveal_child">
<parameter_description> %TRUE to reveal the child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_revealer_set_transition_duration">
<description>
Sets the duration that transitions will take.

</description>
<parameters>
<parameter name="revealer">
<parameter_description> a #GtkRevealer
</parameter_description>
</parameter>
<parameter name="duration">
<parameter_description> the new duration, in milliseconds
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_revealer_set_transition_type">
<description>
Sets the type of animation that will be used for
transitions in @revealer. Available types include
various kinds of fades and slides.

</description>
<parameters>
<parameter name="revealer">
<parameter_description> a #GtkRevealer
</parameter_description>
</parameter>
<parameter name="transition">
<parameter_description> the new transition type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_rgb_to_hsv">
<description>
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.

</description>
<parameters>
<parameter name="r">
<parameter_description> Red
</parameter_description>
</parameter>
<parameter name="g">
<parameter_description> Green
</parameter_description>
</parameter>
<parameter name="b">
<parameter_description> Blue
</parameter_description>
</parameter>
<parameter name="h">
<parameter_description> Return value for the hue component
</parameter_description>
</parameter>
<parameter name="s">
<parameter_description> Return value for the saturation component
</parameter_description>
</parameter>
<parameter name="v">
<parameter_description> Return value for the value component
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_root_get_display">
<description>
Returns the display that this GtkRoot is on.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkRoot
</parameter_description>
</parameter>
</parameters>
<return> the display of @root
</return>
</function>

<function name="gtk_root_get_focus">
<description>
Retrieves the current focused widget within the root.

Note that this is the widget that would have the focus
if the root is active; if the root is not focused then
`gtk_widget_has_focus (widget)` will be %FALSE for the
widget.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkRoot
</parameter_description>
</parameter>
</parameters>
<return> the currently focused widget,
or %NULL if there is none.
</return>
</function>

<function name="gtk_root_set_focus">
<description>
If @focus is not the current focus widget, and is focusable, sets
it as the focus widget for the root. If @focus is %NULL, unsets
the focus widget for the root.

To set the focus to a particular widget in the root, it is usually
more convenient to use gtk_widget_grab_focus() instead of this function.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkRoot
</parameter_description>
</parameter>
<parameter name="focus">
<parameter_description> widget to be the new focus widget, or %NULL
to unset the focus widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_add_mark">
<description>
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().

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value at which the mark is placed, must be between
the lower and upper limits of the scales’ adjustment
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> where to draw the mark. For a horizontal scale, #GTK_POS_TOP
and %GTK_POS_LEFT are drawn above the scale, anything else below.
For a vertical scale, #GTK_POS_LEFT and %GTK_POS_TOP are drawn to
the left of the scale, anything else to the right.
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> Text to be shown at the mark, using [Pango markup][PangoMarkupFormat], or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_button_get_adjustment">
<description>
Gets the #GtkAdjustment associated with the #GtkScaleButton’s scale.
See gtk_range_get_adjustment() for details.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
</parameters>
<return> the adjustment associated with the scale
</return>
</function>

<function name="gtk_scale_button_get_minus_button">
<description>
Retrieves the minus button of the #GtkScaleButton.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
</parameters>
<return> the minus button of the #GtkScaleButton as a #GtkButton
</return>
</function>

<function name="gtk_scale_button_get_plus_button">
<description>
Retrieves the plus button of the #GtkScaleButton.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
</parameters>
<return> the plus button of the #GtkScaleButton as a #GtkButton
</return>
</function>

<function name="gtk_scale_button_get_popup">
<description>
Retrieves the popup of the #GtkScaleButton.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
</parameters>
<return> the popup of the #GtkScaleButton
</return>
</function>

<function name="gtk_scale_button_get_value">
<description>
Gets the current value of the scale button.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
</parameters>
<return> current value of the scale button
</return>
</function>

<function name="gtk_scale_button_new">
<description>
Creates a #GtkScaleButton, with a range between @min and @max, with
a stepping of @step.


</description>
<parameters>
<parameter name="min">
<parameter_description> the minimum value of the scale (usually 0)
</parameter_description>
</parameter>
<parameter name="max">
<parameter_description> the maximum value of the scale (usually 100)
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the stepping of value when a scroll-wheel event,
or up/down arrow event occurs (usually 2)
</parameter_description>
</parameter>
<parameter name="icons">
<parameter_description> a %NULL-terminated
array of icon names, or %NULL if you want to set the list
later with gtk_scale_button_set_icons()
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkScaleButton
</return>
</function>

<function name="gtk_scale_button_set_adjustment">
<description>
Sets the #GtkAdjustment to be used as a model
for the #GtkScaleButton’s scale.
See gtk_range_set_adjustment() for details.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_button_set_icons">
<description>
Sets the icons to be used by the scale button.
For details, see the #GtkScaleButton:icons property.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
<parameter name="icons">
<parameter_description> a %NULL-terminated array of icon names
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_button_set_value">
<description>
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.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> new value of the scale button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_clear_marks">
<description>
Removes any marks that have been added with gtk_scale_add_mark().

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_get_digits">
<description>
Gets the number of decimal places that are displayed in the value.


</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
</parameters>
<return> the number of decimal places that are displayed
</return>
</function>

<function name="gtk_scale_get_draw_value">
<description>
Returns whether the current value is displayed as a string 
next to the slider.


</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
</parameters>
<return> whether the current value is displayed as a string
</return>
</function>

<function name="gtk_scale_get_has_origin">
<description>
Returns whether the scale has an origin.


</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the scale has an origin.
</return>
</function>

<function name="gtk_scale_get_layout">
<description>
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.


</description>
<parameters>
<parameter name="scale">
<parameter_description> A #GtkScale
</parameter_description>
</parameter>
</parameters>
<return> the #PangoLayout for this scale,
or %NULL if the #GtkScale:draw-value property is %FALSE.
</return>
</function>

<function name="gtk_scale_get_layout_offsets">
<description>
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.

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> location to store X offset of layout, or %NULL
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> location to store Y offset of layout, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_get_value_pos">
<description>
Gets the position in which the current value is displayed.


</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
</parameters>
<return> the position in which the current value is displayed
</return>
</function>

<function name="gtk_scale_new">
<description>
Creates a new #GtkScale.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> the scale’s orientation.
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> the #GtkAdjustment which sets the range
of the scale, or %NULL to create a new adjustment.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkScale
</return>
</function>

<function name="gtk_scale_new_with_range">
<description>
Creates a new scale widget with the given orientation that lets the
user input a number between @min and @max (including @min and @max)
with the increment @step.  @step must be nonzero; it’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.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> the scale’s orientation.
</parameter_description>
</parameter>
<parameter name="min">
<parameter_description> minimum value
</parameter_description>
</parameter>
<parameter name="max">
<parameter_description> maximum value
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> step increment (tick size) used with keyboard shortcuts
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkScale
</return>
</function>

<function name="gtk_scale_set_digits">
<description>
Sets the number of decimal places that are displayed in the value. Also
causes the value of the adjustment to be rounded to this number of digits,
so the retrieved value matches the displayed one, if #GtkScale:draw-value is
%TRUE when the value changes. If you want to enforce rounding the value when
#GtkScale:draw-value is %FALSE, you can set #GtkRange:round-digits instead.

Note that rounding to a small number of digits can interfere with
the smooth autoscrolling that is built into #GtkScale. As an alternative,
you can use gtk_scale_set_format_value_func() to format the displayed
value yourself.

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
<parameter name="digits">
<parameter_description> the number of decimal places to display,
e.g. use 1 to display 1.0, 2 to display 1.00, etc
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_set_draw_value">
<description>
Specifies whether the current value is displayed as a string next 
to the slider.

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
<parameter name="draw_value">
<parameter_description> %TRUE to draw the value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_set_format_value_func">
<description>
@func allows you to change how the scale value is displayed. The given
function will return an allocated string representing @value.
That string will then be used to display the scale's value.

If #NULL is passed as @func, the value will be displayed on
its own, rounded according to the value of the #GtkScale:digits property.

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> function that formats the value
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @func
</parameter_description>
</parameter>
<parameter name="destroy_notify">
<parameter_description> destroy function for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_set_has_origin">
<description>
If #GtkScale:has-origin is set to %TRUE (the default), the scale will
highlight the part of the trough between the origin (bottom or left side)
and the current value.

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
<parameter name="has_origin">
<parameter_description> %TRUE if the scale has an origin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scale_set_value_pos">
<description>
Sets the position in which the current value is displayed.

</description>
<parameters>
<parameter name="scale">
<parameter_description> a #GtkScale
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> the position in which the current value is displayed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrollable_get_border">
<description>
Returns the size of a non-scrolling border around the
outside of the scrollable. An example for this would
be treeview headers. GTK+ can use this information to
display overlayed graphics, like the overshoot indication,
at the right position.


</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
<parameter name="border">
<parameter_description> return location for the results
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @border has been set
</return>
</function>

<function name="gtk_scrollable_get_hadjustment">
<description>
Retrieves the #GtkAdjustment used for horizontal scrolling.


</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
</parameters>
<return> horizontal #GtkAdjustment.
</return>
</function>

<function name="gtk_scrollable_get_hscroll_policy">
<description>
Gets the horizontal #GtkScrollablePolicy.


</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
</parameters>
<return> The horizontal #GtkScrollablePolicy.
</return>
</function>

<function name="gtk_scrollable_get_vadjustment">
<description>
Retrieves the #GtkAdjustment used for vertical scrolling.


</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
</parameters>
<return> vertical #GtkAdjustment.
</return>
</function>

<function name="gtk_scrollable_get_vscroll_policy">
<description>
Gets the vertical #GtkScrollablePolicy.


</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
</parameters>
<return> The vertical #GtkScrollablePolicy.
</return>
</function>

<function name="gtk_scrollable_set_hadjustment">
<description>
Sets the horizontal adjustment of the #GtkScrollable.

</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
<parameter name="hadjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrollable_set_hscroll_policy">
<description>
Sets the #GtkScrollablePolicy to determine whether
horizontal scrolling should start below the minimum width or
below the natural width.

</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
<parameter name="policy">
<parameter_description> the horizontal #GtkScrollablePolicy
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrollable_set_vadjustment">
<description>
Sets the vertical adjustment of the #GtkScrollable.

</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
<parameter name="vadjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrollable_set_vscroll_policy">
<description>
Sets the #GtkScrollablePolicy to determine whether
vertical scrolling should start below the minimum height or
below the natural height.

</description>
<parameters>
<parameter name="scrollable">
<parameter_description> a #GtkScrollable
</parameter_description>
</parameter>
<parameter name="policy">
<parameter_description> the vertical #GtkScrollablePolicy
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrollbar_get_adjustment">
<description>
Returns the scrollbar's adjustment.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkScrollbar
</parameter_description>
</parameter>
</parameters>
<return> the scrollbar's adjustment
</return>
</function>

<function name="gtk_scrollbar_new">
<description>
Creates a new scrollbar with the given orientation.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> the scrollbar’s orientation.
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> the #GtkAdjustment to use, or %NULL to create a new adjustment.
</parameter_description>
</parameter>
</parameters>
<return>  the new #GtkScrollbar.
</return>
</function>

<function name="gtk_scrollbar_set_adjustment">
<description>
Makes the scrollbar use the given adjustment.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkScrollbar
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> the adjustment to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_get_capture_button_press">
<description>
Return whether button presses are captured during kinetic
scrolling. See gtk_scrolled_window_set_capture_button_press().


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if button presses are captured during kinetic scrolling
</return>
</function>

<function name="gtk_scrolled_window_get_hadjustment">
<description>
Returns the horizontal scrollbar’s adjustment, used to connect the
horizontal scrollbar to the child widget’s horizontal scroll
functionality.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the horizontal #GtkAdjustment
</return>
</function>

<function name="gtk_scrolled_window_get_hscrollbar">
<description>
Returns the horizontal scrollbar of @scrolled_window.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the horizontal scrollbar of the scrolled window.
</return>
</function>

<function name="gtk_scrolled_window_get_kinetic_scrolling">
<description>
Returns the specified kinetic scrolling behavior.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the scrolling behavior flags.
</return>
</function>

<function name="gtk_scrolled_window_get_max_content_height">
<description>
Returns the maximum content height set.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the maximum content height, or -1
</return>
</function>

<function name="gtk_scrolled_window_get_max_content_width">
<description>
Returns the maximum content width set.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the maximum content width, or -1
</return>
</function>

<function name="gtk_scrolled_window_get_min_content_height">
<description>
Gets the minimal content height of @scrolled_window, or -1 if not set.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the minimal content height
</return>
</function>

<function name="gtk_scrolled_window_get_min_content_width">
<description>
Gets the minimum content width of @scrolled_window, or -1 if not set.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the minimum content width
</return>
</function>

<function name="gtk_scrolled_window_get_overlay_scrolling">
<description>
Returns whether overlay scrolling is enabled for this scrolled window.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if overlay scrolling is enabled
</return>
</function>

<function name="gtk_scrolled_window_get_placement">
<description>
Gets the placement of the contents with respect to the scrollbars
for the scrolled window. See gtk_scrolled_window_set_placement().


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the current placement value.

See also gtk_scrolled_window_set_placement() and
gtk_scrolled_window_unset_placement().
</return>
</function>

<function name="gtk_scrolled_window_get_policy">
<description>
Retrieves the current policy values for the horizontal and vertical
scrollbars. See gtk_scrolled_window_set_policy().

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="hscrollbar_policy">
<parameter_description> location to store the policy
for the horizontal scrollbar, or %NULL
</parameter_description>
</parameter>
<parameter name="vscrollbar_policy">
<parameter_description> location to store the policy
for the vertical scrollbar, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_get_propagate_natural_height">
<description>
Reports whether the natural height of the child will be calculated and propagated
through the scrolled window’s requested natural height.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> whether natural height propagation is enabled.
</return>
</function>

<function name="gtk_scrolled_window_get_propagate_natural_width">
<description>
Reports whether the natural width of the child will be calculated and propagated
through the scrolled window’s requested natural width.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> whether natural width propagation is enabled.
</return>
</function>

<function name="gtk_scrolled_window_get_shadow_type">
<description>
Gets the shadow type of the scrolled window. See 
gtk_scrolled_window_set_shadow_type().


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the current shadow type
</return>
</function>

<function name="gtk_scrolled_window_get_vadjustment">
<description>
Returns the vertical scrollbar’s adjustment, used to connect the
vertical scrollbar to the child widget’s vertical scroll functionality.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the vertical #GtkAdjustment
</return>
</function>

<function name="gtk_scrolled_window_get_vscrollbar">
<description>
Returns the vertical scrollbar of @scrolled_window.


</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the vertical scrollbar of the scrolled window.
</return>
</function>

<function name="gtk_scrolled_window_new">
<description>
Creates a new scrolled window.

The two arguments are the scrolled window’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.


</description>
<parameters>
<parameter name="hadjustment">
<parameter_description> horizontal adjustment
</parameter_description>
</parameter>
<parameter name="vadjustment">
<parameter_description> vertical adjustment
</parameter_description>
</parameter>
</parameters>
<return> a new scrolled window
</return>
</function>

<function name="gtk_scrolled_window_set_capture_button_press">
<description>
Changes the behaviour of @scrolled_window with regard to the initial
event that possibly starts kinetic scrolling. When @capture_button_press
is set to %TRUE, the event is captured by the scrolled window, and
then later replayed if it is meant to go to the child widget.

This should be enabled if any child widgets perform non-reversible
actions on button press events. If they don't, and additionally handle
#GtkWidget::grab-broken-event, it might be better to set @capture_button_press
to %FALSE.

This setting only has an effect if kinetic scrolling is enabled.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="capture_button_press">
<parameter_description> %TRUE to capture button presses
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_hadjustment">
<description>
Sets the #GtkAdjustment for the horizontal scrollbar.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="hadjustment">
<parameter_description> the #GtkAdjustment to use, or %NULL to create a new one
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_kinetic_scrolling">
<description>
Turns kinetic scrolling on or off.
Kinetic scrolling only applies to devices with source
%GDK_SOURCE_TOUCHSCREEN.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="kinetic_scrolling">
<parameter_description> %TRUE to enable kinetic scrolling
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_max_content_height">
<description>
Sets the maximum height that @scrolled_window should keep visible. The
@scrolled_window will grow up to this height before it starts scrolling
the content.

It is a programming error to set the maximum content height to a value
smaller than #GtkScrolledWindow:min-content-height.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the maximum content height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_max_content_width">
<description>
Sets the maximum width that @scrolled_window should keep visible. The
@scrolled_window will grow up to this width before it starts scrolling
the content.

It is a programming error to set the maximum content width to a value
smaller than #GtkScrolledWindow:min-content-width.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the maximum content width
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_min_content_height">
<description>
Sets the minimum height that @scrolled_window should keep visible.
Note that this can and (usually will) be smaller than the minimum
size of the content.

It is a programming error to set the minimum content height to a
value greater than #GtkScrolledWindow:max-content-height.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the minimal content height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_min_content_width">
<description>
Sets the minimum width that @scrolled_window should keep visible.
Note that this can and (usually will) be smaller than the minimum
size of the content.

It is a programming error to set the minimum content width to a
value greater than #GtkScrolledWindow:max-content-width.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the minimal content width
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_overlay_scrolling">
<description>
Enables or disables overlay scrolling for this scrolled window.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="overlay_scrolling">
<parameter_description> whether to enable overlay scrolling
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_placement">
<description>
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().

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="window_placement">
<parameter_description> position of the child window
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_policy">
<description>
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).

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="hscrollbar_policy">
<parameter_description> policy for horizontal bar
</parameter_description>
</parameter>
<parameter name="vscrollbar_policy">
<parameter_description> policy for vertical bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_propagate_natural_height">
<description>
Sets whether the natural height of the child should be calculated and propagated
through the scrolled window’s requested natural height.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="propagate">
<parameter_description> whether to propagate natural height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_propagate_natural_width">
<description>
Sets whether the natural width of the child should be calculated and propagated
through the scrolled window’s requested natural width.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="propagate">
<parameter_description> whether to propagate natural width
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_shadow_type">
<description>
Changes the type of shadow drawn around the contents of
@scrolled_window.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> kind of shadow to draw around scrolled window contents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_set_vadjustment">
<description>
Sets the #GtkAdjustment for the vertical scrollbar.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="vadjustment">
<parameter_description> the #GtkAdjustment to use, or %NULL to create a new one
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_scrolled_window_unset_placement">
<description>
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 defaults to %GTK_CORNER_TOP_LEFT.

See also gtk_scrolled_window_set_placement() and
gtk_scrolled_window_get_placement().

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_search_bar_connect_entry">
<description>
Connects the #GtkEntry widget passed as the one to be used in
this search bar. The entry should be a descendant of the search bar.
This is only required if the entry isn’t the direct child of the
search bar (as in our main example).

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkSearchBar
</parameter_description>
</parameter>
<parameter name="entry">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_search_bar_get_key_capture_widget">
<description>
Gets the widget that @bar is capturing key events from.


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkSearchBar
</parameter_description>
</parameter>
</parameters>
<return> The key capture widget.
</return>
</function>

<function name="gtk_search_bar_get_search_mode">
<description>
Returns whether the search mode is on or off.


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkSearchBar
</parameter_description>
</parameter>
</parameters>
<return> whether search mode is toggled on
</return>
</function>

<function name="gtk_search_bar_get_show_close_button">
<description>
Returns whether the close button is shown.


</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkSearchBar
</parameter_description>
</parameter>
</parameters>
<return> whether the close button is shown
</return>
</function>

<function name="gtk_search_bar_new">
<description>
Creates a #GtkSearchBar. You will need to tell it about
which widget is going to be your text entry using
gtk_search_bar_connect_entry().


</description>
<parameters>
</parameters>
<return> a new #GtkSearchBar
</return>
</function>

<function name="gtk_search_bar_set_key_capture_widget">
<description>
Sets @widget as the widget that @bar will capture key events from.

If key events are handled by the search bar, the bar will
be shown, and the entry populated with the entered text.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkSearchBar
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_search_bar_set_search_mode">
<description>
Switches the search mode on or off.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkSearchBar
</parameter_description>
</parameter>
<parameter name="search_mode">
<parameter_description> the new state of the search mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_search_bar_set_show_close_button">
<description>
Shows or hides the close button. Applications that
already have a “search” toggle button should not show a close
button in their search bar, as it duplicates the role of the
toggle button.

</description>
<parameters>
<parameter name="bar">
<parameter_description> a #GtkSearchBar
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> whether the close button will be shown or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_search_entry_get_key_capture_widget">
<description>
Gets the widget that @entry is capturing key events from.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkSearchEntry
</parameter_description>
</parameter>
</parameters>
<return> The key capture widget.
</return>
</function>

<function name="gtk_search_entry_new">
<description>
Creates a #GtkSearchEntry, with a find icon when the search field is
empty, and a clear icon when it isn't.


</description>
<parameters>
</parameters>
<return> a new #GtkSearchEntry
</return>
</function>

<function name="gtk_search_entry_set_key_capture_widget">
<description>
Sets @widget as the widget that @entry will capture key events from.

Key events are consumed by the search entry to start or
continue a search.

If the entry is part of a #GtkSearchBar, it is preferable
to call gtk_search_bar_set_key_capture_widget() instead, which
will reveal the entry in addition to triggering the search entry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkSearchEntry
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_data_copy">
<description>
Makes a copy of a #GtkSelectionData-struct and its data.


</description>
<parameters>
<parameter name="data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return> a pointer to a copy of @data.
</return>
</function>

<function name="gtk_selection_data_free">
<description>
Frees a #GtkSelectionData-struct returned from
gtk_selection_data_copy().

</description>
<parameters>
<parameter name="data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_data_get_data">
<description>
Retrieves the raw data of the selection.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a
#GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return> the raw data of the selection.
</return>
</function>

<function name="gtk_selection_data_get_data_type">
<description>
Retrieves the data type of the selection.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return> the data type of the selection.
</return>
</function>

<function name="gtk_selection_data_get_data_with_length">
<description>
Retrieves the raw data of the selection along with its length.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> return location for length of the data segment
</parameter_description>
</parameter>
</parameters>
<return> the raw data of the selection
</return>
</function>

<function name="gtk_selection_data_get_display">
<description>
Retrieves the display of the selection.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return> the display of the selection.
</return>
</function>

<function name="gtk_selection_data_get_format">
<description>
Retrieves the format of the selection.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return> the format of the selection.
</return>
</function>

<function name="gtk_selection_data_get_length">
<description>
Retrieves the length of the raw data of the selection.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return> the length of the data of the selection.
</return>
</function>

<function name="gtk_selection_data_get_pixbuf">
<description>
Gets the contents of the selection data as a #GdkPixbuf.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
</parameters>
<return> if the selection data
contained a recognized 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().
</return>
</function>

<function name="gtk_selection_data_get_target">
<description>
Retrieves the target of the selection.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
</parameters>
<return> the target of the selection.
</return>
</function>

<function name="gtk_selection_data_get_targets">
<description>
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.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData object
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description>
location to store an array of targets. The result stored
here must be freed with g_free().
</parameter_description>
</parameter>
<parameter name="n_atoms">
<parameter_description> location to store number of items in @targets.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @selection_data contains a valid
array of targets, otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_data_get_text">
<description>
Gets the contents of the selection data as a UTF-8 string.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
</parameters>
<return> if the selection data contained a
recognized 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>
</function>

<function name="gtk_selection_data_get_texture">
<description>
Gets the contents of the selection data as a #GdkPixbuf.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
</parameters>
<return> if the selection data
contained a recognized image type and it could be converted to a
#GdkTexture, a newly allocated texture is returned, otherwise
%NULL.  If the result is non-%NULL it must be freed with
g_object_unref().
</return>
</function>

<function name="gtk_selection_data_get_uris">
<description>
Gets the contents of the selection data as array of URIs.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
</parameters>
<return> if
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().
</return>
</function>

<function name="gtk_selection_data_set">
<description>
Stores new data into a #GtkSelectionData object. Should
only be called from a selection handler callback.
Zero-terminates the stored data.

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData-struct.
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the type of selection data
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> format (number of bits in a unit)
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> pointer to the data (will be copied)
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of the data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_data_set_pixbuf">
<description>
Sets the contents of the selection from a #GdkPixbuf
The pixbuf is converted to the form determined by
@selection_data-&gt;target.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the selection was successfully set,
otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_data_set_text">
<description>
Sets the contents of the selection from a UTF-8 encoded string.
The string is converted to the form determined by
@selection_data-&gt;target.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> a UTF-8 string
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> the length of @str, or -1 if @str is nul-terminated.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the selection was successfully set,
otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_data_set_texture">
<description>
Sets the contents of the selection from a #GdkTexture.
The surface is converted to the form determined by
@selection_data-&gt;target.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
<parameter name="texture">
<parameter_description> a #GdkTexture
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the selection was successfully set,
otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_data_set_uris">
<description>
Sets the contents of the selection from a list of URIs.
The string is converted to the form determined by
@selection_data-&gt;target.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
<parameter name="uris">
<parameter_description> a %NULL-terminated array of
strings holding URIs
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the selection was successfully set,
otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_data_targets_include_image">
<description>
Given a #GtkSelectionData object holding a list of targets,
determines if any of the targets in @targets can be used to
provide a #GdkPixbuf.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData object
</parameter_description>
</parameter>
<parameter name="writable">
<parameter_description> whether to accept only targets for which GTK+ knows
how to convert a pixbuf into the format
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @selection_data holds a list of targets,
and a suitable target for images is included, otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_data_targets_include_text">
<description>
Given a #GtkSelectionData object holding a list of targets,
determines if any of the targets in @targets can be used to
provide text.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData object
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @selection_data holds a list of targets,
and a suitable target for text is included, otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_data_targets_include_uri">
<description>
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.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData object
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @selection_data holds a list of targets,
and a suitable target for URI lists is included, otherwise %FALSE.
</return>
</function>

<function name="gtk_selection_model_is_selected">
<description>
Checks if the given item is selected.


</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of the item to query
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the item is selected
</return>
</function>

<function name="gtk_selection_model_query_range">
<description>
This function allows to query the selection status of multiple elements at once.
It is passed a position and returns a range of elements of uniform selection status.

If @position is greater than the number of items in @model, @n_items is set to 0.
Otherwise the returned range is guaranteed to include the passed-in position, so
@n_items will be &gt;= 1.

Positions directly adjacent to the returned range may have the same selection
status as the returned range.

This is an optimization function to make iterating over a model faster when few
items are selected. However, it is valid behavior for implementations to use a
naive implementation that only ever returns a single element.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position inside the range
</parameter_description>
</parameter>
<parameter name="start_range">
<parameter_description> returns the position of the first element of the range
</parameter_description>
</parameter>
<parameter name="n_items">
<parameter_description> returns the size of the range
</parameter_description>
</parameter>
<parameter name="selected">
<parameter_description> returns whether items in @range are selected
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_model_select_all">
<description>
Requests to select all items in the model.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_model_select_item">
<description>
Requests to select an item in the model.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of the item to select
</parameter_description>
</parameter>
<parameter name="exclusive">
<parameter_description> whether previously selected items should be unselected
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_model_select_range">
<description>
Requests to select a range of items in the model.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the first item to select
</parameter_description>
</parameter>
<parameter name="n_items">
<parameter_description> the number of items to select
</parameter_description>
</parameter>
<parameter name="exclusive">
<parameter_description> whether previously selected items should be unselected
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_model_selection_changed">
<description>
Helper function for implementations of #GtkSelectionModel.
Call this when a the selection changes to emit the ::selection-changed
signal.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the first changed item
</parameter_description>
</parameter>
<parameter name="n_items">
<parameter_description> the number of changed items
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_model_unselect_all">
<description>
Requests to unselect all items in the model.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_model_unselect_item">
<description>
Requests to unselect an item in the model.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of the item to unselect
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_model_unselect_range">
<description>
Requests to unselect a range of items in the model.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkSelectionModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the first item to unselect
</parameter_description>
</parameter>
<parameter name="n_items">
<parameter_description> the number of items to unselect
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_separator_new">
<description>
Creates a new #GtkSeparator with the given orientation.


</description>
<parameters>
<parameter name="orientation">
<parameter_description> the separator’s orientation.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkSeparator.
</return>
</function>

<function name="gtk_set_debug_flags">
<description>
Sets the GTK debug flags.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_settings_get_default">
<description>
Gets the #GtkSettings object for the default display, creating
it if necessary. See gtk_settings_get_for_display().


</description>
<parameters>
</parameters>
<return> a #GtkSettings object. If there is
no default display, then returns %NULL.
</return>
</function>

<function name="gtk_settings_get_for_display">
<description>
Gets the #GtkSettings object for @display, creating it if necessary.


</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay.
</parameter_description>
</parameter>
</parameters>
<return> a #GtkSettings object.
</return>
</function>

<function name="gtk_settings_reset_property">
<description>
Undoes the effect of calling g_object_set() to install an
application-specific value for a setting. After this call,
the setting will again follow the session-wide value for
this setting.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkSettings object
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the setting to reset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_shortcut_label_get_accelerator">
<description>
Retrieves the current accelerator of @self.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkShortcutLabel
</parameter_description>
</parameter>
</parameters>
<return> the current accelerator.
</return>
</function>

<function name="gtk_shortcut_label_get_disabled_text">
<description>
Retrieves the text that is displayed when no accelerator is set.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkShortcutLabel
</parameter_description>
</parameter>
</parameters>
<return> the current text displayed when no
accelerator is set.
</return>
</function>

<function name="gtk_shortcut_label_new">
<description>
Creates a new #GtkShortcutLabel with @accelerator set.


</description>
<parameters>
<parameter name="accelerator">
<parameter_description> the initial accelerator
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #GtkShortcutLabel
</return>
</function>

<function name="gtk_shortcut_label_set_accelerator">
<description>
Sets the accelerator to be displayed by @self.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkShortcutLabel
</parameter_description>
</parameter>
<parameter name="accelerator">
<parameter_description> the new accelerator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_shortcut_label_set_disabled_text">
<description>
Sets the text to be displayed by @self when no accelerator is set.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkShortcutLabel
</parameter_description>
</parameter>
<parameter name="disabled_text">
<parameter_description> the text to be displayed when no accelerator is set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_show_about_dialog">
<description>
This is a convenience function for showing an application’s about box.
The constructed dialog is associated with the parent window and
reused for future invocations of this function.

</description>
<parameters>
<parameter name="parent">
<parameter_description> transient parent, or %NULL for none
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> the name of the first property
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> value of first property, followed by more properties, %NULL-terminated
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_show_uri_on_window">
<description>
This is a convenience function for launching the default application
to show the uri. The uri must be of a form understood by GIO (i.e. you
need to install gvfs to get support for uri schemes such as http://
or ftp://, as only local files are handled by GIO itself).
Typical examples are
- `file:///home/gnome/pict.jpg`
- `http://www.gnome.org`
- `mailto:me@gnome.org`

Ideally the timestamp is taken from the event triggering
the gtk_show_uri_on_window() call. If timestamp is not known you can take
%GDK_CURRENT_TIME.

This is the recommended call to be used as it passes information
necessary for sandbox helpers to parent their dialogs properly.


</description>
<parameters>
<parameter name="parent">
<parameter_description> parent window
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> the uri to show
</parameter_description>
</parameter>
<parameter name="timestamp">
<parameter_description> a timestamp to prevent focus stealing
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> a #GError that is returned in case of errors
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE on error
</return>
</function>

<function name="gtk_single_selection_get_autoselect">
<description>
Checks if autoselect has been enabled or disabled via
gtk_single_selection_set_autoselect().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if autoselect is enabled
</return>
</function>

<function name="gtk_single_selection_get_can_unselect">
<description>
If %TRUE, gtk_selection_model_unselect_item() is supported and allows
unselecting the selected item.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to support unselecting
</return>
</function>

<function name="gtk_single_selection_get_model">
<description>
Gets the model that @self is wrapping.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
</parameters>
<return> The model being wrapped
</return>
</function>

<function name="gtk_single_selection_get_selected">
<description>
Gets the position of the selected item. If no item is selected,
#GTK_INVALID_LIST_POSITION is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
</parameters>
<return> The position of the selected item
</return>
</function>

<function name="gtk_single_selection_get_selected_item">
<description>
Gets the selected item. If no item is selected, %NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
</parameters>
<return> The selected item
</return>
</function>

<function name="gtk_single_selection_new">
<description>
Creates a new selection to handle @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> the #GListModel to manage
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkSingleSelection
</return>
</function>

<function name="gtk_single_selection_set_autoselect">
<description>
If @autoselect is %TRUE, @self will enforce that an item is always
selected. It will select a new item when the currently selected
item is deleted and it will disallow unselecting the current item.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
<parameter name="autoselect">
<parameter_description> %TRUE to always select an item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_single_selection_set_can_unselect">
<description>
If %TRUE, unselecting the current item via
gtk_selection_model_unselect_item() is supported.

Note that setting GtkSingleSelection:autoselect will cause the
unselecting to not work, so it practically makes no sense to set
both at the same time the same time..

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
<parameter name="can_unselect">
<parameter_description> %TRUE to allow unselecting
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_single_selection_set_selected">
<description>
Selects the item at the given position. If the list does not have an item at
@position or #GTK_INVALID_LIST_POSITION is given, the behavior depends on the
value of the GtkSingleSelection:autoselect property: If it is set, no change
will occur and the old item will stay selected. If it is unset, the selection
will be unset and no item will be selected.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSingleSelection
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the item to select or #GTK_INVALID_LIST_POSITION
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_size_group_add_widget">
<description>
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.

</description>
<parameters>
<parameter name="size_group">
<parameter_description> a #GtkSizeGroup
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget to add
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_size_group_get_mode">
<description>
Gets the current mode of the size group. See gtk_size_group_set_mode().


</description>
<parameters>
<parameter name="size_group">
<parameter_description> a #GtkSizeGroup
</parameter_description>
</parameter>
</parameters>
<return> the current mode of the size group.
</return>
</function>

<function name="gtk_size_group_get_widgets">
<description>
Returns the list of widgets associated with @size_group.


</description>
<parameters>
<parameter name="size_group">
<parameter_description> a #GtkSizeGroup
</parameter_description>
</parameter>
</parameters>
<return> a #GSList of
widgets. The list is owned by GTK+ and should not be modified.
</return>
</function>

<function name="gtk_size_group_new">
<description>
Create a new #GtkSizeGroup.
 

</description>
<parameters>
<parameter name="mode">
<parameter_description> the mode for the new size group.
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkSizeGroup
</return>
</function>

<function name="gtk_size_group_remove_widget">
<description>
Removes a widget from a #GtkSizeGroup.

</description>
<parameters>
<parameter name="size_group">
<parameter_description> a #GtkSizeGroup
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the #GtkWidget to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_size_group_set_mode">
<description>
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_HORIZONTAL)
all have the same vertical requisition (%GTK_SIZE_GROUP_VERTICAL),
or should all have the same requisition in both directions
(%GTK_SIZE_GROUP_BOTH).

</description>
<parameters>
<parameter name="size_group">
<parameter_description> a #GtkSizeGroup
</parameter_description>
</parameter>
<parameter name="mode">
<parameter_description> the mode to set for the size group.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_slice_list_model_get_model">
<description>
Gets the model that is curently being used or %NULL if none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSliceListModel
</parameter_description>
</parameter>
</parameters>
<return> The model in use
</return>
</function>

<function name="gtk_slice_list_model_get_offset">
<description>
Gets the offset set via gtk_slice_list_model_set_offset()


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSliceListModel
</parameter_description>
</parameter>
</parameters>
<return> The offset
</return>
</function>

<function name="gtk_slice_list_model_get_size">
<description>
Gets the size set via gtk_slice_list_model_set_size().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSliceListModel
</parameter_description>
</parameter>
</parameters>
<return> The size
</return>
</function>

<function name="gtk_slice_list_model_new">
<description>
Creates a new slice model that presents the slice from @offset to
@offset + @size our of the given @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> The model to use
</parameter_description>
</parameter>
<parameter name="offset">
<parameter_description> the offset of the slice
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> maximum size of the slice
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkSliceListModel
</return>
</function>

<function name="gtk_slice_list_model_new_for_type">
<description>
Creates a new empty #GtkSliceListModel for the given @item_type that
can be set up later.


</description>
<parameters>
<parameter name="item_type">
<parameter_description> the type of items
</parameter_description>
</parameter>
</parameters>
<return> a new empty #GtkSliceListModel
</return>
</function>

<function name="gtk_slice_list_model_set_model">
<description>
Sets the model to show a slice of. The model's item type must conform
to @self's item type.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSliceListModel
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> The model to be sliced
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_slice_list_model_set_offset">
<description>
Sets the offset into the original model for this slice.

If the offset is too large for the sliced model,
@self will end up empty. 

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSliceListModel
</parameter_description>
</parameter>
<parameter name="offset">
<parameter_description> the new offset to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_slice_list_model_set_size">
<description>
Sets the maximum size. @self will never have more items
than @size.

It can however have fewer items if the offset is too large or
the model sliced from doesn't have enough items.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSliceListModel
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the maximum size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_border">
<description>
Appends a stroked border rectangle inside the given @outline. The
4 sides of the border can have different widths and colors.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="outline">
<parameter_description> a #GskRoundedRect describing the outline of the border
</parameter_description>
</parameter>
<parameter name="border_width">
<parameter_description> the stroke width of the border on
the top, right, bottom and left side respectively.
</parameter_description>
</parameter>
<parameter name="border_color">
<parameter_description> the color used on the top, right,
bottom and left side.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_cairo">
<description>
Creates a new render node and appends it to the current render
node of @snapshot, without changing the current node.


</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the bounds for the new node
</parameter_description>
</parameter>
</parameters>
<return> a cairo_t suitable for drawing the contents of the newly
created render node
</return>
</function>

<function name="gtk_snapshot_append_color">
<description>
Creates a new render node drawing the @color into the given @bounds and appends it
to the current render node of @snapshot.

You should try to avoid calling this function if @color is transparent.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the #GdkRGBA to draw
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the bounds for the new node
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_inset_shadow">
<description>
Appends an inset shadow into the box given by @outline.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="outline">
<parameter_description> outline of the region surrounded by shadow
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> color of the shadow
</parameter_description>
</parameter>
<parameter name="dx">
<parameter_description> horizontal offset of shadow
</parameter_description>
</parameter>
<parameter name="dy">
<parameter_description> vertical offset of shadow
</parameter_description>
</parameter>
<parameter name="spread">
<parameter_description> how far the shadow spreads towards the inside
</parameter_description>
</parameter>
<parameter name="blur_radius">
<parameter_description> how much blur to apply to the shadow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_layout">
<description>
Creates render nodes for rendering @layout in the given foregound @color
and appends them to the current node of @snapshot without changing the
current node.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> the #PangoLayout to render
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the foreground color to render the layout in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_linear_gradient">
<description>
Appends a linear gradient node with the given stops to @snapshot.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the rectangle to render the linear gradient into
</parameter_description>
</parameter>
<parameter name="start_point">
<parameter_description> the point at which the linear gradient will begin
</parameter_description>
</parameter>
<parameter name="end_point">
<parameter_description> the point at which the linear gradient will finish
</parameter_description>
</parameter>
<parameter name="stops">
<parameter_description> a pointer to an array of #GskColorStop defining the gradient
</parameter_description>
</parameter>
<parameter name="n_stops">
<parameter_description> the number of elements in @stops
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_node">
<description>
Appends @node to the current render node of @snapshot,
without changing the current node. If @snapshot does
not have a current node yet, @node will become the
initial node.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="node">
<parameter_description> a #GskRenderNode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_outset_shadow">
<description>
Appends an outset shadow node around the box given by @outline.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="outline">
<parameter_description> outline of the region surrounded by shadow
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> color of the shadow
</parameter_description>
</parameter>
<parameter name="dx">
<parameter_description> horizontal offset of shadow
</parameter_description>
</parameter>
<parameter name="dy">
<parameter_description> vertical offset of shadow
</parameter_description>
</parameter>
<parameter name="spread">
<parameter_description> how far the shadow spreads towards the outside
</parameter_description>
</parameter>
<parameter name="blur_radius">
<parameter_description> how much blur to apply to the shadow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_repeating_linear_gradient">
<description>
Appends a repeating linear gradient node with the given stops to @snapshot.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the rectangle to render the linear gradient into
</parameter_description>
</parameter>
<parameter name="start_point">
<parameter_description> the point at which the linear gradient will begin
</parameter_description>
</parameter>
<parameter name="end_point">
<parameter_description> the point at which the linear gradient will finish
</parameter_description>
</parameter>
<parameter name="stops">
<parameter_description> a pointer to an array of #GskColorStop defining the gradient
</parameter_description>
</parameter>
<parameter name="n_stops">
<parameter_description> the number of elements in @stops
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_append_texture">
<description>
Creates a new render node drawing the @texture into the given @bounds and appends it
to the current render node of @snapshot.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="texture">
<parameter_description> the #GdkTexture to render
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the bounds for the new node
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_free_to_node">
<description>
Returns the node that was constructed by @snapshot
and frees @snapshot.


</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
</parameters>
<return> a newly-created #GskRenderNode
</return>
</function>

<function name="gtk_snapshot_free_to_paintable">
<description>
Returns a paintable for the node that was
constructed by @snapshot and frees @snapshot.


</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> The size of the resulting paintable
or %NULL to use the bounds of the snapshot
</parameter_description>
</parameter>
</parameters>
<return> a newly-created #GdkPaintable
</return>
</function>

<function name="gtk_snapshot_new">
<description>
Creates a new #GtkSnapshot.


</description>
<parameters>
</parameters>
<return> a newly-allocated #GtkSnapshot
</return>
</function>

<function name="gtk_snapshot_perspective">
<description>
Applies a perspective projection transform.

See gsk_transform_perspective() for a discussion on the details.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="depth">
<parameter_description> distance of the z=0 plane
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_pop">
<description>
Removes the top element from the stack of render nodes,
and appends it to the node underneath it.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_blend">
<description>
Blends together 2 images with the given blend mode.

Until the first call to gtk_snapshot_pop(), the bottom image for the
blend operation will be recorded. After that call, the top image to
be blended will be recorded until the second call to gtk_snapshot_pop().

Calling this function requires 2 subsequent calls to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="blend_mode">
<parameter_description> blend mode to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_blur">
<description>
Blurs an image.

The image is recorded until the next call to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="radius">
<parameter_description> the blur radius to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_clip">
<description>
Clips an image to a rectangle.

The image is recorded until the next call to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the rectangle to clip to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_collect">
<description>
PRIVATE.

Puhses state so a later pop_collect call can collect all nodes
appended until that point.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_color_matrix">
<description>
Modifies the colors of an image by applying an affine transformation
in RGB space.

The image is recorded until the next call to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="color_matrix">
<parameter_description> the color matrix to use
</parameter_description>
</parameter>
<parameter name="color_offset">
<parameter_description> the color offset to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_cross_fade">
<description>
Snapshots a cross-fade operation between two images with the
given @progress.

Until the first call to gtk_snapshot_pop(), the start image
will be snapshot. After that call, the end image will be recorded
until the second call to gtk_snapshot_pop().

Calling this function requires 2 calls to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="progress">
<parameter_description> progress between 0.0 and 1.0
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_debug">
<description>
Inserts a debug node with a message. Debug nodes don't affect
the rendering at all, but can be helpful in identifying parts
of a render node tree dump, for example in the GTK inspector.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="message">
<parameter_description> a printf-style format string
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments for @message
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_opacity">
<description>
Modifies the opacity of an image.

The image is recorded until the next call to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="opacity">
<parameter_description> the opacity to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_repeat">
<description>
Creates a node that repeats the child node.

The child is recorded until the next call to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the bounds within which to repeat
</parameter_description>
</parameter>
<parameter name="child_bounds">
<parameter_description> the bounds of the child or %NULL
to use the full size of the collected child node
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_rounded_clip">
<description>
Clips an image to a rounded rectangle.

The image is recorded until the next call to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="bounds">
<parameter_description> the rounded rectangle to clip to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_push_shadow">
<description>
Applies a shadow to an image.

The image is recorded until the next call to gtk_snapshot_pop().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="shadow">
<parameter_description> the first shadow specification
</parameter_description>
</parameter>
<parameter name="n_shadows">
<parameter_description> number of shadow specifications
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_render_background">
<description>
Creates a render node for the CSS background according to @context,
and appends it to the current node of @snapshot, without changing
the current node.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkStyleContext to use
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_render_focus">
<description>
Creates a render node for the focus outline according to @context,
and appends it to the current node of @snapshot, without changing
the current node.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkStyleContext to use
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_render_frame">
<description>
Creates a render node for the CSS border according to @context,
and appends it to the current node of @snapshot, without changing
the current node.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkStyleContext to use
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> rectangle width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> rectangle height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_render_insertion_cursor">
<description>
Draws a text caret using @snapshot at the specified index of @layout.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> snapshot to render to
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> the #PangoLayout of the text
</parameter_description>
</parameter>
<parameter name="index">
<parameter_description> the index in the #PangoLayout
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the #PangoDirection of the text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_render_layout">
<description>
Creates a render node for rendering @layout according to the style
information in @context, and appends it to the current node of @snapshot,
without changing the current node.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #GtkStyleContext to use
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X origin of the rectangle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y origin of the rectangle
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> the #PangoLayout to render
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_restore">
<description>
Restores @snapshot to the state saved by a preceding call to
gtk_snapshot_save() and removes that state from the stack of
saved states.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_rotate">
<description>
Rotates @@snapshot's coordinate system by @angle degrees in 2D space -
or in 3D speak, rotates around the z axis.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="angle">
<parameter_description> the rotation angle, in degrees (clockwise)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_rotate_3d">
<description>
Rotates @snapshot's coordinate system by @angle degrees around @axis.

For a rotation in 2D space, use gsk_transform_rotate().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="angle">
<parameter_description> the rotation angle, in degrees (clockwise)
</parameter_description>
</parameter>
<parameter name="axis">
<parameter_description> The rotation axis
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_save">
<description>
Makes a copy of the current state of @snapshot and saves it
on an internal stack of saved states for @snapshot. When
gtk_snapshot_restore() is called, @snapshot will be restored to
the saved state. Multiple calls to gtk_snapshot_save() and
gtk_snapshot_restore() can be nested; each call to
gtk_snapshot_restore() restores the state from the matching paired
gtk_snapshot_save().

It is necessary to clear all saved states with corresponding calls
to gtk_snapshot_restore().

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_scale">
<description>
Scales @snapshot's coordinate system in 2-dimensional space by
the given factors.

Use gtk_snapshot_scale_3d() to scale in all 3 dimensions.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="factor_x">
<parameter_description> scaling factor on the X axis
</parameter_description>
</parameter>
<parameter name="factor_y">
<parameter_description> scaling factor on the Y axis
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_scale_3d">
<description>
Scales @snapshot's coordinate system by the given factors.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="factor_x">
<parameter_description> scaling factor on the X axis
</parameter_description>
</parameter>
<parameter name="factor_y">
<parameter_description> scaling factor on the Y axis
</parameter_description>
</parameter>
<parameter name="factor_z">
<parameter_description> scaling factor on the Z axis
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_to_node">
<description>
Returns the render node that was constructed
by @snapshot. After calling this function, it
is no longer possible to add more nodes to
@snapshot. The only function that should be
called after this is gtk_snapshot_unref().


</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
</parameters>
<return> the constructed #GskRenderNode
</return>
</function>

<function name="gtk_snapshot_to_paintable">
<description>
Returns a paintable encapsulating the render node
that was constructed by @snapshot. After calling
this function, it is no longer possible to add more
nodes to @snapshot. The only function that should be
called after this is gtk_snapshot_unref().


</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> The size of the resulting paintable
or %NULL to use the bounds of the snapshot
</parameter_description>
</parameter>
</parameters>
<return> a new #GdkPaintable
</return>
</function>

<function name="gtk_snapshot_transform">
<description>
Transforms @snapshot's coordinate system with the given @transform.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="transform">
<parameter_description> the transform to apply
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_transform_matrix">
<description>
Transforms @snapshot's coordinate system with the given @matrix.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="matrix">
<parameter_description> the matrix to multiply the transform with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_translate">
<description>
Translates @snapshot's coordinate system by @point in 2-dimensional space.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="point">
<parameter_description> the point to translate the snapshot by
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_snapshot_translate_3d">
<description>
Translates @snapshot's coordinate system by @point.

</description>
<parameters>
<parameter name="snapshot">
<parameter_description> a #GtkSnapshot
</parameter_description>
</parameter>
<parameter name="point">
<parameter_description> the point to translate the snapshot by
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_sort_list_model_get_model">
<description>
Gets the model currently sorted or %NULL if none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSortListModel
</parameter_description>
</parameter>
</parameters>
<return> The model that gets sorted
</return>
</function>

<function name="gtk_sort_list_model_has_sort">
<description>
Checks if a sort function is currently set on @self


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSortListModel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a sort function is set
</return>
</function>

<function name="gtk_sort_list_model_new">
<description>
Creates a new sort list model that uses the @sort_func to sort @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> the model to sort
</parameter_description>
</parameter>
<parameter name="sort_func">
<parameter_description> sort function or %NULL to not sort items
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @sort_func
</parameter_description>
</parameter>
<parameter name="user_destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkSortListModel
</return>
</function>

<function name="gtk_sort_list_model_new_for_type">
<description>
Creates a new empty sort list model set up to return items of type @item_type.
It is up to the application to set a proper sort function and model to ensure
the item type is matched.


</description>
<parameters>
<parameter name="item_type">
<parameter_description> the type of the items that will be returned
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkSortListModel
</return>
</function>

<function name="gtk_sort_list_model_resort">
<description>
Causes @self to resort all items in the model.

Calling this function is necessary when data used by the sort
function has changed.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSortListModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_sort_list_model_set_model">
<description>
Sets the model to be sorted. The @model's item type must conform to
the item type of @self.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSortListModel
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> The model to be sorted
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_sort_list_model_set_sort_func">
<description>
Sets the function used to sort items. The function will be called for every
item and must return an integer less than, equal to, or greater than zero if
for two items from the model if the first item is considered to be respectively
less than, equal to, or greater than the second.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSortListModel
</parameter_description>
</parameter>
<parameter name="sort_func">
<parameter_description> sort function or %NULL to not sort items
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data passed to @sort_func
</parameter_description>
</parameter>
<parameter name="user_destroy">
<parameter_description> destroy notifier for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_configure">
<description>
Changes the properties of an existing spin button. The adjustment,
climb rate, and number of decimal places are updated accordingly.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment to replace the spin button’s
existing adjustment, or %NULL to leave its current adjustment unchanged
</parameter_description>
</parameter>
<parameter name="climb_rate">
<parameter_description> the new climb rate
</parameter_description>
</parameter>
<parameter name="digits">
<parameter_description> the number of decimal places to display in the spin button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_get_adjustment">
<description>
Get the adjustment associated with a #GtkSpinButton


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> the #GtkAdjustment of @spin_button
</return>
</function>

<function name="gtk_spin_button_get_digits">
<description>
Fetches the precision of @spin_button. See gtk_spin_button_set_digits().


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> the current precision
</return>
</function>

<function name="gtk_spin_button_get_increments">
<description>
Gets the current step and page the increments used by @spin_button. See
gtk_spin_button_set_increments().

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> location to store step increment, or %NULL
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> location to store page increment, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_get_numeric">
<description>
Returns whether non-numeric text can be typed into the spin button.
See gtk_spin_button_set_numeric().


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if only numeric text can be entered
</return>
</function>

<function name="gtk_spin_button_get_range">
<description>
Gets the range allowed for @spin_button.
See gtk_spin_button_set_range().

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="min">
<parameter_description> location to store minimum allowed value, or %NULL
</parameter_description>
</parameter>
<parameter name="max">
<parameter_description> location to store maximum allowed value, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_get_snap_to_ticks">
<description>
Returns whether the values are corrected to the nearest step.
See gtk_spin_button_set_snap_to_ticks().


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if values are snapped to the nearest step
</return>
</function>

<function name="gtk_spin_button_get_update_policy">
<description>
Gets the update behavior of a spin button.
See gtk_spin_button_set_update_policy().


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> the current update policy
</return>
</function>

<function name="gtk_spin_button_get_value">
<description>
Get the value in the @spin_button.


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> the value of @spin_button
</return>
</function>

<function name="gtk_spin_button_get_value_as_int">
<description>
Get the value @spin_button represented as an integer.


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> the value of @spin_button
</return>
</function>

<function name="gtk_spin_button_get_wrap">
<description>
Returns whether the spin button’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().


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the spin button wraps around
</return>
</function>

<function name="gtk_spin_button_new">
<description>
Creates a new #GtkSpinButton.


</description>
<parameters>
<parameter name="adjustment">
<parameter_description> the #GtkAdjustment object that this spin
button should use, or %NULL
</parameter_description>
</parameter>
<parameter name="climb_rate">
<parameter_description> specifies by how much the rate of change in the value will
accelerate if you continue to hold down an up/down button or arrow key
</parameter_description>
</parameter>
<parameter name="digits">
<parameter_description> the number of decimal places to display
</parameter_description>
</parameter>
</parameters>
<return> The new spin button as a #GtkWidget
</return>
</function>

<function name="gtk_spin_button_new_with_range">
<description>
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.


</description>
<parameters>
<parameter name="min">
<parameter_description> Minimum allowable value
</parameter_description>
</parameter>
<parameter name="max">
<parameter_description> Maximum allowable value
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> Increment added or subtracted by spinning the widget
</parameter_description>
</parameter>
</parameters>
<return> The new spin button as a #GtkWidget
</return>
</function>

<function name="gtk_spin_button_set_adjustment">
<description>
Replaces the #GtkAdjustment associated with @spin_button.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment to replace the existing adjustment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_digits">
<description>
Set the precision to be displayed by @spin_button. Up to 20 digit precision
is allowed.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="digits">
<parameter_description> the number of digits after the decimal point to be displayed for the spin button’s value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_increments">
<description>
Sets the step and page increments for spin_button.  This affects how
quickly the value changes when the spin button’s arrows are activated.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> increment applied for a button 1 press.
</parameter_description>
</parameter>
<parameter name="page">
<parameter_description> increment applied for a button 2 press.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_numeric">
<description>
Sets the flag that determines if non-numeric text can be typed
into the spin button.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="numeric">
<parameter_description> flag indicating if only numeric entry is allowed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_range">
<description>
Sets the minimum and maximum allowable values for @spin_button.

If the current value is outside this range, it will be adjusted
to fit within the range, otherwise it will remain unchanged.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="min">
<parameter_description> minimum allowable value
</parameter_description>
</parameter>
<parameter name="max">
<parameter_description> maximum allowable value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_snap_to_ticks">
<description>
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.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="snap_to_ticks">
<parameter_description> a flag indicating if invalid values should be corrected
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_update_policy">
<description>
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.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="policy">
<parameter_description> a #GtkSpinButtonUpdatePolicy value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_value">
<description>
Sets the value of @spin_button.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_set_wrap">
<description>
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.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="wrap">
<parameter_description> a flag indicating if wrapping behavior is performed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_spin">
<description>
Increment or decrement a spin button’s value in a specified
direction by a specified amount.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> a #GtkSpinType indicating the direction to spin
</parameter_description>
</parameter>
<parameter name="increment">
<parameter_description> step increment to apply in the specified direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spin_button_update">
<description>
Manually force an update of the spin button.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spinner_new">
<description>
Returns a new spinner widget. Not yet started.


</description>
<parameters>
</parameters>
<return> a new #GtkSpinner
</return>
</function>

<function name="gtk_spinner_start">
<description>
Starts the animation of the spinner.

</description>
<parameters>
<parameter name="spinner">
<parameter_description> a #GtkSpinner
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_spinner_stop">
<description>
Stops the animation of the spinner.

</description>
<parameters>
<parameter name="spinner">
<parameter_description> a #GtkSpinner
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_add_named">
<description>
Adds a child to @stack.
The child is identified by the @name.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the widget to add
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name for @child
</parameter_description>
</parameter>
</parameters>
<return> the #GtkStackPage for @child
</return>
</function>

<function name="gtk_stack_add_titled">
<description>
Adds a child to @stack.
The child is identified by the @name. The @title
will be used by #GtkStackSwitcher to represent
@child in a tab bar, so it should be short.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the widget to add
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name for @child
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> a human-readable title for @child
</parameter_description>
</parameter>
</parameters>
<return> the #GtkStackPage for @child
</return>
</function>

<function name="gtk_stack_get_child_by_name">
<description>
Finds the child of the #GtkStack with the name given as
the argument. Returns %NULL if there is no child with this
name.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the child to find
</parameter_description>
</parameter>
</parameters>
<return> the requested child of the #GtkStack
</return>
</function>

<function name="gtk_stack_get_hhomogeneous">
<description>
Gets whether @stack is horizontally homogeneous.
See gtk_stack_set_hhomogeneous().


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> whether @stack is horizontally homogeneous.
</return>
</function>

<function name="gtk_stack_get_homogeneous">
<description>
Gets whether @stack is homogeneous.
See gtk_stack_set_homogeneous().


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> whether @stack is homogeneous.
</return>
</function>

<function name="gtk_stack_get_interpolate_size">
<description>
Returns wether the #GtkStack is set up to interpolate between
the sizes of children on page switch.


</description>
<parameters>
<parameter name="stack">
<parameter_description> A #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if child sizes are interpolated
</return>
</function>

<function name="gtk_stack_get_page">
<description>
Returns the #GtkStackPage object for @child.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @stack
</parameter_description>
</parameter>
</parameters>
<return> the #GtkStackPage for @child
</return>
</function>

<function name="gtk_stack_get_pages">
<description>
Returns a #GListModel that contains the pages of the stack,
and can be used to keep and up-to-date view. The model also
implements #GtkSelectionModel and can be used to track and
modify the visible page..


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> a #GtkSelectionModel for the stack's children
</return>
</function>

<function name="gtk_stack_get_transition_duration">
<description>
Returns the amount of time (in milliseconds) that
transitions between pages in @stack will take.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> the transition duration
</return>
</function>

<function name="gtk_stack_get_transition_running">
<description>
Returns whether the @stack is currently in a transition from one page to
another.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the transition is currently running, %FALSE otherwise.
</return>
</function>

<function name="gtk_stack_get_transition_type">
<description>
Gets the type of animation that will be used
for transitions between pages in @stack.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> the current transition type of @stack
</return>
</function>

<function name="gtk_stack_get_vhomogeneous">
<description>
Gets whether @stack is vertically homogeneous.
See gtk_stack_set_vhomogeneous().


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> whether @stack is vertically homogeneous.
</return>
</function>

<function name="gtk_stack_get_visible_child">
<description>
Gets the currently visible child of @stack, or %NULL if
there are no visible children.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> the visible child of the #GtkStack
</return>
</function>

<function name="gtk_stack_get_visible_child_name">
<description>
Returns the name of the currently visible child of @stack, or
%NULL if there is no visible child.


</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return> the name of the visible child of the #GtkStack
</return>
</function>

<function name="gtk_stack_new">
<description>
Creates a new #GtkStack container.


</description>
<parameters>
</parameters>
<return> a new #GtkStack
</return>
</function>

<function name="gtk_stack_page_get_child">
<description>
Returns the stack child to which @page belongs.


</description>
<parameters>
<parameter name="page">
<parameter_description> a #GtkStackPage
</parameter_description>
</parameter>
</parameters>
<return> the child to which @page belongs
</return>
</function>

<function name="gtk_stack_set_hhomogeneous">
<description>
Sets the #GtkStack to be horizontally homogeneous or not.
If it is homogeneous, the #GtkStack will request the same
width for all its children. If it isn't, the stack
may change width when a different child becomes visible.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="hhomogeneous">
<parameter_description> %TRUE to make @stack horizontally homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_homogeneous">
<description>
Sets the #GtkStack to be homogeneous or not. If it
is homogeneous, the #GtkStack will request the same
size for all its children. If it isn't, the stack
may change size when a different child becomes visible.

Homogeneity can be controlled separately
for horizontal and vertical size, with the
#GtkStack:hhomogeneous and #GtkStack:vhomogeneous.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> %TRUE to make @stack homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_interpolate_size">
<description>
Sets whether or not @stack will interpolate its size when
changing the visible child. If the #GtkStack:interpolate-size
property is set to %TRUE, @stack will interpolate its size between
the current one and the one it'll take after changing the
visible child, according to the set transition duration.

</description>
<parameters>
<parameter name="stack">
<parameter_description> A #GtkStack
</parameter_description>
</parameter>
<parameter name="interpolate_size">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_transition_duration">
<description>
Sets the duration that transitions between pages in @stack
will take.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="duration">
<parameter_description> the new duration, in milliseconds
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_transition_type">
<description>
Sets the type of animation that will be used for
transitions between pages in @stack. Available
types include various kinds of fades and slides.

The transition type can be changed without problems
at runtime, so it is possible to change the animation
based on the page that is about to become current.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="transition">
<parameter_description> the new transition type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_vhomogeneous">
<description>
Sets the #GtkStack to be vertically homogeneous or not.
If it is homogeneous, the #GtkStack will request the same
height for all its children. If it isn't, the stack
may change height when a different child becomes visible.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="vhomogeneous">
<parameter_description> %TRUE to make @stack vertically homogeneous
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_visible_child">
<description>
Makes @child the visible child of @stack.

If @child is different from the currently
visible child, the transition between the
two will be animated with the current
transition type of @stack.

Note that the @child widget has to be visible itself
(see gtk_widget_show()) in order to become the visible
child of @stack.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @stack
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_visible_child_full">
<description>
Makes the child with the given name visible.

Note that the child widget has to be visible itself
(see gtk_widget_show()) in order to become the visible
child of @stack.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the child to make visible
</parameter_description>
</parameter>
<parameter name="transition">
<parameter_description> the transition type to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_set_visible_child_name">
<description>
Makes the child with the given name visible.

If @child is different from the currently
visible child, the transition between the
two will be animated with the current
transition type of @stack.

Note that the child widget has to be visible itself
(see gtk_widget_show()) in order to become the visible
child of @stack.

</description>
<parameters>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the child to make visible
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_sidebar_get_stack">
<description>
Retrieves the stack.
See gtk_stack_sidebar_set_stack().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkStackSidebar
</parameter_description>
</parameter>
</parameters>
<return> the associated #GtkStack or
%NULL if none has been set explicitly
</return>
</function>

<function name="gtk_stack_sidebar_new">
<description>
Creates a new sidebar.


</description>
<parameters>
</parameters>
<return> the new #GtkStackSidebar
</return>
</function>

<function name="gtk_stack_sidebar_set_stack">
<description>
Set the #GtkStack associated with this #GtkStackSidebar.

The sidebar widget will automatically update according to the order
(packing) and items within the given #GtkStack.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkStackSidebar
</parameter_description>
</parameter>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stack_switcher_get_stack">
<description>
Retrieves the stack.
See gtk_stack_switcher_set_stack().


</description>
<parameters>
<parameter name="switcher">
<parameter_description> a #GtkStackSwitcher
</parameter_description>
</parameter>
</parameters>
<return> the stack, or %NULL if
none has been set explicitly.
</return>
</function>

<function name="gtk_stack_switcher_new">
<description>
Create a new #GtkStackSwitcher.


</description>
<parameters>
</parameters>
<return> a new #GtkStackSwitcher.
</return>
</function>

<function name="gtk_stack_switcher_set_stack">
<description>
Sets the stack to control.

</description>
<parameters>
<parameter name="switcher">
<parameter_description> a #GtkStackSwitcher
</parameter_description>
</parameter>
<parameter name="stack">
<parameter_description> a #GtkStack
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_statusbar_get_context_id">
<description>
Returns a new context identifier, given a description 
of the actual context. Note that the description is 
not shown in the UI.


</description>
<parameters>
<parameter name="statusbar">
<parameter_description> a #GtkStatusbar
</parameter_description>
</parameter>
<parameter name="context_description">
<parameter_description> textual description of what context 
the new message is being used in
</parameter_description>
</parameter>
</parameters>
<return> an integer id
</return>
</function>

<function name="gtk_statusbar_get_message_area">
<description>
Retrieves the box containing the label widget.


</description>
<parameters>
<parameter name="statusbar">
<parameter_description> a #GtkStatusbar
</parameter_description>
</parameter>
</parameters>
<return> a #GtkBox
</return>
</function>

<function name="gtk_statusbar_new">
<description>
Creates a new #GtkStatusbar ready for messages.


</description>
<parameters>
</parameters>
<return> the new #GtkStatusbar
</return>
</function>

<function name="gtk_statusbar_pop">
<description>
Removes the first message in the #GtkStatusbar’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.

</description>
<parameters>
<parameter name="statusbar">
<parameter_description> a #GtkStatusbar
</parameter_description>
</parameter>
<parameter name="context_id">
<parameter_description> a context identifier
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_statusbar_push">
<description>
Pushes a new message onto a statusbar’s stack.


</description>
<parameters>
<parameter name="statusbar">
<parameter_description> a #GtkStatusbar
</parameter_description>
</parameter>
<parameter name="context_id">
<parameter_description> the message’s context id, as returned by
gtk_statusbar_get_context_id()
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the message to add to the statusbar
</parameter_description>
</parameter>
</parameters>
<return> a message id that can be used with 
gtk_statusbar_remove().
</return>
</function>

<function name="gtk_statusbar_remove">
<description>
Forces the removal of a message from a statusbar’s stack. 
The exact @context_id and @message_id must be specified.

</description>
<parameters>
<parameter name="statusbar">
<parameter_description> a #GtkStatusbar
</parameter_description>
</parameter>
<parameter name="context_id">
<parameter_description> a context identifier
</parameter_description>
</parameter>
<parameter name="message_id">
<parameter_description> a message identifier, as returned by gtk_statusbar_push()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_statusbar_remove_all">
<description>
Forces the removal of all messages from a statusbar's
stack with the exact @context_id.

</description>
<parameters>
<parameter name="statusbar">
<parameter_description> a #GtkStatusbar
</parameter_description>
</parameter>
<parameter name="context_id">
<parameter_description> a context identifier
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_add_class">
<description>
Adds a style class to @context, so posterior calls to
gtk_style_context_get() or any of the gtk_render_*()
functions will make use of this new class for styling.

In the CSS file format, a #GtkEntry defining a “search”
class, would be matched by:

|[ &lt;!-- language=&quot;CSS&quot; --&gt;
entry.search { ... }
]|

While any widget defining a “search” class would be
matched by:
|[ &lt;!-- language=&quot;CSS&quot; --&gt;
.search { ... }
]|

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="class_name">
<parameter_description> class name to use in styling
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_add_provider">
<description>
Adds a style provider to @context, to be used in style construction.
Note that a style provider added by this function only affects
the style of the widget to which @context belongs. If you want
to affect the style of all widgets, use
gtk_style_context_add_provider_for_display().

Note: If both priorities are the same, a #GtkStyleProvider
added through this function takes precedence over another added
through gtk_style_context_add_provider_for_display().

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
<parameter name="priority">
<parameter_description> the priority of the style provider. The lower
it is, the earlier it will be used in the style
construction. Typically this will be in the range
between %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and
%GTK_STYLE_PROVIDER_PRIORITY_USER
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_add_provider_for_display">
<description>
Adds a global style provider to @display, which will be used
in style construction for all #GtkStyleContexts under @display.

GTK+ uses this to make styling information from #GtkSettings
available.

Note: If both priorities are the same, A #GtkStyleProvider
added through gtk_style_context_add_provider() takes precedence
over another added through this function.

</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay
</parameter_description>
</parameter>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
<parameter name="priority">
<parameter_description> the priority of the style provider. The lower
it is, the earlier it will be used in the style
construction. Typically this will be in the range
between %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and
%GTK_STYLE_PROVIDER_PRIORITY_USER
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_border">
<description>
Gets the border for a given state as a #GtkBorder.

See gtk_style_context_get_property() and
#GTK_STYLE_PROPERTY_BORDER_WIDTH for details.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="border">
<parameter_description> return value for the border settings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_color">
<description>
Gets the foreground color for a given state.

See gtk_style_context_get_property() and
#GTK_STYLE_PROPERTY_COLOR for details.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> return value for the foreground color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_display">
<description>
Returns the #GdkDisplay to which @context is attached.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> a #GdkDisplay.
</return>
</function>

<function name="gtk_style_context_get_margin">
<description>
Gets the margin for a given state as a #GtkBorder.
See gtk_style_property_get() and #GTK_STYLE_PROPERTY_MARGIN
for details.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> return value for the margin settings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_padding">
<description>
Gets the padding for a given state as a #GtkBorder.
See gtk_style_context_get() and #GTK_STYLE_PROPERTY_PADDING
for details.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="padding">
<parameter_description> return value for the padding settings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_scale">
<description>
Returns the scale used for assets.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> the scale
</return>
</function>

<function name="gtk_style_context_get_state">
<description>
Returns the state used for style matching.

This method should only be used to retrieve the #GtkStateFlags
to pass to #GtkStyleContext methods, like gtk_style_context_get_padding().
If you need to retrieve the current state of a #GtkWidget, use
gtk_widget_get_state_flags().


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> the state flags
</return>
</function>

<function name="gtk_style_context_has_class">
<description>
Returns %TRUE if @context currently has defined the
given class name.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="class_name">
<parameter_description> a class name
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @context has @class_name defined
</return>
</function>

<function name="gtk_style_context_list_classes">
<description>
Returns the list of classes currently defined in @context.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> a #GList of
strings with the currently defined classes. The contents
of the list are owned by GTK+, but you must free the list
itself with g_list_free() when you are done with it.
</return>
</function>

<function name="gtk_style_context_lookup_color">
<description>
Looks up and resolves a color name in the @context color map.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="color_name">
<parameter_description> color name to lookup
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> Return location for the looked up color
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @color_name was found and resolved, %FALSE otherwise
</return>
</function>

<function name="gtk_style_context_remove_class">
<description>
Removes @class_name from @context.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="class_name">
<parameter_description> class name to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_remove_provider">
<description>
Removes @provider from the style providers list in @context.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_remove_provider_for_display">
<description>
Removes @provider from the global style providers list in @display.

</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay
</parameter_description>
</parameter>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_reset_widgets">
<description>
This function recomputes the styles for all widgets under a particular
#GdkDisplay. This 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 color scheme changes
in the related #GtkSettings object.

</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_restore">
<description>
Restores @context state to a previous stage.
See gtk_style_context_save().

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_save">
<description>
Saves the @context state, so temporary modifications done through
gtk_style_context_add_class(), gtk_style_context_remove_class(),
gtk_style_context_set_state(), etc. can quickly be reverted
in one go through gtk_style_context_restore().

The matching call to gtk_style_context_restore() must be done
before GTK returns to the main loop.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_display">
<description>
Attaches @context to the given display.

The display is used to add style information from “global” style
providers, such as the display's #GtkSettings instance.

If you are using a #GtkStyleContext returned from
gtk_widget_get_style_context(), you do not need to
call this yourself.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="display">
<parameter_description> a #GdkDisplay
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_scale">
<description>
Sets the scale to use when getting image assets for the style.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> scale
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_state">
<description>
Sets the state to be used for style matching.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> state to represent
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_to_string">
<description>
Converts the style context into a string representation.

The string representation always includes information about
the name, state, id, visibility and style classes of the CSS
node that is backing @context. Depending on the flags, more
information may be included.

This function is intended for testing and debugging of the
CSS implementation in GTK+. There are no guarantees about
the format of the returned string, it may change.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> Flags that determine what to print
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated string representing @context
</return>
</function>

<function name="gtk_switch_get_active">
<description>
Gets whether the #GtkSwitch is in its “on” or “off” state.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSwitch
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the #GtkSwitch is active, and %FALSE otherwise
</return>
</function>

<function name="gtk_switch_get_state">
<description>
Gets the underlying state of the #GtkSwitch.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSwitch
</parameter_description>
</parameter>
</parameters>
<return> the underlying state
</return>
</function>

<function name="gtk_switch_new">
<description>
Creates a new #GtkSwitch widget.


</description>
<parameters>
</parameters>
<return> the newly created #GtkSwitch instance
</return>
</function>

<function name="gtk_switch_set_active">
<description>
Changes the state of @self to the desired one.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSwitch
</parameter_description>
</parameter>
<parameter name="is_active">
<parameter_description> %TRUE if @self should be active, and %FALSE otherwise
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_switch_set_state">
<description>
Sets the underlying state of the #GtkSwitch.

Normally, this is the same as #GtkSwitch:active, unless the switch
is set up for delayed state changes. This function is typically
called from a #GtkSwitch::state-set signal handler.

See #GtkSwitch::state-set for details.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkSwitch
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_targets_include_image">
<description>
Determines if any of the targets in @targets can be used to
provide a #GdkPixbuf.


</description>
<parameters>
<parameter name="targets">
<parameter_description> an array of #GdkAtoms
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the length of @targets
</parameter_description>
</parameter>
<parameter name="writable">
<parameter_description> whether to accept only targets for which GTK+ knows
how to convert a pixbuf into the format
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @targets include a suitable target for images,
otherwise %FALSE.
</return>
</function>

<function name="gtk_targets_include_text">
<description>
Determines if any of the targets in @targets can be used to
provide text.


</description>
<parameters>
<parameter name="targets">
<parameter_description> an array of #GdkAtoms
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the length of @targets
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @targets include a suitable target for text,
otherwise %FALSE.
</return>
</function>

<function name="gtk_targets_include_uri">
<description>
Determines if any of the targets in @targets can be used to
provide an uri list.


</description>
<parameters>
<parameter name="targets">
<parameter_description> an array of #GdkAtoms
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the length of @targets
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @targets include a suitable target for uri lists,
otherwise %FALSE.
</return>
</function>

<function name="gtk_test_init">
<description>
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’ll 
also set the program’s locale to “C”. This is done to make test
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.

</description>
<parameters>
<parameter name="argcp">
<parameter_description> Address of the `argc` parameter of the
main() function. Changed if any arguments were handled.
</parameter_description>
</parameter>
<parameter name="argvp">
<parameter_description> Address of the 
`argv` parameter of main().
Any parameters understood by g_test_init() or gtk_init() are
stripped before return.
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> currently unused
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_test_list_all_types">
<description>
Return the type ids that have been registered after
calling gtk_test_register_all_types().


</description>
<parameters>
<parameter name="n_types">
<parameter_description> location to store number of types
</parameter_description>
</parameter>
</parameters>
<return>
0-terminated array of type ids
</return>
</function>

<function name="gtk_test_register_all_types">
<description>
Force registration of all core Gtk+ and Gdk object types.
This allowes to refer to any of those object types via
g_type_from_name() after calling this function.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_test_widget_wait_for_draw">
<description>
Enters the main loop and waits for @widget to be “drawn”. In this
context that means it waits for the frame clock of @widget to have
run a full styling, layout and drawing cycle.

This function is intended to be used for syncing with actions that
depend on @widget relayouting or on interaction with the display
server.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget to wait for
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_attributes_copy">
<description>
Copies @src and returns a new #GtkTextAttributes.


</description>
<parameters>
<parameter name="src">
<parameter_description> a #GtkTextAttributes to be copied
</parameter_description>
</parameter>
</parameters>
<return> a copy of @src,
free with gtk_text_attributes_unref()
</return>
</function>

<function name="gtk_text_attributes_copy_values">
<description>
Copies the values from @src to @dest so that @dest has
the same values as @src. Frees existing values in @dest.

</description>
<parameters>
<parameter name="src">
<parameter_description> a #GtkTextAttributes
</parameter_description>
</parameter>
<parameter name="dest">
<parameter_description> another #GtkTextAttributes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_attributes_new">
<description>
Creates a #GtkTextAttributes, which describes
a set of properties on some text.


</description>
<parameters>
</parameters>
<return> a new #GtkTextAttributes,
free with gtk_text_attributes_unref().
</return>
</function>

<function name="gtk_text_attributes_ref">
<description>
Increments the reference count on @values.


</description>
<parameters>
<parameter name="values">
<parameter_description> a #GtkTextAttributes
</parameter_description>
</parameter>
</parameters>
<return> the #GtkTextAttributes that were passed in
</return>
</function>

<function name="gtk_text_attributes_unref">
<description>
Decrements the reference count on @values, freeing the structure
if the reference count reaches 0.

</description>
<parameters>
<parameter name="values">
<parameter_description> a #GtkTextAttributes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_add_mark">
<description>
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 #GtkTextBuffer::mark-set signal as notification of the mark's
initial placement.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> the mark to add
</parameter_description>
</parameter>
<parameter name="where">
<parameter_description> location to place mark
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_add_selection_clipboard">
<description>
Adds @clipboard to the list of clipboards in which the selection 
contents of @buffer are available. In most cases, @clipboard will be 
the #GdkClipboard returned by gdk_widget_get_primary_clipboard()
for a view of @buffer.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="clipboard">
<parameter_description> a #GdkClipboard
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_apply_tag">
<description>
Emits the “apply-tag” signal on @buffer. The default
handler for the signal applies @tag to the given range.
@start and @end do not have to be in order.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> one bound of range to be tagged
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> other bound of range to be tagged
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_apply_tag_by_name">
<description>
Calls gtk_text_tag_table_lookup() on the buffer’s tag table to
get a #GtkTextTag, then calls gtk_text_buffer_apply_tag().

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of a named #GtkTextTag
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> one bound of range to be tagged
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> other bound of range to be tagged
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_backspace">
<description>
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. 


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a position in @buffer
</parameter_description>
</parameter>
<parameter name="interactive">
<parameter_description> whether the deletion is caused by user interaction
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> whether the buffer is editable by default
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the buffer was modified
</return>
</function>

<function name="gtk_text_buffer_begin_irreversible_action">
<description>
Denotes the beginning of an action that may not be undone. This will cause
any previous operations in the undo/redo queue to be cleared.

This should be paired with a call to
gtk_text_buffer_end_irreversible_action() after the irreversible action
has completed.

You may nest calls to gtk_text_buffer_begin_irreversible_action() and
gtk_text_buffer_end_irreversible_action() pairs.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #Gtktextbuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_begin_user_action">
<description>
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 
“begin-user-action” and “end-user-action” signals only for the 
outermost pair of calls. This allows you to build user actions 
from other user actions.

The “interactive” buffer mutation functions, such as
gtk_text_buffer_insert_interactive(), automatically call begin/end
user action around the buffer operations they perform, so there's
no need to add extra calls if you user action consists solely of a
single call to one of those functions.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_copy_clipboard">
<description>
Copies the currently-selected text to a clipboard.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="clipboard">
<parameter_description> the #GdkClipboard object to copy to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_create_child_anchor">
<description>
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().


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> location in the buffer
</parameter_description>
</parameter>
</parameters>
<return> the created child anchor
</return>
</function>

<function name="gtk_text_buffer_create_mark">
<description>
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’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’re typing).

The caller of this function does not 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 #GtkTextBuffer::mark-set signal as notification of the mark's
initial placement.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="mark_name">
<parameter_description> name for mark, or %NULL
</parameter_description>
</parameter>
<parameter name="where">
<parameter_description> location to place mark
</parameter_description>
</parameter>
<parameter name="left_gravity">
<parameter_description> whether the mark has left gravity
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkTextMark object
</return>
</function>

<function name="gtk_text_buffer_create_tag">
<description>
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’s tag table. The returned tag is owned by
the buffer’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().


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="tag_name">
<parameter_description> name of the new tag, or %NULL
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> name of first property to set, or %NULL
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> %NULL-terminated list of property names and values
</parameter_description>
</parameter>
</parameters>
<return> a new tag
</return>
</function>

<function name="gtk_text_buffer_cut_clipboard">
<description>
Copies the currently-selected text to a clipboard, then deletes
said text if it’s editable.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="clipboard">
<parameter_description> the #GdkClipboard object to cut to
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> default editability of the buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_delete">
<description>
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 “delete-range” 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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> a position in @buffer
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> another position in @buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_delete_interactive">
<description>
Deletes all editable 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.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="start_iter">
<parameter_description> start of range to delete
</parameter_description>
</parameter>
<parameter name="end_iter">
<parameter_description> end of range
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> whether the buffer is editable by default
</parameter_description>
</parameter>
</parameters>
<return> whether some text was actually deleted
</return>
</function>

<function name="gtk_text_buffer_delete_mark">
<description>
Deletes @mark, so that it’s no longer located anywhere in the
buffer. Removes the reference the buffer holds to the mark, so if
you haven’t called g_object_ref() on the mark, it will be freed. Even
if the mark isn’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 #GtkTextBuffer::mark-deleted signal will be emitted as notification after
the mark is deleted.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> a #GtkTextMark in @buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_delete_mark_by_name">
<description>
Deletes the mark named @name; the mark must exist. See
gtk_text_buffer_delete_mark() for details.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of a mark in @buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_delete_selection">
<description>
Deletes the range between the “insert” and “selection_bound” marks,
that is, the currently-selected text. If @interactive is %TRUE,
the editability of the selection will be considered (users can’t delete
uneditable text).


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="interactive">
<parameter_description> whether the deletion is caused by user interaction
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> whether the buffer is editable by default
</parameter_description>
</parameter>
</parameters>
<return> whether there was a non-empty selection to delete
</return>
</function>

<function name="gtk_text_buffer_end_irreversible_action">
<description>
Denotes the end of an action that may not be undone. This will cause
any previous operations in the undo/redo queue to be cleared.

This should be called after completing modifications to the text buffer
after gtk_text_buffer_begin_irreversible_action() was called.

You may nest calls to gtk_text_buffer_begin_irreversible_action() and
gtk_text_buffer_end_irreversible_action() pairs.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #Gtktextbuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_end_user_action">
<description>
Should be paired with a call to gtk_text_buffer_begin_user_action().
See that function for a full explanation.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_bounds">
<description>
Retrieves the first and last iterators in the buffer, i.e. the
entire buffer lies within the range [@start,@end).

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> iterator to initialize with first position in the buffer
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> iterator to initialize with the end iterator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_char_count">
<description>
Gets the number of characters in the buffer; note that characters
and bytes are not the same, you can’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.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
</parameters>
<return> number of characters in the buffer
</return>
</function>

<function name="gtk_text_buffer_get_enable_undo">
<description>
Gets whether the buffer is saving modifications to the buffer to allow for
undo and redo actions.

See gtk_text_buffer_begin_irreversible_action() and
gtk_text_buffer_end_irreversible_action() to create changes to the buffer
that cannot be undone.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_end_iter">
<description>
Initializes @iter with the “end iterator,” 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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to initialize
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_has_selection">
<description>
Indicates whether the buffer has some text currently selected.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the there is text selected
</return>
</function>

<function name="gtk_text_buffer_get_insert">
<description>
Returns the mark that represents the cursor (insertion point).
Equivalent to calling gtk_text_buffer_get_mark() to get the mark
named “insert”, but very slightly more efficient, and involves less
typing.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> insertion point mark
</return>
</function>

<function name="gtk_text_buffer_get_iter_at_child_anchor">
<description>
Obtains the location of @anchor within @buffer.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> an iterator to be initialized
</parameter_description>
</parameter>
<parameter name="anchor">
<parameter_description> a child anchor that appears in @buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_iter_at_line">
<description>
Initializes @iter to the start of the given line. If @line_number is greater
than the number of lines in the @buffer, the end iterator is returned.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to initialize
</parameter_description>
</parameter>
<parameter name="line_number">
<parameter_description> line number counting from 0
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_iter_at_line_index">
<description>
Obtains an iterator pointing to @byte_index within the given line.
@byte_index must be the start of a UTF-8 character. Note bytes, not
characters; UTF-8 may encode one character as multiple bytes.

If @line_number is greater than the number of lines
in the @buffer, the end iterator is returned. And if @byte_index is off the
end of the line, the iterator at the end of the line is returned.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to initialize 
</parameter_description>
</parameter>
<parameter name="line_number">
<parameter_description> line number counting from 0
</parameter_description>
</parameter>
<parameter name="byte_index">
<parameter_description> byte index from start of line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_iter_at_line_offset">
<description>
Obtains an iterator pointing to @char_offset within the given line. Note
characters, not bytes; UTF-8 may encode one character as multiple bytes.

Before the 3.20 version, it was not allowed to pass an invalid location.

If @line_number is greater than the number of lines
in the @buffer, the end iterator is returned. And if @char_offset is off the
end of the line, the iterator at the end of the line is returned.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to initialize
</parameter_description>
</parameter>
<parameter name="line_number">
<parameter_description> line number counting from 0
</parameter_description>
</parameter>
<parameter name="char_offset">
<parameter_description> char offset from start of line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_iter_at_mark">
<description>
Initializes @iter with the current position of @mark.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to initialize
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> a #GtkTextMark in @buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_iter_at_offset">
<description>
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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to initialize
</parameter_description>
</parameter>
<parameter name="char_offset">
<parameter_description> char offset from start of buffer, counting from 0, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_line_count">
<description>
Obtains the number of lines in the buffer. This value is cached, so
the function is very fast.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
</parameters>
<return> number of lines in the buffer
</return>
</function>

<function name="gtk_text_buffer_get_mark">
<description>
Returns the mark named @name in buffer @buffer, or %NULL if no such
mark exists in the buffer.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> a mark name
</parameter_description>
</parameter>
</parameters>
<return> a #GtkTextMark, or %NULL
</return>
</function>

<function name="gtk_text_buffer_get_max_undo_levels">
<description>
Gets the maximum number of undo levels to perform. If 0, unlimited undo
actions may be performed. Note that this may have a memory usage impact
as it requires storing an additional copy of the inserted or removed text
within the text buffer.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_modified">
<description>
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 “save” function in a text
editor.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the buffer has been modified
</return>
</function>

<function name="gtk_text_buffer_get_selection_bound">
<description>
Returns the mark that represents the selection bound.  Equivalent
to calling gtk_text_buffer_get_mark() to get the mark named
“selection_bound”, but very slightly more efficient, and involves
less typing.

The currently-selected text in @buffer is the region between the
“selection_bound” and “insert” marks. If “selection_bound” and
“insert” 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’s a
selection and what its bounds are.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> selection bound mark
</return>
</function>

<function name="gtk_text_buffer_get_selection_bounds">
<description>
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).
@start and @end will be in ascending order. If @start and @end are
NULL, then they are not filled in, but the return value still indicates
whether text is selected.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> iterator to initialize with selection start
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> iterator to initialize with selection end
</parameter_description>
</parameter>
</parameters>
<return> whether the selection has nonzero length
</return>
</function>

<function name="gtk_text_buffer_get_selection_content">
<description>
Get a content provider for this buffer.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> a new #GdkContentProvider.
</return>
</function>

<function name="gtk_text_buffer_get_slice">
<description>
Returns the text in the range [@start,@end). Excludes undisplayed
text (text marked with tags that set the invisibility attribute) if
@include_hidden_chars is %FALSE. The returned string includes a
0xFFFC character whenever the buffer contains
embedded images, so byte and character indexes into
the returned string do 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 paintable or
widget is in the buffer.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> start of a range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> end of a range
</parameter_description>
</parameter>
<parameter name="include_hidden_chars">
<parameter_description> whether to include invisible text
</parameter_description>
</parameter>
</parameters>
<return> an allocated UTF-8 string
</return>
</function>

<function name="gtk_text_buffer_get_start_iter">
<description>
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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to initialize
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_get_tag_table">
<description>
Get the #GtkTextTagTable associated with this buffer.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> the buffer’s tag table
</return>
</function>

<function name="gtk_text_buffer_get_text">
<description>
Returns the text in the range [@start,@end). Excludes undisplayed
text (text marked with tags that set the invisibility attribute) if
@include_hidden_chars is %FALSE. Does not include characters
representing embedded images, so byte and character indexes into
the returned string do not correspond to byte
and character indexes into the buffer. Contrast with
gtk_text_buffer_get_slice().


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> start of a range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> end of a range
</parameter_description>
</parameter>
<parameter name="include_hidden_chars">
<parameter_description> whether to include invisible text
</parameter_description>
</parameter>
</parameters>
<return> an allocated UTF-8 string
</return>
</function>

<function name="gtk_text_buffer_insert">
<description>
Inserts @len bytes of @text at position @iter.  If @len is -1,
@text must be nul-terminated and will be inserted in its
entirety. Emits the “insert-text” 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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a position in the buffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text in UTF-8 format
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of text in bytes, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_at_cursor">
<description>
Simply calls gtk_text_buffer_insert(), using the current
cursor position as the insertion point.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text in UTF-8 format
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of text, in bytes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_child_anchor">
<description>
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 “object replacement character” 0xFFFC. Note that the
“slice” variants for obtaining portions of the buffer as a string
include this character for child anchors, but the “text” 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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> location to insert the anchor
</parameter_description>
</parameter>
<parameter name="anchor">
<parameter_description> a #GtkTextChildAnchor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_interactive">
<description>
Like gtk_text_buffer_insert(), but the insertion will not occur if
@iter is at a non-editable location in the buffer. Usually you
want to prevent insertions at ineditable locations if the insertion
results from a user action (is interactive).

@default_editable indicates the editability of text that doesn't
have a tag affecting editability applied to it. Typically the
result of gtk_text_view_get_editable() is appropriate here.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a position in @buffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> some UTF-8 text
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of text in bytes, or -1
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> default editability of buffer
</parameter_description>
</parameter>
</parameters>
<return> whether text was actually inserted
</return>
</function>

<function name="gtk_text_buffer_insert_interactive_at_cursor">
<description>
Calls gtk_text_buffer_insert_interactive() at the cursor
position.

@default_editable indicates the editability of text that doesn't
have a tag affecting editability applied to it. Typically the
result of gtk_text_view_get_editable() is appropriate here.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text in UTF-8 format
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of text in bytes, or -1
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> default editability of buffer
</parameter_description>
</parameter>
</parameters>
<return> whether text was actually inserted
</return>
</function>

<function name="gtk_text_buffer_insert_markup">
<description>
Inserts the text in @markup at position @iter. @markup will be inserted
in its entirety and must be nul-terminated and valid UTF-8. Emits the
#GtkTextBuffer::insert-text signal, possibly multiple times; insertion
actually occurs in the default handler for the signal. @iter will point
to the end of the inserted text on return.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> location to insert the markup
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> a nul-terminated UTF-8 string containing [Pango markup][PangoMarkupFormat]
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of @markup in bytes, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_paintable">
<description>
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
“object replacement character” 0xFFFC. Note that the “slice”
variants for obtaining portions of the buffer as a string include
this character for paintable, but the “text” variants do
not. e.g. see gtk_text_buffer_get_slice() and
gtk_text_buffer_get_text().

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> location to insert the paintable
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> a #GdkPaintable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_range">
<description>
Copies text, tags, and paintables between @start and @end (the order
of @start and @end doesn’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
@buffer, the two buffers must share the same tag table.

Implemented via emissions of the insert_text and apply_tag signals,
so expect those.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a position in @buffer
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> a position in a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> another position in the same buffer as @start
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_range_interactive">
<description>
Same as gtk_text_buffer_insert_range(), but does nothing if the
insertion point isn’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.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a position in @buffer
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> a position in a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> another position in the same buffer as @start
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> default editability of the buffer
</parameter_description>
</parameter>
</parameters>
<return> whether an insertion was possible at @iter
</return>
</function>

<function name="gtk_text_buffer_insert_with_tags">
<description>
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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> an iterator in @buffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> UTF-8 text
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of @text, or -1
</parameter_description>
</parameter>
<parameter name="first_tag">
<parameter_description> first tag to apply to @text
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> %NULL-terminated list of tags to apply
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_with_tags_by_name">
<description>
Same as gtk_text_buffer_insert_with_tags(), but allows you
to pass in tag names instead of tag objects.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> position in @buffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> UTF-8 text
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of @text, or -1
</parameter_description>
</parameter>
<parameter name="first_tag_name">
<parameter_description> name of a tag to apply to @text
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> more tag names
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_move_mark">
<description>
Moves @mark to the new location @where. Emits the #GtkTextBuffer::mark-set
signal as notification of the move.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
<parameter name="where">
<parameter_description> new location for @mark in @buffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_move_mark_by_name">
<description>
Moves the mark named @name (which must exist) to location @where.
See gtk_text_buffer_move_mark() for details.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of a mark
</parameter_description>
</parameter>
<parameter name="where">
<parameter_description> new location for mark
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_new">
<description>
Creates a new text buffer.


</description>
<parameters>
<parameter name="table">
<parameter_description> a tag table, or %NULL to create a new one
</parameter_description>
</parameter>
</parameters>
<return> a new text buffer
</return>
</function>

<function name="gtk_text_buffer_paste_clipboard">
<description>
Pastes the contents of a clipboard. If @override_location is %NULL, the
pasted text will be inserted at the cursor position, or the buffer selection
will be replaced if the selection is non-empty.

Note: pasting is asynchronous, that is, we’ll ask for the paste data and
return, and at some point later after the main loop runs, the paste data will
be inserted.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="clipboard">
<parameter_description> the #GdkClipboard to paste from
</parameter_description>
</parameter>
<parameter name="override_location">
<parameter_description> location to insert pasted text, or %NULL
</parameter_description>
</parameter>
<parameter name="default_editable">
<parameter_description> whether the buffer is editable by default
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_place_cursor">
<description>
This function moves the “insert” and “selection_bound” 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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="where">
<parameter_description> where to put the cursor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_redo">
<description>
Redoes the next redoable action on the buffer, if there is one.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_remove_all_tags">
<description>
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’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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> one bound of range to be untagged
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> other bound of range to be untagged
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_remove_selection_clipboard">
<description>
Removes a #GdkClipboard added with 
gtk_text_buffer_add_selection_clipboard().

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="clipboard">
<parameter_description> a #GdkClipboard added to @buffer by 
gtk_text_buffer_add_selection_clipboard()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_remove_tag">
<description>
Emits the “remove-tag” signal. The default handler for the signal
removes all occurrences of @tag from the given range. @start and
@end don’t have to be in order.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> one bound of range to be untagged
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> other bound of range to be untagged
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_remove_tag_by_name">
<description>
Calls gtk_text_tag_table_lookup() on the buffer’s tag table to
get a #GtkTextTag, then calls gtk_text_buffer_remove_tag().

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of a #GtkTextTag
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> one bound of range to be untagged
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> other bound of range to be untagged
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_select_range">
<description>
This function moves the “insert” and “selection_bound” 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.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="ins">
<parameter_description> where to put the “insert” mark
</parameter_description>
</parameter>
<parameter name="bound">
<parameter_description> where to put the “selection_bound” mark
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_set_enable_undo">
<description>
Sets whether or not to enable undoable actions in the text buffer. If
enabled, the user will be able to undo the last number of actions up to
gtk_text_buffer_get_max_undo_levels().

See gtk_text_buffer_begin_irreversible_action() and
gtk_text_buffer_end_irreversible_action() to create changes to the buffer
that cannot be undone.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_set_mark">
<description>
Move the mark to the given position, if not @should_exist, 
create the mark.


</description>
<parameters>
<parameter name="buffer">
<parameter_description>       a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="mark_name">
<parameter_description>    name of the mark
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description>         location for the mark
</parameter_description>
</parameter>
<parameter name="left_gravity">
<parameter_description> if the mark is created by this function, gravity for 
the new mark
</parameter_description>
</parameter>
<parameter name="should_exist">
<parameter_description> if %TRUE, warn if the mark does not exist, and return
immediately
</parameter_description>
</parameter>
</parameters>
<return> mark
</return>
</function>

<function name="gtk_text_buffer_set_max_undo_levels">
<description>
Sets the maximum number of undo levels to perform. If 0, unlimited undo
actions may be performed. Note that this may have a memory usage impact
as it requires storing an additional copy of the inserted or removed text
within the text buffer.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="max_undo_levels">
<parameter_description> the maximum number of undo actions to perform
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_set_modified">
<description>
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 the #GtkTextBuffer::modified-changed signal.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer 
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> modification flag setting
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_set_text">
<description>
Deletes current contents of @buffer, and inserts @text instead. If
@len is -1, @text must be nul-terminated. @text must be valid UTF-8.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> UTF-8 text to insert
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of @text in bytes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_undo">
<description>
Undoes the last undoable action on the buffer, if there is one.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_child_anchor_get_deleted">
<description>
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 — otherwise all deleted child anchors
will also be finalized.


</description>
<parameters>
<parameter name="anchor">
<parameter_description> a #GtkTextChildAnchor
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the child anchor has been deleted from its buffer
</return>
</function>

<function name="gtk_text_child_anchor_get_widgets">
<description>
Gets a list of all widgets anchored at this child anchor.
The returned list should be freed with g_list_free().



</description>
<parameters>
<parameter name="anchor">
<parameter_description> a #GtkTextChildAnchor
</parameter_description>
</parameter>
</parameters>
<return> list of widgets anchored at @anchor
</return>
</function>

<function name="gtk_text_child_anchor_new">
<description>
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().


</description>
<parameters>
</parameters>
<return> a new #GtkTextChildAnchor
</return>
</function>

<function name="gtk_text_get_activates_default">
<description>
Retrieves the value set by gtk_text_set_activates_default().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the self will activate the default widget
</return>
</function>

<function name="gtk_text_get_attributes">
<description>
Gets the attribute list that was set on the self using
gtk_text_set_attributes(), if any.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> the attribute list, or %NULL
if none was set.
</return>
</function>

<function name="gtk_text_get_buffer">
<description>
Get the #GtkEntryBuffer object which holds the text for
this self.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> A #GtkEntryBuffer object.
</return>
</function>

<function name="gtk_text_get_extra_menu">
<description>
Gets the menu model set with gtk_text_set_extra_menu().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> the menu model
</return>
</function>

<function name="gtk_text_get_input_hints">
<description>
Gets the value of the #GtkText:input-hints property.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_get_input_purpose">
<description>
Gets the value of the #GtkText:input-purpose property.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_get_invisible_char">
<description>
Retrieves the character displayed in place of the real characters
for entries with visibility set to false.
See gtk_text_set_invisible_char().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> the current invisible char, or 0, if the self does not
show invisible text at all. 
</return>
</function>

<function name="gtk_text_get_max_length">
<description>
Retrieves the maximum allowed length of the text in
@self. See gtk_text_set_max_length().

This is equivalent to getting @self's #GtkEntryBuffer and
calling gtk_entry_buffer_get_max_length() on it.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> the maximum allowed number of characters
in #GtkText, or 0 if there is no maximum.
</return>
</function>

<function name="gtk_text_get_overwrite_mode">
<description>
Gets the value set by gtk_text_set_overwrite_mode().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> whether the text is overwritten when typing.
</return>
</function>

<function name="gtk_text_get_placeholder_text">
<description>
Retrieves the text that will be displayed when @self is empty and unfocused


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return>a pointer to the placeholder text as a string.
This string points to internally allocated storage in the widget and must
not be freed, modified or stored. If no placeholder text has been set,
%NULL will be returned.
</return>
</function>

<function name="gtk_text_get_tabs">
<description>
Gets the tabstops that were set on the self using gtk_text_set_tabs(), if
any.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> the tabstops, or %NULL if none was set.
</return>
</function>

<function name="gtk_text_get_text_length">
<description>
Retrieves the current length of the text in
@self. 

This is equivalent to getting @self's #GtkEntryBuffer and
calling gtk_entry_buffer_get_length() on it.



</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> the current number of characters
in #GtkText, or 0 if there are none.
</return>
</function>

<function name="gtk_text_get_visibility">
<description>
Retrieves whether the text in @self is visible.
See gtk_text_set_visibility().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the text is currently visible
</return>
</function>

<function name="gtk_text_grab_focus_without_selecting">
<description>
Causes @self to have keyboard focus.

It behaves like gtk_widget_grab_focus(),
except that it doesn't select the contents of the self.
You only want to call this on some special entries
which the user usually doesn't want to replace all text in,
such as search-as-you-type entries.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if focus is now inside @self
</return>
</function>

<function name="gtk_text_iter_assign">
<description>
Assigns the value of @other to @iter.  This function
is not useful in applications, because iterators can be assigned
with `GtkTextIter i = j;`. The
function is used by language bindings.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="other">
<parameter_description> another #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_backward_char">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether movement was possible
</return>
</function>

<function name="gtk_text_iter_backward_chars">
<description>
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’t move, or
moved onto the end iterator, then %FALSE is returned. If @count is 0,
the function does nothing and returns %FALSE.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of characters to move
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable

</return>
</function>

<function name="gtk_text_iter_backward_cursor_position">
<description>
Like gtk_text_iter_forward_cursor_position(), but moves backward.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved
</return>
</function>

<function name="gtk_text_iter_backward_cursor_positions">
<description>
Moves up to @count cursor positions. See
gtk_text_iter_forward_cursor_position() for details.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of positions to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new position is dereferenceable
</return>
</function>

<function name="gtk_text_iter_backward_find_char">
<description>
Same as gtk_text_iter_forward_find_char(), but goes backward from @iter.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="pred">
<parameter_description> function to be called on each character
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data for @pred
</parameter_description>
</parameter>
<parameter name="limit">
<parameter_description> search limit, or %NULL for none
</parameter_description>
</parameter>
</parameters>
<return> whether a match was found
</return>
</function>

<function name="gtk_text_iter_backward_line">
<description>
Moves @iter to the start of the previous line. Returns %TRUE if
@iter could be moved; i.e. if @iter was at character offset 0, this
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.)


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved
</return>
</function>

<function name="gtk_text_iter_backward_lines">
<description>
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’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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of lines to move backward
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_backward_search">
<description>
Same as gtk_text_iter_forward_search(), but moves backward.

@match_end will never be set to a #GtkTextIter located after @iter, even if
there is a possible @match_start before or at @iter.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter where the search begins
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> search string
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> bitmask of flags affecting the search
</parameter_description>
</parameter>
<parameter name="match_start">
<parameter_description> return location for start of match, or %NULL
</parameter_description>
</parameter>
<parameter name="match_end">
<parameter_description> return location for end of match, or %NULL
</parameter_description>
</parameter>
<parameter name="limit">
<parameter_description> location of last possible @match_start, or %NULL for start of buffer
</parameter_description>
</parameter>
</parameters>
<return> whether a match was found
</return>
</function>

<function name="gtk_text_iter_backward_sentence_start">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator
</return>
</function>

<function name="gtk_text_iter_backward_sentence_starts">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of sentences to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator
</return>
</function>

<function name="gtk_text_iter_backward_text_chars">
<description>
Moves backward by @count text characters (paintables, widgets,
etc. do not count as characters for this). Equivalent to moving
through the results of gtk_text_iter_get_text(), rather than
gtk_text_iter_get_slice().


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of chars to move
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_backward_to_tag_toggle">
<description>
Moves backward to the next toggle (on or off) of the
#GtkTextTag @tag, or to the next toggle of any tag if
@tag is %NULL. If no matching tag toggles are found,
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether we found a tag toggle before @iter
</return>
</function>

<function name="gtk_text_iter_backward_visible_cursor_position">
<description>
Moves @iter forward to the previous visible cursor position. See 
gtk_text_iter_backward_cursor_position() for details.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new position is dereferenceable
</return>
</function>

<function name="gtk_text_iter_backward_visible_cursor_positions">
<description>
Moves up to @count visible cursor positions. See
gtk_text_iter_backward_cursor_position() for details.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of positions to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new position is dereferenceable
</return>
</function>

<function name="gtk_text_iter_backward_visible_line">
<description>
Moves @iter to the start of the previous visible line. Returns %TRUE if
@iter could be moved; i.e. if @iter was at character offset 0, this
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.)


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved
</return>
</function>

<function name="gtk_text_iter_backward_visible_lines">
<description>
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’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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of lines to move backward
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_backward_visible_word_start">
<description>
Moves backward to the previous visible word start. (If @iter is currently 
on a word start, moves backward 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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_backward_visible_word_starts">
<description>
Calls gtk_text_iter_backward_visible_word_start() up to @count times.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of times to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_backward_word_start">
<description>
Moves backward to the previous word start. (If @iter is currently on a
word start, moves backward 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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_backward_word_starts">
<description>
Calls gtk_text_iter_backward_word_start() up to @count times.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of times to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_can_insert">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="default_editability">
<parameter_description> %TRUE if text is editable by default
</parameter_description>
</parameter>
</parameters>
<return> whether text inserted at @iter would be editable
</return>
</function>

<function name="gtk_text_iter_compare">
<description>
A qsort()-style function that returns negative if @lhs is less than
@rhs, positive if @lhs is greater than @rhs, and 0 if they’re equal.
Ordering is in character offset order, i.e. the first character in the buffer
is less than the second character in the buffer.


</description>
<parameters>
<parameter name="lhs">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="rhs">
<parameter_description> another #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> -1 if @lhs is less than @rhs, 1 if @lhs is greater, 0 if they are equal
</return>
</function>

<function name="gtk_text_iter_copy">
<description>
Creates a dynamically-allocated copy of an iterator. This function
is not useful in applications, because iterators can be copied with a
simple assignment (`GtkTextIter i = j;`). The
function is used by language bindings.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> a copy of the @iter, free with gtk_text_iter_free()
</return>
</function>

<function name="gtk_text_iter_editable">
<description>
Returns whether the character at @iter is within an editable region
of text.  Non-editable text is “locked” and can’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’t want to use this function to decide whether text can be
inserted at @iter, because for insertion you don’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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="default_setting">
<parameter_description> %TRUE if text is editable by default
</parameter_description>
</parameter>
</parameters>
<return> whether @iter is inside an editable range
</return>
</function>

<function name="gtk_text_iter_ends_line">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter is at the end of a line
</return>
</function>

<function name="gtk_text_iter_ends_sentence">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is at the end of a sentence.
</return>
</function>

<function name="gtk_text_iter_ends_tag">
<description>
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 if gtk_text_iter_ends_tag() returns %TRUE, it means that @iter is
at the end of the tagged range, but that the character
at @iter is outside the tagged range. In other words,
unlike gtk_text_iter_starts_tag(), if gtk_text_iter_ends_tag() returns %TRUE,
gtk_text_iter_has_tag() will return %FALSE for the same parameters.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether @iter is the end of a range tagged with @tag
</return>
</function>

<function name="gtk_text_iter_ends_word">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is at the end of a word
</return>
</function>

<function name="gtk_text_iter_equal">
<description>
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’s a bit faster than
gtk_text_iter_compare().


</description>
<parameters>
<parameter name="lhs">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="rhs">
<parameter_description> another #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iterators point to the same place in the buffer
</return>
</function>

<function name="gtk_text_iter_forward_char">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_chars">
<description>
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
@iter is different from its original position, and dereferenceable
(the last iterator in the buffer is not dereferenceable). If @count
is 0, the function does nothing and returns %FALSE.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of characters to move, may be negative
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_cursor_position">
<description>
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 “a” 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’t go
between those two characters. See also the #PangoLogAttr-struct and
pango_break() function.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new position is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_cursor_positions">
<description>
Moves up to @count cursor positions. See
gtk_text_iter_forward_cursor_position() for details.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of positions to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new position is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_find_char">
<description>
Advances @iter, calling @pred on each character. If
@pred returns %TRUE, returns %TRUE and stops scanning.
If @pred never returns %TRUE, @iter is set to @limit if
@limit is non-%NULL, otherwise to the end iterator.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="pred">
<parameter_description> a function to be called on each character
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data for @pred
</parameter_description>
</parameter>
<parameter name="limit">
<parameter_description> search limit, or %NULL for none 
</parameter_description>
</parameter>
</parameters>
<return> whether a match was found
</return>
</function>

<function name="gtk_text_iter_forward_line">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter can be dereferenced
</return>
</function>

<function name="gtk_text_iter_forward_lines">
<description>
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’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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of lines to move forward
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_search">
<description>
Searches forward for @str. Any match is returned by setting
@match_start to the first character of the match and @match_end to the
first character after the match. The search will not continue past
@limit. Note that a search is a linear or O(n) operation, so you
may wish to use @limit to avoid locking up your UI on large
buffers.

@match_start will never be set to a #GtkTextIter located before @iter, even if
there is a possible @match_end after or at @iter.


</description>
<parameters>
<parameter name="iter">
<parameter_description> start of search
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> a search string
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags affecting how the search is done
</parameter_description>
</parameter>
<parameter name="match_start">
<parameter_description> return location for start of match, or %NULL
</parameter_description>
</parameter>
<parameter name="match_end">
<parameter_description> return location for end of match, or %NULL
</parameter_description>
</parameter>
<parameter name="limit">
<parameter_description> location of last possible @match_end, or %NULL for the end of the buffer
</parameter_description>
</parameter>
</parameters>
<return> whether a match was found
</return>
</function>

<function name="gtk_text_iter_forward_sentence_end">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator
</return>
</function>

<function name="gtk_text_iter_forward_sentence_ends">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of sentences to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator
</return>
</function>

<function name="gtk_text_iter_forward_text_chars">
<description>
Moves forward by @count text characters (paintables, widgets,
etc. do not count as characters for this). Equivalent to moving
through the results of gtk_text_iter_get_text(), rather than
gtk_text_iter_get_slice().


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of chars to move
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_to_end">
<description>
Moves @iter forward to the “end iterator,” 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.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_forward_to_line_end">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new location is not the end iterator
</return>
</function>

<function name="gtk_text_iter_forward_to_tag_toggle">
<description>
Moves forward to the next toggle (on or off) of the
#GtkTextTag @tag, or to the next toggle of any tag if
@tag is %NULL. If no matching tag toggles are found,
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether we found a tag toggle after @iter
</return>
</function>

<function name="gtk_text_iter_forward_visible_cursor_position">
<description>
Moves @iter forward to the next visible cursor position. See 
gtk_text_iter_forward_cursor_position() for details.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new position is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_visible_cursor_positions">
<description>
Moves up to @count visible cursor positions. See
gtk_text_iter_forward_cursor_position() for details.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of positions to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if we moved and the new position is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_visible_line">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter can be dereferenced
</return>
</function>

<function name="gtk_text_iter_forward_visible_lines">
<description>
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’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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of lines to move forward
</parameter_description>
</parameter>
</parameters>
<return> whether @iter moved and is dereferenceable
</return>
</function>

<function name="gtk_text_iter_forward_visible_word_end">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_forward_visible_word_ends">
<description>
Calls gtk_text_iter_forward_visible_word_end() up to @count times.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of times to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_forward_word_end">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_forward_word_ends">
<description>
Calls gtk_text_iter_forward_word_end() up to @count times.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of times to move
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not the end iterator 
</return>
</function>

<function name="gtk_text_iter_free">
<description>
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.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a dynamically-allocated iterator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_get_buffer">
<description>
Returns the #GtkTextBuffer this iterator is associated with.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> the buffer
</return>
</function>

<function name="gtk_text_iter_get_bytes_in_line">
<description>
Returns the number of bytes in the line containing @iter,
including the paragraph delimiters.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> number of bytes in the line
</return>
</function>

<function name="gtk_text_iter_get_char">
<description>
The Unicode character at this iterator is returned.  (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 “unknown” 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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> a Unicode character, or 0 if @iter is not dereferenceable
</return>
</function>

<function name="gtk_text_iter_get_chars_in_line">
<description>
Returns the number of characters in the line containing @iter,
including the paragraph delimiters.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> number of characters in the line
</return>
</function>

<function name="gtk_text_iter_get_child_anchor">
<description>
If the location at @iter contains a child anchor, the
anchor is returned (with no new reference count added). Otherwise,
%NULL is returned.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> the anchor at @iter
</return>
</function>

<function name="gtk_text_iter_get_language">
<description>
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().


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> language in effect at @iter
</return>
</function>

<function name="gtk_text_iter_get_line">
<description>
Returns the line number containing the iterator. Lines in
a #GtkTextBuffer are numbered beginning with 0 for the first
line in the buffer.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> a line number
</return>
</function>

<function name="gtk_text_iter_get_line_index">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> distance from start of line, in bytes
</return>
</function>

<function name="gtk_text_iter_get_line_offset">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> offset from start of line
</return>
</function>

<function name="gtk_text_iter_get_marks">
<description>
Returns a list of all #GtkTextMark at this location. Because marks
are not iterable (they don’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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> list of #GtkTextMark
</return>
</function>

<function name="gtk_text_iter_get_offset">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> a character offset
</return>
</function>

<function name="gtk_text_iter_get_paintable">
<description>
If the element at @iter is a paintable, the paintable is returned
(with no new reference count added). Otherwise, %NULL is returned.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> the paintable at @iter
</return>
</function>

<function name="gtk_text_iter_get_slice">
<description>
Returns the text in the given range. A “slice” is an array of
characters encoded in UTF-8 format, including the Unicode “unknown”
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 paintable or
widget is in the buffer.


</description>
<parameters>
<parameter name="start">
<parameter_description> iterator at start of a range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> iterator at end of a range
</parameter_description>
</parameter>
</parameters>
<return> slice of text from the buffer
</return>
</function>

<function name="gtk_text_iter_get_tags">
<description>
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’t have a reference added, but you have to free the list
itself.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> list of #GtkTextTag
</return>
</function>

<function name="gtk_text_iter_get_text">
<description>
Returns text 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().


</description>
<parameters>
<parameter name="start">
<parameter_description> iterator at start of a range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> iterator at end of a range
</parameter_description>
</parameter>
</parameters>
<return> array of characters from the buffer
</return>
</function>

<function name="gtk_text_iter_get_toggled_tags">
<description>
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 not have the tag applied to it.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="toggled_on">
<parameter_description> %TRUE to get toggled-on tags
</parameter_description>
</parameter>
</parameters>
<return> tags toggled at this point
</return>
</function>

<function name="gtk_text_iter_get_visible_line_index">
<description>
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 “invisible” flag
toggled on.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> byte index of @iter with respect to the start of the line
</return>
</function>

<function name="gtk_text_iter_get_visible_line_offset">
<description>
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 “invisible” flag
toggled on.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> offset in visible characters from the start of the line 
</return>
</function>

<function name="gtk_text_iter_get_visible_slice">
<description>
Like gtk_text_iter_get_slice(), but invisible text is not included.
Invisible text is usually invisible because a #GtkTextTag with the
“invisible” attribute turned on has been applied to it.


</description>
<parameters>
<parameter name="start">
<parameter_description> iterator at start of range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> iterator at end of range
</parameter_description>
</parameter>
</parameters>
<return> slice of text from the buffer
</return>
</function>

<function name="gtk_text_iter_get_visible_text">
<description>
Like gtk_text_iter_get_text(), but invisible text is not included.
Invisible text is usually invisible because a #GtkTextTag with the
“invisible” attribute turned on has been applied to it.


</description>
<parameters>
<parameter name="start">
<parameter_description> iterator at start of range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> iterator at end of range
</parameter_description>
</parameter>
</parameters>
<return> string containing visible text in the
range
</return>
</function>

<function name="gtk_text_iter_has_tag">
<description>
Returns %TRUE if @iter points to a character that is part of a range tagged
with @tag. See also gtk_text_iter_starts_tag() and gtk_text_iter_ends_tag().


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
</parameters>
<return> whether @iter is tagged with @tag
</return>
</function>

<function name="gtk_text_iter_in_range">
<description>
Checks whether @iter falls in the range [@start, @end).
@start and @end must be in ascending order.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> start of range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> end of range
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is in the range
</return>
</function>

<function name="gtk_text_iter_inside_sentence">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is inside a sentence.
</return>
</function>

<function name="gtk_text_iter_inside_word">
<description>
Determines whether the character pointed by @iter is part of 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).

Note that if gtk_text_iter_starts_word() returns %TRUE, then this function
returns %TRUE too, since @iter points to the first character of the word.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is inside a word
</return>
</function>

<function name="gtk_text_iter_is_cursor_position">
<description>
See gtk_text_iter_forward_cursor_position() or #PangoLogAttr or
pango_break() for details on what a cursor position is.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cursor can be placed at @iter
</return>
</function>

<function name="gtk_text_iter_is_end">
<description>
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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter is the end iterator
</return>
</function>

<function name="gtk_text_iter_is_start">
<description>
Returns %TRUE if @iter is the first iterator in the buffer, that is
if @iter has a character offset of 0.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter is the first in the buffer
</return>
</function>

<function name="gtk_text_iter_order">
<description>
Swaps the value of @first and @second if @second comes before
@first in the buffer. That is, ensures that @first and @second are
in sequence. Most text buffer functions that take a range call this
automatically on your behalf, so there’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.


</description>
<parameters>
<parameter name="first">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="second">
<parameter_description> another #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_set_line">
<description>
Moves iterator @iter to the start of the line @line_number.  If
@line_number is negative or larger than the number of lines in the
buffer, moves @iter to the start of the last line in the buffer.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="line_number">
<parameter_description> line number (counted from 0)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_set_line_index">
<description>
Same as gtk_text_iter_set_line_offset(), but works with a
byte index. The given byte index must be at
the start of a character, it can’t be in the middle of a UTF-8
encoded character.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="byte_on_line">
<parameter_description> a byte index relative to the start of @iter’s current line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_set_line_offset">
<description>
Moves @iter within a line, to a new character
(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.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter 
</parameter_description>
</parameter>
<parameter name="char_on_line">
<parameter_description> a character offset relative to the start of @iter’s current line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_set_offset">
<description>
Sets @iter to point to @char_offset. @char_offset counts from the start
of the entire text buffer, starting with 0.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="char_offset">
<parameter_description> a character number
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_set_visible_line_index">
<description>
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.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="byte_on_line">
<parameter_description> a byte index
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_set_visible_line_offset">
<description>
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.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="char_on_line">
<parameter_description> a character offset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_iter_starts_line">
<description>
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’t have to compute
the offset, it just has to see whether it’s 0.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
</parameters>
<return> whether @iter begins a line
</return>
</function>

<function name="gtk_text_iter_starts_sentence">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is at the start of a sentence.
</return>
</function>

<function name="gtk_text_iter_starts_tag">
<description>
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 if gtk_text_iter_starts_tag() returns %TRUE, it means that @iter is
at the beginning of the tagged range, and that the
character at @iter is inside the tagged range. In other
words, unlike gtk_text_iter_ends_tag(), if gtk_text_iter_starts_tag() returns
%TRUE, gtk_text_iter_has_tag() will also return %TRUE for the same
parameters.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether @iter is the start of a range tagged with @tag
</return>
</function>

<function name="gtk_text_iter_starts_word">
<description>
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).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is at the start of a word
</return>
</function>

<function name="gtk_text_iter_toggles_tag">
<description>
This is equivalent to (gtk_text_iter_starts_tag() ||
gtk_text_iter_ends_tag()), i.e. it tells you whether a range with
@tag applied to it begins or ends at @iter.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether @tag is toggled on or off at @iter
</return>
</function>

<function name="gtk_text_layout_clamp_iter_to_vrange">
<description>
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.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description>   a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description>    the top of the range
</parameter_description>
</parameter>
<parameter name="bottom">
<parameter_description> the bottom the range
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iterator was moved, otherwise %FALSE.
</return>
</function>

<function name="gtk_text_layout_get_buffer">
<description>
Gets the text buffer used by the layout. See
gtk_text_layout_set_buffer().


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
</parameters>
<return> the text buffer used by the layout.
</return>
</function>

<function name="gtk_text_layout_get_cursor_locations">
<description>
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.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="strong_pos">
<parameter_description> location to store the strong cursor position, or %NULL
</parameter_description>
</parameter>
<parameter name="weak_pos">
<parameter_description> location to store the weak cursor position, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_get_cursor_visible">
<description>
Returns whether the insertion cursor will be shown.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
</parameters>
<return> if %FALSE, the insertion cursor will not be
shown, even if the text is editable.
</return>
</function>

<function name="gtk_text_layout_get_line_at_y">
<description>
Get the iter at the beginning of the line which is displayed
at the given y.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="target_iter">
<parameter_description> the iterator in which the result is stored
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y positition
</parameter_description>
</parameter>
<parameter name="line_top">
<parameter_description> location to store the y coordinate of the
top of the line. (Can by %NULL)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_get_line_yrange">
<description>
Find the range of y coordinates for the paragraph containing
the given iter.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description>   a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>      location to store the top of the paragraph in pixels,
or %NULL.
@height  location to store the height of the paragraph in pixels,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_get_lines">
<description>

</description>
<parameters>
</parameters>
<return>
</return>
</function>

<function name="gtk_text_layout_is_valid">
<description>
Check if there are any invalid regions in a #GtkTextLayout’s buffer


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if any invalid regions were found
</return>
</function>

<function name="gtk_text_layout_iter_starts_line">
<description>
Tests whether an iterator is at the start of a display line.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> iterator to test
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_move_iter_to_line_end">
<description>
Move to the beginning or end of a display line.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> if negative, move to beginning of line, otherwise
               move to end of line.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_move_iter_to_next_line">
<description>
Move the iterator to the beginning of the next line. The
lines of a wrapped paragraph are treated as distinct for
this operation.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description>   a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_move_iter_to_previous_line">
<description>
Move the iterator to the beginning of the previous line. The lines
of a wrapped paragraph are treated as distinct for this operation.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description>   a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_move_iter_to_x">
<description>
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.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description>   a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>      X coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_move_iter_visually">
<description>
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.

</description>
<parameters>
<parameter name="layout">
<parameter_description>  a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description>    a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description>   number of characters to move (negative moves left, positive moves right)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_set_buffer">
<description>

</description>
<parameters>
<parameter name="buffer">
<parameter_description>
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_set_cursor_direction">
<description>
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.

</description>
<parameters>
<parameter name="direction">
<parameter_description> the new direction(s) for which to draw cursors.
%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.)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_set_cursor_visible">
<description>
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.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="cursor_visible">
<parameter_description> If %FALSE, then the insertion cursor will not
be shown, even if the text is editable.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_set_keyboard_direction">
<description>
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.

</description>
<parameters>
<parameter name="keyboard_dir">
<parameter_description> the current direction of the keyboard.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_set_overwrite_mode">
<description>
Sets overwrite mode

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="overwrite">
<parameter_description> overwrite mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_set_preedit_string">
<description>
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.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="preedit_string">
<parameter_description> a string to display at the insertion point
</parameter_description>
</parameter>
<parameter name="preedit_attrs">
<parameter_description> a #PangoAttrList of attributes that apply to @preedit_string
</parameter_description>
</parameter>
<parameter name="cursor_pos">
<parameter_description> position of cursor within preedit string in chars
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_validate">
<description>
Validate regions of a #GtkTextLayout. The ::changed signal will
be emitted for each region validated.

</description>
<parameters>
<parameter name="tree">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="max_pixels">
<parameter_description> the maximum number of pixels to validate. (No more
than one paragraph beyond this limit will be validated)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_layout_validate_yrange">
<description>
Ensure that a region of a #GtkTextLayout is valid. The ::changed
signal will be emitted if any lines are validated.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkTextLayout
</parameter_description>
</parameter>
<parameter name="anchor">
<parameter_description> iter pointing into a line that will be used as the
coordinate origin
</parameter_description>
</parameter>
<parameter name="y0_">
<parameter_description> offset from the top of the line pointed to by @anchor at
which to begin validation. (The offset here is in pixels
after validation.)
</parameter_description>
</parameter>
<parameter name="y1_">
<parameter_description> offset from the top of the line pointed to by @anchor at
which to end validation. (The offset here is in pixels
after validation.)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_mark_get_buffer">
<description>
Gets the buffer this mark is located inside,
or %NULL if the mark is deleted.


</description>
<parameters>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
</parameters>
<return> the mark’s #GtkTextBuffer
</return>
</function>

<function name="gtk_text_mark_get_deleted">
<description>
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.


</description>
<parameters>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
</parameters>
<return> whether the mark is deleted
</return>
</function>

<function name="gtk_text_mark_get_left_gravity">
<description>
Determines whether the mark has left gravity.


</description>
<parameters>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the mark has left gravity, %FALSE otherwise
</return>
</function>

<function name="gtk_text_mark_get_name">
<description>
Returns the mark name; returns NULL for anonymous marks.


</description>
<parameters>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
</parameters>
<return> mark name
</return>
</function>

<function name="gtk_text_mark_get_visible">
<description>
Returns %TRUE if the mark is visible (i.e. a cursor is displayed
for it).


</description>
<parameters>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if visible
</return>
</function>

<function name="gtk_text_mark_new">
<description>
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’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’re typing).


</description>
<parameters>
<parameter name="name">
<parameter_description> mark name or %NULL
</parameter_description>
</parameter>
<parameter name="left_gravity">
<parameter_description> whether the mark should have left gravity
</parameter_description>
</parameter>
</parameters>
<return> new #GtkTextMark
</return>
</function>

<function name="gtk_text_mark_set_visible">
<description>
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.


</description>
<parameters>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> visibility of mark
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_new">
<description>
Creates a new self.


</description>
<parameters>
</parameters>
<return> a new #GtkText.
</return>
</function>

<function name="gtk_text_new_with_buffer">
<description>
Creates a new self with the specified text buffer.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> The buffer to use for the new #GtkText.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkText
</return>
</function>

<function name="gtk_text_set_activates_default">
<description>
If @activates is %TRUE, pressing Enter in the @self will activate the default
widget for the window containing the self. This usually means that
the dialog box containing the self will be closed, since the default
widget is usually one of the dialog buttons.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="activates">
<parameter_description> %TRUE to activate window’s default widget on Enter keypress
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_attributes">
<description>
Sets a #PangoAttrList; the attributes in the list are applied to the
text.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> a #PangoAttrList or %NULL to unset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_buffer">
<description>
Set the #GtkEntryBuffer object which holds the text for
this widget.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkEntryBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_extra_menu">
<description>
Sets a menu model to add when constructing
the context menu for @self.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_input_hints">
<description>
Sets the #GtkText:input-hints property, which
allows input methods to fine-tune their behaviour.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="hints">
<parameter_description> the hints
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_input_purpose">
<description>
Sets the #GtkText:input-purpose property which
can be used by on-screen keyboards and other input
methods to adjust their behaviour.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="purpose">
<parameter_description> the purpose
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_invisible_char">
<description>
Sets the character to use in place of the actual text when
gtk_text_set_visibility() has been called to set text visibility
to %FALSE. i.e. this is the character used in “password mode” 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.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="ch">
<parameter_description> a Unicode character
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_max_length">
<description>
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 getting @self's #GtkEntryBuffer and
calling gtk_entry_buffer_set_max_length() on it.
]|

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the maximum length of the self, or 0 for no maximum.
(other than the maximum length of entries.) The value passed in will
be clamped to the range 0-65536.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_overwrite_mode">
<description>
Sets whether the text is overwritten when typing in the #GtkText.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="overwrite">
<parameter_description> new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_placeholder_text">
<description>
Sets text to be displayed in @self when it is empty.

This can be used to give a visual hint of the expected
contents of the self.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> a string to be displayed when @self is empty and unfocused, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_tabs">
<description>
Sets a #PangoTabArray; the tabstops in the array are applied to the self
text.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="tabs">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_set_visibility">
<description>
Sets whether the contents of the self 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 self widget is copied to the clipboard.

By default, GTK picks the best invisible character available
in the current font, but it can be changed with
gtk_text_set_invisible_char().

Note that you probably want to set #GtkText:input-purpose
to %GTK_INPUT_PURPOSE_PASSWORD or %GTK_INPUT_PURPOSE_PIN to
inform input methods about the purpose of this self,
in addition to setting visibility to %FALSE.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> %TRUE if the contents of the self are displayed
as plaintext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_tag_changed">
<description>
Emits the #GtkTextTagTable::tag-changed signal on the #GtkTextTagTable where
the tag is included.

The signal is already emitted when setting a #GtkTextTag property. This
function is useful for a #GtkTextTag subclass.

</description>
<parameters>
<parameter name="tag">
<parameter_description> a #GtkTextTag.
</parameter_description>
</parameter>
<parameter name="size_changed">
<parameter_description> whether the change affects the #GtkTextView layout.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_tag_get_priority">
<description>
Get the tag priority.


</description>
<parameters>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
</parameters>
<return> The tag’s priority.
</return>
</function>

<function name="gtk_text_tag_new">
<description>
Creates a #GtkTextTag. Configure the tag using object arguments,
i.e. using g_object_set().


</description>
<parameters>
<parameter name="name">
<parameter_description> tag name, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkTextTag
</return>
</function>

<function name="gtk_text_tag_set_priority">
<description>
Sets the priority of a #GtkTextTag. Valid priorities
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 “win” 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’s table
automatically.

</description>
<parameters>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
<parameter name="priority">
<parameter_description> the new priority
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_tag_table_add">
<description>
Add a tag to the table. The tag is assigned the highest priority
in the table.

@tag must not be in a tag table already, and may not have
the same name as an already-added tag.


</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTextTagTable
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success.
</return>
</function>

<function name="gtk_text_tag_table_foreach">
<description>
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’t add/remove tags).

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTextTagTable
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a function to call on each tag
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_tag_table_get_size">
<description>
Returns the size of the table (number of tags)


</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTextTagTable
</parameter_description>
</parameter>
</parameters>
<return> number of tags in @table
</return>
</function>

<function name="gtk_text_tag_table_lookup">
<description>
Look up a named tag.


</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTextTagTable 
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name of a tag
</parameter_description>
</parameter>
</parameters>
<return> The tag, or %NULL if none by that
name is in the table.
</return>
</function>

<function name="gtk_text_tag_table_new">
<description>
Creates a new #GtkTextTagTable. The table contains no tags by
default.


</description>
<parameters>
</parameters>
<return> a new #GtkTextTagTable
</return>
</function>

<function name="gtk_text_tag_table_remove">
<description>
Remove a tag from the table. If a #GtkTextBuffer has @table as its tag table,
the tag is removed from the buffer. The table’s reference to the tag is
removed, so the tag will end up destroyed if you don’t have a reference to
it.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTextTagTable
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_unset_invisible_char">
<description>
Unsets the invisible char previously set with
gtk_text_set_invisible_char(). So that the
default invisible char is used again.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkText
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_util_create_drag_icon">
<description>
Creates a drag and drop icon from @text.


</description>
<parameters>
<parameter name="widget">
<parameter_description> #GtkWidget to extract the pango context
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> a #gchar to render the icon
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> length of @text, or -1 for NUL-terminated text
</parameter_description>
</parameter>
</parameters>
<return> a #GdkPaintable to use as DND icon
</return>
</function>

<function name="gtk_text_view_add_child_at_anchor">
<description>
Adds a child widget in the text buffer, at the given @anchor.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="anchor">
<parameter_description> a #GtkTextChildAnchor in the #GtkTextBuffer for @text_view
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_add_overlay">
<description>
Adds @child at a fixed coordinate in the #GtkTextView's text window. The
@xpos and @ypos must be in buffer coordinates (see
gtk_text_view_get_iter_location() to conver to buffer coordinates).

@child will scroll with the text view.

If instead you want a widget that will not move with the #GtkTextView
contents see #GtkOverlay.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="xpos">
<parameter_description> X position of child in window coordinates
</parameter_description>
</parameter>
<parameter name="ypos">
<parameter_description> Y position of child in window coordinates
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_backward_display_line">
<description>
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’s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter was moved and is not on the end iterator
</return>
</function>

<function name="gtk_text_view_backward_display_line_start">
<description>
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’s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter was moved and is not on the end iterator
</return>
</function>

<function name="gtk_text_view_buffer_to_window_coords">
<description>
Converts coordinate (@buffer_x, @buffer_y) to coordinates for the window
@win, and stores the result in (@window_x, @window_y). 

Note that you can’t convert coordinates for a nonexisting window (see 
gtk_text_view_set_border_window_size()).

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="win">
<parameter_description> a #GtkTextWindowType
</parameter_description>
</parameter>
<parameter name="buffer_x">
<parameter_description> buffer x coordinate
</parameter_description>
</parameter>
<parameter name="buffer_y">
<parameter_description> buffer y coordinate
</parameter_description>
</parameter>
<parameter name="window_x">
<parameter_description> window x coordinate return location or %NULL
</parameter_description>
</parameter>
<parameter name="window_y">
<parameter_description> window y coordinate return location or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_forward_display_line">
<description>
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’s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter was moved and is not on the end iterator
</return>
</function>

<function name="gtk_text_view_forward_display_line_end">
<description>
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’s width; paragraphs are the same in all
views, since they depend on the contents of the #GtkTextBuffer.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter was moved and is not on the end iterator
</return>
</function>

<function name="gtk_text_view_get_accepts_tab">
<description>
Returns whether pressing the Tab key inserts a tab characters.
gtk_text_view_set_accepts_tab().


</description>
<parameters>
<parameter name="text_view">
<parameter_description> A #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if pressing the Tab key inserts a tab character, 
%FALSE if pressing the Tab key moves the keyboard focus.
</return>
</function>

<function name="gtk_text_view_get_bottom_margin">
<description>
Gets the bottom margin for text in the @text_view.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> bottom margin in pixels
</return>
</function>

<function name="gtk_text_view_get_buffer">
<description>
Returns the #GtkTextBuffer being displayed by this text view.
The reference count on the buffer is not incremented; the caller
of this function won’t own a new reference.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> a #GtkTextBuffer
</return>
</function>

<function name="gtk_text_view_get_cursor_locations">
<description>
Given an @iter 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.

If @iter is %NULL, the actual cursor position is used.

Note that if @iter happens to be the actual cursor position, and
there is currently an IM preedit sequence being entered, the
returned locations will be adjusted to account for the preedit
cursor’s offset within the preedit sequence.

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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="strong">
<parameter_description> location to store the strong
cursor position (may be %NULL)
</parameter_description>
</parameter>
<parameter name="weak">
<parameter_description> location to store the weak
cursor position (may be %NULL)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_cursor_visible">
<description>
Find out whether the cursor should be displayed.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> whether the insertion mark is visible
</return>
</function>

<function name="gtk_text_view_get_editable">
<description>
Returns the default editability of the #GtkTextView. Tags in the
buffer may override this setting for some ranges of text.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> whether text is editable by default
</return>
</function>

<function name="gtk_text_view_get_extra_menu">
<description>
Gets the menu model set with gtk_text_view_set_extra_menu().


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> the menu model
</return>
</function>

<function name="gtk_text_view_get_gutter">
<description>
Gets a #GtkWidget that has previously been set with
gtk_text_view_set_gutter().

@win must be one of %GTK_TEXT_WINDOW_LEFT, %GTK_TEXT_WINDOW_RIGHT,
%GTK_TEXT_WINDOW_TOP, or %GTK_TEXT_WINDOW_BOTTOM.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="win">
<parameter_description> a #GtkWindowType
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget or %NULL
</return>
</function>

<function name="gtk_text_view_get_indent">
<description>
Gets the default indentation of paragraphs in @text_view.
Tags in the view’s buffer may override the default.
The indentation may be negative.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> number of pixels of indentation
</return>
</function>

<function name="gtk_text_view_get_input_hints">
<description>
Gets the value of the #GtkTextView:input-hints property.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_input_purpose">
<description>
Gets the value of the #GtkTextView:input-purpose property.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_iter_at_location">
<description>
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().


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x position, in buffer coordinates
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y position, in buffer coordinates
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the position is over text
</return>
</function>

<function name="gtk_text_view_get_iter_at_position">
<description>
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 between
characters.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="trailing">
<parameter_description> if non-%NULL, location to store an integer indicating where
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.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x position, in buffer coordinates
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y position, in buffer coordinates
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the position is over text
</return>
</function>

<function name="gtk_text_view_get_iter_location">
<description>
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> bounds of the character at @iter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_justification">
<description>
Gets the default justification of paragraphs in @text_view.
Tags in the buffer may override the default.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> default justification
</return>
</function>

<function name="gtk_text_view_get_left_margin">
<description>
Gets the default left margin size of paragraphs in the @text_view.
Tags in the buffer may override the default.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> left margin in pixels
</return>
</function>

<function name="gtk_text_view_get_line_at_y">
<description>
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="target_iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> a y coordinate
</parameter_description>
</parameter>
<parameter name="line_top">
<parameter_description> return location for top coordinate of the line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_line_yrange">
<description>
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().

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> return location for a y coordinate
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> return location for a height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_monospace">
<description>
Gets the value of the #GtkTextView:monospace property.

Return: %TRUE if monospace fonts are desired

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_overwrite">
<description>
Returns whether the #GtkTextView is in overwrite mode or not.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> whether @text_view is in overwrite mode or not.
</return>
</function>

<function name="gtk_text_view_get_pixels_above_lines">
<description>
Gets the default number of pixels to put above paragraphs.
Adding this function with gtk_text_view_get_pixels_below_lines()
is equal to the line space between each paragraph.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> default number of pixels above paragraphs
</return>
</function>

<function name="gtk_text_view_get_pixels_below_lines">
<description>
Gets the value set by gtk_text_view_set_pixels_below_lines().

The line space is the sum of the value returned by this function and the
value returned by gtk_text_view_get_pixels_above_lines().


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> default number of blank pixels below paragraphs
</return>
</function>

<function name="gtk_text_view_get_pixels_inside_wrap">
<description>
Gets the value set by gtk_text_view_set_pixels_inside_wrap().


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> default number of pixels of blank space between wrapped lines
</return>
</function>

<function name="gtk_text_view_get_right_margin">
<description>
Gets the default right margin for text in @text_view. Tags
in the buffer may override the default.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> right margin in pixels
</return>
</function>

<function name="gtk_text_view_get_tabs">
<description>
Gets the default tabs for @text_view. Tags in the buffer may
override the defaults. The returned array will be %NULL if
“standard” (8-space) tabs are used. Free the return value
with pango_tab_array_free().


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> copy of default tab array, or %NULL if
“standard&quot; tabs are used; must be freed with pango_tab_array_free().
</return>
</function>

<function name="gtk_text_view_get_top_margin">
<description>
Gets the top margin for text in the @text_view.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> top margin in pixels
</return>
</function>

<function name="gtk_text_view_get_visible_rect">
<description>
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().

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="visible_rect">
<parameter_description> rectangle to fill
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_get_wrap_mode">
<description>
Gets the line wrapping for the view.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> the line wrap setting
</return>
</function>

<function name="gtk_text_view_im_context_filter_keypress">
<description>
Allow the #GtkTextView 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. See
gtk_im_context_filter_keypress().

Note that you are expected to call this function from your handler
when overriding key event handling. This is needed in the case when
you need to insert your own key handling between the input method
and the default key event handling of the #GtkTextView.

|[&lt;!-- language=&quot;C&quot; --&gt;
static gboolean
gtk_foo_bar_key_press_event (GtkWidget   *widget,
GdkEventKey *event)
{
guint keyval;

gdk_event_get_keyval ((GdkEvent*)event, &amp;keyval);

if (keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter)
{
if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (widget), event))
return TRUE;
}

// Do some stuff

return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)-&gt;key_press_event (widget, event);
}
]|


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the key event
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the input method handled the key event.
</return>
</function>

<function name="gtk_text_view_move_mark_onscreen">
<description>
Moves a mark within the buffer so that it's
located within the currently-visible text area.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the mark moved (wasn’t already onscreen)
</return>
</function>

<function name="gtk_text_view_move_overlay">
<description>
Updates the position of a child, as for gtk_text_view_add_overlay().

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget already added with gtk_text_view_add_overlay()
</parameter_description>
</parameter>
<parameter name="xpos">
<parameter_description> new X position in buffer coordinates
</parameter_description>
</parameter>
<parameter name="ypos">
<parameter_description> new Y position in buffer coordinates
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_move_visually">
<description>
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.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> number of characters to move (negative moves left, 
positive moves right)
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter moved and is not on the end iterator
</return>
</function>

<function name="gtk_text_view_new">
<description>
Creates a new #GtkTextView. If you don’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().


</description>
<parameters>
</parameters>
<return> a new #GtkTextView
</return>
</function>

<function name="gtk_text_view_new_with_buffer">
<description>
Creates a new #GtkTextView widget displaying the buffer
@buffer. One buffer can be shared among many widgets.
@buffer may be %NULL to create a default buffer, in which case
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.


</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkTextView.
</return>
</function>

<function name="gtk_text_view_place_cursor_onscreen">
<description>
Moves the cursor to the currently visible region of the
buffer, if it isn’t there already.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cursor had to be moved.
</return>
</function>

<function name="gtk_text_view_reset_cursor_blink">
<description>
Ensures that the cursor is shown (i.e. not in an 'off' blink
interval) and resets the time that it will stay blinking (or
visible, in case blinking is disabled).

This function should be called in response to user input
(e.g. from derived classes that override the textview's
event handlers).

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_reset_im_context">
<description>
Reset the input method context of the text view if needed.

This can be necessary in the case where modifying the buffer
would confuse on-going input method behavior.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_scroll_mark_onscreen">
<description>
Scrolls @text_view the minimum distance such that @mark is contained
within the visible area of the widget.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> a mark in the buffer for @text_view
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_scroll_to_iter">
<description>
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
@within_margin.

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’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.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
<parameter name="within_margin">
<parameter_description> margin as a [0.0,0.5) fraction of screen size
</parameter_description>
</parameter>
<parameter name="use_align">
<parameter_description> whether to use alignment arguments (if %FALSE,
just get the mark onscreen)
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> horizontal alignment of mark within visible area
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> vertical alignment of mark within visible area
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if scrolling occurred
</return>
</function>

<function name="gtk_text_view_scroll_to_mark">
<description>
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 
@within_margin.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="mark">
<parameter_description> a #GtkTextMark
</parameter_description>
</parameter>
<parameter name="within_margin">
<parameter_description> margin as a [0.0,0.5) fraction of screen size
</parameter_description>
</parameter>
<parameter name="use_align">
<parameter_description> whether to use alignment arguments (if %FALSE, just 
get the mark onscreen)
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> horizontal alignment of mark within visible area
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> vertical alignment of mark within visible area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_accepts_tab">
<description>
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.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> A #GtkTextView
</parameter_description>
</parameter>
<parameter name="accepts_tab">
<parameter_description> %TRUE if pressing the Tab key should insert a tab 
character, %FALSE, if pressing the Tab key should move the 
keyboard focus.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_bottom_margin">
<description>
Sets the bottom margin for text in @text_view.

Note that this function is confusingly named.
In CSS terms, the value set here is padding.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="bottom_margin">
<parameter_description> bottom margin in pixels
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_buffer">
<description>
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 “adopt” it.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_cursor_visible">
<description>
Toggles whether the insertion point should be displayed. A buffer with
no editable text probably shouldn’t have a visible cursor, so you may
want to turn the cursor off.

Note that this property may be overridden by the
#GtkSettings:gtk-keynave-use-caret settings.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> whether to show the insertion cursor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_editable">
<description>
Sets the default editability of the #GtkTextView. You can override
this default setting with tags in the buffer, using the “editable”
attribute of tags.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> whether it’s editable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_extra_menu">
<description>
Sets a menu model to add when constructing
the context menu for @text_view.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_gutter">
<description>
Places @widget into the gutter specified by @win.

@win must be one of %GTK_TEXT_WINDOW_LEFT, %GTK_TEXT_WINDOW_RIGHT,
%GTK_TEXT_WINDOW_TOP, or %GTK_TEXT_WINDOW_BOTTOM.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="win">
<parameter_description> a #GtkTextWindowType
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_indent">
<description>
Sets the default indentation for paragraphs in @text_view.
Tags in the buffer may override the default.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="indent">
<parameter_description> indentation in pixels
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_input_hints">
<description>
Sets the #GtkTextView:input-hints property, which
allows input methods to fine-tune their behaviour.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="hints">
<parameter_description> the hints
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_input_purpose">
<description>
Sets the #GtkTextView:input-purpose property which
can be used by on-screen keyboards and other input
methods to adjust their behaviour.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="purpose">
<parameter_description> the purpose
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_justification">
<description>
Sets the default justification of text in @text_view.
Tags in the view’s buffer may override the default.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="justification">
<parameter_description> justification
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_left_margin">
<description>
Sets the default left margin for text in @text_view.
Tags in the buffer may override the default.

Note that this function is confusingly named.
In CSS terms, the value set here is padding.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="left_margin">
<parameter_description> left margin in pixels
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_monospace">
<description>
Sets the #GtkTextView:monospace property, which
indicates that the text view should use monospace
fonts.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="monospace">
<parameter_description> %TRUE to request monospace styling
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_overwrite">
<description>
Changes the #GtkTextView overwrite mode.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="overwrite">
<parameter_description> %TRUE to turn on overwrite mode, %FALSE to turn it off
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_pixels_above_lines">
<description>
Sets the default number of blank pixels above paragraphs in @text_view.
Tags in the buffer for @text_view may override the defaults.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="pixels_above_lines">
<parameter_description> pixels above paragraphs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_pixels_below_lines">
<description>
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’s buffer. 

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="pixels_below_lines">
<parameter_description> pixels below paragraphs 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_pixels_inside_wrap">
<description>
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’s buffer.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="pixels_inside_wrap">
<parameter_description> default number of pixels between wrapped lines
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_right_margin">
<description>
Sets the default right margin for text in the text view.
Tags in the buffer may override the default.

Note that this function is confusingly named.
In CSS terms, the value set here is padding.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="right_margin">
<parameter_description> right margin in pixels
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_tabs">
<description>
Sets the default tab stops for paragraphs in @text_view.
Tags in the buffer may override the default.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="tabs">
<parameter_description> tabs as a #PangoTabArray
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_top_margin">
<description>
Sets the top margin for text in @text_view.

Note that this function is confusingly named.
In CSS terms, the value set here is padding.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="top_margin">
<parameter_description> top margin in pixels
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_set_wrap_mode">
<description>
Sets the line wrapping for the view.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="wrap_mode">
<parameter_description> a #GtkWrapMode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_view_starts_display_line">
<description>
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.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter begins a wrapped line
</return>
</function>

<function name="gtk_text_view_window_to_buffer_coords">
<description>
Converts coordinates on the window identified by @win to buffer
coordinates, storing the result in (@buffer_x,@buffer_y).

Note that you can’t convert coordinates for a nonexisting window (see 
gtk_text_view_set_border_window_size()).

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="win">
<parameter_description> a #GtkTextWindowType
</parameter_description>
</parameter>
<parameter name="window_x">
<parameter_description> window x coordinate
</parameter_description>
</parameter>
<parameter name="window_y">
<parameter_description> window y coordinate
</parameter_description>
</parameter>
<parameter name="buffer_x">
<parameter_description> buffer x coordinate return location or %NULL
</parameter_description>
</parameter>
<parameter name="buffer_y">
<parameter_description> buffer y coordinate return location or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toggle_button_get_active">
<description>
Queries a #GtkToggleButton and returns its current state. Returns %TRUE if
the toggle button is pressed in and %FALSE if it is raised.


</description>
<parameters>
<parameter name="toggle_button">
<parameter_description> a #GtkToggleButton.
</parameter_description>
</parameter>
</parameters>
<return> a #gboolean value.
</return>
</function>

<function name="gtk_toggle_button_new">
<description>
Creates a new toggle button. A widget should be packed into the button, as in gtk_button_new().


</description>
<parameters>
</parameters>
<return> a new toggle button.
</return>
</function>

<function name="gtk_toggle_button_new_with_label">
<description>
Creates a new toggle button with a text label.


</description>
<parameters>
<parameter name="label">
<parameter_description> a string containing the message to be placed in the toggle button.
</parameter_description>
</parameter>
</parameters>
<return> a new toggle button.
</return>
</function>

<function name="gtk_toggle_button_new_with_mnemonic">
<description>
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.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text of the button, with an underscore in front of the
mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkToggleButton
</return>
</function>

<function name="gtk_toggle_button_set_active">
<description>
Sets the status of the toggle button. Set to %TRUE if you want the
GtkToggleButton to be “pressed in”, and %FALSE to raise it.

If the status of the button changes, this action causes the
#GtkToggleButton::toggled signal to be emitted.

</description>
<parameters>
<parameter name="toggle_button">
<parameter_description> a #GtkToggleButton.
</parameter_description>
</parameter>
<parameter name="is_active">
<parameter_description> %TRUE or %FALSE.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toggle_button_toggled">
<description>
Emits the #GtkToggleButton::toggled signal on the
#GtkToggleButton. There is no good reason for an
application ever to call this function.

</description>
<parameters>
<parameter name="toggle_button">
<parameter_description> a #GtkToggleButton.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_custom">
<description>
Replaces the widget packed into the tooltip with
@custom_widget. @custom_widget does not get destroyed when the tooltip goes
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().

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="custom_widget">
<parameter_description> a #GtkWidget, or %NULL to unset the old custom widget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_icon">
<description>
Sets the icon of the tooltip (which is in front of the text) to be
@paintable.  If @paintable is %NULL, the image will be hidden.

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="paintable">
<parameter_description> a #GdkPaintable, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_icon_from_gicon">
<description>
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.

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="gicon">
<parameter_description> a #GIcon representing the icon, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_icon_from_icon_name">
<description>
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.

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> an icon name, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_markup">
<description>
Sets the text of the tooltip to be @markup, which is marked up
with the [Pango text markup language][PangoMarkupFormat].
If @markup is %NULL, the label will be hidden.

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> a markup string (see [Pango markup format][PangoMarkupFormat]) or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_text">
<description>
Sets the text of the tooltip to be @text. If @text is %NULL, the label
will be hidden. See also gtk_tooltip_set_markup().

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> a text string or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_tip_area">
<description>
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
functions for this: gtk_tree_view_set_tooltip_row() and
gtk_tree_view_set_tooltip_cell().

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> a #GdkRectangle
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_trigger_tooltip_query">
<description>
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.

</description>
<parameters>
<parameter name="display">
<parameter_description> a #GdkDisplay
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_drag_dest_drag_data_received">
<description>
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!


</description>
<parameters>
<parameter name="drag_dest">
<parameter_description> a #GtkTreeDragDest
</parameter_description>
</parameter>
<parameter name="dest">
<parameter_description> row to drop in front of
</parameter_description>
</parameter>
<parameter name="selection_data">
<parameter_description> data to drop
</parameter_description>
</parameter>
</parameters>
<return> whether a new row was created before position @dest
</return>
</function>

<function name="gtk_tree_drag_dest_row_drop_possible">
<description>
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
@selection_data at that location. @dest_path does not have to
exist; the return value will almost certainly be %FALSE if the
parent of @dest_path doesn’t exist, though.


</description>
<parameters>
<parameter name="drag_dest">
<parameter_description> a #GtkTreeDragDest
</parameter_description>
</parameter>
<parameter name="dest_path">
<parameter_description> destination row
</parameter_description>
</parameter>
<parameter name="selection_data">
<parameter_description> the data being dragged
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a drop is possible before @dest_path
</return>
</function>

<function name="gtk_tree_drag_source_drag_data_delete">
<description>
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!


</description>
<parameters>
<parameter name="drag_source">
<parameter_description> a #GtkTreeDragSource
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> row that was being dragged
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row was successfully deleted
</return>
</function>

<function name="gtk_tree_drag_source_drag_data_get">
<description>
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!


</description>
<parameters>
<parameter name="drag_source">
<parameter_description> a #GtkTreeDragSource
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> row that was dragged
</parameter_description>
</parameter>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData to fill with data
from the dragged row
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if data of the required type was provided 
</return>
</function>

<function name="gtk_tree_drag_source_row_draggable">
<description>
Asks the #GtkTreeDragSource whether a particular row can be used as
the source of a DND operation. If the source doesn’t implement
this interface, the row is assumed draggable.


</description>
<parameters>
<parameter name="drag_source">
<parameter_description> a #GtkTreeDragSource
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> row on which user is initiating a drag
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row can be dragged
</return>
</function>

<function name="gtk_tree_get_row_drag_data">
<description>
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’s calling this function, because a pointer to the tree model
is being passed around. If you aren’t in the same process, then you'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().


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> row in @tree_model
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @selection_data had target type %GTK_TREE_MODEL_ROW and
is otherwise valid
</return>
</function>

<function name="gtk_tree_iter_copy">
<description>
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
(`GtkTreeIter new_iter = iter;`).
You must free this iter with gtk_tree_iter_free().


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated copy of @iter
</return>
</function>

<function name="gtk_tree_iter_free">
<description>
Frees an iterator that has been allocated by gtk_tree_iter_copy().

This function is mainly used for language bindings.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a dynamically allocated tree iterator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_list_model_get_autoexpand">
<description>
Gets whether the model is set to automatically expand new rows
that get added. This can be either rows added by changes to the
underlying models or via gtk_tree_list_model_set_expanded().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListModel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the model is set to autoexpand
</return>
</function>

<function name="gtk_tree_list_model_get_child_row">
<description>
Gets the row item corresponding to the child at index @position for
@self's root model.

If @position is greater than the number of children in the root model,
%NULL is returned.

Do not confuse this function with gtk_tree_list_model_get_row().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position of the child to get
</parameter_description>
</parameter>
</parameters>
<return> the child in @position
</return>
</function>

<function name="gtk_tree_list_model_get_model">
<description>
Gets the root model that @self was created with.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListModel
</parameter_description>
</parameter>
</parameters>
<return> the root model
</return>
</function>

<function name="gtk_tree_list_model_get_passthrough">
<description>
If this function returns %FALSE, the #GListModel functions for @self
return custom #GtkTreeListRow objects. You need to call
gtk_tree_list_row_get_item() on these objects to get the original
item.

If %TRUE, the values of the child models are passed through in their
original state. You then need to call gtk_tree_list_model_get_row()
to get the custom #GtkTreeListRows.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListModel
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the model is passing through original row items
</return>
</function>

<function name="gtk_tree_list_model_get_row">
<description>
Gets the row object for the given row. If @position is greater than
the number of items in @self, %NULL is returned.

The row object can be used to expand and collapse rows as well as
to inspect its position in the tree. See its documentation for details.

This row object is persistent and will refer to the current item as
long as the row is present in @self, independent of other rows being
added or removed.

If @self is set to not be passthrough, this function is equivalent
to calling g_list_model_get_item().

Do not confuse this function with gtk_tree_list_model_get_child_row().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListModel
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of the row to fetch
</parameter_description>
</parameter>
</parameters>
<return> The row item 
</return>
</function>

<function name="gtk_tree_list_model_new">
<description>
Creates a new empty #GtkTreeListModel displaying @root with all rows collapsed.


</description>
<parameters>
<parameter name="passthrough">
<parameter_description> %TRUE to pass through items from the models
</parameter_description>
</parameter>
<parameter name="root">
<parameter_description> The #GListModel to use as root
</parameter_description>
</parameter>
<parameter name="autoexpand">
<parameter_description> %TRUE to set the autoexpand property and expand the @root model
</parameter_description>
</parameter>
<parameter name="create_func">
<parameter_description> Function to call to create the #GListModel for the children
of an item
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> Data to pass to @create_func
</parameter_description>
</parameter>
<parameter name="user_destroy">
<parameter_description> Function to call to free @user_data
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkTreeListModel. 
</return>
</function>

<function name="gtk_tree_list_model_set_autoexpand">
<description>
If set to %TRUE, the model will recursively expand all rows that
get added to the model. This can be either rows added by changes
to the underlying models or via gtk_tree_list_model_set_expanded().

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListModel
</parameter_description>
</parameter>
<parameter name="autoexpand">
<parameter_description> %TRUE to make the model autoexpand its rows
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_list_row_get_child_row">
<description>
If @self is not expanded or @position is greater than the number of
children, %NULL is returned.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position of the child to get
</parameter_description>
</parameter>
</parameters>
<return> the child in @position
</return>
</function>

<function name="gtk_tree_list_row_get_children">
<description>
If the row is expanded, gets the model holding the children of @self.

This model is the model created by the #GtkTreeListModelCreateModelFunc
and contains the original items, no matter what value
#GtkTreeListModel:passthrough is set to.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
</parameters>
<return> The model containing the children
</return>
</function>

<function name="gtk_tree_list_row_get_depth">
<description>
Gets the depth of this row. Rows that correspond to items in
the root model have a depth of zero, rows corresponding to items
of models of direct children of the root model have a depth of
1 and so on.

The depth of a row never changes until the row is destroyed.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
</parameters>
<return> The depth of this row
</return>
</function>

<function name="gtk_tree_list_row_get_expanded">
<description>
Gets if a row is currently expanded.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row is expanded
</return>
</function>

<function name="gtk_tree_list_row_get_item">
<description>
Gets the item corresponding to this row,

The value returned by this function never changes until the
row is destroyed.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
</parameters>
<return> The item of this row
or %NULL when the row was destroyed
</return>
</function>

<function name="gtk_tree_list_row_get_parent">
<description>
Gets the row representing the parent for @self. That is the row that would
need to be collapsed to make this row disappear.

If @self is a row corresponding to the root model, %NULL is returned.

The value returned by this function never changes until the
row is destroyed.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
</parameters>
<return> The parent of @self
</return>
</function>

<function name="gtk_tree_list_row_get_position">
<description>
Returns the position in the #GtkTreeListModel that @self occupies
at the moment.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
</parameters>
<return> The position in the model
</return>
</function>

<function name="gtk_tree_list_row_is_expandable">
<description>
Checks if a row can be expanded. This does not mean that the
row is actually expanded, this can be checked with
gtk_tree_list_row_get_expanded()

If a row is expandable never changes until the row is destroyed.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row is expandable
</return>
</function>

<function name="gtk_tree_list_row_set_expanded">
<description>
Expands or collapses a row.

If a row is expanded, the model of calling the 
#GtkTreeListModelCreateModelFunc for the row's item will
be inserted after this row. If a row is collapsed, those
items will be removed from the model.

If the row is not expandable, this function does nothing.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkTreeListRow
</parameter_description>
</parameter>
<parameter name="expanded">
<parameter_description> %TRUE if the row should be expanded
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_filter_clear_cache">
<description>
This function should almost never be called. It clears the @filter
of any cached iterators that haven’t been reffed with
gtk_tree_model_ref_node(). This might be useful if the child model
being filtered is static (and doesn’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.

</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_filter_convert_child_iter_to_iter">
<description>
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.


</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
<parameter name="filter_iter">
<parameter_description> An uninitialized #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="child_iter">
<parameter_description> A valid #GtkTreeIter pointing to a row on the child model.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @filter_iter was set, i.e. if @child_iter is a
valid iterator pointing to a visible row in child model.
</return>
</function>

<function name="gtk_tree_model_filter_convert_child_path_to_path">
<description>
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’t a valid path on the
child model or points to a row which is not visible in @filter, then %NULL
is returned.


</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
<parameter name="child_path">
<parameter_description> A #GtkTreePath to convert.
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated #GtkTreePath, or %NULL.
</return>
</function>

<function name="gtk_tree_model_filter_convert_iter_to_child_iter">
<description>
Sets @child_iter to point to the row pointed to by @filter_iter.

</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
<parameter name="child_iter">
<parameter_description> An uninitialized #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="filter_iter">
<parameter_description> A valid #GtkTreeIter pointing to a row on @filter.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_filter_convert_path_to_child_path">
<description>
Converts @filter_path to a path on the child model of @filter. That is,
@filter_path points to a location in @filter. The returned path will
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.


</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
<parameter name="filter_path">
<parameter_description> A #GtkTreePath to convert.
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated #GtkTreePath, or %NULL.
</return>
</function>

<function name="gtk_tree_model_filter_get_model">
<description>
Returns a pointer to the child model of @filter.


</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
</parameters>
<return> A pointer to a #GtkTreeModel.
</return>
</function>

<function name="gtk_tree_model_filter_new">
<description>
Creates a new #GtkTreeModel, with @child_model as the child_model
and @root as the virtual root.


</description>
<parameters>
<parameter name="child_model">
<parameter_description> A #GtkTreeModel.
</parameter_description>
</parameter>
<parameter name="root">
<parameter_description> A #GtkTreePath or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkTreeModel.
</return>
</function>

<function name="gtk_tree_model_filter_refilter">
<description>
Emits ::row_changed for each row in the child model, which causes
the filter to re-evaluate whether a row is visible or not.

</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_filter_set_modify_func">
<description>
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 each
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.

Note that gtk_tree_model_filter_set_modify_func()
can only be called once for a given filter model.

</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter.
</parameter_description>
</parameter>
<parameter name="n_columns">
<parameter_description> The number of columns in the filter model.
</parameter_description>
</parameter>
<parameter name="types">
<parameter_description> The #GTypes of the columns.
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> A #GtkTreeModelFilterModifyFunc
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> User data to pass to the modify function, or %NULL.
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> Destroy notifier of @data, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_filter_set_visible_column">
<description>
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.

Note that gtk_tree_model_filter_set_visible_func() or
gtk_tree_model_filter_set_visible_column() can only be called
once for a given filter model.

</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> A #gint which is the column containing the visible information
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_filter_set_visible_func">
<description>
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 up-to-date.

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;!-- language=&quot;C&quot; --&gt;
static gboolean
visible_func (GtkTreeModel *model,
GtkTreeIter  *iter,
gpointer      data)
{
// Visible if row is non-empty and first column is “HI”
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;
}
]|

Note that gtk_tree_model_filter_set_visible_func() or
gtk_tree_model_filter_set_visible_column() can only be called
once for a given filter model.

</description>
<parameters>
<parameter name="filter">
<parameter_description> A #GtkTreeModelFilter
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> A #GtkTreeModelFilterVisibleFunc, the visible function
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> User data to pass to the visible function, or %NULL
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> Destroy notifier of @data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_foreach">
<description>
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.

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a function to be called on each row
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to passed to @func
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_get">
<description>
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
write: `gtk_tree_model_get (model, iter, 0, &amp;place_string_here, -1)`,
where `place_string_here` is a #gchararray
to be filled with the string.

Returned values with type %G_TYPE_OBJECT have to be unreferenced,
values with type %G_TYPE_STRING or %G_TYPE_BOXED have to be freed.
Other values are passed by value.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a row in @tree_model
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> pairs of column number and value return locations,
terminated by -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_get_column_type">
<description>
Returns the type of the column.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the column index
</parameter_description>
</parameter>
</parameters>
<return> the type of the column
</return>
</function>

<function name="gtk_tree_model_get_flags">
<description>
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 lifetime
of the @tree_model.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return> the flags supported by this interface
</return>
</function>

<function name="gtk_tree_model_get_iter">
<description>
Sets @iter to a valid iterator pointing to @path.  If @path does
not exist, @iter is set to an invalid iterator and %FALSE is returned.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the uninitialized #GtkTreeIter-struct
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter was set
</return>
</function>

<function name="gtk_tree_model_get_iter_first">
<description>
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.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the uninitialized #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter was set
</return>
</function>

<function name="gtk_tree_model_get_iter_from_string">
<description>
Sets @iter to a valid iterator pointing to @path_string, if it
exists. Otherwise, @iter is left invalid and %FALSE is returned.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> an uninitialized #GtkTreeIter-struct
</parameter_description>
</parameter>
<parameter name="path_string">
<parameter_description> a string representation of a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter was set
</return>
</function>

<function name="gtk_tree_model_get_n_columns">
<description>
Returns the number of columns supported by @tree_model.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return> the number of columns
</return>
</function>

<function name="gtk_tree_model_get_path">
<description>
Returns a newly-created #GtkTreePath-struct referenced by @iter.

This path should be freed with gtk_tree_path_free().


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return> a newly-created #GtkTreePath-struct
</return>
</function>

<function name="gtk_tree_model_get_string_from_iter">
<description>
Generates a string representation of the iter.

This string is a “:” separated list of numbers.
For example, “4:10:0:3” would be an acceptable
return value for this string.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated string.
Must be freed with g_free().
</return>
</function>

<function name="gtk_tree_model_get_valist">
<description>
See gtk_tree_model_get(), this version takes a va_list
for language bindings to use.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a row in @tree_model
</parameter_description>
</parameter>
<parameter name="var_args">
<parameter_description> va_list of column/return location pairs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_get_value">
<description>
Initializes and sets @value to that at @column.

When done with @value, g_value_unset() needs to be called
to free any allocated memory.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> the column to lookup the value at
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> an empty #GValue to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_iter_children">
<description>
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
`gtk_tree_model_get_iter_first (tree_model, iter);`


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the new #GtkTreeIter-struct to be set to the child
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the #GtkTreeIter-struct, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter has been set to the first child
</return>
</function>

<function name="gtk_tree_model_iter_has_child">
<description>
Returns %TRUE if @iter has children, %FALSE otherwise.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct to test for children
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter has children
</return>
</function>

<function name="gtk_tree_model_iter_n_children">
<description>
Returns the number of children that @iter has.

As a special case, if @iter is %NULL, then the number
of toplevel nodes is returned.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the number of children of @iter
</return>
</function>

<function name="gtk_tree_model_iter_next">
<description>
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.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter has been changed to the next node
</return>
</function>

<function name="gtk_tree_model_iter_nth_child">
<description>
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-th root node
is set.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct to set to the nth child
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the #GtkTreeIter-struct to get the child from, or %NULL.
</parameter_description>
</parameter>
<parameter name="n">
<parameter_description> the index of the desired child
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @parent has an @n-th child
</return>
</function>

<function name="gtk_tree_model_iter_parent">
<description>
Sets @iter to be the parent of @child.

If @child is at the toplevel, and doesn’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.

@iter will be initialized before the lookup is performed, so @child
and @iter cannot point to the same memory location.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the new #GtkTreeIter-struct to set to the parent
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter is set to the parent of @child
</return>
</function>

<function name="gtk_tree_model_iter_previous">
<description>
Sets @iter to point to the previous node at the current level.

If there is no previous @iter, %FALSE is returned and @iter is
set to be invalid.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter has been changed to the previous node
</return>
</function>

<function name="gtk_tree_model_ref_node">
<description>
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 models know when nodes are being displayed (and hence,
whether or not to cache that node). Being displayed means a node
is in an expanded branch, regardless of whether the node is currently
visible in the viewport. 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.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_row_changed">
<description>
Emits the #GtkTreeModel::row-changed signal on @tree_model.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct pointing to the changed row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the changed row
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_row_deleted">
<description>
Emits the #GtkTreeModel::row-deleted 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.

Nodes that are deleted are not unreffed, this means that any
outstanding references on the deleted node should not be released.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct pointing to the previous location of
the deleted row
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_row_has_child_toggled">
<description>
Emits the #GtkTreeModel::row-has-child-toggled signal on
@tree_model. This should be called by models after the child
state of a node changes.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct pointing to the changed row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the changed row
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_row_inserted">
<description>
Emits the #GtkTreeModel::row-inserted signal on @tree_model.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct pointing to the inserted row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the inserted row
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_rows_reordered">
<description>
Emits the #GtkTreeModel::rows-reordered signal on @tree_model.

This should be called by models when their rows have been
reordered.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct pointing to the tree node whose children
have been reordered
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the node whose children
have been reordered, or %NULL if the depth of @path is 0
</parameter_description>
</parameter>
<parameter name="new_order">
<parameter_description> an array of integers mapping the current position of
each child to its old position before the re-ordering,
i.e. @new_order`[newpos] = oldpos`
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_rows_reordered_with_length">
<description>
Emits the #GtkTreeModel::rows-reordered signal on @tree_model.

This should be called by models when their rows have been
reordered.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct pointing to the tree node whose children
have been reordered
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter-struct pointing to the node
whose children have been reordered, or %NULL if the depth
of @path is 0
</parameter_description>
</parameter>
<parameter name="new_order">
<parameter_description> an array of integers
mapping the current position of each child to its old
position before the re-ordering,
i.e. @new_order`[newpos] = oldpos`
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @new_order array
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_sort_clear_cache">
<description>
This function should almost never be called.  It clears the @tree_model_sort
of any cached iterators that haven’t been reffed with
gtk_tree_model_ref_node().  This might be useful if the child model being
sorted is static (and doesn’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.

</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> A #GtkTreeModelSort
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_sort_convert_child_iter_to_iter">
<description>
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
is returned.  Note: a boolean is only returned since 2.14.


</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> A #GtkTreeModelSort
</parameter_description>
</parameter>
<parameter name="sort_iter">
<parameter_description> An uninitialized #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="child_iter">
<parameter_description> A valid #GtkTreeIter pointing to a row on the child model
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @sort_iter was set, i.e. if @sort_iter is a
valid iterator pointer to a visible row in the child model.
</return>
</function>

<function name="gtk_tree_model_sort_convert_child_path_to_path">
<description>
Converts @child_path to a path relative to @tree_model_sort.  That is,
@child_path points to a path in the child model.  The returned path will
point to the same row in the sorted model.  If @child_path isn’t a valid 
path on the child model, then %NULL is returned.


</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> A #GtkTreeModelSort
</parameter_description>
</parameter>
<parameter name="child_path">
<parameter_description> A #GtkTreePath to convert
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated #GtkTreePath, or %NULL
</return>
</function>

<function name="gtk_tree_model_sort_convert_iter_to_child_iter">
<description>
Sets @child_iter to point to the row pointed to by @sorted_iter.

</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> A #GtkTreeModelSort
</parameter_description>
</parameter>
<parameter name="child_iter">
<parameter_description> An uninitialized #GtkTreeIter
</parameter_description>
</parameter>
<parameter name="sorted_iter">
<parameter_description> A valid #GtkTreeIter pointing to a row on @tree_model_sort.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_sort_convert_path_to_child_path">
<description>
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.


</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> A #GtkTreeModelSort
</parameter_description>
</parameter>
<parameter name="sorted_path">
<parameter_description> A #GtkTreePath to convert
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated #GtkTreePath, or %NULL
</return>
</function>

<function name="gtk_tree_model_sort_get_model">
<description>
Returns the model the #GtkTreeModelSort is sorting.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModelSort
</parameter_description>
</parameter>
</parameters>
<return> the &quot;child model&quot; being sorted
</return>
</function>

<function name="gtk_tree_model_sort_iter_is_valid">
<description>
&gt; This function is slow. Only use it for debugging and/or testing
&gt; purposes.

Checks if the given iter is a valid iter for this #GtkTreeModelSort.


</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> A #GtkTreeModelSort.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iter is valid, %FALSE if the iter is invalid.
</return>
</function>

<function name="gtk_tree_model_sort_new_with_model">
<description>
Creates a new #GtkTreeModelSort, with @child_model as the child model.


</description>
<parameters>
<parameter name="child_model">
<parameter_description> A #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkTreeModelSort.
</return>
</function>

<function name="gtk_tree_model_sort_reset_default_sort_func">
<description>
This resets the default sort function to be in the “unsorted” 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 “unsorted” state.

</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> A #GtkTreeModelSort
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_sort_set_model">
<description>
Sets the model of @tree_model_sort to be @model.  If @model is %NULL, 
then the old model is unset.  The sort function is unset as a result 
of this call. The model will be in an unsorted state until a sort 
function is set.

</description>
<parameters>
<parameter name="tree_model_sort">
<parameter_description> The #GtkTreeModelSort.
</parameter_description>
</parameter>
<parameter name="child_model">
<parameter_description> A #GtkTreeModel, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_model_unref_node">
<description>
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.

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter-struct
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_path_append_index">
<description>
Appends a new index to a path.

As a result, the depth of the path is increased.

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_path_compare">
<description>
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.


</description>
<parameters>
<parameter name="a">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
<parameter name="b">
<parameter_description> a #GtkTreePath-struct to compare with
</parameter_description>
</parameter>
</parameters>
<return> the relative positions of @a and @b
</return>
</function>

<function name="gtk_tree_path_copy">
<description>
Creates a new #GtkTreePath-struct as a copy of @path.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkTreePath-struct
</return>
</function>

<function name="gtk_tree_path_down">
<description>
Moves @path to point to the first child of the current path.

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_path_free">
<description>
Frees @path. If @path is %NULL, it simply returns.

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_path_get_depth">
<description>
Returns the current depth of @path.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> The depth of @path
</return>
</function>

<function name="gtk_tree_path_get_indices">
<description>
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.

The length of the array can be obtained with gtk_tree_path_get_depth().


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> The current indices, or %NULL
</return>
</function>

<function name="gtk_tree_path_get_indices_with_depth">
<description>
Returns the current indices of @path.

This is an array of integers, each representing a node in a tree.
It also returns the number of elements in the array.
The array should not be freed.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
<parameter name="depth">
<parameter_description> return location for number of elements
returned in the integer array, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> The current
indices, or %NULL
</return>
</function>

<function name="gtk_tree_path_is_ancestor">
<description>
Returns %TRUE if @descendant is a descendant of @path.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
<parameter name="descendant">
<parameter_description> another #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @descendant is contained inside @path
</return>
</function>

<function name="gtk_tree_path_is_descendant">
<description>
Returns %TRUE if @path is a descendant of @ancestor.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
<parameter name="ancestor">
<parameter_description> another #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @ancestor contains @path somewhere below it
</return>
</function>

<function name="gtk_tree_path_new">
<description>
Creates a new #GtkTreePath-struct.
This refers to a row.


</description>
<parameters>
</parameters>
<return> A newly created #GtkTreePath-struct.
</return>
</function>

<function name="gtk_tree_path_new_first">
<description>
Creates a new #GtkTreePath-struct.

The string representation of this path is “0”.


</description>
<parameters>
</parameters>
<return> A new #GtkTreePath-struct
</return>
</function>

<function name="gtk_tree_path_new_from_indices">
<description>
Creates a new path with @first_index and @varargs as indices.


</description>
<parameters>
<parameter name="first_index">
<parameter_description> first integer
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> list of integers terminated by -1
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkTreePath-struct
</return>
</function>

<function name="gtk_tree_path_new_from_indicesv">
<description>
Creates a new path with the given @indices array of @length.


</description>
<parameters>
<parameter name="indices">
<parameter_description> array of indices
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @indices array
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkTreePath-struct
</return>
</function>

<function name="gtk_tree_path_new_from_string">
<description>
Creates a new #GtkTreePath-struct initialized to @path.

@path is expected to be a colon separated list of numbers.
For example, the string “10:4:0” 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.


</description>
<parameters>
<parameter name="path">
<parameter_description> The string representation of a path
</parameter_description>
</parameter>
</parameters>
<return> A newly-created #GtkTreePath-struct, or %NULL
</return>
</function>

<function name="gtk_tree_path_next">
<description>
Moves the @path to point to the next node at the current depth.

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_path_prepend_index">
<description>
Prepends a new index to a path.

As a result, the depth of the path is increased.

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_path_prev">
<description>
Moves the @path to point to the previous node at the
current depth, if it exists.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @path has a previous node, and
the move was made
</return>
</function>

<function name="gtk_tree_path_to_string">
<description>
Generates a string representation of the path.

This string is a “:” separated list of numbers.
For example, “4:10:0:3” would be an acceptable
return value for this string.


</description>
<parameters>
<parameter name="path">
<parameter_description> A #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> A newly-allocated string.
Must be freed with g_free().
</return>
</function>

<function name="gtk_tree_path_up">
<description>
Moves the @path to point to its parent node, if it has a parent.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath-struct
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @path has a parent, and the move was made
</return>
</function>

<function name="gtk_tree_rbtree_contains">
<description>
Checks if @potential_child is a child (direct or via intermediate
trees) of @tree.


</description>
<parameters>
<parameter name="tree">
<parameter_description> a tree
</parameter_description>
</parameter>
<parameter name="potential_child">
<parameter_description> a potential child of @tree
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @potentitial_child is a child of @tree.
</return>
</function>

<function name="gtk_tree_row_reference_copy">
<description>
Copies a #GtkTreeRowReference.


</description>
<parameters>
<parameter name="reference">
<parameter_description> a #GtkTreeRowReference
</parameter_description>
</parameter>
</parameters>
<return> a copy of @reference
</return>
</function>

<function name="gtk_tree_row_reference_deleted">
<description>
Lets a set of row reference created by
gtk_tree_row_reference_new_proxy() know that the
model emitted the #GtkTreeModel::row-deleted signal.

</description>
<parameters>
<parameter name="proxy">
<parameter_description> a #GObject
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the path position that was deleted
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_row_reference_free">
<description>
Free’s @reference. @reference may be %NULL

</description>
<parameters>
<parameter name="reference">
<parameter_description> a #GtkTreeRowReference, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_row_reference_get_model">
<description>
Returns the model that the row reference is monitoring.


</description>
<parameters>
<parameter name="reference">
<parameter_description> a #GtkTreeRowReference
</parameter_description>
</parameter>
</parameters>
<return> the model
</return>
</function>

<function name="gtk_tree_row_reference_get_path">
<description>
Returns a path that the row reference currently points to,
or %NULL if the path pointed to is no longer valid.


</description>
<parameters>
<parameter name="reference">
<parameter_description> a #GtkTreeRowReference
</parameter_description>
</parameter>
</parameters>
<return> a current path, or %NULL
</return>
</function>

<function name="gtk_tree_row_reference_inserted">
<description>
Lets a set of row reference created by
gtk_tree_row_reference_new_proxy() know that the
model emitted the #GtkTreeModel::row-inserted signal.

</description>
<parameters>
<parameter name="proxy">
<parameter_description> a #GObject
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the row position that was inserted
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_row_reference_new">
<description>
Creates a row reference based on @path.

This reference will keep pointing to the node pointed to
by @path, so long as it exists. Any changes that occur on @model are
propagated, and the path is updated appropriately. If
@path isn’t a valid path in @model, then %NULL is returned.


</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a valid #GtkTreePath-struct to monitor
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated #GtkTreeRowReference, or %NULL
</return>
</function>

<function name="gtk_tree_row_reference_new_proxy">
<description>
You do not need to use this function.

Creates a row reference based on @path.

This reference will keep pointing to the node pointed to
by @path, so long as it exists. If @path isn’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’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.


</description>
<parameters>
<parameter name="proxy">
<parameter_description> a proxy #GObject
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a valid #GtkTreePath-struct to monitor
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated #GtkTreeRowReference, or %NULL
</return>
</function>

<function name="gtk_tree_row_reference_reordered">
<description>
Lets a set of row reference created by
gtk_tree_row_reference_new_proxy() know that the
model emitted the #GtkTreeModel::rows-reordered signal.

</description>
<parameters>
<parameter name="proxy">
<parameter_description> a #GObject
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the parent path of the reordered signal
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the iter pointing to the parent of the reordered
</parameter_description>
</parameter>
<parameter name="new_order">
<parameter_description> the new order of rows
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_row_reference_valid">
<description>
Returns %TRUE if the @reference is non-%NULL and refers to
a current valid path.


</description>
<parameters>
<parameter name="reference">
<parameter_description> a #GtkTreeRowReference, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @reference points to a valid path
</return>
</function>

<function name="gtk_tree_selection_count_selected_rows">
<description>
Returns the number of rows that have been selected in @tree.


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
</parameters>
<return> The number of rows selected.
</return>
</function>

<function name="gtk_tree_selection_get_mode">
<description>
Gets the selection mode for @selection. See
gtk_tree_selection_set_mode().


</description>
<parameters>
<parameter name="selection">
<parameter_description> a #GtkTreeSelection
</parameter_description>
</parameter>
</parameters>
<return> the current selection mode
</return>
</function>

<function name="gtk_tree_selection_get_select_function">
<description>
Returns the current selection function.


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
</parameters>
<return> The function.
</return>
</function>

<function name="gtk_tree_selection_get_selected">
<description>
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.


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> A pointer to set to the #GtkTreeModel, or NULL.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> The #GtkTreeIter, or NULL.
</parameter_description>
</parameter>
</parameters>
<return> TRUE, if there is a selected node.
</return>
</function>

<function name="gtk_tree_selection_get_selected_rows">
<description>
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 #GtkTreeRowReferences.
To do this, you can use gtk_tree_row_reference_new().

To free the return value, use:
|[&lt;!-- language=&quot;C&quot; --&gt;
g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
]|


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> A pointer to set to the #GtkTreeModel, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> A #GList containing a #GtkTreePath for each selected row.
</return>
</function>

<function name="gtk_tree_selection_get_tree_view">
<description>
Returns the tree view associated with @selection.


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection
</parameter_description>
</parameter>
</parameters>
<return> A #GtkTreeView
</return>
</function>

<function name="gtk_tree_selection_get_user_data">
<description>
Returns the user data for the selection function.


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
</parameters>
<return> The user data.
</return>
</function>

<function name="gtk_tree_selection_iter_is_selected">
<description>
Returns %TRUE if the row at @iter is currently selected.


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter is selected
</return>
</function>

<function name="gtk_tree_selection_path_is_selected">
<description>
Returns %TRUE if the row pointed to by @path is currently selected.  If @path
does not point to a valid location, %FALSE is returned


</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A #GtkTreePath to check selection on.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @path is selected.
</return>
</function>

<function name="gtk_tree_selection_select_all">
<description>
Selects all the nodes. @selection must be set to #GTK_SELECTION_MULTIPLE
mode.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_select_iter">
<description>
Selects the specified iterator.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> The #GtkTreeIter to be selected.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_select_path">
<description>
Select the row at @path.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The #GtkTreePath to be selected.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_select_range">
<description>
Selects a range of nodes, determined by @start_path and @end_path inclusive.
@selection must be set to #GTK_SELECTION_MULTIPLE mode. 

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="start_path">
<parameter_description> The initial node of the range.
</parameter_description>
</parameter>
<parameter name="end_path">
<parameter_description> The final node of the range.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_selected_foreach">
<description>
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.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> The function to call for each selected node.
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data to pass to the function.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_set_mode">
<description>
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.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> The selection mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_set_select_function">
<description>
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.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> The selection function. May be %NULL
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> The selection function’s data. May be %NULL
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> The destroy function for user data.  May be %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_unselect_all">
<description>
Unselects all the nodes.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_unselect_iter">
<description>
Unselects the specified iterator.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> The #GtkTreeIter to be unselected.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_unselect_path">
<description>
Unselects the row at @path.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The #GtkTreePath to be unselected.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_selection_unselect_range">
<description>
Unselects a range of nodes, determined by @start_path and @end_path
inclusive.

</description>
<parameters>
<parameter name="selection">
<parameter_description> A #GtkTreeSelection.
</parameter_description>
</parameter>
<parameter name="start_path">
<parameter_description> The initial node of the range.
</parameter_description>
</parameter>
<parameter name="end_path">
<parameter_description> The initial node of the range.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_set_row_drag_data">
<description>
Sets selection data of target type %GTK_TREE_MODEL_ROW. Normally used
in a drag_data_get handler.


</description>
<parameters>
<parameter name="selection_data">
<parameter_description> some #GtkSelectionData
</parameter_description>
</parameter>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a row in @tree_model
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the #GtkSelectionData had the proper target type to allow us to set a tree row
</return>
</function>

<function name="gtk_tree_sortable_get_sort_column_id">
<description>
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.


</description>
<parameters>
<parameter name="sortable">
<parameter_description> A #GtkTreeSortable
</parameter_description>
</parameter>
<parameter name="sort_column_id">
<parameter_description> The sort column id to be filled in
</parameter_description>
</parameter>
<parameter name="order">
<parameter_description> The #GtkSortType to be filled in
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the sort column is not one of the special sort
column ids.
</return>
</function>

<function name="gtk_tree_sortable_has_default_sort_func">
<description>
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.


</description>
<parameters>
<parameter name="sortable">
<parameter_description> A #GtkTreeSortable
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if the model has a default sort function
</return>
</function>

<function name="gtk_tree_sortable_set_default_sort_func">
<description>
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’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.

</description>
<parameters>
<parameter name="sortable">
<parameter_description> A #GtkTreeSortable
</parameter_description>
</parameter>
<parameter name="sort_func">
<parameter_description> The comparison function
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> User data to pass to @sort_func, or %NULL
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> Destroy notifier of @user_data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_sortable_set_sort_column_id">
<description>
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. @sort_column_id may either be
a regular column id, or one of the following special values:

- %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: the default sort function
will be used, if it is set

- %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: no sorting will occur

</description>
<parameters>
<parameter name="sortable">
<parameter_description> A #GtkTreeSortable
</parameter_description>
</parameter>
<parameter name="sort_column_id">
<parameter_description> the sort column id to set
</parameter_description>
</parameter>
<parameter name="order">
<parameter_description> The sort order of the column
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_sortable_set_sort_func">
<description>
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.

</description>
<parameters>
<parameter name="sortable">
<parameter_description> A #GtkTreeSortable
</parameter_description>
</parameter>
<parameter name="sort_column_id">
<parameter_description> the sort column id to set the function for
</parameter_description>
</parameter>
<parameter name="sort_func">
<parameter_description> The comparison function
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> User data to pass to @sort_func, or %NULL
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> Destroy notifier of @user_data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_sortable_sort_column_changed">
<description>
Emits a #GtkTreeSortable::sort-column-changed signal on @sortable.

</description>
<parameters>
<parameter name="sortable">
<parameter_description> A #GtkTreeSortable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_append">
<description>
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().

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the appended row
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_clear">
<description>
Removes all rows from @tree_store

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> a #GtkTreeStore
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_insert">
<description>
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 -1 or 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().


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position to insert the new row, or -1 for last
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_insert_after">
<description>
Inserts a new row after @sibling.  If @sibling is %NULL, then the row will be
prepended to @parent ’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,
@parent is optional.

@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().


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_insert_before">
<description>
Inserts a new row before @sibling.  If @sibling is %NULL, then the row will
be appended to @parent ’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,
@parent is optional.

@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().


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the new row
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
<parameter name="sibling">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_insert_with_values">
<description>
Creates a new row at @position. @iter will be changed to point to this
new row. If @position is -1, or 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
`gtk_tree_store_insert_with_values (tree_store, iter, position, ...)`
has the same effect as calling
|[&lt;!-- language=&quot;C&quot; --&gt;
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.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set the new row, or %NULL.
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position to insert the new row, or -1 to append after existing rows
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> pairs of column number and value, terminated with -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_insert_with_valuesv">
<description>
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.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set the new row, or %NULL.
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> position to insert the new row, or -1 for last
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> an array of column numbers
</parameter_description>
</parameter>
<parameter name="values">
<parameter_description> an array of GValues
</parameter_description>
</parameter>
<parameter name="n_values">
<parameter_description> the length of the @columns and @values arrays
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_is_ancestor">
<description>
Returns %TRUE if @iter is an ancestor of @descendant.  That is, @iter is the
parent (or grandparent or great-grandparent) of @descendant.


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter
</parameter_description>
</parameter>
<parameter name="descendant">
<parameter_description> A valid #GtkTreeIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter is an ancestor of @descendant
</return>
</function>

<function name="gtk_tree_store_iter_depth">
<description>
Returns the depth of @iter.  This will be 0 for anything on the root level, 1
for anything down a level, etc.


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter
</parameter_description>
</parameter>
</parameters>
<return> The depth of @iter
</return>
</function>

<function name="gtk_tree_store_iter_is_valid">
<description>
WARNING: This function is slow. Only use it for debugging and/or testing
purposes.

Checks if the given iter is a valid iter for this #GtkTreeStore.


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iter is valid, %FALSE if the iter is invalid.
</return>
</function>

<function name="gtk_tree_store_move_after">
<description>
Moves @iter in @tree_store to the position after @position. @iter and
@position should be in the same level. Note that this function only
works with unsorted stores. If @position is %NULL, @iter will be moved
to the start of the level.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_move_before">
<description>
Moves @iter in @tree_store to the position before @position. @iter and
@position should be in the same level. Note that this function only
works with unsorted stores. If @position is %NULL, @iter will be
moved to the end of the level.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> A #GtkTreeIter or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_new">
<description>
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, `gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING,
GDK_TYPE_TEXTURE);` will create a new #GtkTreeStore with three columns, of type
#gint, #gchararray, and #GdkTexture respectively.


</description>
<parameters>
<parameter name="n_columns">
<parameter_description> number of columns in the tree store
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> all #GType types for the columns, from first to last
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkTreeStore
</return>
</function>

<function name="gtk_tree_store_newv">
<description>
Non vararg creation function.  Used primarily by language bindings.


</description>
<parameters>
<parameter name="n_columns">
<parameter_description> number of columns in the tree store
</parameter_description>
</parameter>
<parameter name="types">
<parameter_description> an array of #GType types for the columns, from first to last
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkTreeStore
</return>
</function>

<function name="gtk_tree_store_prepend">
<description>
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().

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> An unset #GtkTreeIter to set to the prepended row
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A valid #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_remove">
<description>
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.


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is still valid, %FALSE if not.
</return>
</function>

<function name="gtk_tree_store_reorder">
<description>
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.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
<parameter name="new_order">
<parameter_description> an array of integers mapping the new position of each child
to its old position before the re-ordering,
i.e. @new_order`[newpos] = oldpos`.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_set">
<description>
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 “Foo”, you would write
`gtk_tree_store_set (store, iter, 0, &quot;Foo&quot;, -1)`.

The value will be referenced by the store if it is a %G_TYPE_OBJECT, and it
will be copied if it is a %G_TYPE_STRING or %G_TYPE_BOXED.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter for the row being modified
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> pairs of column number and value, terminated with -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_set_column_type">
<description>
Supported types include: %G_TYPE_UINT, %G_TYPE_INT, %G_TYPE_UCHAR,
%G_TYPE_CHAR, %G_TYPE_BOOLEAN, %G_TYPE_POINTER, %G_TYPE_FLOAT,
%G_TYPE_DOUBLE, %G_TYPE_STRING, %G_TYPE_OBJECT, and %G_TYPE_BOXED, along with
subclasses of those types such as %GDK_TYPE_PIXBUF.


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> a #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> column number
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> type of the data to be stored in @column
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_set_column_types">
<description>
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.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="n_columns">
<parameter_description> Number of columns for the tree store
</parameter_description>
</parameter>
<parameter name="types">
<parameter_description> An array of #GType types, one for each column
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_set_valist">
<description>
See gtk_tree_store_set(); this version takes a va_list for
use by language bindings.


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter for the row being modified
</parameter_description>
</parameter>
<parameter name="var_args">
<parameter_description> va_list of column/value pairs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_set_value">
<description>
Sets the data in the cell specified by @iter and @column.
The type of @value must be convertible to the type of the
column.


</description>
<parameters>
<parameter name="tree_store">
<parameter_description> a #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter for the row being modified
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> column number to modify
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> new value for the cell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_set_valuesv">
<description>
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.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> A valid #GtkTreeIter for the row being modified
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> an array of column numbers
</parameter_description>
</parameter>
<parameter name="values">
<parameter_description> an array of GValues
</parameter_description>
</parameter>
<parameter name="n_values">
<parameter_description> the length of the @columns and @values arrays
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_store_swap">
<description>
Swaps @a and @b in the same level of @tree_store. Note that this function
only works with unsorted stores.

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore.
</parameter_description>
</parameter>
<parameter name="a">
<parameter_description> A #GtkTreeIter.
</parameter_description>
</parameter>
<parameter name="b">
<parameter_description> Another #GtkTreeIter.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_append_column">
<description>
Appends @column to the list of columns. If @tree_view has “fixed_height”
mode enabled, then @column must have its “sizing” property set to be
GTK_TREE_VIEW_COLUMN_FIXED.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> The #GtkTreeViewColumn to add.
</parameter_description>
</parameter>
</parameters>
<return> The number of columns in @tree_view after appending.
</return>
</function>

<function name="gtk_tree_view_collapse_all">
<description>
Recursively collapses all visible, expanded nodes in @tree_view.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_collapse_row">
<description>
Collapses a row (hides its child rows, if they exist).


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> path to a row in the @tree_view
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row was collapsed.
</return>
</function>

<function name="gtk_tree_view_column_add_attribute">
<description>
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
“text” attribute of a #GtkCellRendererText get its values from
column 2.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="cell_renderer">
<parameter_description> the #GtkCellRenderer to set attributes on
</parameter_description>
</parameter>
<parameter name="attribute">
<parameter_description> An attribute on the renderer
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> The column position on the model to get the attribute from.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_cell_get_position">
<description>
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.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="cell_renderer">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="x_offset">
<parameter_description> return location for the horizontal
position of @cell within @tree_column, may be %NULL
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> return location for the width of @cell,
may be %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @cell belongs to @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_cell_get_size">
<description>
Obtains the width and height needed to render the column.  This is used
primarily by the #GtkTreeView.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="x_offset">
<parameter_description> location to return x offset of a cell relative to @cell_area, or %NULL
</parameter_description>
</parameter>
<parameter name="y_offset">
<parameter_description> location to return y offset of a cell relative to @cell_area, or %NULL
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to return width needed to render a cell, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to return height needed to render a cell, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_cell_is_visible">
<description>
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()


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if any of the cells packed into the @tree_column are currently visible
</return>
</function>

<function name="gtk_tree_view_column_cell_set_cell_data">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="tree_model">
<parameter_description> The #GtkTreeModel to to get the cell renderers attributes from.
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> The #GtkTreeIter to to get the cell renderer’s attributes from.
</parameter_description>
</parameter>
<parameter name="is_expander">
<parameter_description> %TRUE, if the row has children
</parameter_description>
</parameter>
<parameter name="is_expanded">
<parameter_description> %TRUE, if the row has visible children
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_cell_snapshot">
<description>
Renders the cell contained by #tree_column. This is used primarily by the
#GtkTreeView.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="snapshot">
<parameter_description> #GtkSnapshot to draw to
</parameter_description>
</parameter>
<parameter name="background_area">
<parameter_description> entire cell area (including tree expanders and maybe padding on the sides)
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> area normally rendered by a cell renderer
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags that affect rendering
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_clear">
<description>
Unsets all the mappings on all renderers on the @tree_column.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_clear_attributes">
<description>
Clears all existing attributes previously set with
gtk_tree_view_column_set_attributes().

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="cell_renderer">
<parameter_description> a #GtkCellRenderer to clear the attribute mapping on.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_clicked">
<description>
Emits the “clicked” signal on the column.  This function will only work if
@tree_column is clickable.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_focus_cell">
<description>
Sets the current keyboard focus to be at @cell, if the column contains
2 or more editable and activatable cells.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_get_alignment">
<description>
Returns the current x alignment of @tree_column.  This value can range
between 0.0 and 1.0.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The current alignent of @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_get_button">
<description>
Returns the button used in the treeview column header


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> The button for the column header.
</return>
</function>

<function name="gtk_tree_view_column_get_clickable">
<description>
Returns %TRUE if the user can click on the header for the column.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if user can click the column header.
</return>
</function>

<function name="gtk_tree_view_column_get_expand">
<description>
Returns %TRUE if the column expands to fill available space.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the column expands to fill available space.
</return>
</function>

<function name="gtk_tree_view_column_get_fixed_width">
<description>
Gets the fixed width of the column.  This may not be the actual displayed
width of the column; for that, use gtk_tree_view_column_get_width().


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The fixed width of the column.
</return>
</function>

<function name="gtk_tree_view_column_get_max_width">
<description>
Returns the maximum width in pixels of the @tree_column, or -1 if no maximum
width is set.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The maximum width of the @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_get_min_width">
<description>
Returns the minimum width in pixels of the @tree_column, or -1 if no minimum
width is set.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The minimum width of the @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_get_reorderable">
<description>
Returns %TRUE if the @tree_column can be reordered by the user.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the @tree_column can be reordered by the user.
</return>
</function>

<function name="gtk_tree_view_column_get_resizable">
<description>
Returns %TRUE if the @tree_column can be resized by the end user.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if the @tree_column can be resized.
</return>
</function>

<function name="gtk_tree_view_column_get_sizing">
<description>
Returns the current type of @tree_column.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The type of @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_get_sort_column_id">
<description>
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().


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> the current @sort_column_id for this column, or -1 if
this column can’t be used for sorting.
</return>
</function>

<function name="gtk_tree_view_column_get_sort_indicator">
<description>
Gets the value set by gtk_tree_view_column_set_sort_indicator().


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> whether the sort indicator arrow is displayed
</return>
</function>

<function name="gtk_tree_view_column_get_sort_order">
<description>
Gets the value set by gtk_tree_view_column_set_sort_order().


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> the sort order the sort indicator is indicating
</return>
</function>

<function name="gtk_tree_view_column_get_spacing">
<description>
Returns the spacing of @tree_column.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> the spacing of @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_get_title">
<description>
Returns the title of the widget.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> the title of the column. This string should not be
modified or freed.
</return>
</function>

<function name="gtk_tree_view_column_get_tree_view">
<description>
Returns the #GtkTreeView wherein @tree_column has been inserted.
If @column is currently not inserted in any tree view, %NULL is
returned.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return> The tree view wherein @column has
been inserted if any, %NULL otherwise.
</return>
</function>

<function name="gtk_tree_view_column_get_visible">
<description>
Returns %TRUE if @tree_column is visible.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> whether the column is visible or not.  If it is visible, then
the tree will show the column.
</return>
</function>

<function name="gtk_tree_view_column_get_widget">
<description>
Returns the #GtkWidget in the button on the column header.
If a custom widget has not been set then %NULL is returned.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The #GtkWidget in the column
header, or %NULL
</return>
</function>

<function name="gtk_tree_view_column_get_width">
<description>
Returns the current size of @tree_column in pixels.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The current width of @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_get_x_offset">
<description>
Returns the current X offset of @tree_column in pixels.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
</parameters>
<return> The current X offset of @tree_column.
</return>
</function>

<function name="gtk_tree_view_column_new">
<description>
Creates a new #GtkTreeViewColumn.


</description>
<parameters>
</parameters>
<return> A newly created #GtkTreeViewColumn.
</return>
</function>

<function name="gtk_tree_view_column_new_with_area">
<description>
Creates a new #GtkTreeViewColumn using @area to render its cells.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea that the newly created column should use to layout cells.
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkTreeViewColumn.
</return>
</function>

<function name="gtk_tree_view_column_new_with_attributes">
<description>
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’s a simple example:
|[&lt;!-- language=&quot;C&quot; --&gt;
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);
}
]|


</description>
<parameters>
<parameter name="title">
<parameter_description> The title to set the header to
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> The #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> A %NULL-terminated list of attributes
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkTreeViewColumn.
</return>
</function>

<function name="gtk_tree_view_column_pack_end">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> The #GtkCellRenderer. 
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE if @cell is to be given extra space allocated to @tree_column.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_pack_start">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> The #GtkCellRenderer. 
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE if @cell is to be given extra space allocated to @tree_column.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_queue_resize">
<description>
Flags the column, and the cell renderers added to this column, to have
their sizes renegotiated.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_alignment">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> The alignment, which is between [0.0 and 1.0] inclusive.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_attributes">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="cell_renderer">
<parameter_description> the #GtkCellRenderer we’re setting the attributes of
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> A %NULL-terminated list of attributes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_cell_data_func">
<description>
Sets the #GtkTreeCellDataFunc 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's
cell renderer as appropriate.  @func may be %NULL to remove an
older one.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="cell_renderer">
<parameter_description> A #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> The #GtkTreeCellDataFunc to use. 
</parameter_description>
</parameter>
<parameter name="func_data">
<parameter_description> The user data for @func.
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> The destroy notification for @func_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_clickable">
<description>
Sets the header to be active if @clickable is %TRUE.  When the header is
active, then it can take keyboard focus, and can be clicked.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="clickable">
<parameter_description> %TRUE if the header is active.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_expand">
<description>
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.

Along with “fixed-width”, the “expand” property changes when the column is
resized by the user.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE if the column should expand to fill available space.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_fixed_width">
<description>
If @fixed_width is not -1, sets the fixed width of @tree_column; otherwise
unsets it.  The effective value of @fixed_width is clamped between the
minimum and maximum width of the column; however, the value stored in the
“fixed-width” property is not clamped.  If the column sizing is
#GTK_TREE_VIEW_COLUMN_GROW_ONLY or #GTK_TREE_VIEW_COLUMN_AUTOSIZE, setting
a fixed width overrides the automatically calculated width.  Note that
@fixed_width is only a hint to GTK+; the width actually allocated to the
column may be greater or less than requested.

Along with “expand”, the “fixed-width” property changes when the column is
resized by the user.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="fixed_width">
<parameter_description> The new fixed width, in pixels, or -1.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_max_width">
<description>
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’s the last column in a view.  In this case, the column expands to
fill any extra space.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="max_width">
<parameter_description> The maximum width of the column in pixels, or -1.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_min_width">
<description>
Sets the minimum width of the @tree_column.  If @min_width is -1, then the
minimum width is unset.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="min_width">
<parameter_description> The minimum width of the column in pixels, or -1.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_reorderable">
<description>
If @reorderable is %TRUE, then the column can be reordered by the end user
dragging the header.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="reorderable">
<parameter_description> %TRUE, if the column can be reordered.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_resizable">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="resizable">
<parameter_description> %TRUE, if the column can be resized
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_sizing">
<description>
Sets the growth behavior of @tree_column to @type.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> The #GtkTreeViewColumnSizing.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_sort_column_id">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="sort_column_id">
<parameter_description> The @sort_column_id of the model to sort on.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_sort_indicator">
<description>
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.


</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to display an indicator that the column is sorted
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_sort_order">
<description>
Changes the appearance of the sort indicator. 

This does not 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_id() 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().

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> a #GtkTreeViewColumn
</parameter_description>
</parameter>
<parameter name="order">
<parameter_description> sort order that the sort indicator should indicate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_spacing">
<description>
Sets the spacing field of @tree_column, which is the number of pixels to
place between cell renderers packed into it.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> distance between cell renderers in pixels.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_title">
<description>
Sets the title of the @tree_column.  If a custom widget has been set, then
this value is ignored.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> The title of the @tree_column.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_visible">
<description>
Sets the visibility of @tree_column.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> %TRUE if the @tree_column is visible.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_column_set_widget">
<description>
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.

</description>
<parameters>
<parameter name="tree_column">
<parameter_description> A #GtkTreeViewColumn.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> A child #GtkWidget, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_columns_autosize">
<description>
Resizes all columns to their optimal width. Only works after the
treeview has been realized.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_convert_bin_window_to_tree_coords">
<description>
Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree).

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="bx">
<parameter_description> X coordinate relative to bin_window
</parameter_description>
</parameter>
<parameter name="by">
<parameter_description> Y coordinate relative to bin_window
</parameter_description>
</parameter>
<parameter name="tx">
<parameter_description> return location for tree X coordinate
</parameter_description>
</parameter>
<parameter name="ty">
<parameter_description> return location for tree Y coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_convert_bin_window_to_widget_coords">
<description>
Converts bin_window coordinates to widget relative coordinates.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="bx">
<parameter_description> bin_window X coordinate
</parameter_description>
</parameter>
<parameter name="by">
<parameter_description> bin_window Y coordinate
</parameter_description>
</parameter>
<parameter name="wx">
<parameter_description> return location for widget X coordinate
</parameter_description>
</parameter>
<parameter name="wy">
<parameter_description> return location for widget Y coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_convert_tree_to_bin_window_coords">
<description>
Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="tx">
<parameter_description> tree X coordinate
</parameter_description>
</parameter>
<parameter name="ty">
<parameter_description> tree Y coordinate
</parameter_description>
</parameter>
<parameter name="bx">
<parameter_description> return location for X coordinate relative to bin_window
</parameter_description>
</parameter>
<parameter name="by">
<parameter_description> return location for Y coordinate relative to bin_window
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_convert_tree_to_widget_coords">
<description>
Converts tree coordinates (coordinates in full scrollable area of the tree)
to widget coordinates.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="tx">
<parameter_description> X coordinate relative to the tree
</parameter_description>
</parameter>
<parameter name="ty">
<parameter_description> Y coordinate relative to the tree
</parameter_description>
</parameter>
<parameter name="wx">
<parameter_description> return location for widget X coordinate
</parameter_description>
</parameter>
<parameter name="wy">
<parameter_description> return location for widget Y coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_convert_widget_to_bin_window_coords">
<description>
Converts widget coordinates to coordinates for the bin_window.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="wx">
<parameter_description> X coordinate relative to the widget
</parameter_description>
</parameter>
<parameter name="wy">
<parameter_description> Y coordinate relative to the widget
</parameter_description>
</parameter>
<parameter name="bx">
<parameter_description> return location for bin_window X coordinate
</parameter_description>
</parameter>
<parameter name="by">
<parameter_description> return location for bin_window Y coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_convert_widget_to_tree_coords">
<description>
Converts widget coordinates to coordinates for the
tree (the full scrollable area of the tree).

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="wx">
<parameter_description> X coordinate relative to the widget
</parameter_description>
</parameter>
<parameter name="wy">
<parameter_description> Y coordinate relative to the widget
</parameter_description>
</parameter>
<parameter name="tx">
<parameter_description> return location for tree X coordinate
</parameter_description>
</parameter>
<parameter name="ty">
<parameter_description> return location for tree Y coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_create_row_drag_icon">
<description>
Creates a #cairo_surface_t representation of the row at @path.  
This image is used for a drag icon.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath in @tree_view
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated surface of the drag icon.
</return>
</function>

<function name="gtk_tree_view_enable_model_drag_dest">
<description>
Turns @tree_view into a drop destination for automatic DND. Calling
this method sets #GtkTreeView:reorderable to %FALSE.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="formats">
<parameter_description> the target formats that the drag will support
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the bitmask of possible actions for a drag from this
widget
</parameter_description>
</parameter>
</parameters>
<return> the drop target that has been attached
</return>
</function>

<function name="gtk_tree_view_enable_model_drag_source">
<description>
Turns @tree_view into a drag source for automatic DND. Calling this
method sets #GtkTreeView:reorderable to %FALSE.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="start_button_mask">
<parameter_description> Mask of allowed buttons to start drag
</parameter_description>
</parameter>
<parameter name="formats">
<parameter_description> the target formats that the drag will support
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the bitmask of possible actions for a drag from this
widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_expand_all">
<description>
Recursively expands all nodes in the @tree_view.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_expand_row">
<description>
Opens the row so its children are visible.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> path to a row
</parameter_description>
</parameter>
<parameter name="open_all">
<parameter_description> whether to recursively expand, or just expand immediate children
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the row existed and had children
</return>
</function>

<function name="gtk_tree_view_expand_to_path">
<description>
Expands the row at @path. This will also expand all parent rows of
@path as necessary.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> path to a row.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_get_activate_on_single_click">
<description>
Gets the setting set by gtk_tree_view_set_activate_on_single_click().


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if row-activated will be emitted on a single click
</return>
</function>

<function name="gtk_tree_view_get_background_area">
<description>
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
@background_area passed to gtk_cell_renderer_render().  These background
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.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath for the row, or %NULL to get only horizontal coordinates
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordiantes
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> rectangle to fill with cell background rect
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_get_cell_area">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath for the row, or %NULL to get only horizontal coordinates
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> rectangle to fill with cell rect
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_get_column">
<description>
Gets the #GtkTreeViewColumn at the given position in the #tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="n">
<parameter_description> The position of the column, counting from 0.
</parameter_description>
</parameter>
</parameters>
<return> The #GtkTreeViewColumn, or %NULL if the
position is outside the range of columns.
</return>
</function>

<function name="gtk_tree_view_get_columns">
<description>
Returns a #GList of all the #GtkTreeViewColumn s currently in @tree_view.
The returned list must be freed with g_list_free ().


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> A list of #GtkTreeViewColumn s
</return>
</function>

<function name="gtk_tree_view_get_cursor">
<description>
Fills in @path and @focus_column with the current path and focus column.  If
the cursor isn’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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A pointer to be
filled with the current cursor path, or %NULL
</parameter_description>
</parameter>
<parameter name="focus_column">
<parameter_description> A
pointer to be filled with the current focus column, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_get_dest_row_at_pos">
<description>
Determines the destination row for a given position.  @drag_x and
@drag_y are expected to be in widget coordinates.  This function is only
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.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="drag_x">
<parameter_description> the position to determine the destination row for
</parameter_description>
</parameter>
<parameter name="drag_y">
<parameter_description> the position to determine the destination row for
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> Return location for the path of
the highlighted row, or %NULL.
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> Return location for the drop position, or
%NULL
</parameter_description>
</parameter>
</parameters>
<return> whether there is a row at the given position, %TRUE if this
is indeed the case.
</return>
</function>

<function name="gtk_tree_view_get_drag_dest_row">
<description>
Gets information about the row that is highlighted for feedback.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> Return location for the path of the highlighted row, or %NULL.
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> Return location for the drop position, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_get_enable_search">
<description>
Returns whether or not the tree allows to start interactive searching 
by typing in text.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> whether or not to let the user search interactively
</return>
</function>

<function name="gtk_tree_view_get_enable_tree_lines">
<description>
Returns whether or not tree lines are drawn in @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if tree lines are drawn in @tree_view, %FALSE
otherwise.
</return>
</function>

<function name="gtk_tree_view_get_expander_column">
<description>
Returns the column that is the current expander column.
This column has the expander arrow drawn next to it.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> The expander column.
</return>
</function>

<function name="gtk_tree_view_get_fixed_height_mode">
<description>
Returns whether fixed height mode is turned on for @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tree_view is in fixed height mode
</return>
</function>

<function name="gtk_tree_view_get_grid_lines">
<description>
Returns which grid lines are enabled in @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> a #GtkTreeViewGridLines value indicating which grid lines
are enabled.
</return>
</function>

<function name="gtk_tree_view_get_headers_clickable">
<description>
Returns whether all header columns are clickable.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if all header columns are clickable, otherwise %FALSE
</return>
</function>

<function name="gtk_tree_view_get_headers_visible">
<description>
Returns %TRUE if the headers on the @tree_view are visible.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return> Whether the headers are visible or not.
</return>
</function>

<function name="gtk_tree_view_get_hover_expand">
<description>
Returns whether hover expansion mode is turned on for @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tree_view is in hover expansion mode
</return>
</function>

<function name="gtk_tree_view_get_hover_selection">
<description>
Returns whether hover selection mode is turned on for @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tree_view is in hover selection mode
</return>
</function>

<function name="gtk_tree_view_get_level_indentation">
<description>
Returns the amount, in pixels, of extra indentation for child levels
in @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return> the amount of extra indentation for child levels in
@tree_view.  A return value of 0 means that this feature is disabled.
</return>
</function>

<function name="gtk_tree_view_get_model">
<description>
Returns the model the #GtkTreeView is based on.  Returns %NULL if the
model is unset.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> A #GtkTreeModel, or %NULL if
none is currently being used.
</return>
</function>

<function name="gtk_tree_view_get_n_columns">
<description>
Queries the number of columns in the given @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> The number of columns in the @tree_view
</return>
</function>

<function name="gtk_tree_view_get_path_at_pos">
<description>
Finds the path at the point (@x, @y), relative to bin_window coordinates.
That is, @x and @y are relative to an events coordinates. Widget-relative
coordinates must be converted using
gtk_tree_view_convert_widget_to_bin_window_coords(). 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
@tree_view is realized.  Therefore this function will always return %FALSE
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().


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> The x position to be identified (relative to bin_window).
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> The y position to be identified (relative to bin_window).
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A pointer to a #GtkTreePath
pointer to be filled in, or %NULL
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> A pointer to
a #GtkTreeViewColumn pointer to be filled in, or %NULL
</parameter_description>
</parameter>
<parameter name="cell_x">
<parameter_description> A pointer where the X coordinate
relative to the cell can be placed, or %NULL
</parameter_description>
</parameter>
<parameter name="cell_y">
<parameter_description> A pointer where the Y coordinate
relative to the cell can be placed, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a row exists at that coordinate.
</return>
</function>

<function name="gtk_tree_view_get_reorderable">
<description>
Retrieves whether the user can reorder the tree via drag-and-drop. See
gtk_tree_view_set_reorderable().


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the tree can be reordered.
</return>
</function>

<function name="gtk_tree_view_get_row_separator_func">
<description>
Returns the current row separator function.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> the current row separator function.
</return>
</function>

<function name="gtk_tree_view_get_rubber_banding">
<description>
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.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if rubber banding in @tree_view is enabled.
</return>
</function>

<function name="gtk_tree_view_get_search_column">
<description>
Gets the column searched on by the interactive search code.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> the column the interactive search code searches in.
</return>
</function>

<function name="gtk_tree_view_get_search_entry">
<description>
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.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> the entry currently in use as search entry.
</return>
</function>

<function name="gtk_tree_view_get_search_equal_func">
<description>
Returns the compare function currently in use.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> the currently used compare function for the search code.
</return>
</function>

<function name="gtk_tree_view_get_selection">
<description>
Gets the #GtkTreeSelection associated with @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return> A #GtkTreeSelection object.
</return>
</function>

<function name="gtk_tree_view_get_show_expanders">
<description>
Returns whether or not expanders are drawn in @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if expanders are drawn in @tree_view, %FALSE
otherwise.
</return>
</function>

<function name="gtk_tree_view_get_tooltip_column">
<description>
Returns the column of @tree_view’s model which is being used for
displaying tooltips on @tree_view’s rows.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> the index of the tooltip column that is currently being
used, or -1 if this is disabled.
</return>
</function>

<function name="gtk_tree_view_get_tooltip_context">
<description>
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
@model, @path and @iter which have been provided will be set to point to
that row and the corresponding model.  @x and @y will always be converted
to be relative to @tree_view’s bin_window if @keyboard_tooltip is %FALSE.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate (relative to widget coordinates)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate (relative to widget coordinates)
</parameter_description>
</parameter>
<parameter name="keyboard_tip">
<parameter_description> whether this is a keyboard tooltip or not
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> a pointer to
receive a #GtkTreeModel or %NULL
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a pointer to receive a #GtkTreePath or %NULL
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a pointer to receive a #GtkTreeIter or %NULL
</parameter_description>
</parameter>
</parameters>
<return> whether or not the given tooltip context points to a row.
</return>
</function>

<function name="gtk_tree_view_get_visible_range">
<description>
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.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="start_path">
<parameter_description> Return location for start of region,
or %NULL.
</parameter_description>
</parameter>
<parameter name="end_path">
<parameter_description> Return location for end of region, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if valid paths were placed in @start_path and @end_path.
</return>
</function>

<function name="gtk_tree_view_get_visible_rect">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="visible_rect">
<parameter_description> rectangle to fill
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_insert_column">
<description>
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
“fixed_height” mode enabled, then @column must have its “sizing” property
set to be GTK_TREE_VIEW_COLUMN_FIXED.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> The #GtkTreeViewColumn to be inserted.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> The position to insert @column in.
</parameter_description>
</parameter>
</parameters>
<return> The number of columns in @tree_view after insertion.
</return>
</function>

<function name="gtk_tree_view_insert_column_with_attributes">
<description>
Creates a new #GtkTreeViewColumn and inserts it into the @tree_view at
@position.  If @position is -1, then the newly created column is inserted at
the end.  The column is initialized with the attributes given. If @tree_view
has “fixed_height” mode enabled, then the new column will have its sizing
property set to be GTK_TREE_VIEW_COLUMN_FIXED.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> The position to insert the new column in
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> The title to set the header to
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> The #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> A %NULL-terminated list of attributes
</parameter_description>
</parameter>
</parameters>
<return> The number of columns in @tree_view after insertion.
</return>
</function>

<function name="gtk_tree_view_insert_column_with_data_func">
<description>
Convenience function that inserts a new column into the #GtkTreeView
with the given cell renderer and a #GtkTreeCellDataFunc 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 “fixed_height” mode enabled, then the new column will have its
“sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> Position to insert, -1 for append
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> column title
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> cell renderer for column
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> function to set attributes of cell renderer
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data for @func
</parameter_description>
</parameter>
<parameter name="dnotify">
<parameter_description> destroy notifier for @data
</parameter_description>
</parameter>
</parameters>
<return> number of columns in the tree view post-insert
</return>
</function>

<function name="gtk_tree_view_is_blank_at_pos">
<description>
Determine whether the point (@x, @y) in @tree_view is blank, that is no
cell content nor an expander arrow is drawn at the location. If so, the
location can be considered as the background. You might wish to take
special action on clicks on the background, such as clearing a current
selection, having a custom context menu or starting rubber banding.

The @x and @y coordinate that are provided must be relative to bin_window
coordinates.  Widget-relative coordinates must be converted using
gtk_tree_view_convert_widget_to_bin_window_coords().

For converting widget coordinates (eg. the ones you get from
GtkWidget::query-tooltip), please see
gtk_tree_view_convert_widget_to_bin_window_coords().

The @path, @column, @cell_x and @cell_y arguments will be filled in
likewise as for gtk_tree_view_get_path_at_pos().  Please see
gtk_tree_view_get_path_at_pos() for more information.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> The x position to be identified (relative to bin_window)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> The y position to be identified (relative to bin_window)
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A pointer to a #GtkTreePath pointer to
be filled in, or %NULL
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> A pointer to a
#GtkTreeViewColumn pointer to be filled in, or %NULL
</parameter_description>
</parameter>
<parameter name="cell_x">
<parameter_description> A pointer where the X coordinate relative to the
cell can be placed, or %NULL
</parameter_description>
</parameter>
<parameter name="cell_y">
<parameter_description> A pointer where the Y coordinate relative to the
cell can be placed, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the area at the given coordinates is blank,
%FALSE otherwise.
</return>
</function>

<function name="gtk_tree_view_is_rubber_banding_active">
<description>
Returns whether a rubber banding operation is currently being done
in @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a rubber banding operation is currently being
done in @tree_view.
</return>
</function>

<function name="gtk_tree_view_map_expanded_rows">
<description>
Calls @func on all expanded rows.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> A function to be called
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> User data to be passed to the function.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_move_column_after">
<description>
Moves @column to be after to @base_column.  If @base_column is %NULL, then
@column is placed in the first position.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> The #GtkTreeViewColumn to be moved.
</parameter_description>
</parameter>
<parameter name="base_column">
<parameter_description> The #GtkTreeViewColumn to be moved relative to, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_new">
<description>
Creates a new #GtkTreeView widget.


</description>
<parameters>
</parameters>
<return> A newly created #GtkTreeView widget.
</return>
</function>

<function name="gtk_tree_view_new_with_model">
<description>
Creates a new #GtkTreeView widget with the model initialized to @model.


</description>
<parameters>
<parameter name="model">
<parameter_description> the model.
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkTreeView widget.
</return>
</function>

<function name="gtk_tree_view_remove_column">
<description>
Removes @column from @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> The #GtkTreeViewColumn to remove.
</parameter_description>
</parameter>
</parameters>
<return> The number of columns in @tree_view after removing.
</return>
</function>

<function name="gtk_tree_view_row_activated">
<description>
Activates the cell determined by @path and @column.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The #GtkTreePath to be activated.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> The #GtkTreeViewColumn to be activated.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_row_expanded">
<description>
Returns %TRUE if the node pointed to by @path is expanded in @tree_view.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A #GtkTreePath to test expansion state.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if #path is expanded.
</return>
</function>

<function name="gtk_tree_view_scroll_to_cell">
<description>
Moves the alignments of @tree_view to the position specified by @column and
@path.  If @column is %NULL, then no horizontal scrolling occurs.  Likewise,
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The path of the row to move to, or %NULL.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> The #GtkTreeViewColumn to move horizontally to, or %NULL.
</parameter_description>
</parameter>
<parameter name="use_align">
<parameter_description> whether to use alignment arguments, or %FALSE.
</parameter_description>
</parameter>
<parameter name="row_align">
<parameter_description> The vertical alignment of the row specified by @path.
</parameter_description>
</parameter>
<parameter name="col_align">
<parameter_description> The horizontal alignment of the column specified by @column.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_scroll_to_point">
<description>
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'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’t scrolled.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="tree_x">
<parameter_description> X coordinate of new top-left pixel of visible area, or -1
</parameter_description>
</parameter>
<parameter name="tree_y">
<parameter_description> Y coordinate of new top-left pixel of visible area, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_activate_on_single_click">
<description>
Cause the #GtkTreeView::row-activated signal to be emitted
on a single click instead of a double click.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="single">
<parameter_description> %TRUE to emit row-activated on a single click
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_column_drag_function">
<description>
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
arguments passed to @func are: the @tree_view, the #GtkTreeViewColumn being
dragged, the two #GtkTreeViewColumn s determining the drop spot, and
@user_data.  If either of the #GtkTreeViewColumn arguments for the drop spot
are %NULL, then they indicate an edge.  If @func is set to be %NULL, then
@tree_view reverts to the default behavior of allowing all columns to be
dropped everywhere.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> A function to determine which columns are reorderable, or %NULL.
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> User data to be passed to @func, or %NULL
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> Destroy notifier for @user_data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_cursor">
<description>
Sets the current keyboard focus to be at @path, and selects it.  This is
useful when you want to focus the user’s attention on a particular row.  If
@focus_column is not %NULL, then focus is given to the column specified by 
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A #GtkTreePath
</parameter_description>
</parameter>
<parameter name="focus_column">
<parameter_description> A #GtkTreeViewColumn, or %NULL
</parameter_description>
</parameter>
<parameter name="start_editing">
<parameter_description> %TRUE if the specified cell should start being edited.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_cursor_on_cell">
<description>
Sets the current keyboard focus to be at @path, and selects it.  This is
useful when you want to focus the user’s attention on a particular row.  If
@focus_column is not %NULL, then focus is given to the column specified by
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
@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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> A #GtkTreePath
</parameter_description>
</parameter>
<parameter name="focus_column">
<parameter_description> A #GtkTreeViewColumn, or %NULL
</parameter_description>
</parameter>
<parameter name="focus_cell">
<parameter_description> A #GtkCellRenderer, or %NULL
</parameter_description>
</parameter>
<parameter name="start_editing">
<parameter_description> %TRUE if the specified cell should start being edited.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_drag_dest_row">
<description>
Sets the row that is highlighted for feedback.
If @path is %NULL, an existing highlight is removed.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> The path of the row to highlight, or %NULL
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> Specifies whether to drop before, after or into the row
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_enable_search">
<description>
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 “start-interactive-search” key binding.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="enable_search">
<parameter_description> %TRUE, if the user can search interactively
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_enable_tree_lines">
<description>
Sets whether to draw lines interconnecting the expanders in @tree_view.
This does not have any visible effects for lists.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="enabled">
<parameter_description> %TRUE to enable tree line drawing, %FALSE otherwise.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_expander_column">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> %NULL, or the column to draw the expander arrow at.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_fixed_height_mode">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView 
</parameter_description>
</parameter>
<parameter name="enable">
<parameter_description> %TRUE to enable fixed height mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_grid_lines">
<description>
Sets which grid lines to draw in @tree_view.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="grid_lines">
<parameter_description> a #GtkTreeViewGridLines value indicating which grid lines to
enable.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_headers_clickable">
<description>
Allow the column title buttons to be clicked.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE if the columns are clickable.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_headers_visible">
<description>
Sets the visibility state of the headers.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="headers_visible">
<parameter_description> %TRUE if the headers are visible
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_hover_expand">
<description>
Enables or disables the hover expansion mode of @tree_view.
Hover expansion makes rows expand or collapse if the pointer 
moves over them.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE to enable hover selection mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_hover_selection">
<description>
Enables or 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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="hover">
<parameter_description> %TRUE to enable hover selection mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_level_indentation">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="indentation">
<parameter_description> the amount, in pixels, of extra indentation in @tree_view.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_model">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> The model.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_reorderable">
<description>
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’s #GtkTreeModel::row-inserted
and #GtkTreeModel::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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView.
</parameter_description>
</parameter>
<parameter name="reorderable">
<parameter_description> %TRUE, if the tree can be reordered.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_row_separator_func">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a #GtkTreeViewRowSeparatorFunc
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user data to pass to @func, or %NULL
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notifier for @data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_rubber_banding">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="enable">
<parameter_description> %TRUE to enable rubber banding
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_search_column">
<description>
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 “start-interactive-search”
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> the column of the model to search in, or -1 to disable searching
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_search_entry">
<description>
Sets the entry which the interactive search code will use for this
@tree_view.  This is useful when you want to provide a search entry
in our interface at all time at a fixed position.  Passing %NULL for
@entry will make the interactive search code use the built-in popup
entry again.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="entry">
<parameter_description> the entry the interactive search code of @tree_view should use or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_search_equal_func">
<description>
Sets the compare function for the interactive search capabilities; note
that somewhat like strcmp() returning 0 for equality
#GtkTreeViewSearchEqualFunc returns %FALSE on matches.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="search_equal_func">
<parameter_description> the compare function to use during the search
</parameter_description>
</parameter>
<parameter name="search_user_data">
<parameter_description> user data to pass to @search_equal_func, or %NULL
</parameter_description>
</parameter>
<parameter name="search_destroy">
<parameter_description> Destroy notifier for @search_user_data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_show_expanders">
<description>
Sets whether to draw and enable expanders and indent child rows in
@tree_view.  When disabled there will be no expanders visible in trees
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="enabled">
<parameter_description> %TRUE to enable expander drawing, %FALSE otherwise.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_tooltip_cell">
<description>
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.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath or %NULL
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> a #GtkTreeViewColumn or %NULL
</parameter_description>
</parameter>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_tooltip_column">
<description>
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’s model
containing the tooltip texts, or -1 to disable this feature.

When enabled, #GtkWidget:has-tooltip will be set to %TRUE and
@tree_view will connect a #GtkWidget::query-tooltip signal handler.

Note that the signal handler sets the text with gtk_tooltip_set_markup(),
so &amp;, &lt;, etc have to be escaped in the text.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> an integer, which is a valid column number for @tree_view’s model
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_set_tooltip_row">
<description>
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().

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_unset_rows_drag_dest">
<description>
Undoes the effect of
gtk_tree_view_enable_model_drag_dest(). Calling this method sets
#GtkTreeView:reorderable to %FALSE.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tree_view_unset_rows_drag_source">
<description>
Undoes the effect of
gtk_tree_view_enable_model_drag_source(). Calling this method sets
#GtkTreeView:reorderable to %FALSE.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_video_get_autoplay">
<description>
Returns %TRUE if videos have been set to loop via gtk_video_set_loop().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if streams should autoplay
</return>
</function>

<function name="gtk_video_get_file">
<description>
Gets the file played by @self or %NULL if not playing back
a file.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
</parameters>
<return> The file played by @self
</return>
</function>

<function name="gtk_video_get_loop">
<description>
Returns %TRUE if videos have been set to loop via gtk_video_set_loop().


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if streams should loop
</return>
</function>

<function name="gtk_video_get_media_stream">
<description>
Gets the media stream managed by @self or %NULL if none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
</parameters>
<return> The media stream managed by @self
</return>
</function>

<function name="gtk_video_new">
<description>
Creates a new empty #GtkVideo.


</description>
<parameters>
</parameters>
<return> a new #GtkVideo
</return>
</function>

<function name="gtk_video_new_for_file">
<description>
Creates a #GtkVideo to play back the given @file.


</description>
<parameters>
<parameter name="file">
<parameter_description> a #GFile
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkVideo
</return>
</function>

<function name="gtk_video_new_for_filename">
<description>
Creates a #GtkVideo to play back the given @filename.

This is a utility function that calls gtk_video_new_for_file(),
See that function for details.


</description>
<parameters>
<parameter name="filename">
<parameter_description> filename to play back
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkVideo
</return>
</function>

<function name="gtk_video_new_for_media_stream">
<description>
Creates a #GtkVideo to play back the given @stream.


</description>
<parameters>
<parameter name="stream">
<parameter_description> a #GtkMediaStream
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkVideo
</return>
</function>

<function name="gtk_video_new_for_resource">
<description>
Creates a #GtkVideo to play back the resource at the
given @resource_path.

This is a utility function that calls gtk_video_new_for_file(),


</description>
<parameters>
<parameter name="resource_path">
<parameter_description> resource path to play back
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkVideo
</return>
</function>

<function name="gtk_video_set_autoplay">
<description>
Sets whether @self automatically starts playback when it becomes visible
or when a new file gets loaded.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
<parameter name="autoplay">
<parameter_description> whether media streams should autoplay
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_video_set_file">
<description>
Makes @self play the given @file.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> the file to play
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_video_set_filename">
<description>
Makes @self play the given @filename.

This is a utility function that calls gtk_video_set_file(),

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> the filename to play
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_video_set_loop">
<description>
Sets whether new files loaded by @self should be set to loop.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
<parameter name="loop">
<parameter_description> whether media streams should loop
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_video_set_media_stream">
<description>
Sets the media stream to be played back. @self will take full control
of managing the media stream. If you want to manage a media stream
yourself, consider using a #GtkImage for display.

If you want to display a file, consider using gtk_video_set_file()
instead.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
<parameter name="stream">
<parameter_description> The media stream to play or %NULL to unset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_video_set_resource">
<description>
Makes @self play the resource at the given @resource_path.

This is a utility function that calls gtk_video_set_file(),

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkVideo
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> the resource to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_viewport_get_shadow_type">
<description>
Gets the shadow type of the #GtkViewport. See
gtk_viewport_set_shadow_type().


</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport
</parameter_description>
</parameter>
</parameters>
<return> the shadow type 
</return>
</function>

<function name="gtk_viewport_new">
<description>
Creates a new #GtkViewport with the given adjustments, or with default
adjustments if none are given.


</description>
<parameters>
<parameter name="hadjustment">
<parameter_description> horizontal adjustment
</parameter_description>
</parameter>
<parameter name="vadjustment">
<parameter_description> vertical adjustment
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkViewport
</return>
</function>

<function name="gtk_viewport_set_shadow_type">
<description>
Sets the shadow type of the viewport.

</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport.
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the new shadow type.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_volume_button_new">
<description>
Creates a #GtkVolumeButton, with a range between 0.0 and 1.0, with
a stepping of 0.02. Volume values can be obtained and modified using
the functions from #GtkScaleButton.


</description>
<parameters>
</parameters>
<return> a new #GtkVolumeButton
</return>
</function>

<function name="gtk_widget_action_set_enabled">
<description>
Enable or disable an action installed with
gtk_widget_class_install_action().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> action name, such as &quot;clipboard.paste&quot;
</parameter_description>
</parameter>
<parameter name="enabled">
<parameter_description> whether the action is now enabled
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_activate">
<description>
For widgets that can be “activated” (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't
activatable, the function returns %FALSE.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that’s activatable
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget was activatable
</return>
</function>

<function name="gtk_widget_activate_action">
<description>
Looks up the action in the action groups associated
with @widget and its ancestors, and activates it.

This is a wrapper around gtk_widget_activate_action_variant()
that constructs the @args variant according to @format_string.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the action to activate
</parameter_description>
</parameter>
<parameter name="format_string">
<parameter_description> GVariant format string for arguments or %NULL
for no arguments
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> arguments, as given by format string
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the action was activated, %FALSE if the action does
not exist.
</return>
</function>

<function name="gtk_widget_activate_action_variant">
<description>
Looks up the action in the action groups associated
with @widget and its ancestors, and activates it.

If the action is in an action group added with
gtk_widget_insert_action_group(), the @name is
expected to be prefixed with the prefix that was
used when the group was inserted.

The arguments must match the actions expected parameter
type, as returned by g_action_get_parameter_type().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the action to activate
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> parameters to use, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the action was activated, %FALSE if the action does
not exist.
</return>
</function>

<function name="gtk_widget_activate_default">
<description>
Activate the default.activate action from @widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_add_accelerator">
<description>
Installs an accelerator for this @widget in @accel_group that causes
@accel_signal to be emitted if the accelerator is activated.
The @accel_group needs to be added to the widget’s toplevel via
gtk_window_add_accel_group(), and the signal must be of type %G_SIGNAL_ACTION.
Accelerators added through this function are not user changeable during
runtime. If you want to support accelerators that can be changed by the
user, use gtk_accel_map_add_entry() and gtk_widget_set_accel_path() or
gtk_menu_item_set_accel_path() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description>       widget to install an accelerator on
</parameter_description>
</parameter>
<parameter name="accel_signal">
<parameter_description> widget signal to emit on accelerator activation
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description>  accel group for this widget, added to its toplevel
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description>    GDK keyval of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description>   modifier key combination of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_flags">
<parameter_description>  flag accelerators, e.g. %GTK_ACCEL_VISIBLE
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_add_controller">
<description>
Adds @controller to @widget so that it will receive events. You will
usually want to call this function right after creating any kind of
#GtkEventController.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="controller">
<parameter_description> a #GtkEventController that hasn't been
added to a widget yet
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_add_css_class">
<description>
Adds @css_class to @widget. After calling this function, @widget's
style will match for @css_class, after the CSS matching rules.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="css_class">
<parameter_description> The style class to add to @widget, without
the leading '.' used for notation of style classes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_add_mnemonic_label">
<description>
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a #GtkWidget that acts as a mnemonic label for @widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_add_surface_transform_changed_callback">
<description>
Invokes the callback whenever the surface relative transform of the widget
changes.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a function to call when the surface transform changes
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to @callback
</parameter_description>
</parameter>
<parameter name="notify">
<parameter_description> function to call to free @user_data when the callback is removed
</parameter_description>
</parameter>
</parameters>
<return> an id for the connection of this callback. Remove the callback by
passing the id returned from this funcction to
gtk_widget_remove_surface_transform_changed_callback()
</return>
</function>

<function name="gtk_widget_add_tick_callback">
<description>
Queues an animation frame update and adds a callback to be called
before each frame. Until the tick callback is removed, it will be
called frequently (usually at the frame rate of the output device
or as quickly as the application can be repainted, whichever is
slower). For this reason, is most suitable for handling graphics
that change every frame or every few frames. The tick callback does
not automatically imply a relayout or repaint. If you want a
repaint or relayout, and aren’t changing widget properties that
would trigger that (for example, changing the text of a #GtkLabel),
then you will have to call gtk_widget_queue_resize() or
gtk_widget_queue_draw() yourself.

gdk_frame_clock_get_frame_time() should generally be used for timing
continuous animations and
gdk_frame_timings_get_predicted_presentation_time() if you are
trying to display isolated frames at particular times.

This is a more convenient alternative to connecting directly to the
#GdkFrameClock::update signal of #GdkFrameClock, since you don't
have to worry about when a #GdkFrameClock is assigned to a widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> function to call for updating animations
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to @callback
</parameter_description>
</parameter>
<parameter name="notify">
<parameter_description> function to call to free @user_data when the callback is removed.
</parameter_description>
</parameter>
</parameters>
<return> an id for the connection of this callback. Remove the callback
by passing the id returned from this function to
gtk_widget_remove_tick_callback()
</return>
</function>

<function name="gtk_widget_allocate">
<description>
This function is only used by #GtkWidget subclasses, to assign a size,
position and (optionally) baseline to their child widgets.

In this function, the allocation and baseline may be adjusted. The given
allocation will be forced to be bigger than the widget's minimum size,
as well as at least 0×0 in size.

For a version that does not take a transform, see gtk_widget_size_allocate()

</description>
<parameters>
<parameter name="widget">
<parameter_description> A #GtkWidget
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> New width of @widget
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> New height of @widget
</parameter_description>
</parameter>
<parameter name="baseline">
<parameter_description> New baseline of @widget, or -1
</parameter_description>
</parameter>
<parameter name="transform">
<parameter_description> Transformation to be applied to @widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_can_activate_accel">
<description>
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’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.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="signal_id">
<parameter_description> the ID of a signal installed on @widget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the accelerator can be activated.
</return>
</function>

<function name="gtk_widget_child_focus">
<description>
This function is used by custom widget implementations; if you're
writing an app, you’d use gtk_widget_grab_focus() to move the focus
to a particular widget.

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’t modify the current focus location.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> direction of focus movement
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if focus ended up inside @widget
</return>
</function>

<function name="gtk_widget_class_bind_template_callback">
<description>
Binds a callback function defined in a template to the @widget_class.

This macro is a convenience wrapper around the
gtk_widget_class_bind_template_callback_full() function. It is not
supported after gtk_widget_class_set_template_scope() has been used
on @widget_class.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> the callback symbol
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_bind_template_callback_full">
<description>
Declares a @callback_symbol to handle @callback_name from the template XML
defined for @widget_type. This function is not supported after
gtk_widget_class_set_template_scope() has been used on @widget_class.
See gtk_builder_cscope_add_callback_symbol().

Note that this must be called from a composite widget classes class
initializer after calling gtk_widget_class_set_template().

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> A #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="callback_name">
<parameter_description> The name of the callback as expected in the template XML
</parameter_description>
</parameter>
<parameter name="callback_symbol">
<parameter_description> The callback symbol
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_bind_template_child">
<description>
Binds a child widget defined in a template to the @widget_class.

This macro is a convenience wrapper around the
gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the @member_name inside the @TypeName
instance structure.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="TypeName">
<parameter_description> the type name of this widget
</parameter_description>
</parameter>
<parameter name="member_name">
<parameter_description> name of the instance member in the instance struct for @data_type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_bind_template_child_full">
<description>
Automatically assign an object declared in the class template XML to be set to a location
on a freshly built instance’s private data, or alternatively accessible via gtk_widget_get_template_child().

The struct can point either into the public instance, then you should use G_STRUCT_OFFSET(WidgetType, member)
for @struct_offset,  or in the private struct, then you should use G_PRIVATE_OFFSET(WidgetType, member).

An explicit strong reference will be held automatically for the duration of your
instance’s life cycle, it will be released automatically when #GObjectClass.dispose() runs
on your instance and if a @struct_offset that is != 0 is specified, then the automatic location
in your instance public or private data will be set to %NULL. You can however access an automated child
pointer the first time your classes #GObjectClass.dispose() runs, or alternatively in
#GtkWidgetClass.destroy().

If @internal_child is specified, #GtkBuildableIface.get_internal_child() will be automatically
implemented by the #GtkWidget class so there is no need to implement it manually.

The wrapper macros gtk_widget_class_bind_template_child(), gtk_widget_class_bind_template_child_internal(),
gtk_widget_class_bind_template_child_private() and gtk_widget_class_bind_template_child_internal_private()
might be more convenient to use.

Note that this must be called from a composite widget classes class
initializer after calling gtk_widget_class_set_template().

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> A #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> The “id” of the child defined in the template XML
</parameter_description>
</parameter>
<parameter name="internal_child">
<parameter_description> Whether the child should be accessible as an “internal-child”
when this class is used in GtkBuilder XML
</parameter_description>
</parameter>
<parameter name="struct_offset">
<parameter_description> The structure offset into the composite widget’s instance public or private structure
where the automated child pointer should be set, or 0 to not assign the pointer.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_bind_template_child_internal">
<description>
Binds a child widget defined in a template to the @widget_class, and
also makes it available as an internal child in GtkBuilder, under the
name @member_name.

This macro is a convenience wrapper around the
gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the @member_name inside the @TypeName
instance structure.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="TypeName">
<parameter_description> the type name, in CamelCase
</parameter_description>
</parameter>
<parameter name="member_name">
<parameter_description> name of the instance member in the instance struct for @data_type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_bind_template_child_internal_private">
<description>
Binds a child widget defined in a template to the @widget_class, and
also makes it available as an internal child in GtkBuilder, under the
name @member_name.

This macro is a convenience wrapper around the
gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the @member_name inside the @TypeName
private data structure.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="TypeName">
<parameter_description> the type name, in CamelCase
</parameter_description>
</parameter>
<parameter name="member_name">
<parameter_description> name of the instance private member on the private struct for @data_type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_bind_template_child_private">
<description>
Binds a child widget defined in a template to the @widget_class.

This macro is a convenience wrapper around the
gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the @member_name inside the @TypeName
private data structure (it uses G_PRIVATE_OFFSET(), so the private struct
must be added with G_ADD_PRIVATE()).

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="TypeName">
<parameter_description> the type name of this widget
</parameter_description>
</parameter>
<parameter name="member_name">
<parameter_description> name of the instance private member in the private struct for @data_type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_get_css_name">
<description>
Gets the name used by this class for matching in CSS code. See
gtk_widget_class_set_css_name() for details.


</description>
<parameters>
<parameter name="widget_class">
<parameter_description> class to set the name on
</parameter_description>
</parameter>
</parameters>
<return> the CSS name of the given class
</return>
</function>

<function name="gtk_widget_class_get_layout_manager_type">
<description>
Retrieves the type of the #GtkLayoutManager used by the #GtkWidget class.

See also: gtk_widget_class_set_layout_manager_type()


</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
</parameters>
<return> a #GtkLayoutManager subclass, or %G_TYPE_INVALID
</return>
</function>

<function name="gtk_widget_class_install_property_action">
<description>
Installs an action called @action_name on @widget_class and binds its
state to the value of the @property_name property.

This function will perform a few santity checks on the property selected via
@property_name. Namely, the property must exist, must be readable, writable and
must not be construct-only. There are also certain restrictions on the type of
the given property. If any of these conditions are not met, a critical
warning will be printed and no action will be added.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> name of the action
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> name of the property in instances of @widget_class
or any parent class.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_query_action">
<description>
Queries the actions that have been installed for
a widget class using gtk_widget_class_install_action()
during class initialization.

Note that this function will also return actions defined
by parent classes. You can identify those by looking
at @owner.


</description>
<parameters>
<parameter name="widget_class">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> position of the action to query
</parameter_description>
</parameter>
<parameter name="owner">
<parameter_description> return location for the type where the action was defined
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> return location for the action name
</parameter_description>
</parameter>
<parameter name="parameter_type">
<parameter_description> return location for the parameter type
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> return location for the property name
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the action was found,
%FALSE if @index_ is out of range
</return>
</function>

<function name="gtk_widget_class_set_accessible_role">
<description>
Sets the default #AtkRole to be set on accessibles created for
widgets of @widget_class. Accessibles may decide to not honor this
setting if their role reporting is more refined. Calls to 
gtk_widget_class_set_accessible_type() will reset this value.

In cases where you want more fine-grained control over the role of
accessibles created for @widget_class, you should provide your own
accessible type and use gtk_widget_class_set_accessible_type()
instead.

If @role is #ATK_ROLE_INVALID, the default role will not be changed
and the accessible’s default role will be used instead.

This function should only be called from class init functions of widgets.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> class to set the accessible role for
</parameter_description>
</parameter>
<parameter name="role">
<parameter_description> The role to use for accessibles created for @widget_class
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_set_accessible_type">
<description>
Sets the type to be used for creating accessibles for widgets of
@widget_class. The given @type must be a subtype of the type used for
accessibles of the parent class.

This function should only be called from class init functions of widgets.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> class to set the accessible type for
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> The object type that implements the accessible for @widget_class
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_set_css_name">
<description>
Sets the name to be used for CSS matching of widgets.

If this function is not called for a given class, the name
of the parent class is used.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> class to set the name on
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_set_layout_manager_type">
<description>
Sets the type to be used for creating layout managers for widgets of
@widget_class. The given @type must be a subtype of #GtkLayoutManager.

This function should only be called from class init functions of widgets.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> class to set the layout manager type for
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> The object type that implements the #GtkLayoutManager for @widget_class
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_set_template">
<description>
This should be called at class initialization time to specify
the GtkBuilder XML to be used to extend a widget.

For convenience, gtk_widget_class_set_template_from_resource() is also provided.

Note that any class that installs templates must call gtk_widget_init_template()
in the widget’s instance initializer.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> A #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="template_bytes">
<parameter_description> A #GBytes holding the #GtkBuilder XML 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_set_template_from_resource">
<description>
A convenience function to call gtk_widget_class_set_template().

Note that any class that installs templates must call gtk_widget_init_template()
in the widget’s instance initializer.

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> A #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="resource_name">
<parameter_description> The name of the resource to load the template from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_set_template_scope">
<description>
For use in language bindings, this will override the default #GtkBuilderScope to be
used when parsing GtkBuilder XML from this class’s template data.

Note that this must be called from a composite widget classes class
initializer after calling gtk_widget_class_set_template().

</description>
<parameters>
<parameter name="widget_class">
<parameter_description> A #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="scope">
<parameter_description> The #GtkBuilderScope to use when loading the class template
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_common_ancestor">
<description>
Find the common ancestor of @widget_a and @widget_b that
is closest to the two widgets.


</description>
<parameters>
<parameter name="widget_a">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="widget_b">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the closest common ancestor of @widget_a and
@widget_b or %NULL if @widget_a and @widget_b do not
share a common ancestor.
</return>
</function>

<function name="gtk_widget_compute_bounds">
<description>
Computes the bounds for @widget in the coordinate space of @target.
FIXME: Explain what &quot;bounds&quot; are.

If the operation is successful, %TRUE is returned. If @widget has no
bounds or the bounds cannot be expressed in @target's coordinate space
(for example if both widgets are in different windows), %FALSE is
returned and @bounds is set to the zero rectangle.

It is valid for @widget and @target to be the same widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the #GtkWidget to query
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the #GtkWidget
</parameter_description>
</parameter>
<parameter name="out_bounds">
<parameter_description> the rectangle taking the bounds
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the bounds could be computed
</return>
</function>

<function name="gtk_widget_compute_expand">
<description>
Computes whether a container should give this widget extra space
when possible. Containers should check this, rather than
looking at gtk_widget_get_hexpand() or gtk_widget_get_vexpand().

This function already checks whether the widget is visible, so
visibility does not need to be checked separately. Non-visible
widgets are not expanded.

The computed expand value uses either the expand setting explicitly
set on the widget itself, or, if none has been explicitly set,
the widget may expand if some of its children do.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> expand direction
</parameter_description>
</parameter>
</parameters>
<return> whether widget tree rooted here should be expanded
</return>
</function>

<function name="gtk_widget_compute_point">
<description>
Translates the given @point in @widget's coordinates to coordinates
relative to @target’s coodinate system. In order to perform this
operation, both widgets must share a common root.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the #GtkWidget to query
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the #GtkWidget to transform into
</parameter_description>
</parameter>
<parameter name="point">
<parameter_description> a point in @widget's coordinate system
</parameter_description>
</parameter>
<parameter name="out_point">
<parameter_description> Set to the corresponding coordinates in
@target's coordinate system
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the point could be determined, %FALSE on failure.
In this case, 0 is stored in @out_point.
</return>
</function>

<function name="gtk_widget_compute_transform">
<description>
Computes a matrix suitable to describe a transformation from
@widget's coordinate system into @target's coordinate system.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the target widget that the matrix will transform to
</parameter_description>
</parameter>
<parameter name="out_transform">
<parameter_description> location to
store the final transformation
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the transform could be computed, %FALSE otherwise.
The transform can not be computed in certain cases, for example when
@widget and @target do not share a common ancestor. In that
case @out_transform gets set to the identity matrix.
</return>
</function>

<function name="gtk_widget_contains">
<description>
Tests if the point at (@x, @y) is contained in @widget.

The coordinates for (@x, @y) must be in widget coordinates, so
(0, 0) is assumed to be the top left of @widget's content area.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget to query
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate to test, relative to @widget's origin
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate to test, relative to @widget's origin
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget contains (@x, @y).
</return>
</function>

<function name="gtk_widget_create_pango_context">
<description>
Creates a new #PangoContext with the appropriate font map,
font options, font description, and base direction for drawing
text for this widget. See also gtk_widget_get_pango_context().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoContext
</return>
</function>

<function name="gtk_widget_create_pango_layout">
<description>
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, you need
to re-create it when the widget #PangoContext is replaced.
This can be tracked by using the #GtkWidget::display-changed signal
on the widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text to set on the layout (can be %NULL)
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoLayout
</return>
</function>

<function name="gtk_widget_destroy">
<description>
Destroys a widget.

When a widget is destroyed all references it holds on other objects
will be released:

- if the widget is inside a container, it will be removed from its
parent
- if the widget is a container, all its children will be destroyed,
recursively
- if the widget is a top level, it will be removed from the list
of top level widgets that GTK+ maintains internally

It's expected that all references held on the widget will also
be released; you should connect to the #GtkWidget::destroy signal
if you hold a reference to @widget and you wish to remove it when
this function is called. It is not necessary to do so if you are
implementing a #GtkContainer, as you'll be able to use the
#GtkContainerClass.remove() virtual function for that.

It's important to notice that gtk_widget_destroy() will only cause
the @widget to be finalized if no additional references, acquired
using g_object_ref(), are held on it. In case additional references
are in place, the @widget will be in an &quot;inert&quot; state after calling
this function; @widget will still point to valid memory, allowing you
to release the references you hold, but you may not query the widget's
own state.

You should typically call this function on top level widgets, and
rarely on child widgets.

See also: gtk_container_remove()

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_destroyed">
<description>
This function sets *@widget_pointer to %NULL if @widget_pointer !=
%NULL.  It’s intended to be used as a callback connected to the
“destroy” 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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="widget_pointer">
<parameter_description> address of a variable that contains @widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_device_is_shadowed">
<description>
Returns %TRUE if @device has been shadowed by a GTK+
device grab on another widget, so it would stop sending
events to @widget. This may be used in the
#GtkWidget::grab-notify signal to check for specific
devices. See gtk_device_grab_add().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there is an ongoing grab on @device
by another #GtkWidget than @widget.
</return>
</function>

<function name="gtk_widget_error_bell">
<description>
Notifies the user about an input-related error on this widget.
If the #GtkSettings:gtk-error-bell setting is %TRUE, it calls
gdk_surface_beep(), otherwise it does nothing.

Note that the effect of gdk_surface_beep() can be configured in many
ways, depending on the windowing backend and the desktop environment
or window manager that is used.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_event">
<description>
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’t use this function;
instead, use gtk_main_do_event() so the event will behave as if
it were in the event queue.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> a #GdkEvent
</parameter_description>
</parameter>
</parameters>
<return> return from the event signal emission (%TRUE if
the event was handled)
</return>
</function>

<function name="gtk_widget_get_accessible">
<description>
Returns the accessible object that describes the widget to an
assistive technology.

If accessibility support is not available, 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
[ATK](http://developer.gnome.org/atk/stable/)
library contains more information about accessible objects and their uses.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the #AtkObject associated with @widget
</return>
</function>

<function name="gtk_widget_get_allocated_baseline">
<description>
Returns the baseline that has currently been allocated to @widget.
This function is intended to be used when implementing handlers
for the #GtkWidget::snapshot function, and when allocating child
widgets in #GtkWidget::size_allocate.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget to query
</parameter_description>
</parameter>
</parameters>
<return> the baseline of the @widget, or -1 if none
</return>
</function>

<function name="gtk_widget_get_allocated_height">
<description>
Returns the height that has currently been allocated to @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget to query
</parameter_description>
</parameter>
</parameters>
<return> the height of the @widget
</return>
</function>

<function name="gtk_widget_get_allocated_width">
<description>
Returns the width that has currently been allocated to @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget to query
</parameter_description>
</parameter>
</parameters>
<return> the width of the @widget
</return>
</function>

<function name="gtk_widget_get_allocation">
<description>
Retrieves the widget’s allocation.

Note, when implementing a #GtkContainer: a widget’s allocation will
be its “adjusted” allocation, that is, the widget’s parent
container typically calls gtk_widget_size_allocate() with an
allocation, and that allocation is then adjusted (to handle margin
and alignment for example) before assignment to the widget.
gtk_widget_get_allocation() returns the adjusted allocation that
was actually assigned to the widget. The adjusted allocation is
guaranteed to be completely contained within the
gtk_widget_size_allocate() allocation, however. So a #GtkContainer
is guaranteed that its children stay inside the assigned bounds,
but not that they have exactly the bounds the container assigned.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="allocation">
<parameter_description> a pointer to a #GtkAllocation to copy to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_get_ancestor">
<description>
Gets the first ancestor of @widget with type @widget_type. For example,
`gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)` gets
the first #GtkBox that’s an ancestor of @widget. No reference will be
added to the returned widget; it should not be unreferenced.

Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor()
considers @widget to be an ancestor of itself.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="widget_type">
<parameter_description> ancestor type
</parameter_description>
</parameter>
</parameters>
<return> the ancestor widget, or %NULL if not found
</return>
</function>

<function name="gtk_widget_get_can_focus">
<description>
Determines whether @widget can own the input focus. See
gtk_widget_set_can_focus().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget can own the input focus, %FALSE otherwise
</return>
</function>

<function name="gtk_widget_get_can_target">
<description>
Queries whether @widget can be the target of pointer events.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget can receive pointer events
</return>
</function>

<function name="gtk_widget_get_child_visible">
<description>
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.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is mapped with the parent.
</return>
</function>

<function name="gtk_widget_get_clipboard">
<description>
This is a utility function to get the clipboard object for the
#GdkDisplay that @widget is using.

Note that this function always works, even when @widget is not
realized yet.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the appropriate clipboard object.
</return>
</function>

<function name="gtk_widget_get_cursor">
<description>
Queries the cursor set via gtk_widget_set_cursor(). See that function for
details.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the cursor currently in use or %NULL
to use the default.
</return>
</function>

<function name="gtk_widget_get_default_direction">
<description>
Obtains the current default reading direction. See
gtk_widget_set_default_direction().


</description>
<parameters>
</parameters>
<return> the current default direction.
</return>
</function>

<function name="gtk_widget_get_direction">
<description>
Gets the reading direction for a particular widget. See
gtk_widget_set_direction().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the reading direction for the widget.
</return>
</function>

<function name="gtk_widget_get_display">
<description>
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.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the #GdkDisplay for the toplevel for this widget.
</return>
</function>

<function name="gtk_widget_get_first_child">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The widget's first child
</return>
</function>

<function name="gtk_widget_get_focus_child">
<description>
Returns the current focus child of @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The current focus child of @widget,
or %NULL in case the focus child is unset.
</return>
</function>

<function name="gtk_widget_get_focus_on_click">
<description>
Returns whether the widget should grab focus when it is clicked with the mouse.
See gtk_widget_set_focus_on_click().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget should grab focus when it is clicked with
the mouse.
</return>
</function>

<function name="gtk_widget_get_font_map">
<description>
Gets the font map that has been set with gtk_widget_set_font_map().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> A #PangoFontMap, or %NULL
</return>
</function>

<function name="gtk_widget_get_font_options">
<description>
Returns the #cairo_font_options_t used for Pango rendering. When not set,
the defaults font options for the #GdkDisplay will be used.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the #cairo_font_options_t or %NULL if not set
</return>
</function>

<function name="gtk_widget_get_frame_clock">
<description>
Obtains the frame clock for a widget. The frame clock is a global
“ticker” that can be used to drive animations and repaints.  The
most common reason to get the frame clock is to call
gdk_frame_clock_get_frame_time(), in order to get a time to use for
animating. For example you might record the start of the animation
with an initial value from gdk_frame_clock_get_frame_time(), and
then update the animation by calling
gdk_frame_clock_get_frame_time() again during each repaint.

gdk_frame_clock_request_phase() will result in a new frame on the
clock, but won’t necessarily repaint any widgets. To repaint a
widget, you have to use gtk_widget_queue_draw() which invalidates
the widget (thus scheduling it to receive a draw on the next
frame). gtk_widget_queue_draw() will also end up requesting a frame
on the appropriate frame clock.

A widget’s frame clock will not change while the widget is
mapped. Reparenting a widget (which implies a temporary unmap) can
change the widget’s frame clock.

Unrealized widgets do not have a frame clock.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> a #GdkFrameClock,
or %NULL if widget is unrealized
</return>
</function>

<function name="gtk_widget_get_halign">
<description>
Gets the value of the #GtkWidget:halign property.

For backwards compatibility reasons this method will never return
%GTK_ALIGN_BASELINE, but instead it will convert it to
%GTK_ALIGN_FILL. Baselines are not supported for horizontal
alignment.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the horizontal alignment of @widget
</return>
</function>

<function name="gtk_widget_get_has_tooltip">
<description>
Returns the current value of the has-tooltip property.  See
#GtkWidget:has-tooltip for more information.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> current value of has-tooltip on @widget.
</return>
</function>

<function name="gtk_widget_get_height">
<description>
Returns the content height of the widget, as passed to its size-allocate implementation.
This is the size you should be using in GtkWidgetClass.snapshot(). For pointer
events, see gtk_widget_contains().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The height of @widget
</return>
</function>

<function name="gtk_widget_get_hexpand">
<description>
Gets whether the widget would like any available extra horizontal
space. When a user resizes a #GtkWindow, widgets with expand=TRUE
generally receive the extra space. For example, a list or
scrollable area or document in your window would often be set to
expand.

Containers should use gtk_widget_compute_expand() rather than
this function, to see whether a widget, or any of its children,
has the expand flag set. If any child of a widget wants to
expand, the parent may ask to expand also.

This function only looks at the widget’s own hexpand flag, rather
than computing whether the entire widget tree rooted at this widget
wants to expand.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
</parameters>
<return> whether hexpand flag is set
</return>
</function>

<function name="gtk_widget_get_hexpand_set">
<description>
Gets whether gtk_widget_set_hexpand() has been used to
explicitly set the expand flag on this widget.

If hexpand is set, then it overrides any computed
expand value based on child widgets. If hexpand is not
set, then the expand value depends on whether any
children of the widget would like to expand.

There are few reasons to use this function, but it’s here
for completeness and consistency.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
</parameters>
<return> whether hexpand has been explicitly set
</return>
</function>

<function name="gtk_widget_get_last_child">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The widget's last child
</return>
</function>

<function name="gtk_widget_get_layout_manager">
<description>
Retrieves the layout manager set using gtk_widget_set_layout_manager().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> a #GtkLayoutManager
</return>
</function>

<function name="gtk_widget_get_mapped">
<description>
Whether the widget is mapped.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is mapped, %FALSE otherwise.
</return>
</function>

<function name="gtk_widget_get_margin_bottom">
<description>
Gets the value of the #GtkWidget:margin-bottom property.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The bottom margin of @widget
</return>
</function>

<function name="gtk_widget_get_margin_end">
<description>
Gets the value of the #GtkWidget:margin-end property.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The end margin of @widget
</return>
</function>

<function name="gtk_widget_get_margin_start">
<description>
Gets the value of the #GtkWidget:margin-start property.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The start margin of @widget
</return>
</function>

<function name="gtk_widget_get_margin_top">
<description>
Gets the value of the #GtkWidget:margin-top property.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The top margin of @widget
</return>
</function>

<function name="gtk_widget_get_modifier_mask">
<description>
Returns the modifier mask the @widget’s windowing system backend
uses for a particular purpose.

See gdk_keymap_get_modifier_mask().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="intent">
<parameter_description> the use case for the modifier mask
</parameter_description>
</parameter>
</parameters>
<return> the modifier mask used for @intent.
</return>
</function>

<function name="gtk_widget_get_name">
<description>
Retrieves the name of a widget. See gtk_widget_set_name() for the
significance of widget names.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> name of the widget. This string is owned by GTK+ and
should not be modified or freed
</return>
</function>

<function name="gtk_widget_get_native">
<description>
Returns the GtkNative widget that contains @widget,
or %NULL if the widget is not contained inside a
widget tree with a native ancestor.

#GtkNative widgets will return themselves here.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the #GtkNative
widget of @widget, or %NULL
</return>
</function>

<function name="gtk_widget_get_next_sibling">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The widget's next sibling
</return>
</function>

<function name="gtk_widget_get_opacity">
<description>
Fetches the requested opacity for this widget.
See gtk_widget_set_opacity().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the requested opacity for this widget.
</return>
</function>

<function name="gtk_widget_get_overflow">
<description>
Returns the value set via gtk_widget_set_overflow().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The widget's overflow.
</return>
</function>

<function name="gtk_widget_get_pango_context">
<description>
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’s attributes. This can be tracked
by using the #GtkWidget::display-changed signal on the widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the #PangoContext for the widget.
</return>
</function>

<function name="gtk_widget_get_parent">
<description>
Returns the parent widget of @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the parent widget of @widget, or %NULL
</return>
</function>

<function name="gtk_widget_get_preferred_size">
<description>
Retrieves the minimum and natural size of a widget, taking
into account the widget’s preference for height-for-width management.

This is used to retrieve a suitable size by container widgets which do
not impose any restrictions on the child placement. It can be used
to deduce toplevel window and menu sizes as well as child widgets in
free-form containers such as GtkLayout.

Handle with care. Note that the natural height of a height-for-width
widget will generally be a smaller size than the minimum height, since the required
height for the natural width is generally smaller than the required height for
the minimum width.

Use gtk_widget_measure() if you want to support
baseline alignment.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget instance
</parameter_description>
</parameter>
<parameter name="minimum_size">
<parameter_description> location for storing the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_size">
<parameter_description> location for storing the natural size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_get_prev_sibling">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The widget's previous sibling
</return>
</function>

<function name="gtk_widget_get_primary_clipboard">
<description>
This is a utility function to get the primary clipboard object 
for the #GdkDisplay that @widget is using.

Note that this function always works, even when @widget is not
realized yet.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the appropriate clipboard object.
</return>
</function>

<function name="gtk_widget_get_realized">
<description>
Determines whether @widget is realized.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget is realized, %FALSE otherwise
</return>
</function>

<function name="gtk_widget_get_receives_default">
<description>
Determines whether @widget is always treated as the default widget
within its toplevel when it has the focus, even if another widget
is the default.

See gtk_widget_set_receives_default().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget acts as the default widget when focused,
%FALSE otherwise
</return>
</function>

<function name="gtk_widget_get_request_mode">
<description>
Gets whether the widget prefers a height-for-width layout
or a width-for-height layout.

#GtkBin widgets generally propagate the preference of
their child, container widgets need to request something either in
context of their children or in context of their allocation
capabilities.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget instance
</parameter_description>
</parameter>
</parameters>
<return> The #GtkSizeRequestMode preferred by @widget.
</return>
</function>

<function name="gtk_widget_get_root">
<description>
Returns the #GtkRoot widget of @widget or %NULL if the widget is not contained
inside a widget tree with a root widget.

#GtkRoot widgets will return themselves here.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the root widget of @widget, or %NULL
</return>
</function>

<function name="gtk_widget_get_scale_factor">
<description>
Retrieves the internal scale factor that maps from window coordinates
to the actual device pixels. On traditional systems this is 1, on
high density outputs, it can be a higher value (typically 2).

See gdk_surface_get_scale_factor().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the scale factor for @widget
</return>
</function>

<function name="gtk_widget_get_sensitive">
<description>
Returns the widget’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’s sensitivity. See gtk_widget_is_sensitive().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is sensitive
</return>
</function>

<function name="gtk_widget_get_settings">
<description>
Gets the settings object holding the settings 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 #GdkDisplay. If you want to monitor the widget for
changes in its settings, connect to notify::display.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the relevant #GtkSettings object
</return>
</function>

<function name="gtk_widget_get_size_request">
<description>
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
@height indicates that that dimension has not been set explicitly
and the natural requisition of the widget will be used instead. See
gtk_widget_set_size_request(). To get the size a widget will
actually request, call gtk_widget_measure() instead of
this function.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> return location for width, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> return location for height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_get_state_flags">
<description>
Returns the widget state as a flag set. It is worth mentioning
that the effective %GTK_STATE_FLAG_INSENSITIVE state will be
returned, that is, also based on parent insensitivity, even if
@widget itself is sensitive.

Also note that if you are looking for a way to obtain the
#GtkStateFlags to pass to a #GtkStyleContext method, you
should look at gtk_style_context_get_state().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The state flags for widget
</return>
</function>

<function name="gtk_widget_get_style_context">
<description>
Returns the style context associated to @widget. The returned object is
guaranteed to be the same for the lifetime of @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> a #GtkStyleContext. This memory is owned by @widget and
must not be freed.
</return>
</function>

<function name="gtk_widget_get_support_multidevice">
<description>
Returns %TRUE if @widget is multiple pointer aware. See
gtk_widget_set_support_multidevice() for more information.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget is multidevice aware.
</return>
</function>

<function name="gtk_widget_get_template_child">
<description>
Fetch an object build from the template XML for @widget_type in this @widget instance.

This will only report children which were previously declared with
gtk_widget_class_bind_template_child_full() or one of its
variants.

This function is only meant to be called for code which is private to the @widget_type which
declared the child and is meant for language bindings which cannot easily make use
of the GObject structure offsets.


</description>
<parameters>
<parameter name="widget">
<parameter_description> A #GtkWidget
</parameter_description>
</parameter>
<parameter name="widget_type">
<parameter_description> The #GType to get a template child for
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> The “id” of the child defined in the template XML
</parameter_description>
</parameter>
</parameters>
<return> The object built in the template XML with the id @name
</return>
</function>

<function name="gtk_widget_get_tooltip_markup">
<description>
Gets the contents of the tooltip for @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the tooltip text, or %NULL. You should free the
returned string with g_free() when done.
</return>
</function>

<function name="gtk_widget_get_tooltip_text">
<description>
Gets the contents of the tooltip for @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the tooltip text, or %NULL. You should free the
returned string with g_free() when done.
</return>
</function>

<function name="gtk_widget_get_valign">
<description>
Gets the value of the #GtkWidget:valign property.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the vertical alignment of @widget
</return>
</function>

<function name="gtk_widget_get_vexpand">
<description>
Gets whether the widget would like any available extra vertical
space.

See gtk_widget_get_hexpand() for more detail.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
</parameters>
<return> whether vexpand flag is set
</return>
</function>

<function name="gtk_widget_get_vexpand_set">
<description>
Gets whether gtk_widget_set_vexpand() has been used to
explicitly set the expand flag on this widget.

See gtk_widget_get_hexpand_set() for more detail.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
</parameters>
<return> whether vexpand has been explicitly set
</return>
</function>

<function name="gtk_widget_get_visible">
<description>
Determines whether the widget is visible. If you want to
take into account whether the widget’s parent is also marked as
visible, use gtk_widget_is_visible() instead.

This function does not check if the widget is obscured in any way.

See gtk_widget_set_visible().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is visible
</return>
</function>

<function name="gtk_widget_get_width">
<description>
Returns the content width of the widget, as passed to its size-allocate implementation.
This is the size you should be using in GtkWidgetClass.snapshot(). For pointer
events, see gtk_widget_contains().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The width of @widget
</return>
</function>

<function name="gtk_widget_grab_focus">
<description>
Causes @widget (or one of its descendents) to have the keyboard focus
for the #GtkWindow it's inside.

If @widget is not focusable, or its ::grab_focus implementation cannot
transfer the focus to a descendant of @widget that is focusable, it will
not take focus and %FALSE will be returned.

Calling gtk_widget_grab_focus() on an already focused widget is allowed,
should not have an effect, and return %TRUE.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if focus is now inside @widget.
</return>
</function>

<function name="gtk_widget_has_css_class">
<description>
Returns whether @css_class is currently applied to @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="css_class">
<parameter_description> A CSS style class, without the leading '.'
used for notation of style classes
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @css_class is currently applied to @widget,
%FALSE otherwise.
</return>
</function>

<function name="gtk_widget_has_default">
<description>
Determines whether @widget is the current default widget within its
toplevel.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget is the current default widget within
its toplevel, %FALSE otherwise
</return>
</function>

<function name="gtk_widget_has_focus">
<description>
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.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget has the global input focus.
</return>
</function>

<function name="gtk_widget_has_grab">
<description>
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().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is in the grab_widgets stack
</return>
</function>

<function name="gtk_widget_has_visible_focus">
<description>
Determines if the widget should show a visible indication that
it has the global input focus. This is a convenience function for
use in ::draw handlers that takes into account whether focus
indication should currently be shown in the toplevel window of
@widget. See gtk_window_get_focus_visible() for more information
about focus indication.

To find out if the widget has the global input focus, use
gtk_widget_has_focus().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget should display a “focus rectangle”
</return>
</function>

<function name="gtk_widget_hide">
<description>
Reverses the effects of gtk_widget_show(), causing the widget to be
hidden (invisible to the user).

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_in_destruction">
<description>
Returns whether the widget is currently being destroyed.
This information can sometimes be used to avoid doing
unnecessary work.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget is being destroyed
</return>
</function>

<function name="gtk_widget_init_template">
<description>
Creates and initializes child widgets defined in templates. This
function must be called in the instance initializer for any
class which assigned itself a template using gtk_widget_class_set_template()

It is important to call this function in the instance initializer
of a #GtkWidget subclass and not in #GObject.constructed() or
#GObject.constructor() for two reasons.

One reason is that generally derived widgets will assume that parent
class composite widgets have been created in their instance
initializers.

Another reason is that when calling g_object_new() on a widget with
composite templates, it’s important to build the composite widgets
before the construct properties are set. Properties passed to g_object_new()
should take precedence over properties set in the private template XML.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_input_shape_combine_region">
<description>
Sets an input shape for this widget’s GDK surface. This allows for
windows which react to mouse click in a nonrectangular region, see
gdk_surface_input_shape_combine_region() for more information.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="region">
<parameter_description> shape to be added, or %NULL to remove an existing shape
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_insert_action_group">
<description>
Inserts @group into @widget. Children of @widget that implement
#GtkActionable can then be associated with actions in @group by
setting their “action-name” to @prefix.`action-name`.

Note that inheritance is defined for individual actions. I.e.
even if you insert a group with prefix @prefix, actions with
the same prefix will still be inherited from the parent, unless
the group contains an action with the same name.

If @group is %NULL, a previously inserted group for @name is
removed from @widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the prefix for actions in @group
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a #GActionGroup, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_insert_after">
<description>
Inserts @widget into the child widget list of @parent.
It will be placed after @previous_sibling, or at the beginning if @previous_sibling is %NULL.

After calling this function, gtk_widget_get_prev_sibling(widget) will return @previous_sibling.

If @parent is already set as the parent widget of @widget, this function can also be used
to reorder @widget in the child widget list of @parent.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the parent #GtkWidget to insert @widget into
</parameter_description>
</parameter>
<parameter name="previous_sibling">
<parameter_description> the new previous sibling of @widget or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_insert_before">
<description>
Inserts @widget into the child widget list of @parent.
It will be placed before @next_sibling, or at the end if @next_sibling is %NULL.

After calling this function, gtk_widget_get_next_sibling(widget) will return @next_sibling.

If @parent is already set as the parent widget of @widget, this function can also be used
to reorder @widget in the child widget list of @parent.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the parent #GtkWidget to insert @widget into
</parameter_description>
</parameter>
<parameter name="next_sibling">
<parameter_description> the new next sibling of @widget or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_is_ancestor">
<description>
Determines whether @widget is somewhere inside @ancestor, possibly with
intermediate containers.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="ancestor">
<parameter_description> another #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @ancestor contains @widget as a child,
grandchild, great grandchild, etc.
</return>
</function>

<function name="gtk_widget_is_drawable">
<description>
Determines whether @widget can be drawn to. A widget can be drawn
if it is mapped and visible.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget is drawable, %FALSE otherwise
</return>
</function>

<function name="gtk_widget_is_focus">
<description>
Determines if the widget is the focus widget within its
toplevel. (This does not mean that the #GtkWidget:has-focus property is
necessarily set; #GtkWidget:has-focus will only be set if the
toplevel widget additionally has the global input focus.)


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is the focus widget.
</return>
</function>

<function name="gtk_widget_is_sensitive">
<description>
Returns the widget’s effective sensitivity, which means
it is sensitive itself and also its parent widget is sensitive


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is effectively sensitive
</return>
</function>

<function name="gtk_widget_is_visible">
<description>
Determines whether the widget and all its parents are marked as
visible.

This function does not check if the widget is obscured in any way.

See also gtk_widget_get_visible() and gtk_widget_set_visible()


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget and all its parents are visible
</return>
</function>

<function name="gtk_widget_keynav_failed">
<description>
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’s toplevel.

The default ::keynav-failed handler returns %FALSE for
%GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other
values of #GtkDirectionType it returns %TRUE.

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.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> direction of focus movement
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if stopping keyboard navigation is fine, %FALSE
if the emitting widget should try to handle the keyboard
navigation attempt in its parent container(s).
</return>
</function>

<function name="gtk_widget_list_accel_closures">
<description>
Lists the closures used by @widget for accelerator group connections
with gtk_accel_group_connect_by_path() or gtk_accel_group_connect().
The closures can be used to monitor accelerator changes on @widget,
by connecting to the @GtkAccelGroup::accel-changed signal of the
#GtkAccelGroup of a closure which can be found out with
gtk_accel_group_from_accel_closure().


</description>
<parameters>
<parameter name="widget">
<parameter_description>  widget to list accelerator closures for
</parameter_description>
</parameter>
</parameters>
<return>
a newly allocated #GList of closures
</return>
</function>

<function name="gtk_widget_list_mnemonic_labels">
<description>
Returns a newly allocated list of the widgets, normally labels, for
which this widget is 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
must call `g_list_foreach (result,
(GFunc)g_object_ref, NULL)` first, and then unref all the
widgets afterwards.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the list of
mnemonic labels; free this list
with g_list_free() when you are done with it.
</return>
</function>

<function name="gtk_widget_map">
<description>
This function is only for use in widget implementations. Causes
a widget to be mapped if it isn’t already.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_measure">
<description>
Measures @widget in the orientation @orientation and for the given @for_size.
As an example, if @orientation is %GTK_ORIENTATION_HORIZONTAL and @for_size is 300,
this functions will compute the minimum and natural width of @widget if
it is allocated at a height of 300 pixels.

See [GtkWidget’s geometry management section][geometry-management] for
a more details on implementing #GtkWidgetClass.measure().

</description>
<parameters>
<parameter name="widget">
<parameter_description> A #GtkWidget instance
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the orientation to measure
</parameter_description>
</parameter>
<parameter name="for_size">
<parameter_description> Size for the opposite of @orientation, i.e.
if @orientation is %GTK_ORIENTATION_HORIZONTAL, this is
the height the widget should be measured with. The %GTK_ORIENTATION_VERTICAL
case is analogous. This way, both height-for-width and width-for-height
requests can be implemented. If no size is known, -1 can be passed.
</parameter_description>
</parameter>
<parameter name="minimum">
<parameter_description> location to store the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural">
<parameter_description> location to store the natural size, or %NULL
</parameter_description>
</parameter>
<parameter name="minimum_baseline">
<parameter_description> location to store the baseline
position for the minimum size, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_baseline">
<parameter_description> location to store the baseline
position for the natural size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_mnemonic_activate">
<description>
Emits the #GtkWidget::mnemonic-activate signal.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="group_cycling">
<parameter_description> %TRUE if there are other widgets with the same mnemonic
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal has been handled
</return>
</function>

<function name="gtk_widget_new">
<description>
This is a convenience function for creating a widget and setting
its properties in one go. For example you might write:
`gtk_widget_new (GTK_TYPE_LABEL, &quot;label&quot;, &quot;Hello World&quot;, &quot;xalign&quot;,
0.0, NULL)` to create a left-aligned label. Equivalent to
g_object_new(), but returns a widget so you don’t have to
cast the object yourself.


</description>
<parameters>
<parameter name="type">
<parameter_description> type ID of the widget to create
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> name of first property to set
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> value of first property, followed by more properties,
%NULL-terminated
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkWidget of type @widget_type
</return>
</function>

<function name="gtk_widget_observe_children">
<description>
Returns a #GListModel to track the children of @widget. 

Calling this function will enable extra internal bookkeeping to track
children and emit signals on the returned listmodel. It may slow down
operations a lot.

Applications should try hard to avoid calling this function because of
the slowdowns.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> a #GListModel tracking @widget's children
</return>
</function>

<function name="gtk_widget_observe_controllers">
<description>
Returns a #GListModel to track the #GtkEventControllers of @widget. 

Calling this function will enable extra internal bookkeeping to track
controllers and emit signals on the returned listmodel. It may slow down
operations a lot.

Applications should try hard to avoid calling this function because of
the slowdowns.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> a #GListModel tracking @widget's controllers
</return>
</function>

<function name="gtk_widget_paintable_get_widget">
<description>
Returns the widget that is observed or %NULL
if none.


</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkWidgetPaintable
</parameter_description>
</parameter>
</parameters>
<return> the observed widget.
</return>
</function>

<function name="gtk_widget_paintable_new">
<description>
Creates a new widget paintable observing the given widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkWidgetPaintable
</return>
</function>

<function name="gtk_widget_paintable_set_widget">
<description>
Sets the widget that should be observed.

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkWidgetPaintable
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget to observe or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_pick">
<description>
Finds the descendant of @widget (including @widget itself) closest
to the screen at the point (@x, @y). The point must be given in
widget coordinates, so (0, 0) is assumed to be the top left of
@widget's content area.

Usually widgets will return %NULL if the given coordinate is not
contained in @widget checked via gtk_widget_contains(). Otherwise
they will recursively try to find a child that does not return %NULL.
Widgets are however free to customize their picking algorithm.

This function is used on the toplevel to determine the widget below
the mouse cursor for purposes of hover hilighting and delivering events.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget to query
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate to test, relative to @widget's origin
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate to test, relative to @widget's origin
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> Flags to influence what is picked
</parameter_description>
</parameter>
</parameters>
<return> The widget descendant at the given
coordinate or %NULL if none.
</return>
</function>

<function name="gtk_widget_queue_allocate">
<description>
This function is only for use in widget implementations.

Flags the widget for a rerun of the GtkWidgetClass::size_allocate
function. Use this function instead of gtk_widget_queue_resize()
when the @widget's size request didn't change but it wants to
reposition its contents.

An example user of this function is gtk_widget_set_halign().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_queue_compute_expand">
<description>
Mark @widget as needing to recompute its expand flags. Call
this function when setting legacy expand child properties
on the child of a container.

See gtk_widget_compute_expand().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_queue_draw">
<description>
Schedules this widget to be redrawn in paint phase of the
current or the next frame. This means @widget's GtkWidgetClass.snapshot()
implementation will be called.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_queue_resize">
<description>
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’s enough space for the new text.

Note that you cannot call gtk_widget_queue_resize() on a widget
from inside its implementation of the GtkWidgetClass::size_allocate 
virtual method. Calls to gtk_widget_queue_resize() from inside
GtkWidgetClass::size_allocate will be silently ignored.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_realize">
<description>
Creates the GDK (windowing system) resources associated with a
widget.  For example, @widget-&gt;surface 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’s parent widgets to be realized; calling
gtk_widget_realize() realizes the widget’s parents in addition to
@widget itself. If a widget is not yet inside a toplevel window
when you realize it, bad things will happen.

This function is primarily used in widget implementations, and
isn’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::realize.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_remove_accelerator">
<description>
Removes an accelerator from @widget, previously installed with
gtk_widget_add_accelerator().


</description>
<parameters>
<parameter name="widget">
<parameter_description>       widget to install an accelerator on
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description>  accel group for this widget
</parameter_description>
</parameter>
<parameter name="accel_key">
<parameter_description>    GDK keyval of the accelerator
</parameter_description>
</parameter>
<parameter name="accel_mods">
<parameter_description>   modifier key combination of the accelerator
</parameter_description>
</parameter>
</parameters>
<return> whether an accelerator was installed and could be removed
</return>
</function>

<function name="gtk_widget_remove_controller">
<description>
Removes @controller from @widget, so that it doesn't process
events anymore. It should not be used again.

Widgets will remove all event controllers automatically when they
are destroyed, there is normally no need to call this function.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="controller">
<parameter_description> a #GtkEventController
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_remove_css_class">
<description>
Removes @css_class from @widget. After this, the style of @widget
will stop matching for @css_class.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="css_class">
<parameter_description> The style class to remove from @widget, without
the leading '.' used for notation of style classes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_remove_mnemonic_label">
<description>
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().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a #GtkWidget that was previously set as a mnemonic label for
@widget with gtk_widget_add_mnemonic_label().
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_remove_surface_transform_changed_callback">
<description>
Removes a surface transform changed callback previously registered with
gtk_widget_add_surface_transform_changed_callback().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> an id returned by gtk_widget_add_surface_transform_changed_callback()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_remove_tick_callback">
<description>
Removes a tick callback previously registered with
gtk_widget_add_tick_callback().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> an id returned by gtk_widget_add_tick_callback()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_reset_style">
<description>
Updates the style context of @widget and all descendants
by updating its widget path. #GtkContainers may want
to use this on a child when reordering it in a way that a different
style might apply to it.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_accel_path">
<description>
Given an accelerator group, @accel_group, and an accelerator path,
@accel_path, sets up an accelerator in @accel_group so whenever the
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.

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().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="accel_path">
<parameter_description> path used to look up the accelerator
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_can_focus">
<description>
Specifies whether @widget can own the input focus.

Note that having @can_focus be %TRUE is only one of the
necessary conditions for being focusable. A widget must
also be sensitive and not have an ancestor that is marked
as not child-focusable in order to receive input focus.

See gtk_widget_grab_focus() for actually setting the input
focus on a widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="can_focus">
<parameter_description> whether or not @widget can own the input focus.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_can_target">
<description>
Sets whether @widget can be the target of pointer events.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="can_target">
<parameter_description> whether this widget should be able to receive pointer events
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_child_visible">
<description>
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="child_visible">
<parameter_description> if %TRUE, @widget should be mapped along with its parent.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_cursor">
<description>
Sets the cursor to be shown when pointer devices point towards @widget.

If the @cursor is NULL, @widget will use the cursor inherited from the
parent widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="cursor">
<parameter_description> the new cursor or %NULL to use the default
cursor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_cursor_from_name">
<description>
Sets a named cursor to be shown when pointer devices point towards @widget.

This is a utility function that creates a cursor via
gdk_cursor_new_from_name() and then sets it on @widget with
gtk_widget_set_cursor(). See those 2 functions for details.

On top of that, this function allows @name to be %NULL, which will
do the same as calling gtk_widget_set_cursor() with a %NULL cursor.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> The name of the cursor or %NULL to use the default
cursor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_default_direction">
<description>
Sets the default reading direction for widgets where the
direction has not been explicitly set by gtk_widget_set_direction().

</description>
<parameters>
<parameter name="dir">
<parameter_description> the new default direction. This cannot be
%GTK_TEXT_DIR_NONE.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_direction">
<description>
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 explicitly
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="dir">
<parameter_description>    the new direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_focus_child">
<description>
Set @child as the current focus child of @widget. The previous
focus child will be unset.

This function is only suitable for widget implementations.
If you want a certain widget to get the input focus, call
gtk_widget_grab_focus() on it.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a direct child widget of @widget or %NULL
to unset the focus child of @widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_focus_on_click">
<description>
Sets whether the widget should grab focus when it is clicked with the mouse.
Making mouse clicks not grab focus is useful in places like toolbars where
you don’t want the keyboard focus removed from the main area of the
application.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="focus_on_click">
<parameter_description> whether the widget should grab focus when clicked with the mouse
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_font_map">
<description>
Sets the font map to use for Pango rendering. When not set, the widget
will inherit the font map from its parent.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="font_map">
<parameter_description> a #PangoFontMap, or %NULL to unset any previously
set font map
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_font_options">
<description>
Sets the #cairo_font_options_t used for Pango rendering in this widget.
When not set, the default font options for the #GdkDisplay will be used.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="options">
<parameter_description> a #cairo_font_options_t, or %NULL to unset any
previously set default font options.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_halign">
<description>
Sets the horizontal alignment of @widget.
See the #GtkWidget:halign property.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="align">
<parameter_description> the horizontal alignment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_has_tooltip">
<description>
Sets the has-tooltip property on @widget to @has_tooltip.  See
#GtkWidget:has-tooltip for more information.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="has_tooltip">
<parameter_description> whether or not @widget has a tooltip.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_hexpand">
<description>
Sets whether the widget would like any available extra horizontal
space. When a user resizes a #GtkWindow, widgets with expand=TRUE
generally receive the extra space. For example, a list or
scrollable area or document in your window would often be set to
expand.

Call this function to set the expand flag if you would like your
widget to become larger horizontally when the window has extra
room.

By default, widgets automatically expand if any of their children
want to expand. (To see if a widget will automatically expand given
its current children and state, call gtk_widget_compute_expand(). A
container can decide how the expandability of children affects the
expansion of the container by overriding the compute_expand virtual
method on #GtkWidget.).

Setting hexpand explicitly with this function will override the
automatic expand behavior.

This function forces the widget to expand or not to expand,
regardless of children.  The override occurs because
gtk_widget_set_hexpand() sets the hexpand-set property (see
gtk_widget_set_hexpand_set()) which causes the widget’s hexpand
value to be used, rather than looking at children and widget state.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> whether to expand
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_hexpand_set">
<description>
Sets whether the hexpand flag (see gtk_widget_get_hexpand()) will
be used.

The hexpand-set property will be set automatically when you call
gtk_widget_set_hexpand() to set hexpand, so the most likely
reason to use this function would be to unset an explicit expand
flag.

If hexpand is set, then it overrides any computed
expand value based on child widgets. If hexpand is not
set, then the expand value depends on whether any
children of the widget would like to expand.

There are few reasons to use this function, but it’s here
for completeness and consistency.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="set">
<parameter_description> value for hexpand-set property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_layout_manager">
<description>
Sets the layout manager delegate instance that provides an implementation
for measuring and allocating the children of @widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="layout_manager">
<parameter_description> a #GtkLayoutManager
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_margin_bottom">
<description>
Sets the bottom margin of @widget.
See the #GtkWidget:margin-bottom property.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the bottom margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_margin_end">
<description>
Sets the end margin of @widget.
See the #GtkWidget:margin-end property.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the end margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_margin_start">
<description>
Sets the start margin of @widget.
See the #GtkWidget:margin-start property.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the start margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_margin_top">
<description>
Sets the top margin of @widget.
See the #GtkWidget:margin-top property.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the top margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_name">
<description>
Widgets can be named, which allows you to refer to them from a
CSS file. You can apply a style to widgets with a particular name
in the CSS file. See the documentation for the CSS syntax (on the
same page as the docs for #GtkStyleContext).

Note that the CSS syntax has certain special characters to delimit
and represent elements in a selector (period, #, &gt;, *...), so using
these will make your widget impossible to match by name. Any combination
of alphanumeric symbols, dashes and underscores will suffice.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> name for the widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_opacity">
<description>
Request the @widget to be rendered partially transparent,
with opacity 0 being fully transparent and 1 fully opaque. (Opacity values
are clamped to the [0,1] range.).
This works on both toplevel widget, and child widgets, although there
are some limitations:

For toplevel widgets this depends on the capabilities of the windowing
system. On X11 this has any effect only on X displays with a compositing manager
running. See gdk_display_is_composited(). On Windows it should work
always, although setting a window’s opacity after the window has been
shown causes it to flicker once on Windows.

For child widgets it doesn’t work if any affected widget has a native window.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="opacity">
<parameter_description> desired opacity, between 0 and 1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_overflow">
<description>
Sets how @widget treats content that is drawn outside the widget's content area.
See the definition of #GtkOverflow for details.

This setting is provided for widget implementations and should not be used by
application code.

The default value is %GTK_OVERFLOW_VISIBLE.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="overflow">
<parameter_description> desired overflow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_parent">
<description>
This function is useful only when implementing subclasses of
#GtkWidget.
Sets @parent as the parent widget of @widget, and takes care of
some details such as updating the state and style of the child
to reflect its new location and resizing the parent. The opposite
function is gtk_widget_unparent().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> parent widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_receives_default">
<description>
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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="receives_default">
<parameter_description> whether or not @widget can be a default widget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_sensitive">
<description>
Sets the sensitivity of a widget. A widget is sensitive if the user
can interact with it. Insensitive widgets are “grayed out” and the
user can’t interact with them. Insensitive widgets are known as
“inactive”, “disabled”, or “ghosted” in some other toolkits.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="sensitive">
<parameter_description> %TRUE to make the widget sensitive
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_size_request">
<description>
Sets the minimum size of a widget; that is, the widget’s size
request will be at least @width by @height. You can use this 
function to force a widget to be larger 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'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 “natural” size request of the widget will be used instead.

The size request set here does not include any margin from the
#GtkWidget properties margin-left, margin-right, margin-top, and
margin-bottom, but it does include pretty much all other padding
or border properties set by any subclass of #GtkWidget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width @widget should request, or -1 to unset
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height @widget should request, or -1 to unset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_state_flags">
<description>
This function is for use in widget implementations. Turns on flag
values in the current widget state (insensitive, prelighted, etc.).

This function accepts the values %GTK_STATE_FLAG_DIR_LTR and
%GTK_STATE_FLAG_DIR_RTL but ignores them. If you want to set the widget's
direction, use gtk_widget_set_direction().

It is worth mentioning that any other state than %GTK_STATE_FLAG_INSENSITIVE,
will be propagated down to all non-internal children if @widget is a
#GtkContainer, while %GTK_STATE_FLAG_INSENSITIVE itself will be propagated
down to all #GtkContainer children by different means than turning on the
state flag down the hierarchy, both gtk_widget_get_state_flags() and
gtk_widget_is_sensitive() will make use of these.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> State flags to turn on
</parameter_description>
</parameter>
<parameter name="clear">
<parameter_description> Whether to clear state before turning on @flags
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_support_multidevice">
<description>
Enables or disables multiple pointer awareness. If this setting is %TRUE,
@widget will start receiving multiple, per device enter/leave events. Note
that if custom #GdkSurfaces are created in #GtkWidget::realize,
gdk_surface_set_support_multidevice() will have to be called manually on them.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="support_multidevice">
<parameter_description> %TRUE to support input from multiple devices.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_tooltip_markup">
<description>
Sets @markup as the contents of the tooltip, which is marked up with
the [Pango text markup language][PangoMarkupFormat].

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().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> the contents of the tooltip for @widget, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_tooltip_text">
<description>
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().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the contents of the tooltip for @widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_valign">
<description>
Sets the vertical alignment of @widget.
See the #GtkWidget:valign property.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="align">
<parameter_description> the vertical alignment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_vexpand">
<description>
Sets whether the widget would like any available extra vertical
space.

See gtk_widget_set_hexpand() for more detail.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> whether to expand
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_vexpand_set">
<description>
Sets whether the vexpand flag (see gtk_widget_get_vexpand()) will
be used.

See gtk_widget_set_hexpand_set() for more detail.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="set">
<parameter_description> value for vexpand-set property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_visible">
<description>
Sets the visibility state of @widget. Note that setting this to
%TRUE doesn’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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> whether the widget should be shown or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_should_layout">
<description>
Returns whether @widget should contribute to
the measuring and allocation of its parent.
This is %FALSE for invisible children, but also
for children that have their own surface.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a widget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if child should be included in
measuring and allocating
</return>
</function>

<function name="gtk_widget_show">
<description>
Flags a widget to be displayed. Any widget that isn’t shown will
not appear on the screen.

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.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_size_allocate">
<description>
This is a simple form of gtk_widget_allocate() that takes the new position
of @widget as part of @allocation.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="allocation">
<parameter_description> position and size to be allocated to @widget
</parameter_description>
</parameter>
<parameter name="baseline">
<parameter_description> The baseline of the child, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_snapshot_child">
<description>
When a widget receives a call to the snapshot function, it must send
synthetic #GtkWidget::snapshot calls to all children. This function
provides a convenient way of doing this. A widget, when it receives
a call to its #GtkWidget::snapshot function, calls
gtk_widget_snapshot_child() once for each child, passing in
the @snapshot the widget received.

gtk_widget_snapshot_child() takes care of translating the origin of
@snapshot, and deciding whether the child needs to be snapshot.

This function does nothing for children that implement #GtkNative.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @widget
</parameter_description>
</parameter>
<parameter name="snapshot">
<parameter_description> #GtkSnapshot as passed to the widget. In particular, no
calls to gtk_snapshot_translate() or other transform calls should
have been made.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_translate_coordinates">
<description>
Translate coordinates relative to @src_widget’s allocation to coordinates
relative to @dest_widget’s allocations. In order to perform this
operation, both widget must share a common toplevel.


</description>
<parameters>
<parameter name="src_widget">
<parameter_description>  a #GtkWidget
</parameter_description>
</parameter>
<parameter name="dest_widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="src_x">
<parameter_description> X position relative to @src_widget
</parameter_description>
</parameter>
<parameter name="src_y">
<parameter_description> Y position relative to @src_widget
</parameter_description>
</parameter>
<parameter name="dest_x">
<parameter_description> location to store X position relative to @dest_widget
</parameter_description>
</parameter>
<parameter name="dest_y">
<parameter_description> location to store Y position relative to @dest_widget
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if @src_widget and @dest_widget have no common
ancestor. In this case, 0 is stored in
*@dest_x and *@dest_y. Otherwise %TRUE.
</return>
</function>

<function name="gtk_widget_trigger_tooltip_query">
<description>
Triggers a tooltip query on the display where the toplevel of @widget
is located. See gtk_tooltip_trigger_tooltip_query() for more
information.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_unmap">
<description>
This function is only for use in widget implementations. Causes
a widget to be unmapped if it’s currently mapped.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_unparent">
<description>
This function is only for use in widget implementations.
Should be called by parent widgets to dissociate @widget
from the parent.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_unrealize">
<description>
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;surface).

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_unset_state_flags">
<description>
This function is for use in widget implementations. Turns off flag
values for the current widget state (insensitive, prelighted, etc.).
See gtk_widget_set_state_flags().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> State flags to turn off
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_activate_key">
<description>
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.


</description>
<parameters>
<parameter name="window">
<parameter_description>  a #GtkWindow
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description>   a #GdkEventKey
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a mnemonic or accelerator was found and activated.
</return>
</function>

<function name="gtk_window_add_accel_group">
<description>
Associate @accel_group with @window, such that calling
gtk_accel_groups_activate() on @window will activate accelerators
in @accel_group.

</description>
<parameters>
<parameter name="window">
<parameter_description> window to attach accelerator group to
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_add_mnemonic">
<description>
Adds a mnemonic to this window.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the mnemonic
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the widget that gets activated by the mnemonic
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_begin_move_drag">
<description>
Starts moving a window. This function is used if an application has
window movement grips.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> mouse button that initiated the drag
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X position where the user clicked to initiate the drag, in window coordinates
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y position where the user clicked to initiate the drag
</parameter_description>
</parameter>
<parameter name="timestamp">
<parameter_description> timestamp from the click event that initiated the drag
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_begin_resize_drag">
<description>
Starts resizing a window. This function is used if an application
has window resizing controls.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> mouse button that initiated the drag
</parameter_description>
</parameter>
<parameter name="edge">
<parameter_description> position of the resize control
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X position where the user clicked to initiate the drag, in window coordinates
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y position where the user clicked to initiate the drag
</parameter_description>
</parameter>
<parameter name="timestamp">
<parameter_description> timestamp from the click event that initiated the drag
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_close">
<description>
Requests that the window is closed, similar to what happens
when a window manager close button is clicked.

This function can be used with close buttons in custom
titlebars.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_fullscreen">
<description>
Asks to place @window in the fullscreen state. Note that you
shouldn’t assume the window is definitely full screen afterward,
because other entities (e.g. the user or
[window manager][gtk-X11-arch]) could unfullscreen it
again, and not all window managers honor requests to fullscreen
windows. But normally the window will end up fullscreen. Just
don’t write code that crashes if not.

You can track iconification via the #GdkSurface::state property

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_fullscreen_on_monitor">
<description>
Asks to place @window in the fullscreen state. Note that you shouldn't assume
the window is definitely full screen afterward.

You can track iconification via the #GdkSurface::state property

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="monitor">
<parameter_description> which monitor to go fullscreen on
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_get_accept_focus">
<description>
Gets the value set by gtk_window_set_accept_focus().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if window should receive the input focus
</return>
</function>

<function name="gtk_window_get_application">
<description>
Gets the #GtkApplication associated with the window (if any).


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> a #GtkApplication, or %NULL
</return>
</function>

<function name="gtk_window_get_attached_to">
<description>
Fetches the attach widget for this window. See
gtk_window_set_attached_to().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the widget where the window
is attached, or %NULL if the window is not attached to any widget.
</return>
</function>

<function name="gtk_window_get_decorated">
<description>
Returns whether the window has been set to have decorations
such as a title bar via gtk_window_set_decorated().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window has been set to have decorations
</return>
</function>

<function name="gtk_window_get_default_icon_name">
<description>
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().


</description>
<parameters>
</parameters>
<return> the fallback icon name for windows
</return>
</function>

<function name="gtk_window_get_default_size">
<description>
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 “natural” size of the window will be
used.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to store the default width, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to store the default height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_get_default_widget">
<description>
Returns the default widget for @window. See
gtk_window_set_default() for more details.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the default widget, or %NULL
if there is none.
</return>
</function>

<function name="gtk_window_get_deletable">
<description>
Returns whether the window has been set to have a close button
via gtk_window_set_deletable().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window has been set to have a close button
</return>
</function>

<function name="gtk_window_get_destroy_with_parent">
<description>
Returns whether the window will be destroyed with its transient parent. See
gtk_window_set_destroy_with_parent ().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window will be destroyed with its transient parent.
</return>
</function>

<function name="gtk_window_get_focus">
<description>
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  `gtk_widget_has_focus (widget)` will
not be %TRUE for the widget.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the currently focused widget,
or %NULL if there is none.
</return>
</function>

<function name="gtk_window_get_focus_on_map">
<description>
Gets the value set by gtk_window_set_focus_on_map().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if window should receive the input focus when
mapped.
</return>
</function>

<function name="gtk_window_get_focus_visible">
<description>
Gets the value of the #GtkWindow:focus-visible property.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if “focus rectangles” are supposed to be visible
in this window.
</return>
</function>

<function name="gtk_window_get_group">
<description>
Returns the group for @window or the default group, if
@window is %NULL or if @window does not have an explicit
window group.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the #GtkWindowGroup for a window or the default group
</return>
</function>

<function name="gtk_window_get_hide_on_close">
<description>
Returns whether the window will be hidden when the close button is clicked.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window will be hidden
</return>
</function>

<function name="gtk_window_get_icon_name">
<description>
Returns the name of the themed icon for the window,
see gtk_window_set_icon_name().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the icon name or %NULL if the window has
no themed icon
</return>
</function>

<function name="gtk_window_get_mnemonic_modifier">
<description>
Returns the mnemonic modifier for this window. See
gtk_window_set_mnemonic_modifier().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the modifier mask used to activate
mnemonics on this window.
</return>
</function>

<function name="gtk_window_get_mnemonics_visible">
<description>
Gets the value of the #GtkWindow:mnemonics-visible property.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if mnemonics are supposed to be visible
in this window.
</return>
</function>

<function name="gtk_window_get_modal">
<description>
Returns whether the window is modal. See gtk_window_set_modal().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window is set to be modal and
establishes a grab when shown
</return>
</function>

<function name="gtk_window_get_resizable">
<description>
Gets the value set by gtk_window_set_resizable().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the user can resize the window
</return>
</function>

<function name="gtk_window_get_size">
<description>
Obtains the current size of @window.

If @window is not visible on screen, this function return the size GTK+
will suggest to the [window manager][gtk-X11-arch] for the initial window
size (but this is not reliably the same as the size the window manager
will actually select). See: gtk_window_set_default_size().

Depending on the windowing system and the window manager constraints,
the size returned by this function may not match the size set using
gtk_window_resize(); additionally, since gtk_window_resize() may be
implemented as an asynchronous operation, GTK+ cannot guarantee in any
way that this code:

|[&lt;!-- language=&quot;C&quot; --&gt;
GtkWindow *window = GTK_WINDOW (gtk_window_new (GTK_WINDOW_TOPLEVEL));
int width = 500;
int height = 300;
gtk_window_resize (window, width, height);

int new_width, new_height;
gtk_window_get_size (window, &amp;new_width, &amp;new_height);
]|

will result in `new_width` and `new_height` matching `width` and
`height`, respectively.

This function will return the logical size of the #GtkWindow,
excluding the widgets used in client side decorations; there is,
however, no guarantee that the result will be completely accurate
because client side decoration may include widgets that depend on
the user preferences and that may not be visibile at the time you
call this function.

The dimensions returned by this function are suitable for being
stored across sessions; use gtk_window_set_default_size() to
restore them when before showing the window.

To avoid potential race conditions, you should only call this
function in response to a size change notification, for instance
inside a handler for the #GtkWidget::size-allocate signal, or
inside a handler for the #GtkWidget::configure-event signal:

|[&lt;!-- language=&quot;C&quot; --&gt;
static void
on_size_allocate (GtkWidget *widget,
const GtkAllocation *allocation,
int baseline)
{
int new_width, new_height;

gtk_window_get_size (GTK_WINDOW (widget), &amp;new_width, &amp;new_height);

// ...
}
]|

Note that, if you connect to the #GtkWidget::size-allocate signal,
you should not use the dimensions of the #GtkAllocation passed to
the signal handler, as the allocation may contain client side
decorations added by GTK+, depending on the windowing system in
use.

If you are getting a window size in order to position the window
on the screen, you should, instead, simply set the window’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's much preferred
to let the window manager handle these cases rather than doing it
yourself, because all apps will behave consistently and according to
user or system preferences, if the window manager handles it. Also,
the window manager can take into account the size of the window
decorations and border that it may add, and of which GTK+ has no
knowledge. Additionally, positioning windows in global screen coordinates
may not be allowed by the windowing system. For more information,
see: gtk_window_set_position().

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> return location for width, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> return location for height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_get_title">
<description>
Retrieves the title of the window. See gtk_window_set_title().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the title of the window, or %NULL if none has
been set explicitly. The returned string is owned by the widget
and must not be modified or freed.
</return>
</function>

<function name="gtk_window_get_titlebar">
<description>
Returns the custom titlebar that has been set with
gtk_window_set_titlebar().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the custom titlebar, or %NULL
</return>
</function>

<function name="gtk_window_get_toplevels">
<description>
Returns a list of all existing toplevel windows.

If you want to iterate through the list and perform actions involving
callbacks that might destroy the widgets or add new ones, be aware that
the list of toplevels will change and emit the &quot;items-changed&quot; signal.


</description>
<parameters>
</parameters>
<return> the list of toplevel widgets
</return>
</function>

<function name="gtk_window_get_transient_for">
<description>
Fetches the transient parent for this window. See
gtk_window_set_transient_for().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the transient parent for this
window, or %NULL if no transient parent has been set.
</return>
</function>

<function name="gtk_window_get_type_hint">
<description>
Gets the type hint for this window. See gtk_window_set_type_hint().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the type hint for @window.
</return>
</function>

<function name="gtk_window_get_window_type">
<description>
Gets the type of the window. See #GtkWindowType.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the type of the window
</return>
</function>

<function name="gtk_window_group_add_window">
<description>
Adds a window to a #GtkWindowGroup. 

</description>
<parameters>
<parameter name="window_group">
<parameter_description> a #GtkWindowGroup
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> the #GtkWindow to add
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_group_get_current_device_grab">
<description>
Returns the current grab widget for @device, or %NULL if none.


</description>
<parameters>
<parameter name="window_group">
<parameter_description> a #GtkWindowGroup
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
</parameters>
<return> The grab widget, or %NULL
</return>
</function>

<function name="gtk_window_group_get_current_grab">
<description>
Gets the current grab widget of the given group,
see gtk_grab_add().


</description>
<parameters>
<parameter name="window_group">
<parameter_description> a #GtkWindowGroup
</parameter_description>
</parameter>
</parameters>
<return> the current grab widget of the group
</return>
</function>

<function name="gtk_window_group_list_windows">
<description>
Returns a list of the #GtkWindows that belong to @window_group.


</description>
<parameters>
<parameter name="window_group">
<parameter_description> a #GtkWindowGroup
</parameter_description>
</parameter>
</parameters>
<return> A
newly-allocated list of windows inside the group.
</return>
</function>

<function name="gtk_window_group_new">
<description>
Creates a new #GtkWindowGroup object. Grabs added with
gtk_grab_add() only affect windows within the same #GtkWindowGroup.


</description>
<parameters>
</parameters>
<return> a new #GtkWindowGroup. 
</return>
</function>

<function name="gtk_window_group_remove_window">
<description>
Removes a window from a #GtkWindowGroup.

</description>
<parameters>
<parameter name="window_group">
<parameter_description> a #GtkWindowGroup
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> the #GtkWindow to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_has_group">
<description>
Returns whether @window has an explicit window group.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @window has an explicit window group.
</return>
</function>

<function name="gtk_window_is_active">
<description>
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.
You might use this function if you wanted to draw a widget
differently in an active window from a widget in an inactive window.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window part of the current active window.
</return>
</function>

<function name="gtk_window_is_maximized">
<description>
Retrieves the current maximized state of @window.

Note that since maximization is ultimately handled by the window
manager and happens asynchronously to an application request, you
shouldn’t assume the return value of this function changing
immediately (or at all), as an effect of calling
gtk_window_maximize() or gtk_window_unmaximize().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> whether the window has a maximized state.
</return>
</function>

<function name="gtk_window_list_toplevels">
<description>
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 must call
`g_list_foreach (result, (GFunc)g_object_ref, NULL)` first, and
then unref all the widgets afterwards.


</description>
<parameters>
</parameters>
<return> list of toplevel widgets
</return>
</function>

<function name="gtk_window_maximize">
<description>
Asks to maximize @window, so that it becomes full-screen. Note that
you shouldn’t assume the window is definitely maximized afterward,
because other entities (e.g. the user or
[window manager][gtk-X11-arch]) could unmaximize it
again, and not all window managers support maximization. But
normally the window will end up maximized. Just don’t write code
that crashes if not.

It’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 the result of this operation via the #GdkSurface:state
property, or by listening to notifications on the #GtkWindow:is-maximized
property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_minimize">
<description>
Asks to minimize the specified @window.

Note that you shouldn’t assume the window is definitely minimized
afterward, because the windowing system might not support this
functionality; other entities (e.g. the user or the [window manager][gtk-X11-arch])
could unminimize it again, or there may not be a window manager in
which case minimization isn’t possible, etc.

It’s permitted to call this function before showing a window,
in which case the window will be minimized before it ever appears
onscreen.

You can track result of this operation via the #GdkSurface:state
property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_mnemonic_activate">
<description>
Activates the targets associated with the mnemonic.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the mnemonic
</parameter_description>
</parameter>
<parameter name="modifier">
<parameter_description> the modifiers
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the activation is done.
</return>
</function>

<function name="gtk_window_new">
<description>
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’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 “popups”.
In GTK+, #GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip.
On X11, popup windows are not controlled by the
[window manager][gtk-X11-arch].

If you simply want an undecorated window (no window borders), use
gtk_window_set_decorated(), don’t use #GTK_WINDOW_POPUP.

All top-level windows created by gtk_window_new() are stored in
an internal top-level window list.  This list can be obtained from
gtk_window_list_toplevels().  Due to Gtk+ keeping a reference to
the window internally, gtk_window_new() does not return a reference
to the caller.

To delete a #GtkWindow, call gtk_widget_destroy().


</description>
<parameters>
<parameter name="type">
<parameter_description> type of window
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkWindow.
</return>
</function>

<function name="gtk_window_present">
<description>
Presents a window to the user. This function should not be used
as when it is called, it is too late to gather a valid timestamp
to allow focus stealing prevention to work correctly.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_present_with_time">
<description>
Presents a window to the user. This may mean raising the window
in the stacking order, unminimizing it, moving it to the current
desktop, and/or giving it the keyboard focus, possibly dependent
on the user’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’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.

Presents a window to the user in response to a user interaction. The
timestamp should be gathered when the window was requested to be shown
(when clicking a link for example), rather than once the window is
ready to be shown.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="timestamp">
<parameter_description> the timestamp of the user interaction (typically a 
button or key press event) which triggered this call
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_propagate_key_event">
<description>
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.


</description>
<parameters>
<parameter name="window">
<parameter_description>  a #GtkWindow
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description>   a #GdkEventKey
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a widget in the focus chain handled the event.
</return>
</function>

<function name="gtk_window_remove_accel_group">
<description>
Reverses the effects of gtk_window_add_accel_group().

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_remove_mnemonic">
<description>
Removes a mnemonic from this window.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> the mnemonic
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the widget that gets activated by the mnemonic
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_resize">
<description>
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'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.

When using client side decorations, GTK+ will do its best to adjust
the given size so that the resulting window size matches the
requested size without the title bar, borders and shadows added for
the client side decorations, but there is no guarantee that the
result will be totally accurate because these widgets added for
client side decorations depend on the theme and may not be realized
or visible at the time gtk_window_resize() is issued.

If the GtkWindow has a titlebar widget (see gtk_window_set_titlebar()), then
typically, gtk_window_resize() will compensate for the height of the titlebar
widget only if the height is known when the resulting GtkWindow configuration
is issued.
For example, if new widgets are added after the GtkWindow configuration
and cause the titlebar widget to grow in height, this will result in a
window content smaller that specified by gtk_window_resize() and not
a larger window.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width in pixels to resize the window to
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height in pixels to resize the window to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_accept_focus">
<description>
Windows may set a hint asking the desktop environment not to receive
the input focus. This function sets this hint.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow 
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to let this window receive input focus
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_application">
<description>
Sets or unsets the #GtkApplication associated with the window.

The application will be kept alive for at least as long as it has any windows
associated with it (see g_application_hold() for a way to keep it alive
without windows).

Normally, the connection between the application and the window will remain
until the window is destroyed, but you can explicitly remove it by setting
the @application to %NULL.

This is equivalent to calling gtk_application_remove_window() and/or
gtk_application_add_window() on the old/new applications as relevant.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="application">
<parameter_description> a #GtkApplication, or %NULL to unset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_attached_to">
<description>
Marks @window as attached to @attach_widget. This creates a logical binding
between the window and the widget it belongs to, which is used by GTK+ to
propagate information such as styling or accessibility to @window as if it
was a children of @attach_widget.

Examples of places where specifying this relation is useful are for instance
a #GtkMenu created by a #GtkComboBox, a completion popup window
created by #GtkEntry or a typeahead search entry created by #GtkTreeView.

Note that this function should not be confused with
gtk_window_set_transient_for(), which specifies a window manager relation
between two toplevels instead.

Passing %NULL for @attach_widget detaches the window.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="attach_widget">
<parameter_description> a #GtkWidget, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_auto_startup_notification">
<description>
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.

</description>
<parameters>
<parameter name="setting">
<parameter_description> %TRUE to automatically do startup notification
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_decorated">
<description>
By default, windows are decorated with a title bar, resize
controls, etc.  Some [window managers][gtk-X11-arch]
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_widget_show().

On Windows, this function always works, since there’s no window manager
policy involved.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to decorate the window
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_default_icon_name">
<description>
Sets an icon to be used as fallback for windows that haven't
had gtk_window_set_icon_list() called on them from a named
themed icon, see gtk_window_set_icon_name().

</description>
<parameters>
<parameter name="name">
<parameter_description> the name of the themed icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_default_size">
<description>
Sets the default size of a window. If the window’s “natural” size
(its size request) is larger than the default, the default will be
ignored.

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 “natural” default size (the size request of the window).

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’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.

If you use this function to reestablish a previously saved window size,
note that the appropriate size to save is the one returned by
gtk_window_get_size(). Using the window allocation directly will not
work in all circumstances and can lead to growing or shrinking windows.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width in pixels, or -1 to unset the default width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height in pixels, or -1 to unset the default height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_default_widget">
<description>
The default widget is the widget that’s activated when the user
presses Enter in a dialog (for example). This function sets or
unsets the default widget for a #GtkWindow.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="default_widget">
<parameter_description> widget to be the default, or %NULL
to unset the default widget for the toplevel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_deletable">
<description>
By default, windows have a close button in the window frame. Some 
[window managers][gtk-X11-arch] 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_widget_show().

On Windows, this function always works, since there’s no window manager
policy involved.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to decorate the window as deletable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_destroy_with_parent">
<description>
If @setting is %TRUE, then destroying the transient parent of @window
will also destroy @window itself. This is useful for dialogs that
shouldn’t persist beyond the lifetime of the main window they're
associated with, for example.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> whether to destroy @window with its transient parent
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_display">
<description>
Sets the #GdkDisplay where the @window is displayed; if
the window is already mapped, it will be unmapped, and
then remapped on the new display.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow.
</parameter_description>
</parameter>
<parameter name="display">
<parameter_description> a #GdkDisplay.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_focus">
<description>
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.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="focus">
<parameter_description> widget to be the new focus widget, or %NULL to unset
any focus widget for the toplevel window.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_focus_on_map">
<description>
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.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow 
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to let this window receive input focus on map
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_focus_visible">
<description>
Sets the #GtkWindow:focus-visible property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_has_user_ref_count">
<description>
Tells GTK+ whether to drop its extra reference to the window
when gtk_widget_destroy() is called.

This function is only exported for the benefit of language
bindings which may need to keep the window alive until their
wrapper object is garbage collected. There is no justification
for ever calling this function in an application.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_hide_on_close">
<description>
If @setting is %TRUE, then clicking the close button on the window
will not destroy it, but only hide it.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> whether to hide the window when it is closed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_icon_name">
<description>
Sets the icon for the window from a named themed icon.
See the docs for #GtkIconTheme for more details.
On some platforms, the window icon is not used at all.

Note that this has nothing to do with the WM_ICON_NAME 
property which is mentioned in the ICCCM.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the themed icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_interactive_debugging">
<description>
Opens or closes the [interactive debugger][interactive-debugging],
which offers access to the widget hierarchy of the application
and to useful debugging tools.

</description>
<parameters>
<parameter name="enable">
<parameter_description> %TRUE to enable interactive debugging
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_keep_above">
<description>
Asks to keep @window above, so that it stays on top. Note that
you shouldn’t assume the window is definitely above afterward,
because other entities (e.g. the user or
[window manager][gtk-X11-arch]) could not keep it above,
and not all window managers support keeping windows above. But
normally the window will end kept above. Just don’t write code
that crashes if not.

It’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 iconification via the #GdkSurface::state property

Note that, according to the
[Extended Window Manager Hints Specification](http://www.freedesktop.org/Standards/wm-spec),
the above state is mainly meant for user preferences and should not
be used by applications e.g. for drawing attention to their
dialogs.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> whether to keep @window above other windows
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_keep_below">
<description>
Asks to keep @window below, so that it stays in bottom. Note that
you shouldn’t assume the window is definitely below afterward,
because other entities (e.g. the user or
[window manager][gtk-X11-arch]) could not keep it below,
and not all window managers support putting windows below. But
normally the window will be kept below. Just don’t write code
that crashes if not.

It’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 iconification via the #GdkSurface::state property

Note that, according to the
[Extended Window Manager Hints Specification](http://www.freedesktop.org/Standards/wm-spec),
the above state is mainly meant for user preferences and should not
be used by applications e.g. for drawing attention to their
dialogs.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> whether to keep @window below other windows
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_mnemonic_modifier">
<description>
Sets the mnemonic modifier for this window. 

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="modifier">
<parameter_description> the modifier mask used to activate
mnemonics on this window.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_mnemonics_visible">
<description>
Sets the #GtkWindow:mnemonics-visible property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_modal">
<description>
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 [window managers][gtk-X11-arch]
will then disallow lowering the dialog below the parent.



</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="modal">
<parameter_description> whether the window is modal
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_resizable">
<description>
Sets whether the user can resize a window. Windows are user resizable
by default.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="resizable">
<parameter_description> %TRUE if the user can resize this window
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_startup_id">
<description>
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 GdkSurface. 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.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="startup_id">
<parameter_description> a string with startup-notification identifier
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_title">
<description>
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 [window manager][gtk-X11-arch],
so exactly how the title appears to users may vary
according to a user’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.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> title of the window
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_titlebar">
<description>
Sets a custom titlebar for @window.

A typical widget used here is #GtkHeaderBar, as it provides various features
expected of a titlebar while allowing the addition of child widgets to it.

If you set a custom titlebar, GTK+ will do its best to convince
the window manager not to put its own titlebar on the window.
Depending on the system, this function may not work for a window
that is already visible, so you set the titlebar before calling
gtk_widget_show().

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="titlebar">
<parameter_description> the widget to use as titlebar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_transient_for">
<description>
Dialog windows should be set transient for the main application
window they were spawned from. This allows
[window managers][gtk-X11-arch] 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.

This function can also be used to attach a new
#GTK_WINDOW_POPUP to a #GTK_WINDOW_TOPLEVEL parent already mapped
on screen so that the #GTK_WINDOW_POPUP will be
positioned relative to the #GTK_WINDOW_TOPLEVEL surface.

On Windows, this function puts the child window on top of the parent,
much as the window manager would have done on X.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> parent window, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_type_hint">
<description>
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.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="hint">
<parameter_description> the window type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_stick">
<description>
Asks to stick @window, which means that it will appear on all user
desktops. Note that you shouldn’t assume the window is definitely
stuck afterward, because other entities (e.g. the user or
[window manager][gtk-X11-arch] could unstick it
again, and some window managers do not support sticking
windows. But normally the window will end up stuck. Just don't
write code that crashes if not.

It’s permitted to call this function before showing a window.

You can track result of this operation via the #GdkSurface:state
property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_unfullscreen">
<description>
Asks to toggle off the fullscreen state for @window. Note that you
shouldn’t assume the window is definitely not full screen
afterward, because other entities (e.g. the user or
[window manager][gtk-X11-arch]) 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’t write code that crashes if not.

You can track iconification via the #GdkSurface::state property

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_unmaximize">
<description>
Asks to unmaximize @window. Note that you shouldn’t assume the
window is definitely unmaximized afterward, because other entities
(e.g. the user or [window manager][gtk-X11-arch])
could maximize it again, and not all window
managers honor requests to unmaximize. But normally the window will
end up unmaximized. Just don’t write code that crashes if not.

You can track the result of this operation via the #GdkSurface:state
property, or by listening to notifications on the #GtkWindow:is-maximized
property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_unminimize">
<description>
Asks to unminimize the specified @window.

Note that you shouldn’t assume the window is definitely unminimized
afterward, because the windowing system might not support this
functionality; other entities (e.g. the user or the [window manager][gtk-X11-arch])
could minimize it again, or there may not be a window manager in
which case minimization isn’t possible, etc.

You can track result of this operation via the #GdkSurface:state
property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_unstick">
<description>
Asks to unstick @window, which means that it will appear on only
one of the user’s desktops. Note that you shouldn’t assume the
window is definitely unstuck afterward, because other entities
(e.g. the user or [window manager][gtk-X11-arch]) could
stick it again. But normally the window will
end up stuck. Just don’t write code that crashes if not.

You can track result of this operation via the #GdkSurface:state
property.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="remove_file">
<description>
Removes the given file from the model. If the file is not part of 
@model, this function does nothing.

</description>
<parameters>
<parameter name="model">
<parameter_description> the model
</parameter_description>
</parameter>
<parameter name="file">
<parameter_description> file to remove from the model. The file must have been 
added to the model previously
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="thaw_updates">
<description>
Undoes the effect of a previous call to freeze_updates() 

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GtkFileSystemModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

</root>
