<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().

Since: 2.24

</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>

<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::&lt;replaceable&gt;accel_path&lt;/replaceable&gt;.

Since: 2.4

</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="GtkAction::activate">
<description>
The &quot;activate&quot; signal is emitted when the action is activated.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the #GtkAction
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkActionGroup::connect-proxy">
<description>
The ::connect-proxy signal is emitted after connecting a proxy to 
an action in the group. Note that the proxy may have been connected 
to a different action before.

This is intended for simple customizations for which a custom action
class would be too clumsy, e.g. showing tooltips for menuitems in the
statusbar.

#GtkUIManager proxies the signal and provides global notification 
just before any action is connected to a proxy, which is probably more
convenient to use.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the group
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</parameter_description>
</parameter>
<parameter name="proxy">
<parameter_description> the proxy
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkActionGroup::disconnect-proxy">
<description>
The ::disconnect-proxy signal is emitted after disconnecting a proxy 
from an action in the group. 

#GtkUIManager proxies the signal and provides global notification 
just before any action is connected to a proxy, which is probably more
convenient to use.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the group
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</parameter_description>
</parameter>
<parameter name="proxy">
<parameter_description> the proxy
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkActionGroup::post-activate">
<description>
The ::post-activate signal is emitted just after the @action in the
@action_group is activated

This is intended for #GtkUIManager to proxy the signal and provide global
notification just after any action is activated.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the group
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkActionGroup::pre-activate">
<description>
The ::pre-activate signal is emitted just before the @action in the
@action_group is activated

This is intended for #GtkUIManager to proxy the signal and provide global
notification just before any action is activated.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the group
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</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>

<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 &quot;too large&quot; 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.

</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>
</parameters>
</enum>

<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>

<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>

<signal name="GtkAppChooserWidget::populate-popup">
<description>
Emitted when a context menu is about to popup over an application item.
Clients can insert menu items into the provided #GtkMenu object in the
callback of this signal; the context menu will be shown over the item
if at least one item has been added to the menu.

</description>
<parameters>
<parameter name="self">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="menu">
<parameter_description> the #GtkMenu to populate
</parameter_description>
</parameter>
<parameter name="application">
<parameter_description> the current #GAppInfo
</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().

Since: 3.2

</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().

Since: 3.2

</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>

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

Since: 3.4

</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>

<enum name="GtkArrowPlacement">
<description>
Used to specify the placement of scroll arrows in scrolling menus.

</description>
<parameters>
<parameter name="GTK_ARROWS_BOTH">
<parameter_description> Place one arrow on each end of the menu.
</parameter_description>
</parameter>
<parameter name="GTK_ARROWS_START">
<parameter_description> Place both arrows at the top of the menu.
</parameter_description>
</parameter>
<parameter name="GTK_ARROWS_END">
<parameter_description> Place both arrows at the bottom of the menu.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkArrowType">
<description>
Used to indicate the direction in which a #GtkArrow 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. Since 2.10.
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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>

<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 &quot;committed&quot;.
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="GtkAttachOptions">
<description>
Denotes the expansion properties that a widget will have when it (or its
parent) is resized.

</description>
<parameters>
<parameter name="GTK_EXPAND">
<parameter_description> the widget should expand to take up any extra space in its
container that has been allocated.
</parameter_description>
</parameter>
<parameter name="GTK_SHRINK">
<parameter_description> the widget should shrink as and when possible.
</parameter_description>
</parameter>
<parameter name="GTK_FILL">
<parameter_description> the widget should fill the space allocated to it.
</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_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_HIDDEN">
<parameter_description> Same as @GTK_BORDER_STYLE_NONE
</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 parrallel 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>

<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>
</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>

<signal name="GtkButton::enter">
<description>
Emitted when the pointer enters the button.

Deprecated: 2.8: Use the #GtkWidget::enter-notify-event signal.

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

<signal name="GtkButton::image-spacing">
<description>
Spacing in pixels between the image and label.

Since: 2.10

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

<signal name="GtkButton::leave">
<description>
Emitted when the pointer leaves the button.

Deprecated: 2.8: Use the #GtkWidget::leave-notify-event signal.

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

<signal name="GtkButton::pressed">
<description>
Emitted when the button is pressed.

Deprecated: 2.8: Use the #GtkWidget::button-press-event signal.

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

<signal name="GtkButton::released">
<description>
Emitted when the button is released.

Deprecated: 2.8: Use the #GtkWidget::button-release-event signal.

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

<enum name="GtkButtonBoxStyle">
<description>
Used to dictate the style that a #GtkButtonBox uses to layout the buttons it
contains. (See also: #GtkVButtonBox and #GtkHButtonBox).

</description>
<parameters>
<parameter name="GTK_BUTTONBOX_DEFAULT_STYLE">
<parameter_description> Default packing.
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONBOX_SPREAD">
<parameter_description> Buttons are evenly spread across the box.
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONBOX_EDGE">
<parameter_description> Buttons are placed at the edges of the box.
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONBOX_START">
<parameter_description> Buttons are grouped towards the start of the box,
(on the left for a HBox, or the top for a VBox).
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONBOX_END">
<parameter_description> Buttons are grouped towards the end of the box,
(on the right for a HBox, or the bottom for a VBox).
</parameter_description>
</parameter>
<parameter name="GTK_BUTTONBOX_CENTER">
<parameter_description> Buttons are centered in the box. Since 2.12.
</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().
&lt;note&gt;
Please note that %GTK_BUTTONS_OK, %GTK_BUTTONS_YES_NO
and %GTK_BUTTONS_OK_CANCEL are discouraged by the
&lt;ulink url=&quot;http://library.gnome.org/devel/hig-book/stable/&quot;&gt;GNOME HIG&lt;/ulink&gt;.
&lt;/note&gt;

</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::day-selected-double-click">
<description>
Emitted when the user double-clicks 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::month-changed">
<description>
Emitted when the user clicks a button to change the selected month on a
calendar.

</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>

<enum name="GtkCalendarDisplayOptions">
<description>
These options can be used to influence the display and behaviour of a #GtkCalendar.

</description>
<parameters>
<parameter name="GTK_CALENDAR_SHOW_HEADING">
<parameter_description> Specifies that the month and year should be displayed.
</parameter_description>
</parameter>
<parameter name="GTK_CALENDAR_SHOW_DAY_NAMES">
<parameter_description> Specifies that three letter day descriptions should be present.
</parameter_description>
</parameter>
<parameter name="GTK_CALENDAR_NO_MONTH_CHANGE">
<parameter_description> Prevents the user from switching months with the calendar.
</parameter_description>
</parameter>
<parameter name="GTK_CALENDAR_SHOW_WEEK_NUMBERS">
<parameter_description> Displays each week numbers of the current year, down the
left side of the calendar.
</parameter_description>
</parameter>
<parameter name="GTK_CALENDAR_SHOW_DETAILS">
<parameter_description> Just show an indicator, not the full details
text when details are provided. See gtk_calendar_set_detail_func().
</parameter_description>
</parameter>
</parameters>
</enum>

<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.

Since: 3.0

</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

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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>

<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 is emitting it when the user presses Enter.

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 widget may now be destroyed.

Implementations of #GtkCellEditable are responsible for
emitting this signal when they are done editing. It must
be emitted after the #GtkCellEditable::editing-done signal,
to give the cell renderer a chance to update the cell'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>

<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().

Since: 2.4

</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.

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:
|[
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);
}
}
]|

Since: 2.6

</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>

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

Since: 2.10

</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.

Since: 2.10

</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>

<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.

Since: 2.14

</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>

<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>

<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. Since 3.4
</parameter_description>
</parameter>
<parameter name="GTK_CELL_RENDERER_EXPANDED">
<parameter_description> The cell is in a row that is expanded. Since 3.4
</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>

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

</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>

<signal name="GtkCheckMenuItem::toggled">
<description>
This signal is emitted when the state of the check box is changed.

A signal handler can use gtk_check_menu_item_get_active()
to discover the new state.

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

<signal name="GtkClipboard::owner-change">
<description>
The ::owner-change signal is emitted when GTK+ receives an
event that indicates that the ownership of the selection
associated with @clipboard has changed.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> the #GtkClipboard on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the @GdkEventOwnerChange event
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<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_button_get_rgba() to
find out which color was just selected.

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

Since: 2.4

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

<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.

Since: 3.4

</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>

<signal name="GtkColorSelection::color-changed">
<description>
This signal is emitted when the color changes in the #GtkColorSelection
according to its update policy.

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

<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.

Since: 2.4

</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.
|[
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);
}
]|

Since: 3.4

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to move the active selection.

Since: 2.12

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popdown the combo box list.

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

Since: 2.12

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popup the combo box list.

The default binding for this signal is Alt+Down.

Since: 2.12

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

<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>

<signal name="GtkCssProvider::parsing-error">
<description>
Signals that a parsing error occured. 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="GtkCssSectionType">
<description>
The different types of sections indicate parts of a CSS document as
parsed by GTK's CSS parser. They are oriented towards the CSS grammar
&lt;ulink url=&quot;http://www.w3.org/TR/CSS21/grammar.html&quot;&gt;CSS grammer&lt;/ulink&gt;,
but may contain extensions.

More types might be added in the future as the parser incorporates
more features.

Since: 3.2

</description>
<parameters>
<parameter name="GTK_CSS_SECTION_DOCUMENT">
<parameter_description> The section describes a complete document.
This section time is the only one where gtk_css_section_get_parent()
might return %NULL.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_IMPORT">
<parameter_description> The section defines an import rule.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_COLOR_DEFINITION">
<parameter_description> The section defines a color. This
is a GTK extension to CSS.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_BINDING_SET">
<parameter_description> The section defines a binding set. This
is a GTK extension to CSS.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_RULESET">
<parameter_description> The section defines a CSS ruleset.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_SELECTOR">
<parameter_description> The section defines a CSS selector.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_DECLARATION">
<parameter_description> The section defines the declaration of
a CSS variable.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_VALUE">
<parameter_description> The section defines the value of a CSS declaration.
</parameter_description>
</parameter>
<parameter name="GTK_CSS_SECTION_KEYFRAMES">
<parameter_description> The section defines keyframes. See &lt;ulink
url=&quot;http://dev.w3.org/csswg/css3-animations/#keyframes&quot;&gt;CSS
animations&lt;/ulink&gt; for details. Since 3.6
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkDestDefaults">
<description>
The #GtkDestDefaults enumeration specifies the various
types of action that will be taken on behalf
of the user for a drag destination site.

</description>
<parameters>
<parameter name="GTK_DEST_DEFAULT_MOTION">
<parameter_description> If set for a widget, GTK+, during a drag over this
widget will check if the drag matches this widget's list of possible targets
and actions.
GTK+ will then call gdk_drag_status() as appropriate.
</parameter_description>
</parameter>
<parameter name="GTK_DEST_DEFAULT_HIGHLIGHT">
<parameter_description> If set for a widget, GTK+ will draw a highlight on
this widget as long as a drag is over this widget and the widget drag format
and action are acceptable.
</parameter_description>
</parameter>
<parameter name="GTK_DEST_DEFAULT_DROP">
<parameter_description> If set for a widget, when a drop occurs, GTK+ will
will check if the drag matches this widget's list of possible targets and
actions. If so, GTK+ will call gtk_drag_get_data() on behalf of the widget.
Whether or not the drop is successful, GTK+ will call gtk_drag_finish(). If
the action was a move, then if the drag was successful, then %TRUE will be
passed for the @delete parameter to gtk_drag_finish().
</parameter_description>
</parameter>
<parameter name="GTK_DEST_DEFAULT_ALL">
<parameter_description> If set, specifies that all default actions should
be taken.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkDialog::close">
<description>
The ::close signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user uses a keybinding to close
the dialog.

The default binding for this signal is the Escape key.

</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>

<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>
</parameters>
</enum>

<enum name="GtkDragResult">
<description>
Gives an indication why a drag operation failed.
The value can by obtained by connecting to the
#GtkWidget::drag-failed signal.

</description>
<parameters>
<parameter name="GTK_DRAG_RESULT_SUCCESS">
<parameter_description> The drag operation was successful.
</parameter_description>
</parameter>
<parameter name="GTK_DRAG_RESULT_NO_TARGET">
<parameter_description> No suitable drag target.
</parameter_description>
</parameter>
<parameter name="GTK_DRAG_RESULT_USER_CANCELLED">
<parameter_description> The user cancelled the drag operation.
</parameter_description>
</parameter>
<parameter name="GTK_DRAG_RESULT_TIMEOUT_EXPIRED">
<parameter_description> The drag operation timed out.
</parameter_description>
</parameter>
<parameter name="GTK_DRAG_RESULT_GRAB_BROKEN">
<parameter_description> The pointer or keyboard grab used
for the drag operation was broken.
</parameter_description>
</parameter>
<parameter name="GTK_DRAG_RESULT_ERROR">
<parameter_description> The drag operation failed due to some
unspecified error.
</parameter_description>
</parameter>
</parameters>
</enum>

<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="new_text">
<parameter_description> the new text to insert
</parameter_description>
</parameter>
<parameter name="new_text_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="GtkEntry::activate">
<description>
The ::activate signal is emitted when the user hits
the Enter key.

While this signal is used as a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;,
it is also commonly used by applications to intercept
activation of entries.

The default bindings for this signal are all forms of the Enter key.

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

<signal name="GtkEntry::backspace">
<description>
The ::backspace signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user asks for it.

The default bindings for this signal are
Backspace and Shift-Backspace.

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

<signal name="GtkEntry::copy-clipboard">
<description>
The ::copy-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to copy the selection to the clipboard.

The default bindings for this signal are
Ctrl-c and Ctrl-Insert.

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

<signal name="GtkEntry::cut-clipboard">
<description>
The ::cut-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cut the selection to the clipboard.

The default bindings for this signal are
Ctrl-x and Shift-Delete.

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

<signal name="GtkEntry::delete-from-cursor">
<description>
The ::delete-from-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a text deletion.

If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection
if there is one, otherwise it deletes the requested number
of characters.

The default bindings for this signal are
Delete for deleting a character and Ctrl-Delete for
deleting a word.

</description>
<parameters>
<parameter name="entry">
<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="GtkEntry::icon-press">
<description>
The ::icon-press signal is emitted when an activatable icon
is clicked.

Since: 2.16

</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>
<parameter name="event">
<parameter_description> the button press event
</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.

Since: 2.16

</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>
<parameter name="event">
<parameter_description> the button release event
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEntry::insert-at-cursor">
<description>
The ::insert-at-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates the insertion of a
fixed string at the cursor.

This signal has no default bindings.

</description>
<parameters>
<parameter name="entry">
<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="GtkEntry::move-cursor">
<description>
The ::move-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in @entry, this signal causes
the viewport to be moved instead.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.

The default bindings for this signal come in two variants,
the variant with the Shift modifier extends the selection,
the variant without the Shift modifer does not.
There are too many key combinations to list them all here.
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys move by individual characters/lines&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-arrow key combinations move by words/paragraphs&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys move to the ends of the buffer&lt;/listitem&gt;
&lt;/itemizedlist&gt;

</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>

<signal name="GtkEntry::paste-clipboard">
<description>
The ::paste-clipboard signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to paste the contents of the clipboard
into the text view.

The default bindings for this signal are
Ctrl-v and Shift-Insert.

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

<signal name="GtkEntry::populate-popup">
<description>
The ::populate-popup signal gets emitted before showing the 
context menu of the entry. 

If you need to add items to the context menu, connect
to this signal and append your menuitems to the @menu.

</description>
<parameters>
<parameter name="entry">
<parameter_description> The entry on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="menu">
<parameter_description> the menu that is being populated
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkEntry::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.

Since: 2.20

</description>
<parameters>
<parameter name="entry">
<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="GtkEntry::toggle-overwrite">
<description>
The ::toggle-overwrite signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to toggle the overwrite mode of the entry.

The default bindings for this signal is Insert.

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

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

Since: 2.18

</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.

Since: 2.18

</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>

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

Since: 2.4

</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().

Since: 2.12

</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 '/'.

Since: 2.6

</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().

Since: 2.4

</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>

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

Since: 2.16

</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>

<enum name="GtkExpanderStyle">
<description>
Used to specify the style of the expanders drawn by a #GtkTreeView.

</description>
<parameters>
<parameter name="GTK_EXPANDER_COLLAPSED">
<parameter_description> The style used for a collapsed subtree.
</parameter_description>
</parameter>
<parameter name="GTK_EXPANDER_SEMI_COLLAPSED">
<parameter_description> Intermediate style used during animation.
</parameter_description>
</parameter>
<parameter name="GTK_EXPANDER_SEMI_EXPANDED">
<parameter_description> Intermediate style used during animation.
</parameter_description>
</parameter>
<parameter name="GTK_EXPANDER_EXPANDED">
<parameter_description> The style used for an expanded subtree.
</parameter_description>
</parameter>
</parameters>
</enum>

<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 stock confirmation dialog.
Applications which need to customize this behavior should do
that, and also connect to the #GtkFileChooser::confirm-overwrite
signal.

A signal handler for this signal must return a
#GtkFileChooserConfirmation value, which indicates the action to
take.  If the handler determines that the user wants to select a
different filename, it should return
%GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN.  If it determines
that the user is satisfied with his choice of file name, it
should return %GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME.
On the other hand, if it determines that the stock confirmation
dialog should be used, it should return
%GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example
illustrates this.
&lt;example id=&quot;gtkfilechooser-confirmation&quot;&gt;
&lt;title&gt;Custom confirmation&lt;/title&gt;
&lt;programlisting&gt;
static GtkFileChooserConfirmation
confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data)
{
char *uri;

uri = gtk_file_chooser_get_uri (chooser);

if (is_uri_read_only (uri))
{
if (user_wants_to_replace_read_only_file (uri))
return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME;
else
return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN;
} else
return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog
}

...

chooser = gtk_file_chooser_dialog_new (...);

gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
g_signal_connect (chooser, &quot;confirm-overwrite&quot;,
G_CALLBACK (confirm_overwrite_callback), NULL);

if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT)
save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));

gtk_widget_destroy (chooser);
&lt;/programlisting&gt;
&lt;/example&gt;

Since: 2.8

</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 &lt;keycap&gt;Enter&lt;/keycap&gt;.

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 &lt;xref linkend=&quot;gtkfilechooser-preview&quot;/&gt;.

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>

<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 &lt;emphasis&gt;user&lt;/emphasis&gt;
changes the file.

Since: 2.12

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

<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.

Since: 2.8

</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>

<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>

<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_button_get_font_name() 
to find out which font was just selected.

Note that this signal is only emitted when the &lt;emphasis&gt;user&lt;/emphasis&gt;
changes the font. If you need to react to programmatic font changes
as well, use the notify::font-name signal.

Since: 2.4

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

<signal name="GtkFontChooserWidget::font-activated">
<description>
Emitted when a font 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="fontname">
<parameter_description> the font name
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkHandleBox::child-attached">
<description>
This signal is emitted when the contents of the
handlebox are reattached to the main window.

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handlebox">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the child widget of the handlebox.
(this argument provides no extra information
and is here only for backwards-compatibility)
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkHandleBox::child-detached">
<description>
This signal is emitted when the contents of the
handlebox are detached from the main window.

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handlebox">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the child widget of the handlebox.
(this argument provides no extra information
and is here only for backwards-compatibility)
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<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_NO_SVG">
<parameter_description> Never return SVG icons, even if gdk-pixbuf
supports them. Cannot be used together with %GTK_ICON_LOOKUP_FORCE_SVG.
</parameter_description>
</parameter>
<parameter name="GTK_ICON_LOOKUP_FORCE_SVG">
<parameter_description> Return SVG icons, even if gdk-pixbuf
doesn't support them.
Cannot be used together with %GTK_ICON_LOOKUP_NO_SVG.
</parameter_description>
</parameter>
<parameter name="GTK_ICON_LOOKUP_USE_BUILTIN">
<parameter_description> When passed to
gtk_icon_theme_lookup_icon() includes builtin icons
as well as files. For a builtin icon, gtk_icon_info_get_filename()
returns %NULL and you need to call gtk_icon_info_get_builtin_pixbuf().
</parameter_description>
</parameter>
<parameter name="GTK_ICON_LOOKUP_GENERIC_FALLBACK">
<parameter_description> Try to shorten icon name at '-'
characters before looking at inherited themes. For more general
fallback, see gtk_icon_theme_choose_icon(). Since 2.12.
</parameter_description>
</parameter>
<parameter name="GTK_ICON_LOOKUP_FORCE_SIZE">
<parameter_description> Always return the icon scaled to the
requested size. Since 2.14.
</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="icon_theme">
<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 &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates the currently 
focused item. 

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control activation
programmatically.

The default bindings for this signal are Space, Return and Enter.

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a cursor movement.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.

The default bindings for this signal include
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys which move by individual steps&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys which move to the first/last item&lt;/listitem&gt;
&lt;listitem&gt;PageUp/PageDown which move by &quot;pages&quot;&lt;/listitem&gt;
&lt;/itemizedlist&gt;

All of these will extend the selection when combined with
the Shift modifier.

</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 &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user selects all items.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.

The default binding for this signal is Ctrl-a.

</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 &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user selects the item that is currently
focused.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.

There is no default binding for this signal.

</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 &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user toggles whether the currently
focused item is selected or not. The exact effect of this 
depend on the selection mode.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.

There is no default binding for this signal is Ctrl-Space.

</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 &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user unselects all items.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control selection
programmatically.

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

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

<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>

<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_PIXBUF, then you can
call gtk_image_get_pixbuf() but not gtk_image_get_stock().  For empty
images, you can request any storage type (call any of the &quot;get&quot;
functions), but they will all return %NULL values.

</description>
<parameters>
<parameter name="GTK_IMAGE_EMPTY">
<parameter_description> there is no image displayed by the widget
</parameter_description>
</parameter>
<parameter name="GTK_IMAGE_PIXBUF">
<parameter_description> the widget contains a #GdkPixbuf
</parameter_description>
</parameter>
<parameter name="GTK_IMAGE_STOCK">
<parameter_description> the widget contains a stock icon name (see
&lt;xref linkend=&quot;gtk3-Stock-Items&quot;/&gt;)
</parameter_description>
</parameter>
<parameter name="GTK_IMAGE_ICON_SET">
<parameter_description> the widget contains a #GtkIconSet
</parameter_description>
</parameter>
<parameter name="GTK_IMAGE_ANIMATION">
<parameter_description> the widget contains a #GdkPixbufAnimation
</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>
</parameters>
</enum>

<signal name="GtkInfoBar::close">
<description>
The ::close signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user uses a keybinding to dismiss
the info bar.

The default binding for this signal is the Escape key.

Since: 2.18

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

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

Since: 2.18

</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>

<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.

Since: 3.6

</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>
</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'.

Since: 3.6

</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>
</parameters>
</enum>

<enum name="GtkJunctionSides">
<description>
Describes how a rendered element connects to adjacent elements.

</description>
<parameters>
<parameter name="GTK_JUNCTION_NONE">
<parameter_description> No junctions.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_CORNER_TOPLEFT">
<parameter_description> Element connects on the top-left corner.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_CORNER_TOPRIGHT">
<parameter_description> Element connects on the top-right corner.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_CORNER_BOTTOMLEFT">
<parameter_description> Element connects on the bottom-left corner.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_CORNER_BOTTOMRIGHT">
<parameter_description> Element connects on the bottom-right corner.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_TOP">
<parameter_description> Element connects on the top side.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_BOTTOM">
<parameter_description> Element connects on the bottom side.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_LEFT">
<parameter_description> Element connects on the left side.
</parameter_description>
</parameter>
<parameter name="GTK_JUNCTION_RIGHT">
<parameter_description> Element connects on the right side.
</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 &lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates a link in the label.

Applications may also emit the signal with g_signal_emit_by_name()
if they need to control activation of URIs programmatically.

The default bindings for this signal are all forms of the Enter key.

Since: 2.18

</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().

Since: 2.18

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to copy the selection to the clipboard.

The default binding for this signal is Ctrl-c.

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in @entry, this signal causes
the viewport to be moved instead.

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control the cursor
programmatically.

The default bindings for this signal come in two variants,
the variant with the Shift modifier extends the selection,
the variant without the Shift modifer does not.
There are too many key combinations to list them all here.
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys move by individual characters/lines&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-arrow key combinations move by words/paragraphs&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys move to the ends of the buffer&lt;/listitem&gt;
&lt;/itemizedlist&gt;

</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>

<signal name="GtkLabel::populate-popup">
<description>
The ::populate-popup signal gets emitted before showing the
context menu of the label. Note that only selectable labels
have context menus.

If you need to add items to the context menu, connect
to this signal and append your menuitems to the @menu.

</description>
<parameters>
<parameter name="label">
<parameter_description> The label on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="menu">
<parameter_description> the menu that is being populated
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<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.

Since: 3.6

</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>

<enum name="GtkLevelBarMode">
<description>
Describes how #GtkLevelBar contents should be rendered.
Note that this enumeration could be extended with additional modes
in the future.

Since: 3.6

</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.

Since: 3.0

</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
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_GPL_3_0">
<parameter_description> The GNU General Public License, version 3.0
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_LGPL_2_1">
<parameter_description> The GNU Lesser General Public License, version 2.1
</parameter_description>
</parameter>
<parameter name="GTK_LICENSE_LGPL_3_0">
<parameter_description> The GNU Lesser General Public License, version 3.0
</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>
</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() 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>

<signal name="GtkMenu::move-scroll">
<description>

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="scroll_type">
<parameter_description> a #GtkScrollType
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<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>

<signal name="GtkMenuItem::activate">
<description>
Emitted when the item is activated.

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

<signal name="GtkMenuItem::activate-item">
<description>
Emitted when the item is activated, but also if the menu item has a
submenu. For normal applications, the relevant signal is
#GtkMenuItem::activate.

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

<signal name="GtkMenuShell::activate-current">
<description>
An action signal that activates the current menu item within
the menu shell.

</description>
<parameters>
<parameter name="menushell">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="force_hide">
<parameter_description> if %TRUE, hide the menu after activating the menu item
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkMenuShell::cancel">
<description>
An action signal which cancels the selection within the menu shell.
Causes the #GtkMenuShell::selection-done signal to be emitted.

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

<signal name="GtkMenuShell::cycle-focus">
<description>
A keybinding signal which moves the focus in the
given @direction.

</description>
<parameters>
<parameter name="menushell">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the direction to cycle in
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkMenuShell::deactivate">
<description>
This signal is emitted when a menu shell is deactivated.

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

<signal name="GtkMenuShell::insert">
<description>
The ::insert signal is emitted when a new #GtkMenuItem is added to
a #GtkMenuShell.  A separate signal is used instead of
GtkContainer::add because of the need for an additional position
parameter.

The inverse of this signal is the GtkContainer::removed signal.

Since: 3.2

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkMenuItem that is being inserted
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position at which the insert occurs
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkMenuShell::move-current">
<description>
An keybinding signal which moves the current menu item
in the direction specified by @direction.

</description>
<parameters>
<parameter name="menushell">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the direction to move
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkMenuShell::move-selected">
<description>
The ::move-selected signal is emitted to move the selection to
another item.

Since: 2.12

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="distance">
<parameter_description> +1 to move to the next item, -1 to move to the previous
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to stop the signal emission, %FALSE to continue

</return>
</signal>

<signal name="GtkMenuShell::selection-done">
<description>
This signal is emitted when a selection has been
completed within a menu shell.

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

<signal name="GtkMenuToolButton::show-menu">
<description>
The ::show-menu signal is emitted before the menu is shown.

It can be used to populate the menu on demand, using 
gtk_menu_tool_button_set_menu().

Note that even if you populate the menu dynamically in this way, 
you must set an empty menu on the #GtkMenuToolButton beforehand,
since the arrow is made insensitive if the menu is not set.

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

<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> Nonfatal 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, doesn't get an icon
</parameter_description>
</parameter>
</parameters>
</enum>

<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="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 ).

Since: 2.12

</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>
<parameter name="x">
<parameter_description> the X coordinate where the drop happens
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the Y coordinate where the drop happens
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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>

<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> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-lrtb.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP">
<parameter_description> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-lrbt.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM">
<parameter_description> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-rltb.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP">
<parameter_description> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-rlbt.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT">
<parameter_description> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-tblr.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT">
<parameter_description> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-tbrl.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT">
<parameter_description> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-btlr.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
<parameter name="GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT">
<parameter_description> &lt;inlinegraphic valign=&quot;middle&quot; fileref=&quot;layout-btrl.png&quot; format=&quot;PNG&quot;&gt;&lt;/inlinegraphic&gt;
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkOrientation">
<description>
Represents the orientation of widgets which can be switched between horizontal
and vertical orientation on the fly, like #GtkToolbar.

</description>
<parameters>
<parameter name="GTK_ORIENTATION_HORIZONTAL">
<parameter_description> The widget is in horizontal orientation.
</parameter_description>
</parameter>
<parameter name="GTK_ORIENTATION_VERTICAL">
<parameter_description> The widget is in vertical orientation.
</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.

Return: %TRUE if the @allocation has been filled

</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></return>
</signal>

<enum name="GtkPackDirection">
<description>
Determines how widgets should be packed insided menubars
and menuitems contained in menubars.

</description>
<parameters>
<parameter name="GTK_PACK_DIRECTION_LTR">
<parameter_description> Widgets are packed left-to-right
</parameter_description>
</parameter>
<parameter name="GTK_PACK_DIRECTION_RTL">
<parameter_description> Widgets are packed right-to-left
</parameter_description>
</parameter>
<parameter name="GTK_PACK_DIRECTION_TTB">
<parameter_description> Widgets are packed top-to-bottom
</parameter_description>
</parameter>
<parameter name="GTK_PACK_DIRECTION_BTT">
<parameter_description> Widgets are packed bottom-to-top
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkPackType">
<description>
Represents the packing location #GtkBox children. (See: #GtkVBox,
#GtkHBox, and #GtkButtonBox).

</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>

<signal name="GtkPaned::accept-position">
<description>
The ::accept-position signal is a 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to accept the current position of the handle when 
moving it using key bindings.

The default binding for this signal is Return or Space.

Since: 2.0

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cancel moving the position of the handle using key 
bindings. The position of the handle will be reset to the value prior to 
moving it.

The default binding for this signal is Escape.

Since: 2.0

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cycle the focus between the children of the paned.

The default binding is f6.

Since: 2.0

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to cycle whether the paned should grab focus to allow
the user to change position of the handle by using key bindings.

The default binding for this signal is f8.

Since: 2.0

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to move the handle when the user is using key bindings 
to move it.

Since: 2.0

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to accept the current position of the handle and then 
move focus to the next widget in the focus chain.

The default binding is Tab.

Since: 2.0

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

<signal name="GtkPlug::embedded">
<description>
Gets emitted when the plug becomes embedded in a socket.

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

<enum name="GtkPolicyType">
<description>
Determines when a scroll bar will be visible.

</description>
<parameters>
<parameter name="GTK_POLICY_ALWAYS">
<parameter_description> The scrollbar is always visible.
</parameter_description>
</parameter>
<parameter name="GTK_POLICY_AUTOMATIC">
<parameter_description> The scrollbar will appear and disappear as necessary. For example,
when all of a #GtkCList can not be seen.
</parameter_description>
</parameter>
<parameter name="GTK_POLICY_NEVER">
<parameter_description> The scrollbar will never appear.
</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. Since 2.12
</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. Since 2.14
</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.

Since: 2.10

</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().

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().
|[
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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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).

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.18

</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>

<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 occured.
</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="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.

Since: 2.10

</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>

<enum name="GtkQueueResizeFlags">
<description>
Flags that affect the operation of queueing a widget for resize.

</description>
<parameters>
<parameter name="GTK_QUEUE_RESIZE_INVALIDATE_ONLY">
<parameter_description> invalidate all cached sizes
as we would normally do when a widget is queued for resize,
but don't actually add the toplevel resize container to the
resize queue. Useful if we want to change the size of a widget
see how that would affect the overall layout, then restore
the old size.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkRadioAction::changed">
<description>
The ::changed signal is emitted on every member of a radio group when the
active member is changed. The signal gets emitted after the ::activate signals
for the previous and current active members.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="current">
<parameter_description> the member of @action&lt;!-- --&gt;s group which has just been activated
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<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.

Since: 2.4

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

<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.

It is not possible to use delayed update policies in an overridden
#GtkRange::change-value handler.

Since: 2.6

</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>

<enum name="GtkRcTokenType">
<description>
The #GtkRcTokenType enumeration represents the tokens
in the RC file. It is exposed so that theme engines
can reuse these tokens when parsing the theme-engine
specific portions of a RC file.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="GTK_RC_TOKEN_INVALID">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_INCLUDE">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_NORMAL">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_ACTIVE">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_PRELIGHT">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_SELECTED">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_INSENSITIVE">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_FG">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_BG">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_TEXT">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_BASE">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_XTHICKNESS">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_YTHICKNESS">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_FONT">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_FONTSET">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_FONT_NAME">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_BG_PIXMAP">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_PIXMAP_PATH">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_STYLE">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_BINDING">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_BIND">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_WIDGET">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_WIDGET_CLASS">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_CLASS">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_LOWEST">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_GTK">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_APPLICATION">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_THEME">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_RC">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_HIGHEST">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_ENGINE">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_MODULE_PATH">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_IM_MODULE_PATH">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_IM_MODULE_FILE">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_STOCK">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_LTR">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_RTL">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_COLOR">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_UNBIND">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="GTK_RC_TOKEN_LAST">
<parameter_description>
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkRecentChooser::item-activated">
<description>
This signal is emitted when the user &quot;activates&quot; a recent item
in the recent chooser.  This can happen by double-clicking on an item
in the recently used resources list, or by pressing
&lt;keycap&gt;Enter&lt;/keycap&gt;.

Since: 2.10

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

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

Since: 2.10

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

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

Since: 2.10

</description>
<parameters>
<parameter name="GTK_RECENT_CHOOSER_ERROR_NOT_FOUND">
<parameter_description> Indicates that a file does not exist
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_CHOOSER_ERROR_INVALID_URI">
<parameter_description> Indicates a malformed URI
</parameter_description>
</parameter>
</parameters>
</enum>

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

</description>
<parameters>
<parameter name="GTK_RECENT_FILTER_URI">
<parameter_description> the URI of the file being tested
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_FILTER_DISPLAY_NAME">
<parameter_description> the string that will be used to
display the file in the recent chooser
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_FILTER_MIME_TYPE">
<parameter_description> the mime type of the file
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_FILTER_APPLICATION">
<parameter_description> the list of applications that have
registered the file
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_FILTER_GROUP">
<parameter_description> the groups to which the file belongs to
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_FILTER_AGE">
<parameter_description> the number of days elapsed since the file
has been registered
</parameter_description>
</parameter>
</parameters>
</enum>

<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.

Since: 2.10

</description>
<parameters>
<parameter name="recent_manager">
<parameter_description> the recent manager
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkRecentManagerError">
<description>
Error codes for #GtkRecentManager operations

Since: 2.10

</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="GtkRecentSortType">
<description>
Used to specify the sorting method to be applyed to the recently
used resource list.

Since: 2.10

</description>
<parameters>
<parameter name="GTK_RECENT_SORT_NONE">
<parameter_description> Do not sort the returned list of recently used
resources.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_SORT_MRU">
<parameter_description> Sort the returned list with the most recently used
items first.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_SORT_LRU">
<parameter_description> Sort the returned list with the least recently used
items first.
</parameter_description>
</parameter>
<parameter name="GTK_RECENT_SORT_CUSTOM">
<parameter_description> Sort the returned list using a custom sorting
function passed using gtk_recent_chooser_set_sort_func().
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkRegionFlags">
<description>
Describes a region within a widget.

</description>
<parameters>
<parameter name="GTK_REGION_EVEN">
<parameter_description> Region has an even number within a set.
</parameter_description>
</parameter>
<parameter name="GTK_REGION_ODD">
<parameter_description> Region has an odd number within a set.
</parameter_description>
</parameter>
<parameter name="GTK_REGION_FIRST">
<parameter_description> Region is the first one within a set.
</parameter_description>
</parameter>
<parameter name="GTK_REGION_LAST">
<parameter_description> Region is the last one within a set.
</parameter_description>
</parameter>
<parameter name="GTK_REGION_ONLY">
<parameter_description> Region is the only one within a set.
</parameter_description>
</parameter>
<parameter name="GTK_REGION_SORTED">
<parameter_description> Region is part of a sorted area.
</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_HALF">
<parameter_description> A half relief.
</parameter_description>
</parameter>
<parameter name="GTK_RELIEF_NONE">
<parameter_description> No relief.
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkResizeMode">
<description>

</description>
<parameters>
<parameter name="GTK_RESIZE_PARENT">
<parameter_description> Pass resize request to the parent
</parameter_description>
</parameter>
<parameter name="GTK_RESIZE_QUEUE">
<parameter_description> Queue resizes on this widget
</parameter_description>
</parameter>
<parameter name="GTK_RESIZE_IMMEDIATE">
<parameter_description> Resize immediately. Deprecated.
</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 positive values 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>

<signal name="GtkScale::format-value">
<description>
Signal which allows you to change how the scale value is displayed.
Connect a signal handler which returns an allocated string representing 
@value. That string will then be used to display the scale's value.

Here's an example signal handler which displays a value 1.0 as
with &quot;--&gt;1.0&lt;--&quot;.
|[
static gchar*
format_value_callback (GtkScale *scale,
gdouble   value)
{
return g_strdup_printf (&quot;--&gt;%0.*g&lt;--&quot;,
gtk_scale_get_digits (scale), value);
}
]|


</description>
<parameters>
<parameter name="scale">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value to format
</parameter_description>
</parameter>
</parameters>
<return> allocated string representing @value
</return>
</signal>

<signal name="GtkScaleButton::popdown">
<description>
The ::popdown signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popdown the scale widget.

The default binding for this signal is Escape.

Since: 2.12

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted to popup the scale widget.

The default bindings for this signal are Space, Enter and Return.

Since: 2.12

</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.

Since: 2.12

</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>

<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::move-focus-out">
<description>
The ::move-focus-out signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
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 windows toplevel parent in the container hierarchy.
The default bindings for this signal are
&lt;keycombo&gt;&lt;keycap&gt;Tab&lt;/keycap&gt;&lt;keycap&gt;Ctrl&lt;/keycap&gt;&lt;/keycombo&gt;
and
&lt;keycombo&gt;&lt;keycap&gt;Tab&lt;/keycap&gt;&lt;keycap&gt;Ctrl&lt;/keycap&gt;&lt;keycap&gt;Shift&lt;/keycap&gt;&lt;/keycombo&gt;.

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when a keybinding that scrolls is pressed.
The horizontal or vertical adjustment is updated which triggers a
signal that the scrolled windows 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>

<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>
<parameter name="GTK_SELECTION_EXTENDED">
<parameter_description> Deprecated, behaves identical to %GTK_SELECTION_MULTIPLE.
</parameter_description>
</parameter>
</parameters>
</enum>

<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>

<signal name="GtkSettings::gtk-button-images">
<description>
Whether images should be shown on buttons

Since: 2.4

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

<enum name="GtkShadowType">
<description>
Used to change the appearance of an outline typically provided by a #GtkFrame.

</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>

<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> Dont trade height-for-width or width-for-height
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkSocket::plug-added">
<description>
This signal is emitted when a client is successfully
added to the socket. 

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

<signal name="GtkSocket::plug-removed">
<description>
This signal is emitted when a client is removed from the socket. 
The default action is to destroy the #GtkSocket widget, so if you 
want to reuse it you must add a signal handler that returns %TRUE. 


</description>
<parameters>
<parameter name="socket_">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return> %TRUE to stop other handlers from being invoked.
</return>
</signal>

<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::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_entry_get_text() to retrieve the text of
the entry 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.
|[
/ * 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_entry_set_text (GTK_ENTRY (spin), text);
g_free (text);

return TRUE;
}
]|


</description>
<parameters>
<parameter name="spin_button">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the value has been displayed
</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.

Since: 2.10

</description>
<parameters>
<parameter name="spinbutton">
<parameter_description> the object which received the signal
</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>

<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. Since 3.8
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FLAG_DIR_RTL">
<parameter_description> Widget is in right-to-left text direction. Since 3.8
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkStateType">
<description>
This type indicates the current state of a widget; the state determines how
the widget is drawn. The #GtkStateType enumeration is also used to
identify different colors in a #GtkStyle for drawing, so states can be
used for subparts of a widget as well as entire widgets.

</description>
<parameters>
<parameter name="GTK_STATE_NORMAL">
<parameter_description> State during normal operation.
</parameter_description>
</parameter>
<parameter name="GTK_STATE_ACTIVE">
<parameter_description> State of a currently active widget, such as a depressed button.
</parameter_description>
</parameter>
<parameter name="GTK_STATE_PRELIGHT">
<parameter_description> State indicating that the mouse pointer is over
the widget and the widget will respond to mouse clicks.
</parameter_description>
</parameter>
<parameter name="GTK_STATE_SELECTED">
<parameter_description> State of a selected item, such the selected row in a list.
</parameter_description>
</parameter>
<parameter name="GTK_STATE_INSENSITIVE">
<parameter_description> State indicating that the widget is
unresponsive to user actions.
</parameter_description>
</parameter>
<parameter name="GTK_STATE_INCONSISTENT">
<parameter_description> The widget is inconsistent, such as checkbuttons
or radiobuttons that aren't either set to %TRUE nor %FALSE,
or buttons requiring the user attention.
</parameter_description>
</parameter>
<parameter name="GTK_STATE_FOCUSED">
<parameter_description> The widget has the keyboard focus.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkStatusIcon::activate">
<description>
Gets emitted when the user activates the status icon. 
If and how status icons can activated is platform-dependent.

Unlike most G_SIGNAL_ACTION signals, this signal is meant to 
be used by applications and should be wrapped by language bindings.

Since: 2.10

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

<signal name="GtkStatusIcon::button-press-event">
<description>
The ::button-press-event signal will be emitted when a button
(typically from a mouse) is pressed.

Whether this event is emitted is platform-dependent.  Use the ::activate
and ::popup-menu signals in preference.

Since: 2.14

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventButton which triggered 
this signal
</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="GtkStatusIcon::button-release-event">
<description>
The ::button-release-event signal will be emitted when a button
(typically from a mouse) is released.

Whether this event is emitted is platform-dependent.  Use the ::activate
and ::popup-menu signals in preference.

Since: 2.14

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventButton which triggered 
this signal
</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="GtkStatusIcon::popup-menu">
<description>
Gets emitted when the user brings up the context menu
of the status icon. Whether status icons can have context 
menus and how these are activated is platform-dependent.

The @button and @activate_time parameters should be 
passed as the last to arguments to gtk_menu_popup().

Unlike most G_SIGNAL_ACTION signals, this signal is meant to 
be used by applications and should be wrapped by language bindings.

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> the button that was pressed, or 0 if the 
signal is not emitted in response to a button press event
</parameter_description>
</parameter>
<parameter name="activate_time">
<parameter_description> the timestamp of the event that
triggered the signal emission
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkStatusIcon::query-tooltip">
<description>
Emitted when the #GtkSettings:gtk-tooltip-timeout has expired with the
cursor hovering above @status_icon; or emitted when @status_icon got
focus in keyboard mode.

Using the given coordinates, the signal handler should determine
whether a tooltip should be shown for @status_icon. If this is
the case %TRUE should be returned, %FALSE otherwise. Note that if
@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.

Whether this signal is emitted is platform-dependent.
For plain text tooltips, use #GtkStatusIcon:tooltip-text in preference.

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<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 @status_icon
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the cursor position where the request has been
emitted, relative to @status_icon
</parameter_description>
</parameter>
<parameter name="keyboard_mode">
<parameter_description> %TRUE if the tooltip was trigged 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="GtkStatusIcon::scroll-event">
<description>
The ::scroll-event signal is emitted when a button in the 4 to 7
range is pressed. Wheel mice are usually configured to generate
button press events for buttons 4 and 5 when the wheel is turned.

Whether this event is emitted is platform-dependent.

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventScroll which triggered 
this signal
</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="GtkStatusIcon::size-changed">
<description>
Gets emitted when the size available for the image
changes, e.g. because the notification area got resized.

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the new size
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the icon was updated for the new
size. Otherwise, GTK+ will scale the icon as necessary.

</return>
</signal>

<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>

<signal name="GtkStyle::group-changed">
<description>
Emitted when the group of radio menu items that a radio menu item belongs
to changes. This is emitted when a radio menu item switches from
being alone to being part of a group of 2 or more menu items, or
vice-versa, and when a button is moved from one group of 2 or
more menu items ton a different one, but not when the composition
of the group that a menu item belongs to changes.

Since: 2.4

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

<signal name="GtkStyle::realize">
<description>
Emitted when the style has been initialized for a particular
visual. Connecting to this signal is probably seldom
useful since most of the time applications and widgets only
deal with styles that have been already realized.

Since: 2.4

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

<signal name="GtkStyle::unrealize">
<description>
Emitted when the aspects of the style specific to a particular visual
is being cleaned up. A connection to this signal can be useful
if a widget wants to cache objects as object data on #GtkStyle.
This signal provides a convenient place to free such cached objects.

Since: 2.4

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

<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>

<enum name="GtkTargetFlags">
<description>
The #GtkTargetFlags enumeration is used to specify
constraints on an entry in a #GtkTargetTable.

</description>
<parameters>
<parameter name="GTK_TARGET_SAME_APP">
<parameter_description> If this is set, the target will only be selected
for drags within a single application.
</parameter_description>
</parameter>
<parameter name="GTK_TARGET_SAME_WIDGET">
<parameter_description> If this is set, the target will only be selected
for drags within a single widget.
</parameter_description>
</parameter>
<parameter name="GTK_TARGET_OTHER_APP">
<parameter_description> If this is set, the target will not be selected
for drags within a single application.
</parameter_description>
</parameter>
<parameter name="GTK_TARGET_OTHER_WIDGET">
<parameter_description> If this is set, the target will not be selected
for drags withing a single widget.
</parameter_description>
</parameter>
</parameters>
</enum>

<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 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-pixbuf">
<description>
The ::insert-pixbuf signal is emitted to insert a #GdkPixbuf 
in a #GtkTextBuffer. Insertion actually occurs in the default handler.

Note that if your handler runs before the default handler it must not 
invalidate the @location iter (or has to revalidate it). 
The default signal handler revalidates it to be placed after the 
inserted @pixbuf.

See also: gtk_text_buffer_insert_pixbuf().

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> position to insert @pixbuf in @textbuffer
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> the #GdkPixbuf 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.

Since: 2.16

</description>
<parameters>
<parameter name="textbuffer">
<parameter_description> the object which received the signal
</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="GtkTextTag::event">
<description>
The ::event signal is emitted when an event occurs on a region of the
buffer marked with this tag.


</description>
<parameters>
<parameter name="tag">
<parameter_description> the #GtkTextTag on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="object">
<parameter_description> the object the event was fired from (typically a #GtkTextView)
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the event which triggered the signal
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTextIter pointing at the location the event occured
</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="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 size has been changed.
</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted when the user asks for it.

The default bindings for this signal are
Backspace and Shift-Backspace.

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted to copy the selection to the clipboard.

The default bindings for this signal are
Ctrl-c and Ctrl-Insert.

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted to cut the selection to the clipboard.

The default bindings for this signal are
Ctrl-x and Shift-Delete.

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted when the user initiates a text deletion.

If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection
if there is one, otherwise it deletes the requested number
of characters.

The default bindings for this signal are
Delete for deleting a character, Ctrl-Delete for 
deleting a word and Ctrl-Backspace for deleting a word 
backwords.

</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::insert-at-cursor">
<description>
The ::insert-at-cursor signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates the insertion of a 
fixed string at the cursor.

This signal has no default bindings.

</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::move-cursor">
<description>
The ::move-cursor signal is a 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted when the user initiates a cursor movement. 
If the cursor is not visible in @text_view, this signal causes
the viewport to be moved instead.

Applications should not connect to it, but may emit it with 
g_signal_emit_by_name() if they need to control the cursor
programmatically.

The default bindings for this signal come in two variants,
the variant with the Shift modifier extends the selection,
the variant without the Shift modifer does not.
There are too many key combinations to list them all here.
&lt;itemizedlist&gt;
&lt;listitem&gt;Arrow keys move by individual characters/lines&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-arrow key combinations move by words/paragraphs&lt;/listitem&gt;
&lt;listitem&gt;Home/End keys move to the ends of the buffer&lt;/listitem&gt;
&lt;listitem&gt;PageUp/PageDown keys move vertically by pages&lt;/listitem&gt;
&lt;listitem&gt;Ctrl-PageUp/PageDown keys move horizontally by pages&lt;/listitem&gt;
&lt;/itemizedlist&gt;

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which can be bound to key combinations to allow the user
to move the viewport, i.e. change what part of the text view
is visible in a containing scrolled window.

There are no default bindings for this signal.

</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>
</parameters>
<return></return>
</signal>

<signal name="GtkTextView::paste-clipboard">
<description>
The ::paste-clipboard signal is a 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted to paste the contents of the clipboard 
into the text view.

The default bindings for this signal are
Ctrl-v and Shift-Insert.

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

<signal name="GtkTextView::populate-popup">
<description>
The ::populate-popup signal gets emitted before showing the 
context menu of the text view.

If you need to add items to the context menu, connect
to this signal and append your menuitems to the @menu.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> The text view on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="menu">
<parameter_description> the menu that is being populated
</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.

Since: 2.20

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted to select or unselect the complete
contents of the text view.

The default bindings for this signal are Ctrl-a and Ctrl-/ 
for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting.

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user initiates setting the &quot;anchor&quot; 
mark. The &quot;anchor&quot; mark gets placed at the same position as the
&quot;insert&quot; mark.

This signal has no default bindings.

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted to toggle the visibility of the cursor.

The default binding for this signal is F7.

</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 
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt; 
which gets emitted to toggle the overwrite mode of the text view.

The default bindings for this signal is Insert.

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

<signal name="GtkToggleAction::toggled">
<description>
Should be connected if you wish to perform an action
whenever the #GtkToggleAction state is changed.

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

<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>

<signal name="GtkToggleToolButton::toggled">
<description>
Emitted whenever the toggle tool button changes state.

</description>
<parameters>
<parameter name="toggle_tool_button">
<parameter_description> the object that emitted the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkToolButton::clicked">
<description>
This signal is emitted when the tool button is clicked with the mouse
or activated with the keyboard.

</description>
<parameters>
<parameter name="toolbutton">
<parameter_description> the object that emitted the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkToolItem::create-menu-proxy">
<description>
This signal is emitted when the toolbar needs information from @tool_item
about whether the item should appear in the toolbar overflow menu. In
response the tool item should either
&lt;itemizedlist&gt;
&lt;listitem&gt;call gtk_tool_item_set_proxy_menu_item() with a %NULL
pointer and return %TRUE to indicate that the item should not appear
in the overflow menu
&lt;/listitem&gt;
&lt;listitem&gt; call gtk_tool_item_set_proxy_menu_item() with a new menu
item and return %TRUE, or 
&lt;/listitem&gt;
&lt;listitem&gt; return %FALSE to indicate that the signal was not
handled by the item. This means that
the item will not appear in the overflow menu unless a later handler
installs a menu item.
&lt;/listitem&gt;
&lt;/itemizedlist&gt;

The toolbar may cache the result of this signal. When the tool item changes
how it will respond to this signal it must call gtk_tool_item_rebuild_menu()
to invalidate the cache and ensure that the toolbar rebuilds its overflow
menu.


</description>
<parameters>
<parameter name="tool_item">
<parameter_description> the object the signal was emitted on
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal was handled, %FALSE if not
</return>
</signal>

<signal name="GtkToolItem::toolbar-reconfigured">
<description>
This signal is emitted when some property of the toolbar that the
item is a child of changes. For custom subclasses of #GtkToolItem,
the default handler of this signal use the functions
&lt;itemizedlist&gt;
&lt;listitem&gt;gtk_tool_shell_get_orientation()&lt;/listitem&gt;
&lt;listitem&gt;gtk_tool_shell_get_style()&lt;/listitem&gt;
&lt;listitem&gt;gtk_tool_shell_get_icon_size()&lt;/listitem&gt;
&lt;listitem&gt;gtk_tool_shell_get_relief_style()&lt;/listitem&gt;
&lt;/itemizedlist&gt;
to find out what the toolbar should look like and change
themselves accordingly.

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

<enum name="GtkToolPaletteDragTargets">
<description>
Flags used to specify the supported drag targets.

</description>
<parameters>
<parameter name="GTK_TOOL_PALETTE_DRAG_ITEMS">
<parameter_description> Support drag of items.
</parameter_description>
</parameter>
<parameter name="GTK_TOOL_PALETTE_DRAG_GROUPS">
<parameter_description> Support drag of groups.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkToolbar::focus-home-or-end">
<description>
A keybinding signal used internally by GTK+. This signal can't
be used in application code


</description>
<parameters>
<parameter name="toolbar">
<parameter_description> the #GtkToolbar which emitted the signal
</parameter_description>
</parameter>
<parameter name="focus_home">
<parameter_description> %TRUE if the first item should be focused
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the signal was handled, %FALSE if not
</return>
</signal>

<signal name="GtkToolbar::orientation-changed">
<description>
Emitted when the orientation of the toolbar changes.

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> the object which emitted the signal
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the new #GtkOrientation of the toolbar
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkToolbar::popup-context-menu">
<description>
Emitted when the user right-clicks the toolbar or uses the
keybinding to display a popup menu.

Application developers should handle this signal if they want
to display a context menu on the toolbar. The context-menu should
appear at the coordinates given by @x and @y. The mouse button
number is given by the @button parameter. If the menu was popped
up using the keybaord, @button is -1.


</description>
<parameters>
<parameter name="toolbar">
<parameter_description> the #GtkToolbar which emitted the signal
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate of the point where the menu should appear
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the point where the menu should appear
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> the mouse button the user pressed, or -1
</parameter_description>
</parameter>
</parameters>
<return> return %TRUE if the signal was handled, %FALSE if not
</return>
</signal>

<signal name="GtkToolbar::style-changed">
<description>
Emitted when the style of the toolbar changes. 

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> The #GtkToolbar which emitted the signal
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> the new #GtkToolbarStyle of the toolbar
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkToolbarStyle">
<description>
Used to customize the appearance of a #GtkToolbar. Note that
setting the toolbar style overrides the user's preferences
for the default toolbar style.  Note that if the button has only
a label set and GTK_TOOLBAR_ICONS is used, the label will be
visible, and vice versa.

</description>
<parameters>
<parameter name="GTK_TOOLBAR_ICONS">
<parameter_description> Buttons display only icons in the toolbar.
</parameter_description>
</parameter>
<parameter name="GTK_TOOLBAR_TEXT">
<parameter_description> Buttons display only text labels in the toolbar.
</parameter_description>
</parameter>
<parameter name="GTK_TOOLBAR_BOTH">
<parameter_description> Buttons display text and icons in the toolbar.
</parameter_description>
</parameter>
<parameter name="GTK_TOOLBAR_BOTH_HORIZ">
<parameter_description> Buttons display icons and text alongside each
other, rather than vertically stacked
</parameter_description>
</parameter>
</parameters>
</enum>

<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 identifying the changed row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter 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 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 identifying the row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter 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 identifying the new row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter 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 &lt;emphasis&gt;not&lt;/emphasis&gt; emitted
when rows are reordered by DND, since this is implemented
by removing and then reinserting the row.

</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 identifying the tree node whose children
have been reordered
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter pointing to the node whose
</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&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;
</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>

<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::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 &lt;link linkend=&quot;TreeWidget&quot;&gt;tree 
widget conceptual overview&lt;/link&gt; 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>

<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>

<signal name="GtkUIManager::actions-changed">
<description>
The ::actions-changed signal is emitted whenever the set of actions
changes.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkUIManager::add-widget">
<description>
The ::add-widget signal is emitted for each generated menubar and toolbar.
It is not emitted for generated popup menus, which can be obtained by 
gtk_ui_manager_get_widget().

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the added widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkUIManager::connect-proxy">
<description>
The ::connect-proxy signal is emitted after connecting a proxy to
an action in the group. 

This is intended for simple customizations for which a custom action
class would be too clumsy, e.g. showing tooltips for menuitems in the
statusbar.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> the ui manager
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</parameter_description>
</parameter>
<parameter name="proxy">
<parameter_description> the proxy
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkUIManager::disconnect-proxy">
<description>
The ::disconnect-proxy signal is emitted after disconnecting a proxy
from an action in the group. 

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> the ui manager
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</parameter_description>
</parameter>
<parameter name="proxy">
<parameter_description> the proxy
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkUIManager::post-activate">
<description>
The ::post-activate signal is emitted just after the @action
is activated.

This is intended for applications to get notification
just after any action is activated.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> the ui manager
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkUIManager::pre-activate">
<description>
The ::pre-activate signal is emitted just before the @action
is activated.

This is intended for applications to get notification
just before any action is activated.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> the ui manager
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<enum name="GtkUIManagerItemType">
<description>
These enumeration values are used by gtk_ui_manager_add_ui() to determine
what UI element to create.

</description>
<parameters>
<parameter name="GTK_UI_MANAGER_AUTO">
<parameter_description> Pick the type of the UI element according to context.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_MENUBAR">
<parameter_description> Create a menubar.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_MENU">
<parameter_description> Create a menu.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_TOOLBAR">
<parameter_description> Create a toolbar.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_PLACEHOLDER">
<parameter_description> Insert a placeholder.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_POPUP">
<parameter_description> Create a popup menu.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_MENUITEM">
<parameter_description> Create a menuitem.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_TOOLITEM">
<parameter_description> Create a toolitem.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_SEPARATOR">
<parameter_description> Create a separator.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_ACCELERATOR">
<parameter_description> Install an accelerator.
</parameter_description>
</parameter>
<parameter name="GTK_UI_MANAGER_POPUP_WITH_ACCELS">
<parameter_description> Same as %GTK_UI_MANAGER_POPUP, but the
actions' accelerators are shown.
</parameter_description>
</parameter>
</parameters>
</enum>

<signal name="GtkWidget::accel-closures-changed">
<description>

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

<signal name="GtkWidget::button-press-event">
<description>
The ::button-press-event signal will be emitted when a button
(typically from a mouse) is pressed.

To receive this signal, the #GdkWindow associated to the
widget needs to enable the #GDK_BUTTON_PRESS_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventButton which triggered
this signal.
</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::button-release-event">
<description>
The ::button-release-event signal will be emitted when a button
(typically from a mouse) is released.

To receive this signal, the #GdkWindow associated to the
widget needs to enable the #GDK_BUTTON_RELEASE_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventButton which triggered
this signal.
</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::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::child-notify">
<description>
The ::child-notify signal is emitted for each
&lt;link linkend=&quot;child-properties&quot;&gt;child property&lt;/link&gt;  that has
changed on an object. The signal's detail holds the property name.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="child_property">
<parameter_description> the #GParamSpec of the changed child property
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::composited-changed">
<description>
The ::composited-changed signal is emitted when the composited
status of @widget&lt;!-- --&gt;s screen changes.
See gdk_screen_is_composited().

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

<signal name="GtkWidget::configure-event">
<description>
The ::configure-event signal will be emitted when the size, position or
stacking of the @widget's window has changed.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask
automatically for all new windows.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventConfigure which triggered
this signal.
</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::damage-event">
<description>
Emitted when a redirected window belonging to @widget gets drawn into.
The region/area members of the event shows what area of the redirected
drawable was drawn into.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventExpose event
</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::delete-event">
<description>
The ::delete-event signal is emitted if a user requests that
a toplevel window is closed. The default handler for this signal
destroys the window. Connecting gtk_widget_hide_on_delete() to
this signal will cause the window to be hidden instead, so that
it can later be shown again without reconstructing it.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the event which triggered this signal
</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::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.

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

<signal name="GtkWidget::destroy-event">
<description>
The ::destroy-event signal is emitted when a #GdkWindow is destroyed.
You rarely get this signal, because most widgets disconnect themselves
from their window before they destroy it, so no widget owns the
window at destroy time.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask
automatically for all new windows.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the event which triggered this signal
</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::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::drag-begin">
<description>
The ::drag-begin signal is emitted on the drag source when a drag is
started. A typical reason to connect to this signal is to set up a
custom drag icon with e.g. gtk_drag_source_set_icon_pixbuf().

Note that some widgets set up a drag icon in the default handler of
this signal, so you may have to use g_signal_connect_after() to
override what the default handler did.

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

<signal name="GtkWidget::drag-data-delete">
<description>
The ::drag-data-delete signal is emitted on the drag source when a drag
with the action %GDK_ACTION_MOVE is successfully completed. The signal
handler is responsible for deleting the data that has been dropped. What
&quot;delete&quot; means depends on the context of the drag operation.

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

<signal name="GtkWidget::drag-data-get">
<description>
The ::drag-data-get signal is emitted on the drag source when the drop
site requests the data which is dragged. It is the responsibility of
the signal handler to fill @data with the data in the format which
is indicated by @info. See gtk_selection_data_set() and
gtk_selection_data_set_text().

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the drag context
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> the #GtkSelectionData to be filled with the dragged data
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> the info that has been registered with the target in the
#GtkTargetList
</parameter_description>
</parameter>
<parameter name="time">
<parameter_description> the timestamp at which the data was requested
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::drag-data-received">
<description>
The ::drag-data-received signal is emitted on the drop site when the
dragged data has been received. If the data was received in order to
determine whether the drop will be accepted, the handler is expected
to call gdk_drag_status() and &lt;emphasis&gt;not&lt;/emphasis&gt; finish the drag.
If the data was received in response to a #GtkWidget::drag-drop signal
(and this is the last target to be received), the handler for this
signal is expected to process the received data and then call
gtk_drag_finish(), setting the @success parameter depending on
whether the data was processed successfully.

The handler may inspect the selected action with
gdk_drag_context_get_selected_action() before calling
gtk_drag_finish(), e.g. to implement %GDK_ACTION_ASK as
shown in the following example:
|[
void
drag_data_received (GtkWidget          *widget,
GdkDragContext     *context,
gint                x,
gint                y,
GtkSelectionData   *data,
guint               info,
guint               time)
{
if ((data-&gt;length &gt;= 0) &amp;&amp; (data-&gt;format == 8))
{
GdkDragAction action;

/ * handle data here * /

action = gdk_drag_context_get_selected_action (context);
if (action == GDK_ACTION_ASK)
{
GtkWidget *dialog;
gint response;

dialog = gtk_message_dialog_new (NULL,
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_YES_NO,
&quot;Move the data ?\n&quot;);
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);

if (response == GTK_RESPONSE_YES)
action = GDK_ACTION_MOVE;
else
action = GDK_ACTION_COPY;
}

gtk_drag_finish (context, TRUE, action == GDK_ACTION_MOVE, time);
}
else
gtk_drag_finish (context, FALSE, FALSE, time);
}
]|

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the drag context
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> where the drop happened
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> where the drop happened
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> the received data
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> the info that has been registered with the target in the
#GtkTargetList
</parameter_description>
</parameter>
<parameter name="time">
<parameter_description> the timestamp at which the data was received
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::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 gtk_drag_finish() is called to let the source know that
the drop is done. The call to gtk_drag_finish() can be done either
directly or in a #GtkWidget::drag-data-received handler which gets
triggered by calling gtk_drag_get_data() to receive the data for one
or more of the supported targets.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the drag context
</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>
<parameter name="time">
<parameter_description> the timestamp of the motion event
</parameter_description>
</parameter>
</parameters>
<return> whether the cursor position is in a drop zone
</return>
</signal>

<signal name="GtkWidget::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 #GtkWidget::drag-begin.

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

<signal name="GtkWidget::drag-failed">
<description>
The ::drag-failed signal is emitted on the drag source when a drag has
failed. The signal handler may hook custom code to handle a failed DND
operation based on the type of error, it returns %TRUE is the failure has
been already handled (not showing the default &quot;drag operation failed&quot;
animation), otherwise it returns %FALSE.

Since: 2.12

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the drag context
</parameter_description>
</parameter>
<parameter name="result">
<parameter_description> the result of the drag operation
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the failed drag operation has been already handled.

</return>
</signal>

<signal name="GtkWidget::drag-leave">
<description>
The ::drag-leave signal is emitted on the drop site when the cursor
leaves the widget. A typical reason to connect to this signal is to
undo things done in #GtkWidget::drag-motion, e.g. undo highlighting
with gtk_drag_unhighlight()

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the drag context
</parameter_description>
</parameter>
<parameter name="time">
<parameter_description> the timestamp of the motion event
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::drag-motion">
<description>
The ::drag-motion signal is emitted on the drop site when the user
moves the cursor over the widget during a drag. The signal handler
must determine whether the cursor position is in a drop zone or not.
If it is not in a drop zone, it returns %FALSE and no further processing
is necessary. Otherwise, the handler returns %TRUE. In this case, the
handler is responsible for providing the necessary information for
displaying feedback to the user, by calling gdk_drag_status().

If the decision whether the drop will be accepted or rejected can't be
made based solely on the cursor position and the type of the data, the
handler may inspect the dragged data by calling gtk_drag_get_data() and
defer the gdk_drag_status() call to the #GtkWidget::drag-data-received
handler. Note that you cannot not pass #GTK_DEST_DEFAULT_DROP,
#GTK_DEST_DEFAULT_MOTION or #GTK_DEST_DEFAULT_ALL to gtk_drag_dest_set()
when using the drag-motion signal that way.

Also note that there is no drag-enter signal. The drag receiver has to
keep track of whether he has received any drag-motion signals since the
last #GtkWidget::drag-leave and if not, treat the drag-motion signal as
an &quot;enter&quot; signal. Upon an &quot;enter&quot;, the handler will typically highlight
the drop site with gtk_drag_highlight().
|[
static void
drag_motion (GtkWidget      *widget,
GdkDragContext *context,
gint            x,
gint            y,
guint           time)
{
GdkAtom target;

PrivateData *private_data = GET_PRIVATE_DATA (widget);

if (!private_data-&gt;drag_highlight)
{
private_data-&gt;drag_highlight = 1;
gtk_drag_highlight (widget);
}

target = gtk_drag_dest_find_target (widget, context, NULL);
if (target == GDK_NONE)
gdk_drag_status (context, 0, time);
else
{
private_data-&gt;pending_status = gdk_drag_context_get_suggested_action (context);
gtk_drag_get_data (widget, context, target, time);
}

return TRUE;
}

static void
drag_data_received (GtkWidget        *widget,
GdkDragContext   *context,
gint              x,
gint              y,
GtkSelectionData *selection_data,
guint             info,
guint             time)
{
PrivateData *private_data = GET_PRIVATE_DATA (widget);

if (private_data-&gt;suggested_action)
{
private_data-&gt;suggested_action = 0;

/ * We are getting this data due to a request in drag_motion,
* rather than due to a request in drag_drop, so we are just
* supposed to call gdk_drag_status(), not actually paste in
* the data.
* /
str = gtk_selection_data_get_text (selection_data);
if (!data_is_acceptable (str))
gdk_drag_status (context, 0, time);
else
gdk_drag_status (context, private_data-&gt;suggested_action, time);
}
else
{
/ * accept the drop * /
}
}
]|


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the drag context
</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>
<parameter name="time">
<parameter_description> the timestamp of the motion event
</parameter_description>
</parameter>
</parameters>
<return> whether the cursor position is in a drop zone
</return>
</signal>

<signal name="GtkWidget::draw">
<description>
This signal is emitted when a widget is supposed to render itself.
The @widget's top left corner must be painted at the origin of
the passed in context and be sized to the values returned by
gtk_widget_get_allocated_width() and
gtk_widget_get_allocated_height().

Signal handlers connected to this signal can modify the cairo
context passed as @cr in any way they like and don't need to
restore it. The signal emission takes care of calling cairo_save()
before and cairo_restore() after invoking the handler.

The signal handler will get a @cr with a clip region already set to the
widget's dirty region, i.e. to the area that needs repainting.  Complicated
widgets that want to avoid redrawing themselves completely can get the full
extents of the clip region with gdk_cairo_get_clip_rectangle(), or they can
get a finer-grained representation of the dirty region with
cairo_copy_clip_rectangle_list().

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> the cairo context to draw to
</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::enter-notify-event">
<description>
The ::enter-notify-event will be emitted when the pointer enters
the @widget's window.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_ENTER_NOTIFY_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventCrossing which triggered
this signal.
</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::event">
<description>
The GTK+ main loop will emit three signals for each GDK event delivered
to a widget: one generic ::event signal, another, more specific,
signal that matches the type of event delivered (e.g.
#GtkWidget::key-press-event) and finally a generic
#GtkWidget::event-after signal.


</description>
<parameters>
<parameter name="widget">
<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 to cancel the emission of the second specific ::event signal.
%FALSE to propagate the event further and to allow the emission of
the second signal. The ::event-after signal is emitted regardless of
the return value.
</return>
</signal>

<signal name="GtkWidget::event-after">
<description>
After the emission of the #GtkWidget::event signal and (optionally)
the second more specific signal, ::event-after will be emitted
regardless of the previous two signals handlers return values.


</description>
<parameters>
<parameter name="widget">
<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></return>
</signal>

<signal name="GtkWidget::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> %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
</return>
</signal>

<signal name="GtkWidget::focus-in-event">
<description>
The ::focus-in-event signal will be emitted when the keyboard focus
enters the @widget's window.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_FOCUS_CHANGE_MASK mask.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventFocus which triggered
this signal.
</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::focus-out-event">
<description>
The ::focus-out-event signal will be emitted when the keyboard focus
leaves the @widget's window.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_FOCUS_CHANGE_MASK mask.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventFocus which triggered this
signal.
</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::grab-broken-event">
<description>
Emitted when a pointer or keyboard grab on a window belonging
to @widget gets broken.

On X11, this happens when the grab window becomes unviewable
(i.e. it or one of its ancestors is unmapped), or if the same
application grabs the pointer or keyboard again.

Since: 2.8

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventGrabBroken event
</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::grab-focus">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</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>

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

<signal name="GtkWidget::hierarchy-changed">
<description>
The ::hierarchy-changed signal is emitted when the
anchored state of a widget changes. A widget is
&lt;firstterm&gt;anchored&lt;/firstterm&gt; when its toplevel
ancestor is a #GtkWindow. This signal is emitted when
a widget changes from un-anchored to anchored or vice-versa.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="previous_toplevel">
<parameter_description> the previous toplevel ancestor, or %NULL
if the widget was previously unanchored
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::key-press-event">
<description>
The ::key-press-event signal is emitted when a key is pressed. The signal
emission will reoccur at the key-repeat rate when the key is kept pressed.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_KEY_PRESS_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventKey which triggered this signal.
</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::key-release-event">
<description>
The ::key-release-event signal is emitted when a key is released.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_KEY_RELEASE_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventKey which triggered this signal.
</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::keynav-failed">
<description>
Gets emitted if keyboard navigation fails.
See gtk_widget_keynav_failed() for details.

Since: 2.12

</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 container(s).

</return>
</signal>

<signal name="GtkWidget::leave-notify-event">
<description>
The ::leave-notify-event will be emitted when the pointer leaves
the @widget's window.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_LEAVE_NOTIFY_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventCrossing which triggered
this signal.
</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::map">
<description>

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

<signal name="GtkWidget::map-event">
<description>
The ::map-event signal will be emitted when the @widget's window is
mapped. A window is mapped when it becomes visible on the screen.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask
automatically for all new windows.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventAny which triggered this signal.
</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::mnemonic-activate">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="arg1">
<parameter_description>
</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::motion-notify-event">
<description>
The ::motion-notify-event signal is emitted when the pointer moves
over the widget's #GdkWindow.

To receive this signal, the #GdkWindow associated to the widget
needs to enable the #GDK_POINTER_MOTION_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventMotion which triggered
this signal.
</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::parent-set">
<description>
The ::parent-set signal is emitted when a new parent
has been set on a widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="old_parent">
<parameter_description> the previous parent, or %NULL if the widget
just got its initial parent.
</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 &lt;xref linkend=&quot;checklist-popup-menu&quot;/&gt;
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::property-notify-event">
<description>
The ::property-notify-event signal will be emitted when a property on
the @widget's window has been changed or deleted.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_PROPERTY_CHANGE_MASK mask.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventProperty which triggered
this signal.
</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::proximity-in-event">
<description>
To receive this signal the #GdkWindow associated to the widget needs
to enable the #GDK_PROXIMITY_IN_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventProximity which triggered
this signal.
</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::proximity-out-event">
<description>
To receive this signal the #GdkWindow associated to the widget needs
to enable the #GDK_PROXIMITY_OUT_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventProximity which triggered
this signal.
</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::query-tooltip">
<description>
Emitted when #GtkWidget:has-tooltip is %TRUE and the #GtkSettings:gtk-tooltip-timeout
has expired with the cursor hovering &quot;above&quot; @widget; or emitted when @widget got
focus in keyboard mode.

Using the given coordinates, the signal handler should determine
whether a tooltip should be shown for @widget. If this is the case
%TRUE should be returned, %FALSE otherwise.  Note that if
@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.

Since: 2.12

</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 trigged 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>

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

<signal name="GtkWidget::screen-changed">
<description>
The ::screen-changed signal gets emitted when the
screen of a widget has changed.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="previous_screen">
<parameter_description> the previous screen, or %NULL if the
widget was not associated with a screen before
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::scroll-event">
<description>
The ::scroll-event signal is emitted when a button in the 4 to 7
range is pressed. Wheel mice are usually configured to generate
button press events for buttons 4 and 5 when the wheel is turned.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_SCROLL_MASK mask.

This signal will be sent to the grab widget if there is one.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventScroll which triggered
this signal.
</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::selection-clear-event">
<description>
The ::selection-clear-event signal will be emitted when the
the @widget's window has lost ownership of a selection.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventSelection which triggered
this signal.
</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::selection-get">
<description>

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

<signal name="GtkWidget::selection-notify-event">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description>
</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::selection-received">
<description>

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

<signal name="GtkWidget::selection-request-event">
<description>
The ::selection-request-event signal will be emitted when
another client requests ownership of the selection owned by
the @widget's window.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventSelection which triggered
this signal.
</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::show">
<description>

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

<signal name="GtkWidget::show-help">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="help_type">
<parameter_description>
</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::size-allocate">
<description>

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

<signal name="GtkWidget::state-changed">
<description>
The ::state-changed signal is emitted when the widget state changes.
See gtk_widget_get_state().

Deprecated: 3.0. Use #GtkWidget::state-flags-changed instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the previous state
</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().

Since: 3.0

</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::style-set">
<description>
The ::style-set signal is emitted when a new style has been set
on a widget. Note that style-modifying functions like
gtk_widget_modify_base() also cause this signal to be emitted.

Note that this signal is emitted for changes to the deprecated
#GtkStyle. To track changes to the #GtkStyleContext associated
with a widget, use the #GtkWidget::style-updated signal.

Deprecated:3.0: Use the #GtkWidget::style-updated signal

</description>
<parameters>
<parameter name="widget">
<parameter_description> the object on which the signal is emitted
</parameter_description>
</parameter>
<parameter name="previous_style">
<parameter_description> the previous style, or %NULL if the widget
just got its initial style
</parameter_description>
</parameter>
</parameters>
<return></return>
</signal>

<signal name="GtkWidget::style-updated">
<description>
The ::style-updated signal is emitted when the #GtkStyleContext
of a widget is changed. Note that style-modifying functions like
gtk_widget_override_color() also cause this signal to be emitted.

Since: 3.0

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

<signal name="GtkWidget::unmap">
<description>

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

<signal name="GtkWidget::unmap-event">
<description>
The ::unmap-event signal will be emitted when the @widget's window is
unmapped. A window is unmapped when it becomes invisible on the screen.

To receive this signal, the #GdkWindow associated to the widget needs
to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask
automatically for all new windows.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventAny which triggered this signal
</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::unrealize">
<description>

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

<signal name="GtkWidget::visibility-notify-event">
<description>
The ::visibility-notify-event will be emitted when the @widget's window
is obscured or unobscured.

To receive this signal the #GdkWindow associated to the widget needs
to enable the #GDK_VISIBILITY_NOTIFY_MASK mask.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventVisibility which
triggered this signal.
</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::window-state-event">
<description>
The ::window-state-event will be emitted when the state of the
toplevel window associated to the @widget changes.

To receive this signal the #GdkWindow associated to the widget
needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable
this mask automatically for all new windows.


</description>
<parameters>
<parameter name="widget">
<parameter_description> the object which received the signal
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the #GdkEventWindowState which
triggered this signal.
</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="GtkWindow::activate-default">
<description>
The ::activate-default signal is a
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates the default widget
of @window.

</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
&lt;link linkend=&quot;keybinding-signals&quot;&gt;keybinding signal&lt;/link&gt;
which gets emitted when the user activates the currently
focused widget of @window.

</description>
<parameters>
<parameter name="window">
<parameter_description> the window which received the signal
</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>

<enum name="GtkWindowPosition">
<description>
Window placement can be influenced using this enumeration. Note that
using #GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea.
It won't necessarily work well with all window managers or on all windowing systems.

</description>
<parameters>
<parameter name="GTK_WIN_POS_NONE">
<parameter_description> No influence is made on placement.
</parameter_description>
</parameter>
<parameter name="GTK_WIN_POS_CENTER">
<parameter_description> Windows should be placed in the center of the screen.
</parameter_description>
</parameter>
<parameter name="GTK_WIN_POS_MOUSE">
<parameter_description> Windows should be placed at the current mouse position.
</parameter_description>
</parameter>
<parameter name="GTK_WIN_POS_CENTER_ALWAYS">
<parameter_description> Keep window centered as it changes size, etc.
</parameter_description>
</parameter>
<parameter name="GTK_WIN_POS_CENTER_ON_PARENT">
<parameter_description> Center the window on its transient
parent (see gtk_window_set_transient_for()).
</parameter_description>
</parameter>
</parameters>
</enum>

<enum name="GtkWindowType">
<description>
A #GtkWindow can be one of these types. Most things you'd consider a
&quot;window&quot; 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. resize grips and
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.

Since: 3.4

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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()

Since: 3.0

</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 pixbuf displayed as logo in the about dialog.

Since: 2.6

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
</parameters>
<return> the pixbuf displayed as logo. The
pixbuf 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.

Since: 2.6

</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.

Since: 2.12

</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_translator_credits">
<description>
Returns the translator credits string which is displayed
in the translators tab of the secondary credits dialog.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.8

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="copyright">
<parameter_description> (allow-none) 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 secondary credits dialog.

Since: 2.6

</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.

Since: 2.6

</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().

Since: 3.0

</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 pixbuf to be displayed as logo in the about dialog.
If it is %NULL, the default window icon set with
gtk_window_set_default_icon() will be used.

Since: 2.6

</description>
<parameters>
<parameter name="about">
<parameter_description> a #GtkAboutDialog
</parameter_description>
</parameter>
<parameter name="logo">
<parameter_description> a #GdkPixbuf, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_about_dialog_set_logo_icon_name">
<description>
Sets the pixbuf to be displayed as logo in the about dialog.
If it is %NULL, the default window icon set with
gtk_window_set_default_icon() will be used.

Since: 2.6

</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().

Since: 2.12

</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_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:
|[
gtk_about_dialog_set_translator_credits (about, _(&quot;translator-credits&quot;));
]|
It is a good idea to use the customary msgid &quot;translator-credits&quot; for this
purpose, since translators will already know the purpose of that msgid, and
since #GtkAboutDialog will detect if &quot;translator-credits&quot; is untranslated
and hide the tab.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.8

</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().

Since 2.20 @closure can be %NULL.


</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().

Since: 2.14

</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.

Since: 2.14

</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_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 object monitored by the accelerator label, or %NULL.
</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 #GtkMenuItem 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_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.

Since: 3.6

</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().

</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.
</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.

</description>
<parameters>
<parameter name="accel_label">
<parameter_description> a #GtkAccelLabel
</parameter_description>
</parameter>
<parameter name="accel_widget">
<parameter_description> the widget to be monitored.
</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.

Since: 2.4

</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. 

Since: 2.4

</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.

Since: 2.4

</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 value set by 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.

Since: 2.6

</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.

Since: 3.4

</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 &quot;&lt;Control&gt;q&quot;.

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_full(),
similarly to gtk_accelerator_name() but handling keycodes.
This is only useful for system-level components, applications
should use gtk_accelerator_parse() instead.

Since: 3.4

</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 &quot;&lt;Control&gt;a&quot; or &quot;&lt;Shift&gt;&lt;Alt&gt;F1&quot;
or &quot;&lt;Release&gt;z&quot; (the last one is for key release).

The parser is fairly liberal and allows lower or upper case,
and also abbreviations such as &quot;&lt;Ctl&gt;&quot; and &quot;&lt;Ctrl&gt;&quot;.
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 &quot;&lt;Ctrl&gt;minus&quot; instead of &quot;&lt;Ctrl&gt;-&quot;.

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 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).

Since: 3.4

</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 is #GDK_CONTROL_MASK |
#GDK_SHIFT_MASK | #GDK_MOD1_MASK | #GDK_SUPER_MASK |
#GDK_HYPER_MASK | #GDK_META_MASK, that is, Control, Shift, Alt,
Super, Hyper and Meta. Other modifiers will by default be ignored
by #GtkAccelGroup.
You must include at least the three modifiers Control, Shift
and Alt in any value you pass to this function.

The default mod mask should be changed on application startup,
before using any accelerator groups.

</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 &quot;Ctrl+a&quot; 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_connect_widget_destroyed">
<description>
This function specifies the callback function to be called
when the widget corresponding to a GtkAccessible is destroyed.

Deprecated: 3.4: Use gtk_accessible_set_widget() and its vfuncs.

</description>
<parameters>
<parameter name="accessible">
<parameter_description> a #GtkAccessible
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 2.22

</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.

&lt;note&gt;&lt;para&gt;@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.&lt;/para&gt;&lt;/note&gt;
Since: 2.22

</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_activate">
<description>
Emits the &quot;activate&quot; signal on the specified action, if it isn't 
insensitive. This gets called by the proxy widgets when they get 
activated.

It can also be used to manually activate an action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_block_activate">
<description>
Disable activation signals from the action 

This is needed when updating the state of your proxy
#GtkActivatable widget could result in calling gtk_action_activate(),
this is a convenience function to avoid recursing in those
cases (updating toggle state for instance).

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_connect_accelerator">
<description>
Installs the accelerator for @action if @action has an
accel path and group. See gtk_action_set_accel_path() and 
gtk_action_set_accel_group()

Since multiple proxies may independently trigger the installation
of the accelerator, the @action counts the number of times this
function has been called and doesn't remove the accelerator until
gtk_action_disconnect_accelerator() has been called as many times.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_create_icon">
<description>
This function is intended for use by action implementations to
create icons displayed in the proxy widgets.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="icon_size">
<parameter_description> the size of the icon that should be created.
</parameter_description>
</parameter>
</parameters>
<return> a widget that displays the icon for this action.

</return>
</function>

<function name="gtk_action_create_menu">
<description>
If @action provides a #GtkMenu widget as a submenu for the menu
item or the toolbar item it creates, this function returns an
instance of that menu.

Since: 2.12

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> the menu item provided by the
action, or %NULL.

</return>
</function>

<function name="gtk_action_create_menu_item">
<description>
Creates a menu item widget that proxies for the given action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> a menu item connected to the action.

</return>
</function>

<function name="gtk_action_create_tool_item">
<description>
Creates a toolbar item widget that proxies for the given action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> a toolbar item connected to the action.

</return>
</function>

<function name="gtk_action_disconnect_accelerator">
<description>
Undoes the effect of one call to gtk_action_connect_accelerator().

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_get_accel_closure">
<description>
Returns the accel closure for this action.

Since: 2.8


</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> the accel closure for this action. The
returned closure is owned by GTK+ and must not be unreffed
or modified.
</return>
</function>

<function name="gtk_action_get_accel_path">
<description>
Returns the accel path for this action.  

Since: 2.6


</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> the accel path for this action, or %NULL
if none is set. The returned string is owned by GTK+ 
and must not be freed or modified.
</return>
</function>

<function name="gtk_action_get_always_show_image">
<description>
Returns whether @action&lt;!-- --&gt;'s menu item proxies will ignore the
#GtkSettings:gtk-menu-images setting and always show their image,
if available.

Since: 2.20

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the menu item proxies will always show their image

</return>
</function>

<function name="gtk_action_get_gicon">
<description>
Gets the gicon of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> The action's #GIcon if one is set.

</return>
</function>

<function name="gtk_action_get_icon_name">
<description>
Gets the icon name of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> the icon name

</return>
</function>

<function name="gtk_action_get_is_important">
<description>
Checks whether @action is important or not

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> whether @action is important

</return>
</function>

<function name="gtk_action_get_label">
<description>
Gets the label text of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> the label text

</return>
</function>

<function name="gtk_action_get_name">
<description>
Returns the name of the action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> the name of the action. The string belongs to GTK+ and should not
be freed.

</return>
</function>

<function name="gtk_action_get_proxies">
<description>
Returns the proxy widgets for an action.
See also gtk_activatable_get_related_action().

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> a #GSList of proxy widgets. The list is owned by GTK+
and must not be modified.

</return>
</function>

<function name="gtk_action_get_sensitive">
<description>
Returns whether the action itself is sensitive. Note that this doesn't 
necessarily mean effective sensitivity. See gtk_action_is_sensitive() 
for that.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the action itself is sensitive.

</return>
</function>

<function name="gtk_action_get_short_label">
<description>
Gets the short label text of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> the short label text.

</return>
</function>

<function name="gtk_action_get_stock_id">
<description>
Gets the stock id of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> the stock id

</return>
</function>

<function name="gtk_action_get_tooltip">
<description>
Gets the tooltip text of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> the tooltip text

</return>
</function>

<function name="gtk_action_get_visible">
<description>
Returns whether the action itself is visible. Note that this doesn't 
necessarily mean effective visibility. See gtk_action_is_sensitive() 
for that.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the action itself is visible.

</return>
</function>

<function name="gtk_action_get_visible_horizontal">
<description>
Checks whether @action is visible when horizontal

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> whether @action is visible when horizontal

</return>
</function>

<function name="gtk_action_get_visible_vertical">
<description>
Checks whether @action is visible when horizontal

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
</parameters>
<return> whether @action is visible when horizontal

</return>
</function>

<function name="gtk_action_group_add_action">
<description>
Adds an action object to the action group. Note that this function
does not set up the accel path of the action, which can lead to problems
if a user tries to modify the accelerator of a menuitem associated with
the action. Therefore you must either set the accel path yourself with
gtk_action_set_accel_path(), or use 
&lt;literal&gt;gtk_action_group_add_action_with_accel (..., NULL)&lt;/literal&gt;.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> an action
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_add_action_with_accel">
<description>
Adds an action object to the action group and sets up the accelerator.

If @accelerator is %NULL, attempts to use the accelerator associated 
with the stock_id of the action. 

Accel paths are set to
&lt;literal&gt;&lt;Actions&gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the action to add
</parameter_description>
</parameter>
<parameter name="accelerator">
<parameter_description> the accelerator for the action, in
the format understood by gtk_accelerator_parse(), or &quot;&quot; for no accelerator, or
%NULL to use the stock accelerator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_add_actions">
<description>
This is a convenience function to create a number of actions and add them 
to the action group.

The &quot;activate&quot; signals of the actions are connected to the callbacks and 
their accel paths are set to 
&lt;literal&gt;&lt;Actions&gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;.  

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> an array of action descriptions
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> the number of entries
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to the action callbacks
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_add_actions_full">
<description>
This variant of gtk_action_group_add_actions() adds a #GDestroyNotify
callback for @user_data. 

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> an array of action descriptions
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> the number of entries
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to the action callbacks
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notification callback for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_add_radio_actions">
<description>
This is a convenience routine to create a group of radio actions and
add them to the action group. 

The &quot;changed&quot; signal of the first radio action is connected to the 
@on_change callback and the accel paths of the actions are set to 
&lt;literal&gt;&lt;Actions&gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;.  

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> an array of radio action descriptions
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> the number of entries
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value of the action to activate initially, or -1 if
no action should be activated
</parameter_description>
</parameter>
<parameter name="on_change">
<parameter_description> the callback to connect to the changed signal
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to the action callbacks
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_add_radio_actions_full">
<description>
This variant of gtk_action_group_add_radio_actions() adds a 
#GDestroyNotify callback for @user_data. 

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> an array of radio action descriptions
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> the number of entries
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value of the action to activate initially, or -1 if
no action should be activated
</parameter_description>
</parameter>
<parameter name="on_change">
<parameter_description> the callback to connect to the changed signal
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to the action callbacks
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notification callback for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_add_toggle_actions">
<description>
This is a convenience function to create a number of toggle actions and add them 
to the action group.

The &quot;activate&quot; signals of the actions are connected to the callbacks and 
their accel paths are set to 
&lt;literal&gt;&lt;Actions&gt;/&lt;replaceable&gt;group-name&lt;/replaceable&gt;/&lt;replaceable&gt;action-name&lt;/replaceable&gt;&lt;/literal&gt;.  

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> an array of toggle action descriptions
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> the number of entries
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to the action callbacks
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_add_toggle_actions_full">
<description>
This variant of gtk_action_group_add_toggle_actions() adds a 
#GDestroyNotify callback for @user_data. 

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> an array of toggle action descriptions
</parameter_description>
</parameter>
<parameter name="n_entries">
<parameter_description> the number of entries
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> data to pass to the action callbacks
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notification callback for @user_data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_get_accel_group">
<description>
Gets the accelerator group.

Since: 3.6

</description>
<parameters>
<parameter name="action_group">
<parameter_description> a #GtkActionGroup
</parameter_description>
</parameter>
</parameters>
<return> the accelerator group associated with this action
group or %NULL if there is none.

</return>
</function>

<function name="gtk_action_group_get_action">
<description>
Looks up an action in the action group by name.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> the name of the action
</parameter_description>
</parameter>
</parameters>
<return> the action, or %NULL if no action by that name exists

</return>
</function>

<function name="gtk_action_group_get_name">
<description>
Gets the name of the action group.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
</parameters>
<return> the name of the action group.

</return>
</function>

<function name="gtk_action_group_get_sensitive">
<description>
Returns %TRUE if the group is sensitive.  The constituent actions
can only be logically sensitive (see gtk_action_is_sensitive()) if
they are sensitive (see gtk_action_get_sensitive()) and their group
is sensitive.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the group is sensitive.

</return>
</function>

<function name="gtk_action_group_get_visible">
<description>
Returns %TRUE if the group is visible.  The constituent actions
can only be logically visible (see gtk_action_is_visible()) if
they are visible (see gtk_action_get_visible()) and their group
is visible.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the group is visible.

</return>
</function>

<function name="gtk_action_group_list_actions">
<description>
Lists the actions in the action group.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
</parameters>
<return> an allocated list of the action objects in the action group

</return>
</function>

<function name="gtk_action_group_new">
<description>
Creates a new #GtkActionGroup object. The name of the action group
is used when associating &lt;link linkend=&quot;Action-Accel&quot;&gt;keybindings&lt;/link&gt; 
with the actions.

Since: 2.4

</description>
<parameters>
<parameter name="name">
<parameter_description> the name of the action group.
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkActionGroup

</return>
</function>

<function name="gtk_action_group_remove_action">
<description>
Removes an action object from the action group.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> an action
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_set_accel_group">
<description>
Sets the accelerator group to be used by every action in this group.

Since: 3.6

</description>
<parameters>
<parameter name="action_group">
<parameter_description> a #GtkActionGroup
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup to set or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_set_sensitive">
<description>
Changes the sensitivity of @action_group

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="sensitive">
<parameter_description> new sensitivity
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_set_translate_func">
<description>
Sets a function to be used for translating the @label and @tooltip of 
#GtkActionEntry&lt;!-- --&gt;s added by gtk_action_group_add_actions().

If you're using gettext(), it is enough to set the translation domain
with gtk_action_group_set_translation_domain().

Since: 2.4 

</description>
<parameters>
<parameter name="action_group">
<parameter_description> a #GtkActionGroup
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a #GtkTranslateFunc
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to be passed to @func and @notify
</parameter_description>
</parameter>
<parameter name="notify">
<parameter_description> a #GDestroyNotify function to be called when @action_group is
destroyed and when the translation function is changed again
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_set_translation_domain">
<description>
Sets the translation domain and uses g_dgettext() for translating the 
@label and @tooltip of #GtkActionEntry&lt;!-- --&gt;s added by 
gtk_action_group_add_actions().

If you're not using gettext() for localization, see 
gtk_action_group_set_translate_func().

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> a #GtkActionGroup
</parameter_description>
</parameter>
<parameter name="domain">
<parameter_description> the translation domain to use for g_dgettext()
calls, or %NULL to use the domain set with textdomain()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_set_visible">
<description>
Changes the visible of @action_group.

Since: 2.4

</description>
<parameters>
<parameter name="action_group">
<parameter_description> the action group
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> new visiblity
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_group_translate_string">
<description>
Translates a string using the function set with 
gtk_action_group_set_translate_func(). This
is mainly intended for language bindings.

Since: 2.6

</description>
<parameters>
<parameter name="action_group">
<parameter_description> a #GtkActionGroup
</parameter_description>
</parameter>
<parameter name="string">
<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
<return> the translation of @string

</return>
</function>

<function name="gtk_action_is_sensitive">
<description>
Returns whether the action is effectively sensitive.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the action and its associated action group 
are both sensitive.

</return>
</function>

<function name="gtk_action_is_visible">
<description>
Returns whether the action is effectively visible.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the action and its associated action group 
are both visible.

</return>
</function>

<function name="gtk_action_new">
<description>
Creates a new #GtkAction object. To add the action to a
#GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel().
See &lt;xref linkend=&quot;XML-UI&quot;/&gt; for information on allowed action
names.

Since: 2.4

</description>
<parameters>
<parameter name="name">
<parameter_description> A unique name for the action
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the label displayed in menu items and on buttons,
or %NULL
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a tooltip for the action, or %NULL
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> the stock icon to display in widgets representing
the action, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkAction

</return>
</function>

<function name="gtk_action_set_accel_group">
<description>
Sets the #GtkAccelGroup in which the accelerator for this action
will be installed.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> a #GtkAccelGroup or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_accel_path">
<description>
Sets the accel path for this action.  All proxy widgets associated
with the action will have this accel path, so that their
accelerators are consistent.

Note that @accel_path string will be stored in a #GQuark. Therefore, if you
pass a static string, you can save some memory by interning it first with 
g_intern_static_string().

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="accel_path">
<parameter_description> the accelerator path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_always_show_image">
<description>
Sets whether @action&lt;!-- --&gt;'s menu item proxies will ignore the
#GtkSettings:gtk-menu-images setting and always show their image, if available.

Use this if the menu item would be useless or hard to use
without their image.

Since: 2.20

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="always_show">
<parameter_description> %TRUE if menuitem proxies should always show their image
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_gicon">
<description>
Sets the icon of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> the #GIcon to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_icon_name">
<description>
Sets the icon name on @action

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> the icon name to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_is_important">
<description>
Sets whether the action is important, this attribute is used
primarily by toolbar items to decide whether to show a label
or not.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="is_important">
<parameter_description> %TRUE to make the action important
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_label">
<description>
Sets the label of @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the label text to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_sensitive">
<description>
Sets the ::sensitive property of the action to @sensitive. Note that 
this doesn't necessarily mean effective sensitivity. See 
gtk_action_is_sensitive() 
for that.

Since: 2.6

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="sensitive">
<parameter_description> %TRUE to make the action sensitive
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_short_label">
<description>
Sets a shorter label text on @action.

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="short_label">
<parameter_description> the label text to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_stock_id">
<description>
Sets the stock id on @action

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> the stock id
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_tooltip">
<description>
Sets the tooltip text on @action

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> the tooltip text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_visible">
<description>
Sets the ::visible property of the action to @visible. Note that 
this doesn't necessarily mean effective visibility. See 
gtk_action_is_visible() 
for that.

Since: 2.6

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> %TRUE to make the action visible
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_visible_horizontal">
<description>
Sets whether @action is visible when horizontal

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="visible_horizontal">
<parameter_description> whether the action is visible horizontally
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_set_visible_vertical">
<description>
Sets whether @action is visible when vertical 

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</parameter_description>
</parameter>
<parameter name="visible_vertical">
<parameter_description> whether the action is visible vertically
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_action_unblock_activate">
<description>
Reenable activation signals from the action 

Since: 2.16

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkAction
</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.

Since: 3.4

</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 @actionabe.

See gtk_actionable_set_action_target_value() for more information.

Since: 3.4

</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 &quot;win.save&quot; or &quot;app.quit&quot; 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.

Since: 3.4

</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 ().

Since: 3.4

</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 &quot;active&quot; - 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 &quot;radio button&quot; 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).

Since: 3.4

</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.

This allows for the effect of both gtk_actionable_set_action_name()
and gtk_actionable_set_action_target_value() in the common case that
the target is string-valued.

@detailed_action_name is a string of the form
&lt;literal&gt;&quot;action::target&quot;&lt;/literal&gt; where &lt;literal&gt;action&lt;/literal&gt;
is the action name and &lt;literal&gt;target&lt;/literal&gt; is the string to use
as the target.

Since: 3.4

</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_activatable_do_set_related_action">
<description>
This is a utility function for #GtkActivatable implementors.

When implementing #GtkActivatable you must call this when
handling changes of the #GtkActivatable:related-action, and
you must also use this to break references in #GObject-&gt;dispose().

This function adds a reference to the currently set related
action for you, it also makes sure the #GtkActivatable-&gt;update()
method is called when the related #GtkAction properties change
and registers to the action's proxy list.

&lt;note&gt;&lt;para&gt;Be careful to call this before setting the local
copy of the #GtkAction property, since this function uses 
gtk_activatable_get_related_action() to retrieve the
previous action&lt;/para&gt;&lt;/note&gt;

Since: 2.16

</description>
<parameters>
<parameter name="activatable">
<parameter_description> a #GtkActivatable
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the #GtkAction to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_activatable_get_related_action">
<description>
Gets the related #GtkAction for @activatable.

Since: 2.16

</description>
<parameters>
<parameter name="activatable">
<parameter_description> a #GtkActivatable
</parameter_description>
</parameter>
</parameters>
<return> the related #GtkAction if one is set.

</return>
</function>

<function name="gtk_activatable_get_use_action_appearance">
<description>
Gets whether this activatable should reset its layout
and appearance when setting the related action or when
the action changes appearance.

Since: 2.16

</description>
<parameters>
<parameter name="activatable">
<parameter_description> a #GtkActivatable
</parameter_description>
</parameter>
</parameters>
<return> whether @activatable uses its actions appearance.

</return>
</function>

<function name="gtk_activatable_set_related_action">
<description>
Sets the related action on the @activatable object.

&lt;note&gt;&lt;para&gt;#GtkActivatable implementors need to handle the #GtkActivatable:related-action
property and call gtk_activatable_do_set_related_action() when it changes.&lt;/para&gt;&lt;/note&gt;

Since: 2.16

</description>
<parameters>
<parameter name="activatable">
<parameter_description> a #GtkActivatable
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the #GtkAction to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_activatable_set_use_action_appearance">
<description>
Sets whether this activatable should reset its layout and appearance
when setting the related action or when the action changes appearance

&lt;note&gt;&lt;para&gt;#GtkActivatable implementors need to handle the
#GtkActivatable:use-action-appearance property and call
gtk_activatable_sync_action_properties() to update @activatable
if needed.&lt;/para&gt;&lt;/note&gt;

Since: 2.16

</description>
<parameters>
<parameter name="activatable">
<parameter_description> a #GtkActivatable
</parameter_description>
</parameter>
<parameter name="use_appearance">
<parameter_description> whether to use the actions appearance
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_activatable_sync_action_properties">
<description>
This is called to update the activatable completely, this is called
internally when the #GtkActivatable:related-action property is set
or unset and by the implementing class when
#GtkActivatable:use-action-appearance changes.

Since: 2.16

</description>
<parameters>
<parameter name="activatable">
<parameter_description> a #GtkActivatable
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the related #GtkAction or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_adjustment_changed">
<description>
Emits a #GtkAdjustment::changed signal from the #GtkAdjustment.
This is typically called by the owner of the #GtkAdjustment after it has
changed any of the #GtkAdjustment properties other than the value.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</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::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.

Since: 2.14

</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.

Since: 2.14

</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.

Since: 3.2

</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.

Since: 2.14

</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.

Since: 2.14

</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.

Since: 2.14

</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.

Since: 2.14

</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.

Since: 2.14

</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.

Since: 2.14

</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.

Since: 2.14

</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.

Since: 2.14

</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
&lt;literal&gt;upper - page-size&lt;/literal&gt; if the page-size
property is nonzero.

See gtk_adjustment_set_lower() about how to compress multiple
emissions of the #GtkAdjustment::changed signal when setting multiple adjustment
properties.

Since: 2.14

</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_adjustment_value_changed">
<description>
Emits a #GtkAdjustment::value_changed signal from the #GtkAdjustment.
This is typically called by the owner of the #GtkAdjustment after it has
changed the #GtkAdjustment:value property.

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_alignment_get_padding">
<description>
Gets the padding on the different sides of the widget.
See gtk_alignment_set_padding ().

Since: 2.4

</description>
<parameters>
<parameter name="alignment">
<parameter_description> a #GtkAlignment
</parameter_description>
</parameter>
<parameter name="padding_top">
<parameter_description> location to store the padding for
the top of the widget, or %NULL
</parameter_description>
</parameter>
<parameter name="padding_bottom">
<parameter_description> location to store the padding
for the bottom of the widget, or %NULL
</parameter_description>
</parameter>
<parameter name="padding_left">
<parameter_description> location to store the padding
for the left of the widget, or %NULL
</parameter_description>
</parameter>
<parameter name="padding_right">
<parameter_description> location to store the padding
for the right of the widget, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_alignment_new">
<description>
Creates a new #GtkAlignment.


</description>
<parameters>
<parameter name="xalign">
<parameter_description> the horizontal alignment of the child widget, from 0 (left) to 1
(right).
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> the vertical alignment of the child widget, from 0 (top) to 1
(bottom).
</parameter_description>
</parameter>
<parameter name="xscale">
<parameter_description> the amount that the child widget expands horizontally to fill up
unused space, from 0 to 1.
A value of 0 indicates that the child widget should never expand.
A value of 1 indicates that the child widget will expand to fill all of the
space allocated for the #GtkAlignment.
</parameter_description>
</parameter>
<parameter name="yscale">
<parameter_description> the amount that the child widget expands vertically to fill up
unused space, from 0 to 1. The values are similar to @xscale.
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkAlignment.
</return>
</function>

<function name="gtk_alignment_set">
<description>
Sets the #GtkAlignment values.

</description>
<parameters>
<parameter name="alignment">
<parameter_description> a #GtkAlignment.
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> the horizontal alignment of the child widget, from 0 (left) to 1
(right).
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> the vertical alignment of the child widget, from 0 (top) to 1
(bottom).
</parameter_description>
</parameter>
<parameter name="xscale">
<parameter_description> the amount that the child widget expands horizontally to fill up
unused space, from 0 to 1.
A value of 0 indicates that the child widget should never expand.
A value of 1 indicates that the child widget will expand to fill all of the
space allocated for the #GtkAlignment.
</parameter_description>
</parameter>
<parameter name="yscale">
<parameter_description> the amount that the child widget expands vertically to fill up
unused space, from 0 to 1. The values are similar to @xscale.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_alignment_set_padding">
<description>
Sets the padding on the different sides of the widget.
The padding adds blank space to the sides of the widget. For instance,
this can be used to indent the child widget towards the right by adding
padding on the left.

Since: 2.4

</description>
<parameters>
<parameter name="alignment">
<parameter_description> a #GtkAlignment
</parameter_description>
</parameter>
<parameter name="padding_top">
<parameter_description> the padding at the top of the widget
</parameter_description>
</parameter>
<parameter name="padding_bottom">
<parameter_description> the padding at the bottom of the widget
</parameter_description>
</parameter>
<parameter name="padding_left">
<parameter_description> the padding at the left of the widget
</parameter_description>
</parameter>
<parameter name="padding_right">
<parameter_description> the padding at the right of the widget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_alternative_dialog_button_order">
<description>
Returns %TRUE if dialogs are expected to use an alternative
button order on the screen @screen. See
gtk_dialog_set_alternative_button_order() for more details
about alternative button order.

If you need to use this function, you should probably connect
to the ::notify:gtk-alternative-button-order signal on the
#GtkSettings object associated to @screen, in order to be
notified if the button order setting changes.

Since: 2.6

</description>
<parameters>
<parameter name="screen">
<parameter_description> a #GdkScreen, or %NULL to use the default screen
</parameter_description>
</parameter>
</parameters>
<return> Whether the alternative button order should be used

</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().

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.2

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.2

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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_accelerator">
<description>
Installs an accelerator that will cause the named action
to be activated when the key combination specificed by @accelerator
is pressed.

@accelerator must be a string that can be parsed by
gtk_accelerator_parse(), e.g. &quot;&lt;Primary&gt;q&quot; or
&quot;&lt;Control&gt;&lt;Alt&gt;p&quot;.

@action_name must be the name of an action as it would be used
in the app menu, i.e. actions that have been added to the application
are referred to with an &quot;app.&quot; prefix, and window-specific actions
with a &quot;win.&quot; prefix.

GtkApplication also extracts accelerators out of 'accel' attributes
in the #GMenuModels passed to gtk_application_set_app_menu() and
gtk_application_set_menubar(), which is usually more convenient
than calling this function for each accelerator.

Since: 3.4

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="accelerator">
<parameter_description> accelerator string
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> the name of the action to activate
</parameter_description>
</parameter>
<parameter name="parameter">
<parameter_description> parameter to pass when activating the action,
or %NULL if the action does not accept an activation parameter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_application_add_window">
<description>
Adds a window to @application.

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.

Since: 3.0

</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_active_window">
<description>
Gets the &quot;active&quot; 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.

Since: 3.6

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> the active window

</return>
</function>

<function name="gtk_application_get_app_menu">
<description>
Returns the menu model that has been set with
gtk_application_set_app_menu().

Since: 3.4

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
</parameters>
<return> the application menu of @application

</return>
</function>

<function name="gtk_application_get_menubar">
<description>
Returns the menu model that has been set with
gtk_application_set_menubar().

Since: 3.4

</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.

Since: 3.6

</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.

Since: 3.0

</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 the 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.

Since: 3.4

</description>
<parameters>
<parameter name="application">
<parameter_description> the #GApplication
</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_is_inhibited">
<description>
Determines if any of the actions specified in @flags are
currently inhibited (possibly by another application).

Since: 3.4

</description>
<parameters>
<parameter name="application">
<parameter_description> the #GApplication
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> what types of actions should be queried
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if any of the actions specified in @flags are inhibited

</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 &lt;envar&gt;G_DEBUG&lt;/envar&gt;, 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.

Since: 3.0

</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_remove_accelerator">
<description>
Removes an accelerator that has been previously added
with gtk_application_add_accelerator().

Since: 3.4

</description>
<parameters>
<parameter name="application">
<parameter_description> a #GtkApplication
</parameter_description>
</parameter>
<parameter name="action_name">
<parameter_description> the name of the action to activate
</parameter_description>
</parameter>
<parameter name="parameter">
<parameter_description> parameter to pass when activating the action,
or %NULL if the action does not accept an activation parameter
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 3.0

</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_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
&quot;Preferences&quot; or &quot;Quit&quot; in an application menu, but not &quot;Save&quot; or
&quot;Print&quot;.

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.

Since: 3.4

</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.

Since: 3.4

</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.

Since: 3.4

</description>
<parameters>
<parameter name="application">
<parameter_description> the #GApplication
</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_id">
<description>
Returns the unique ID of the window. If the window has not yet been added to
a #GtkApplication, returns &lt;literal&gt;0&lt;/literal&gt;.

Since: 3.6

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkApplicationWindow
</parameter_description>
</parameter>
</parameters>
<return> the unique ID for @window, or &lt;literal&gt;0&lt;/literal&gt; 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.

Since: 3.4

</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.

Since: 3.4

</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_show_menubar">
<description>
Sets whether the window will display a menubar for the app menu
and menubar as needed.

Since: 3.4

</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_arrow_new">
<description>
Creates a new #GtkArrow widget.


</description>
<parameters>
<parameter name="arrow_type">
<parameter_description> a valid #GtkArrowType.
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> a valid #GtkShadowType.
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkArrow widget.
</return>
</function>

<function name="gtk_arrow_set">
<description>
Sets the direction and style of the #GtkArrow, @arrow.

</description>
<parameters>
<parameter name="arrow">
<parameter_description> a widget of type #GtkArrow.
</parameter_description>
</parameter>
<parameter name="arrow_type">
<parameter_description> a valid #GtkArrowType.
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> a valid #GtkShadowType.
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.22

</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.

Since: 2.10

</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

Since: 2.10

</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.

Since: 2.10

</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_complete">
<description>
Gets whether @page is complete.

Since: 2.10

</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_header_image">
<description>
Gets the header image for @page.

Since: 2.10

Deprecated: 3.2: Since GTK+ 3.2, a header is no longer shown;
add your header decoration to the page content instead.

</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 header image for @page,
or %NULL if there's no header image for the page

</return>
</function>

<function name="gtk_assistant_get_page_side_image">
<description>
Gets the side image for @page.

Since: 2.10

Deprecated: 3.2: Since GTK+ 3.2, sidebar images are not
shown anymore.

</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 side image for @page,
or %NULL if there's no side image for the page

</return>
</function>

<function name="gtk_assistant_get_page_title">
<description>
Gets the title for @page.

Since: 2.10

</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.

Since: 2.10

</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_insert_page">
<description>
Inserts a page in the @assistant at a given position.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 3.0

</description>
<parameters>
<parameter name="assistant">
<parameter_description> a #GtkAssistant
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_prepend_page">
<description>
Prepends a page to the @assistant.

Since: 2.10

</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.

Since: 3.0

</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.

Since: 2.10

</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.

Since: 3.2

</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().

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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_header_image">
<description>
Sets a header image for @page.

Since: 2.10

Deprecated: 3.2: Since GTK+ 3.2, a header is no longer shown;
add your header decoration to the page content instead.

</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="pixbuf">
<parameter_description> the new header image @page
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_assistant_set_page_side_image">
<description>
Sets a side image for @page.

This image used to be displayed in the side area of the assistant
when @page is the current page.

Since: 2.10

Deprecated: 3.2: Since GTK+ 3.2, sidebar images are not
shown anymore.

</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="pixbuf">
<parameter_description> the new side image @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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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> pointer to child of the #GtkBin
</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.

</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:
&lt;informalexample&gt;&lt;programlisting&gt;
bind &quot;key&quot; {
&quot;signalname&quot; (param, ...)
...
}
&lt;/programlisting&gt;&lt;/informalexample&gt;

Or they may also unbind a key combination:
&lt;informalexample&gt;&lt;programlisting&gt;
unbind &quot;key&quot;
&lt;/programlisting&gt;&lt;/informalexample&gt;

Key combinations must be in a format that can be parsed by
gtk_accelerator_parse().

Since: 3.0

</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_add_signall">
<description>
Override or install a new key binding for @keyval with @modifiers on
@binding_set.

</description>
<parameters>
<parameter name="binding_set">
<parameter_description>  a #GtkBindingSet to add a signal to
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description>       key value
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description>    key modifier
</parameter_description>
</parameter>
<parameter name="signal_name">
<parameter_description>  signal name to be bound
</parameter_description>
</parameter>
<parameter name="binding_args">
<parameter_description>
list of #GtkBindingArg signal arguments
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 2.12

</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_add_path">
<description>
This function was used internally by the GtkRC parsing mechanism
to assign match patterns to #GtkBindingSet structures.

In GTK+ 3, these match patterns are unused.

Deprecated: 3.0

</description>
<parameters>
<parameter name="binding_set">
<parameter_description> a #GtkBindingSet to add a path to
</parameter_description>
</parameter>
<parameter name="path_type">
<parameter_description> path type the pattern applies to
</parameter_description>
</parameter>
<parameter name="path_pattern">
<parameter_description> the actual match pattern
</parameter_description>
</parameter>
<parameter name="priority">
<parameter_description> binding priority
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 2.4

</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 structure.


</description>
<parameters>
<parameter name="border_">
<parameter_description> a #GtkBorder
</parameter_description>
</parameter>
</parameters>
<return> a copy of @border_.
</return>
</function>

<function name="gtk_border_free">
<description>
Frees a #GtkBorder structure.

</description>
<parameters>
<parameter name="border_">
<parameter_description> a #GtkBorder
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_border_new">
<description>
Allocates a new #GtkBorder structure and initializes its elements to zero.

Since: 2.14

</description>
<parameters>
</parameters>
<return> a newly allocated #GtkBorder. Free with gtk_border_free()

</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_new">
<description>
Creates a new #GtkBox.

Since: 3.0

</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_pack_end">
<description>
Adds @child to @box, packed with reference to the end of @box.
The @child is packed after (away from end of) any other child
packed with reference to the end of @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to be added to @box
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE if the new child is to be given extra space allocated
to @box. The extra space will be divided evenly between all children
of @box that use this option
</parameter_description>
</parameter>
<parameter name="fill">
<parameter_description> %TRUE if space given to @child by the @expand option is
actually allocated to @child, rather than just padding it.  This
parameter has no effect if @expand is set to %FALSE.  A child is
always allocated the full height of a horizontal #GtkBox and the full width
of a vertical #GtkBox.  This option affects the other dimension
</parameter_description>
</parameter>
<parameter name="padding">
<parameter_description> extra space in pixels to put between this child and its
neighbors, over and above the global amount specified by
#GtkBox:spacing property.  If @child is a widget at one of the
reference ends of @box, then @padding pixels are also put between
@child and the reference edge of @box
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_pack_start">
<description>
Adds @child to @box, packed with reference to the start of @box.
The @child is packed after any other child packed with reference
to the start of @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to be added to @box
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> %TRUE if the new child is to be given extra space allocated
to @box. The extra space will be divided evenly between all children
that use this option
</parameter_description>
</parameter>
<parameter name="fill">
<parameter_description> %TRUE if space given to @child by the @expand option is
actually allocated to @child, rather than just padding it.  This
parameter has no effect if @expand is set to %FALSE.  A child is
always allocated the full height of a horizontal #GtkBox and the full width
of a vertical #GtkBox. This option affects the other dimension
</parameter_description>
</parameter>
<parameter name="padding">
<parameter_description> extra space in pixels to put between this child and its
neighbors, over and above the global amount specified by
#GtkBox:spacing property.  If @child is a widget at one of the
reference ends of @box, then @padding pixels are also put between
@child and the reference edge of @box
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_query_child_packing">
<description>
Obtains information about how @child is packed into @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget of the child to query
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> pointer to return location for #GtkBox:expand child
property
</parameter_description>
</parameter>
<parameter name="fill">
<parameter_description> pointer to return location for #GtkBox:fill child
property
</parameter_description>
</parameter>
<parameter name="padding">
<parameter_description> pointer to return location for #GtkBox:padding
child property
</parameter_description>
</parameter>
<parameter name="pack_type">
<parameter_description> pointer to return location for #GtkBox:pack-type
child property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_reorder_child">
<description>
Moves @child to a new @position in the list of @box children.
The list is the &lt;structfield&gt;children&lt;/structfield&gt; field of
#GtkBox-struct, and contains both widgets packed #GTK_PACK_START
as well as widgets packed #GTK_PACK_END, in the order that these
widgets were added to @box.

A widget's position in the @box children list determines where
the widget is packed into @box.  A child widget at some position
in the list will be packed just after all other widgets of the
same packing type that appear earlier in the list.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget to move
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the new position for @child in the list of children
of @box, starting from 0. If negative, indicates the end of
the list
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_box_set_child_packing">
<description>
Sets the way @child is packed into @box.

</description>
<parameters>
<parameter name="box">
<parameter_description> a #GtkBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkWidget of the child to set
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> the new value of the #GtkBox:expand child property
</parameter_description>
</parameter>
<parameter name="fill">
<parameter_description> the new value of the #GtkBox:fill child property
</parameter_description>
</parameter>
<parameter name="padding">
<parameter_description> the new value of the #GtkBox:padding child property
</parameter_description>
</parameter>
<parameter name="pack_type">
<parameter_description> the new value of the #GtkBox:pack-type child property
</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.

Since: 2.12

</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 &quot;constructor&quot; has been
specified in the UI definition.

Since: 2.12

</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.

Since: 2.12

</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.

Since: 2.12

</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;.

Since: 2.12

</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 structure 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 a 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.

Since: 2.12

</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
&lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder UI definition&lt;/link&gt; 
used to construct the @buildable.

Since: 2.12

</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_parser_finished">
<description>
Called when the builder finishes the parsing of a 
&lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder UI definition&lt;/link&gt;. 
Note that this will be called once for each time 
gtk_builder_add_from_file() or gtk_builder_add_from_string() 
is called on a builder.

Since: 2.12

</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.

Since: 2.12

</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.

Since: 2.12

</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 &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder 
UI definition&lt;/link&gt; and merges it with the current contents of @builder. 

Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR 
domain.

Since: 2.12

</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> A positive value on success, 0 if an error occurred

</return>
</function>

<function name="gtk_builder_add_from_resource">
<description>
Parses a resource file containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder
UI definition&lt;/link&gt; and merges it with the current contents of @builder.

Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_RESOURCE_ERROR
domain.

Since: 3.4

</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> A positive value on success, 0 if an error occurred

</return>
</function>

<function name="gtk_builder_add_from_string">
<description>
Parses a string containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder 
UI definition&lt;/link&gt; and merges it with the current contents of @builder. 

Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain.

Since: 2.12

</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> A positive value on success, 0 if an error occurred

</return>
</function>

<function name="gtk_builder_add_objects_from_file">
<description>
Parses a file containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder 
UI definition&lt;/link&gt; building only the requested objects and merges
them with the current contents of @builder. 

Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR 
domain.

&lt;note&gt;&lt;para&gt;
If you are adding an object that depends on an object that is not 
its child (for instance a #GtkTreeView that depends on its
#GtkTreeModel), you have to explicitely list all of them in @object_ids. 
&lt;/para&gt;&lt;/note&gt;

Since: 2.14

</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> A positive value on success, 0 if an error occurred

</return>
</function>

<function name="gtk_builder_add_objects_from_resource">
<description>
Parses a resource file containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder
UI definition&lt;/link&gt; building only the requested objects and merges
them with the current contents of @builder.

Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_RESOURCE_ERROR
domain.

&lt;note&gt;&lt;para&gt;
If you are adding an object that depends on an object that is not
its child (for instance a #GtkTreeView that depends on its
#GtkTreeModel), you have to explicitely list all of them in @object_ids.
&lt;/para&gt;&lt;/note&gt;

Since: 3.4

</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> A positive value on success, 0 if an error occurred

</return>
</function>

<function name="gtk_builder_add_objects_from_string">
<description>
Parses a string containing a &lt;link linkend=&quot;BUILDER-UI&quot;&gt;GtkBuilder 
UI definition&lt;/link&gt; building only the requested objects and merges
them with the current contents of @builder. 

Upon errors 0 will be returned and @error will be assigned a
#GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain.

&lt;note&gt;&lt;para&gt;
If you are adding an object that depends on an object that is not 
its child (for instance a #GtkTreeView that depends on its
#GtkTreeModel), you have to explicitely list all of them in @object_ids. 
&lt;/para&gt;&lt;/note&gt;

Since: 2.14

</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> A positive value on success, 0 if an error occurred

</return>
</function>

<function name="gtk_builder_connect_signals">
<description>
This method is a simpler variation of gtk_builder_connect_signals_full().
It uses #GModule's introspective features (by opening the module %NULL) 
to look at the application's symbol table. From here it tries to match
the signal handler names given in the interface description with
symbols in the application and connects the signals. Note that this
function can only be called once, subsequent calls will do nothing.

Note that this function will not work correctly if #GModule is not
supported on the platform.

When compiling applications for Windows, you must declare signal callbacks
with #G_MODULE_EXPORT, or they will not be put in the symbol table.
On Linux and Unices, this is not necessary; applications should instead
be compiled with the -Wl,--export-dynamic CFLAGS, and linked against
gmodule-export-2.0.

Since: 2.12

</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> a pointer to a structure sent in as user data to all signals
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_builder_connect_signals_full">
<description>
This function can be thought of the interpreted language binding
version of gtk_builder_connect_signals(), except that it does not
require GModule to function correctly.

Since: 2.12

</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> the function used to connect the signals
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> arbitrary data that will be passed to the connection function
</parameter_description>
</parameter>
</parameters>
<return></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.

To make this function even more useful a new special entry point element
&lt;external-object&gt; is defined. It is similar to &lt;object&gt; but has 
to reference an external object exposed with this function.
This way you can change properties and even add children to an
external object using builder, not just reference it.

Since: 3.8

</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_get_object">
<description>
Gets the object named @name. Note that this function does not
increment the reference count of the returned object. 

Since: 2.12

</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.

Since: 2.12

</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_translation_domain">
<description>
Gets the translation domain of @builder.

Since: 2.12

</description>
<parameters>
<parameter name="builder">
<parameter_description> a #GtkBuilder
</parameter_description>
</parameter>
</parameters>
<return> the 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.

Since: 2.12

</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_new">
<description>
Creates a new builder object.

Since: 2.12

</description>
<parameters>
</parameters>
<return> a new #GtkBuilder object

</return>
</function>

<function name="gtk_builder_set_translation_domain">
<description>
Sets the translation domain of @builder. 
See #GtkBuilder:translation-domain.

Since: 2.12

</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, #GdkColor, #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.

Since: 2.12

</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.

Since: 2.12

</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_box_get_child_non_homogeneous">
<description>
Returns whether the child is exempted from homogenous
sizing.

Since: 3.2

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkButtonBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @widget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the child is not subject to homogenous sizing

</return>
</function>

<function name="gtk_button_box_get_child_secondary">
<description>
Returns whether @child should appear in a secondary group of children.

Since: 2.4

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkButtonBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @widget
</parameter_description>
</parameter>
</parameters>
<return> whether @child should appear in a secondary group of children.

</return>
</function>

<function name="gtk_button_box_get_layout">
<description>
Retrieves the method being used to arrange the buttons in a button box.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkButtonBox
</parameter_description>
</parameter>
</parameters>
<return> the method used to lay out buttons in @widget.
</return>
</function>

<function name="gtk_button_box_new">
<description>
Creates a new #GtkButtonBox.

Since: 3.0

</description>
<parameters>
<parameter name="orientation">
<parameter_description> the box' orientation.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkButtonBox.

</return>
</function>

<function name="gtk_button_box_set_child_non_homogeneous">
<description>
Sets whether the child is exempted from homogeous sizing.

Since: 3.2

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkButtonBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @widget
</parameter_description>
</parameter>
<parameter name="non_homogeneous">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_box_set_child_secondary">
<description>
Sets whether @child should appear in a secondary group of children.
A typical use of a secondary child is the help button in a dialog.

This group appears after the other children if the style
is %GTK_BUTTONBOX_START, %GTK_BUTTONBOX_SPREAD or
%GTK_BUTTONBOX_EDGE, and before the other children if the style
is %GTK_BUTTONBOX_END. For horizontal button boxes, the definition
of before/after depends on direction of the widget (see
gtk_widget_set_direction()). If the style is %GTK_BUTTONBOX_START
or %GTK_BUTTONBOX_END, then the secondary children are aligned at
the other end of the button box from the main children. For the
other styles, they appear immediately next to the main children.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkButtonBox
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @widget
</parameter_description>
</parameter>
<parameter name="is_secondary">
<parameter_description> if %TRUE, the @child appears in a secondary group of the
button box.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_box_set_layout">
<description>
Changes the way buttons are arranged in their container.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkButtonBox
</parameter_description>
</parameter>
<parameter name="layout_style">
<parameter_description> the new layout style
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_clicked">
<description>
Emits a #GtkButton::clicked signal to the given #GtkButton.

</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want to send the signal to.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_enter">
<description>
Emits a #GtkButton::enter signal to the given #GtkButton.

Deprecated: 2.20: Use the #GtkWidget::enter-notify-event signal.

</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want to send the signal to.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_get_alignment">
<description>
Gets the alignment of the child in the button.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> return location for horizontal alignment
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> return location for vertical alignment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_get_always_show_image">
<description>
Returns whether the button will ignore the #GtkSettings:gtk-button-images
setting and always show the image, if available.

Since: 3.6

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the button will always show the image

</return>
</function>

<function name="gtk_button_get_event_window">
<description>
Returns the button's event window if it is realized, %NULL otherwise.
This function should be rarely needed.

Since: 2.22

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> @button's event window.

</return>
</function>

<function name="gtk_button_get_focus_on_click">
<description>
Returns whether the button grabs focus when it is clicked with the mouse.
See gtk_button_set_focus_on_click().

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the button grabs focus when it is clicked with
the mouse.

</return>
</function>

<function name="gtk_button_get_image">
<description>
Gets the widget that is currenty set as the image of @button.
This may have been explicitly set by gtk_button_set_image()
or constructed by gtk_button_new_from_stock().

Since: 2.6

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> a #GtkWidget or %NULL in case there is no image

</return>
</function>

<function name="gtk_button_get_image_position">
<description>
Gets the position of the image relative to the text 
inside the button.

Since: 2.10

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> the position

</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_stock">
<description>
Returns whether the button label is a stock item.


</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the button label is used to
select a stock item instead of being
used directly as the label text.
</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_leave">
<description>
Emits a #GtkButton::leave signal to the given #GtkButton.

Deprecated: 2.20: Use the #GtkWidget::leave-notify-event signal.

</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want to send the signal to.
</parameter_description>
</parameter>
</parameters>
<return></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_stock">
<description>
Creates a new #GtkButton containing the image and text from a stock item.
Some stock ids have preprocessor macros like #GTK_STOCK_OK and
#GTK_STOCK_APPLY.

If @stock_id is unknown, then it will be treated as a mnemonic
label (as for gtk_button_new_with_mnemonic()).


</description>
<parameters>
<parameter name="stock_id">
<parameter_description> the name of the stock item 
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkButton
</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_pressed">
<description>
Emits a #GtkButton::pressed signal to the given #GtkButton.

Deprecated: 2.20: Use the #GtkWidget::button-press-event signal.

</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want to send the signal to.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_released">
<description>
Emits a #GtkButton::released signal to the given #GtkButton.

Deprecated: 2.20: Use the #GtkWidget::button-release-event signal.

</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want to send the signal to.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_alignment">
<description>
Sets the alignment of the child. This property has no effect unless 
the child is a #GtkMisc or a #GtkAlignment.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> the horizontal position of the child, 0.0 is left aligned, 
1.0 is right aligned
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> the vertical position of the child, 0.0 is top aligned, 
1.0 is bottom aligned
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_always_show_image">
<description>
If %TRUE, the button will ignore the #GtkSettings:gtk-button-images
setting and always show the image, if available.

Use this property if the button  would be useless or hard to use
without the image.

Since: 3.6

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="always_show">
<parameter_description> %TRUE if the menuitem should always show the image
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_focus_on_click">
<description>
Sets whether the button will grab focus when it is clicked with the mouse.
Making mouse clicks not grab focus is useful in places like toolbars where
you don't want the keyboard focus removed from the main area of the
application.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="focus_on_click">
<parameter_description> whether the button grabs focus when clicked with the mouse
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_image">
<description>
Set the image of @button to the given widget. Note that
it depends on the #GtkSettings:gtk-button-images setting whether the
image will be displayed or not, you don't have to call
gtk_widget_show() on @image yourself.

Since: 2.6

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="image">
<parameter_description> a widget to set as the image for the button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_image_position">
<description>
Sets the position of the image relative to the text 
inside the button.

Since: 2.10

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_label">
<description>
Sets the text of the label of the button to @str. This text is
also used to select the stock item if gtk_button_set_use_stock()
is used.

This will also clear any previously set labels.

</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.
Three styles exist, GTK_RELIEF_NORMAL, GTK_RELIEF_HALF, GTK_RELIEF_NONE.
The default style is, as one can guess, GTK_RELIEF_NORMAL.

&lt;!-- FIXME: put pictures of each style --&gt;

</description>
<parameters>
<parameter name="button">
<parameter_description> The #GtkButton you want to set relief styles of.
</parameter_description>
</parameter>
<parameter name="newstyle">
<parameter_description> The GtkReliefStyle as described above.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_button_set_use_stock">
<description>
If %TRUE, the label set on the button is used as a
stock id to select the stock item for the button.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkButton
</parameter_description>
</parameter>
<parameter name="use_stock">
<parameter_description> %TRUE if the button should use a stock item
</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_cairo_should_draw_window">
<description>
This function is supposed to be called in #GtkWidget::draw
implementations for widgets that support multiple windows.
@cr must be untransformed from invoking of the draw function.
This function will return %TRUE if the contents of the given
@window are supposed to be drawn and %FALSE otherwise. Note
that when the drawing was not initiated by the windowing
system this function will return %TRUE for all windows, so
you need to draw the bottommost window first. Also, do not
use &quot;else if&quot; statements to check which window should be drawn.

Since: 3.0

</description>
<parameters>
<parameter name="cr">
<parameter_description> a cairo context
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> the window to check. @window may not be an input-only
window.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @window should be drawn

</return>
</function>

<function name="gtk_cairo_transform_to_window">
<description>
Transforms the given cairo context @cr that from @widget-relative
coordinates to @window-relative coordinates.
If the @widget's window is not an ancestor of @window, no
modification will be applied.

This is the inverse to the transformation GTK applies when
preparing an expose event to be emitted with the #GtkWidget::draw
signal. It is intended to help porting multiwindow widgets from
GTK+ 2 to the rendering architecture of GTK+ 3.

Since: 3.0

</description>
<parameters>
<parameter name="cr">
<parameter_description> the cairo context to transform
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget the context is currently centered for
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> the window to transform the context to
</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>
Obtains the selected date from a #GtkCalendar.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="year">
<parameter_description> location to store the year as a decimal
number (e.g. 2011), or %NULL
</parameter_description>
</parameter>
<parameter name="month">
<parameter_description> location to store the month number
(between 0 and 11), or %NULL
</parameter_description>
</parameter>
<parameter name="day">
<parameter_description> location to store the day number (between
1 and 31), or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_get_day_is_marked">
<description>
Returns if the @day of the @calendar is already marked.

Since: 3.0

</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_detail_height_rows">
<description>
Queries the height of detail cells, in rows.
See #GtkCalendar:detail-width-chars.

Since: 2.14


</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
</parameters>
<return> The height of detail cells, in rows.
</return>
</function>

<function name="gtk_calendar_get_detail_width_chars">
<description>
Queries the width of detail cells, in characters.
See #GtkCalendar:detail-width-chars.

Since: 2.14


</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
</parameters>
<return> The width of detail cells, in characters.
</return>
</function>

<function name="gtk_calendar_get_display_options">
<description>
Returns the current display options of @calendar.

Since: 2.4

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
</parameters>
<return> the display options.

</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>
Selects a day from the current month.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
<parameter name="day">
<parameter_description> the day number between 1 and 31, or 0 to unselect
the currently selected day.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_select_month">
<description>
Shifts the calendar to a different month.

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="month">
<parameter_description> a month number between 0 and 11.
</parameter_description>
</parameter>
<parameter name="year">
<parameter_description> the year the month is in.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_set_detail_func">
<description>
Installs a function which provides Pango markup with detail information
for each day. Examples for such details are holidays or appointments. That
information is shown below each day when #GtkCalendar:show-details is set.
A tooltip containing with full detail information is provided, if the entire
text should not fit into the details area, or if #GtkCalendar:show-details
is not set.

The size of the details area can be restricted by setting the
#GtkCalendar:detail-width-chars and #GtkCalendar:detail-height-rows
properties.

Since: 2.14

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a function providing details for each day.
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to pass to @func invokations.
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> a function for releasing @data.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_set_detail_height_rows">
<description>
Updates the height of detail cells.
See #GtkCalendar:detail-height-rows.

Since: 2.14

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
<parameter name="rows">
<parameter_description> detail height in rows.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_set_detail_width_chars">
<description>
Updates the width of detail cells.
See #GtkCalendar:detail-width-chars.

Since: 2.14

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar.
</parameter_description>
</parameter>
<parameter name="chars">
<parameter_description> detail width in characters.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_calendar_set_display_options">
<description>
Sets display options (whether to display the heading and the month
headings).

Since: 2.4

</description>
<parameters>
<parameter name="calendar">
<parameter_description> a #GtkCalendar
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the display options to set
</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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_box_get_spacing">
<description>
Gets the spacing added between cell renderers.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since 3.0

</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.

Since: 3.0

</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
its important to know details about any cell spacing
that the #GtkCellArea is configured with in order to
compute a proper allocation.

Since: 3.0

</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.

Since: 3.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.

Since: 3.0

</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.

Since: 3.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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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().

Since 3.0

</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.

Since: 3.0

</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).

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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, its 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.

Since: 3.0

</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().

Since: 3.0

</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, its 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.

Since: 3.0

</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().

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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().

Since: 3.0

</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.

Since: 3.0

</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()).

Since: 3.0

</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.

Since: 3.0

</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()).

Since: 3.0

</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_render">
<description>
Renders @area's cells according to @area's layout onto @widget at
the given coordinates.

Since: 3.0

</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="cr">
<parameter_description> the #cairo_t to render with
</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_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.

Since: 3.0

</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().

Since: 3.0

</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_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().

Since: 3.0

</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. @event is the #GdkEvent that began 
the editing process. It may be %NULL, in the instance that editing was 
initiated through programatic means.

</description>
<parameters>
<parameter name="cell_editable">
<parameter_description> A #GtkCellEditable
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> A #GdkEvent, or %NULL
</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
&quot;text&quot; attribute of a #GtkCellRendererText get its values from column 2.

Since: 2.4

</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.

Since: 2.4

</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().

Since: 2.4

</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.

Since: 3.0

</description>
<parameters>
<parameter name="cell_layout">
<parameter_description> a #GtkCellLayout
</parameter_description>
</parameter>
</parameters>
<return> the cell area used by @cell_layout.

</return>
</function>

<function name="gtk_cell_layout_get_cells">
<description>
Returns the cell renderers which have been added to @cell_layout.

Since: 2.12

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.10

</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 &quot;text&quot; property 
on the cell renderer to a string value in the model, thus rendering 
a different string in each row of the #GtkTreeView.

Since: 2.6

</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.

Since: 3.0

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 2.18

</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_size">
<description>
Obtains the width and height needed to render the cell. Used by view 
widgets to determine the appropriate size for the cell_area passed to
gtk_cell_renderer_render().  If @cell_area is not %NULL, fills in the
x and y offsets (if set) of the cell relative to this location. 

Please note that the values set in @width and @height, as well as those 
in @x_offset and @y_offset are inclusive of the xpad and ypad properties.


Deprecated: 3.0: Use gtk_cell_renderer_get_preferred_size() instead.

</description>
<parameters>
<parameter name="cell">
<parameter_description> a #GtkCellRenderer
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget the renderer is rendering to
</parameter_description>
</parameter>
<parameter name="cell_area">
<parameter_description> The area a cell will be allocated, or %NULL
</parameter_description>
</parameter>
<parameter name="x_offset">
<parameter_description> location to return x offset of cell relative to @cell_area, or %NULL
</parameter_description>
</parameter>
<parameter name="y_offset">
<parameter_description> location to return y offset of 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_cell_renderer_get_state">
<description>
Translates the cell renderer state to #GtkStateFlags,
based on the cell renderer and widget sensitivity, and
the given #GtkCellRendererState.

Since: 3.0

</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.

Since: 2.18

</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.

Since: 3.0

</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 &quot;pixbuf&quot; property on the cell renderer to a pixbuf value
in the model, thus rendering a different image in each row of the
#GtkTreeView.


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_progress_new">
<description>
Creates a new #GtkCellRendererProgress. 

Since: 2.6

</description>
<parameters>
</parameters>
<return> the new cell renderer

</return>
</function>

<function name="gtk_cell_renderer_render">
<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="cr">
<parameter_description> a cairo context 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_set_alignment">
<description>
Sets the renderer's alignment within its available space.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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_spin_new">
<description>
Creates a new #GtkCellRendererSpin. 

Since: 2.10

</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.

Since: 2.20

</description>
<parameters>
</parameters>
<return> a new #GtkCellRenderer

</return>
</function>

<function name="gtk_cell_renderer_start_editing">
<description>
Passes an activate event to the cell renderer for possible processing.


</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, or %NULL
</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.

Since: 2.6

</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 &quot;text&quot; property on the cell renderer to a string
value in the model, thus rendering a different string in each row
of the #GtkTreeView


</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 &quot;font&quot; and
&quot;y_pad&quot; property set on it.  Further changes in these properties do not
affect the height, so they must be accompanied by a subsequent call to this
function.  Using this function is unflexible, and should really only be used
if calculating the size of a cell is too slow (ie, a massive number of cells
displayed).  If @number_of_rows is -1, then the fixed height is unset, and
the height is determined by the properties again.

</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().

Since: 2.18

</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 &quot;active&quot; property on the cell renderer to a boolean value
in the model, thus causing the check button to reflect the state of
the model.


</description>
<parameters>
</parameters>
<return> the new cell renderer
</return>
</function>

<function name="gtk_cell_renderer_toggle_set_activatable">
<description>
Makes the cell renderer activatable.

Since: 2.18

</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.

Since: 2.6

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 2.16

</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_get_size_of_row">
<description>
Sets @requisition to the size needed by @cell_view to display 
the model row pointed to by @path.

Since: 2.6

Deprecated: 3.0: Combo box formerly used this to calculate the
sizes for cellviews, now you can achieve this by either using
the #GtkCellView:fit-model property or by setting the currently
displayed row of the #GtkCellView and using gtk_widget_get_preferred_size().

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkTreePath 
</parameter_description>
</parameter>
<parameter name="requisition">
<parameter_description> return location for the size 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE

</return>
</function>

<function name="gtk_cell_view_new">
<description>
Creates a new #GtkCellView widget.

Since: 2.6

</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.

Since: 2.6

</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 &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text 
markup language&lt;/link&gt;.

Since: 2.6

</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_pixbuf">
<description>
Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf 
to it, and makes its show @pixbuf. 

Since: 2.6

</description>
<parameters>
<parameter name="pixbuf">
<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_new_with_text">
<description>
Creates a new #GtkCellView widget, adds a #GtkCellRendererText 
to it, and makes its show @text.

Since: 2.6

</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_set_background_color">
<description>
Sets the background color of @view.

Since: 2.6

Deprecated: 3.4: Use gtk_cell_view_set_background_rgba() instead.

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the new background color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_cell_view_set_background_rgba">
<description>
Sets the background color of @cell_view.

Since: 3.0

</description>
<parameters>
<parameter name="cell_view">
<parameter_description> a #GtkCellView
</parameter_description>
</parameter>
<parameter name="rgba">
<parameter_description> the new background color
</parameter_description>
</parameter>
</parameters>
<return></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 &quot;stick&quot; at their last value;
this is not normally a desired result, but may be
a needed intermediate state if say, the model for
the #GtkCellView becomes temporarily empty.

Since: 2.6

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 2.6

</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.

Since: 2.6

</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_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_menu_item_get_active">
<description>
Returns whether the check menu item is active. See
gtk_check_menu_item_set_active ().


</description>
<parameters>
<parameter name="check_menu_item">
<parameter_description> a #GtkCheckMenuItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the menu item is checked.
</return>
</function>

<function name="gtk_check_menu_item_get_draw_as_radio">
<description>
Returns whether @check_menu_item looks like a #GtkRadioMenuItem

Since: 2.4

</description>
<parameters>
<parameter name="check_menu_item">
<parameter_description> a #GtkCheckMenuItem
</parameter_description>
</parameter>
</parameters>
<return> Whether @check_menu_item looks like a #GtkRadioMenuItem

</return>
</function>

<function name="gtk_check_menu_item_get_inconsistent">
<description>
Retrieves the value set by gtk_check_menu_item_set_inconsistent().


</description>
<parameters>
<parameter name="check_menu_item">
<parameter_description> a #GtkCheckMenuItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if inconsistent
</return>
</function>

<function name="gtk_check_menu_item_new">
<description>
Creates a new #GtkCheckMenuItem.


</description>
<parameters>
</parameters>
<return> a new #GtkCheckMenuItem.
</return>
</function>

<function name="gtk_check_menu_item_new_with_label">
<description>
Creates a new #GtkCheckMenuItem with a label.


</description>
<parameters>
<parameter name="label">
<parameter_description> the string to use for the label.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkCheckMenuItem.
</return>
</function>

<function name="gtk_check_menu_item_new_with_mnemonic">
<description>
Creates a new #GtkCheckMenuItem containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the menu item.


</description>
<parameters>
<parameter name="label">
<parameter_description> The text of the button, with an underscore in front of the
character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkCheckMenuItem
</return>
</function>

<function name="gtk_check_menu_item_set_active">
<description>
Sets the active state of the menu item's check box.

</description>
<parameters>
<parameter name="check_menu_item">
<parameter_description> a #GtkCheckMenuItem.
</parameter_description>
</parameter>
<parameter name="is_active">
<parameter_description> boolean value indicating whether the check box is active.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_check_menu_item_set_draw_as_radio">
<description>
Sets whether @check_menu_item is drawn like a #GtkRadioMenuItem

Since: 2.4

</description>
<parameters>
<parameter name="check_menu_item">
<parameter_description> a #GtkCheckMenuItem
</parameter_description>
</parameter>
<parameter name="draw_as_radio">
<parameter_description> whether @check_menu_item is drawn like a #GtkRadioMenuItem
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_check_menu_item_set_inconsistent">
<description>
If the user has selected a range of elements (such as some text or
spreadsheet cells) that are affected by a boolean setting, and the
current values in that range are inconsistent, you may want to
display the check in an &quot;in between&quot; state. This function turns on
&quot;in between&quot; display.  Normally you would turn off the inconsistent
state again if the user explicitly selects a setting. This has to be
done manually, gtk_check_menu_item_set_inconsistent() only affects
visual appearance, it doesn't affect the semantics of the widget.


</description>
<parameters>
<parameter name="check_menu_item">
<parameter_description> a #GtkCheckMenuItem
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to display an &quot;inconsistent&quot; third state check
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_check_menu_item_toggled">
<description>
Emits the #GtkCheckMenuItem::toggled signal.

</description>
<parameters>
<parameter name="check_menu_item">
<parameter_description> a #GtkCheckMenuItem.
</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_clipboard_clear">
<description>
Clears the contents of the clipboard. Generally this should only
be called between the time you call gtk_clipboard_set_with_owner()
or gtk_clipboard_set_with_data(),
and when the @clear_func you supplied is called. Otherwise, the
clipboard may be owned by someone else.

</description>
<parameters>
<parameter name="clipboard">
<parameter_description>  a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_get">
<description>
Returns the clipboard object for the given selection.
See gtk_clipboard_get_for_display() for complete details.


</description>
<parameters>
<parameter name="selection">
<parameter_description> a #GdkAtom which identifies the clipboard to use
</parameter_description>
</parameter>
</parameters>
<return> the appropriate clipboard object. If no clipboard
already exists, a new one will be created. Once a clipboard
object has been created, it is persistent and, since it is
owned by GTK+, must not be freed or unreffed.
</return>
</function>

<function name="gtk_clipboard_get_display">
<description>
Gets the #GdkDisplay associated with @clipboard

Since: 2.2

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> the #GdkDisplay associated with @clipboard

</return>
</function>

<function name="gtk_clipboard_get_for_display">
<description>
Returns the clipboard object for the given selection.
Cut/copy/paste menu items and keyboard shortcuts should use
the default clipboard, returned by passing %GDK_SELECTION_CLIPBOARD for @selection.
(%GDK_NONE is supported as a synonym for GDK_SELECTION_CLIPBOARD
for backwards compatibility reasons.)
The currently-selected object or text should be provided on the clipboard
identified by #GDK_SELECTION_PRIMARY. Cut/copy/paste menu items
conceptually copy the contents of the #GDK_SELECTION_PRIMARY clipboard
to the default clipboard, i.e. they copy the selection to what the
user sees as the clipboard.

(Passing #GDK_NONE is the same as using &lt;literal&gt;gdk_atom_intern
(&quot;CLIPBOARD&quot;, FALSE)&lt;/literal&gt;. See &lt;ulink
url=&quot;http://www.freedesktop.org/Standards/clipboards-spec&quot;&gt;
http://www.freedesktop.org/Standards/clipboards-spec&lt;/ulink&gt;
for a detailed discussion of the &quot;CLIPBOARD&quot; vs. &quot;PRIMARY&quot;
selections under the X window system. On Win32 the
#GDK_SELECTION_PRIMARY clipboard is essentially ignored.)

It's possible to have arbitrary named clipboards; if you do invent
new clipboards, you should prefix the selection name with an
underscore (because the ICCCM requires that nonstandard atoms are
underscore-prefixed), and namespace it as well. For example,
if your application called &quot;Foo&quot; has a special-purpose
clipboard, you might call it &quot;_FOO_SPECIAL_CLIPBOARD&quot;.

Since: 2.2

</description>
<parameters>
<parameter name="display">
<parameter_description> the display for which the clipboard is to be retrieved or created
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> a #GdkAtom which identifies the clipboard to use.
</parameter_description>
</parameter>
</parameters>
<return> the appropriate clipboard object. If no
clipboard already exists, a new one will be created. Once a clipboard
object has been created, it is persistent and, since it is owned by
GTK+, must not be freed or unrefd.

</return>
</function>

<function name="gtk_clipboard_get_owner">
<description>
If the clipboard contents callbacks were set with
gtk_clipboard_set_with_owner(), and the gtk_clipboard_set_with_data() or
gtk_clipboard_clear() has not subsequently called, returns the owner set
by gtk_clipboard_set_with_owner().


</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> the owner of the clipboard, if any;
otherwise %NULL.
</return>
</function>

<function name="gtk_clipboard_request_contents">
<description>
Requests the contents of clipboard as the given target.
When the results of the result are later received the supplied callback
will be called.

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> an atom representing the form into which the clipboard
owner should convert the selection.
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> A function to call when the results are received
(or the retrieval fails). If the retrieval fails the length field of
@selection_data will be negative.
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @callback
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_request_image">
<description>
Requests the contents of the clipboard as image. When the image is
later received, it will be converted to a #GdkPixbuf, and
@callback will be called.

The @pixbuf parameter to @callback will contain the resulting
#GdkPixbuf if the request succeeded, or %NULL if it failed. This
could happen for various reasons, in particular if the clipboard
was empty or if the contents of the clipboard could not be
converted into an image.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a function to call when the image is received,
or the retrieval fails. (It will always be called one way or the other.)
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @callback.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_request_rich_text">
<description>
Requests the contents of the clipboard as rich text. When the rich
text is later received, @callback will be called.

The @text parameter to @callback will contain the resulting rich
text if the request succeeded, or %NULL if it failed. The @length
parameter will contain @text's length. This function can fail for
various reasons, in particular if the clipboard was empty or if the
contents of the clipboard could not be converted into rich text form.

Since: 2.10

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a function to call when the text is received,
or the retrieval fails. (It will always be called one way or the other.)
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @callback.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_request_targets">
<description>
Requests the contents of the clipboard as list of supported targets.
When the list is later received, @callback will be called.

The @targets parameter to @callback will contain the resulting targets if
the request succeeded, or %NULL if it failed.

Since: 2.4

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a function to call when the targets are
received, or the retrieval fails. (It will always be called
one way or the other.)
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @callback.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_request_text">
<description>
Requests the contents of the clipboard as text. When the text is
later received, it will be converted to UTF-8 if necessary, and
@callback will be called.

The @text parameter to @callback will contain the resulting text if
the request succeeded, or %NULL if it failed. This could happen for
various reasons, in particular if the clipboard was empty or if the
contents of the clipboard could not be converted into text form.

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a function to call when the text is received,
or the retrieval fails. (It will always be called one way or the other.)
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @callback.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_request_uris">
<description>
Requests the contents of the clipboard as URIs. When the URIs are
later received @callback will be called.

The @uris parameter to @callback will contain the resulting array of
URIs if the request succeeded, or %NULL if it failed. This could happen
for various reasons, in particular if the clipboard was empty or if the
contents of the clipboard could not be converted into URI form.

Since: 2.14

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a function to call when the URIs are received,
or the retrieval fails. (It will always be called one way or the other.)
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @callback.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_set_can_store">
<description>
Hints that the clipboard data should be stored somewhere when the
application exits or when gtk_clipboard_store () is called.

This value is reset when the clipboard owner changes.
Where the clipboard data is stored is platform dependent,
see gdk_display_store_clipboard () for more information.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> array containing
information about which forms should be stored or %NULL
to indicate that all forms should be stored.
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> number of elements in @targets
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_set_image">
<description>
Sets the contents of the clipboard to the given #GdkPixbuf. 
GTK+ will take responsibility for responding for requests 
for the image, and for converting the image into the 
requested format.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard object
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description>    a #GdkPixbuf 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_set_text">
<description>
Sets the contents of the clipboard to the given UTF-8 string. GTK+ will
make a copy of the text and take responsibility for responding
for requests for the text, and for converting the text into
the requested format.

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard object
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description>      a UTF-8 string.
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description>       length of @text, in bytes, or -1, in which case
the length will be determined with &lt;function&gt;strlen()&lt;/function&gt;.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_set_with_data">
<description>
Virtually sets the contents of the specified clipboard by providing
a list of supported formats for the clipboard data and a function
to call to get the actual data when it is requested.


</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> array containing information
about the available forms for the clipboard data
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> number of elements in @targets
</parameter_description>
</parameter>
<parameter name="get_func">
<parameter_description> function to call to get the actual clipboard data
</parameter_description>
</parameter>
<parameter name="clear_func">
<parameter_description> when the clipboard contents are set again,
this function will be called, and @get_func will not be subsequently
called.
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> user data to pass to @get_func and @clear_func.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if setting the clipboard data succeeded.
If setting the clipboard data failed the provided callback
functions will be ignored.
</return>
</function>

<function name="gtk_clipboard_set_with_owner">
<description>
Virtually sets the contents of the specified clipboard by providing
a list of supported formats for the clipboard data and a function
to call to get the actual data when it is requested.

The difference between this function and gtk_clipboard_set_with_data()
is that instead of an generic @user_data pointer, a #GObject is passed
in.


</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> array containing information
about the available forms for the clipboard data
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> number of elements in @targets
</parameter_description>
</parameter>
<parameter name="get_func">
<parameter_description> function to call to get the actual clipboard data
</parameter_description>
</parameter>
<parameter name="clear_func">
<parameter_description> when the clipboard contents are set again,
this function will be called, and @get_func will not be subsequently
called
</parameter_description>
</parameter>
<parameter name="owner">
<parameter_description> an object that &quot;owns&quot; the data. This object will be passed
to the callbacks when called
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if setting the clipboard data succeeded.
If setting the clipboard data failed the provided callback
functions will be ignored.
</return>
</function>

<function name="gtk_clipboard_store">
<description>
Stores the current clipboard data somewhere so that it will stay
around after the application has quit.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_clipboard_wait_for_contents">
<description>
Requests the contents of the clipboard using the given target.
This function waits for the data to be received using the main 
loop, so events, timeouts, etc, may be dispatched during the wait.


</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> an atom representing the form into which the clipboard
owner should convert the selection.
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #GtkSelectionData object or %NULL
if retrieving the given target failed. If non-%NULL,
this value must be freed with gtk_selection_data_free() 
when you are finished with it.
</return>
</function>

<function name="gtk_clipboard_wait_for_image">
<description>
Requests the contents of the clipboard as image and converts
the result to a #GdkPixbuf. This function waits for
the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #GdkPixbuf
object which must be disposed with g_object_unref(), or
%NULL if retrieving the selection data failed. (This could
happen for various reasons, in particular if the clipboard
was empty or if the contents of the clipboard could not be
converted into an image.)

</return>
</function>

<function name="gtk_clipboard_wait_for_rich_text">
<description>
Requests the contents of the clipboard as rich text.  This function
waits for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.

Since: 2.10

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> return location for the format of the returned data
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> return location for the length of the returned data
</parameter_description>
</parameter>
</parameters>
<return> a
newly-allocated binary block of data which must be
freed with g_free(), or %NULL if retrieving the
selection data failed. (This could happen for various
reasons, in particular if the clipboard was empty or
if the contents of the clipboard could not be
converted into text form.)

</return>
</function>

<function name="gtk_clipboard_wait_for_targets">
<description>
Returns a list of targets that are present on the clipboard, or %NULL
if there aren't any targets available. The returned list must be
freed with g_free().
This function waits for the data to be received using the main
loop, so events, timeouts, etc, may be dispatched during the wait.

Since: 2.4

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</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_targets">
<parameter_description> location to store number of items in @targets.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if any targets are present on the clipboard,
otherwise %FALSE.

</return>
</function>

<function name="gtk_clipboard_wait_for_text">
<description>
Requests the contents of the clipboard as text and converts
the result to UTF-8 if necessary. This function waits for
the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.


</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated UTF-8 string which must
be freed with g_free(), or %NULL if retrieving
the selection data failed. (This could happen
for various reasons, in particular if the
clipboard was empty or if the contents of the
clipboard could not be converted into text form.)
</return>
</function>

<function name="gtk_clipboard_wait_for_uris">
<description>
Requests the contents of the clipboard as URIs. This function waits
for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.

Since: 2.14

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated
%NULL-terminated array of strings which must
be freed with g_strfreev(), or %NULL if
retrieving the selection data failed. (This
could happen for various reasons, in particular
if the clipboard was empty or if the contents of
the clipboard could not be converted into URI form.)

</return>
</function>

<function name="gtk_clipboard_wait_is_image_available">
<description>
Test to see if there is an image available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains any of the supported image targets. This function 
waits for the data to be received using the main loop, so events, 
timeouts, etc, may be dispatched during the wait.

This function is a little faster than calling
gtk_clipboard_wait_for_image() since it doesn't need to retrieve
the actual image data.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> %TRUE is there is an image available, %FALSE otherwise.

</return>
</function>

<function name="gtk_clipboard_wait_is_rich_text_available">
<description>
Test to see if there is rich text available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains any of the supported rich text targets. This function
waits for the data to be received using the main loop, so events,
timeouts, etc, may be dispatched during the wait.

This function is a little faster than calling
gtk_clipboard_wait_for_rich_text() since it doesn't need to retrieve
the actual text.

Since: 2.10

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE is there is rich text available, %FALSE otherwise.

</return>
</function>

<function name="gtk_clipboard_wait_is_target_available">
<description>
Checks if a clipboard supports pasting data of a given type. This
function can be used to determine if a &quot;Paste&quot; menu item should be
insensitive or not.

If you want to see if there's text available on the clipboard, use
gtk_clipboard_wait_is_text_available () instead.

Since: 2.6

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description>    A #GdkAtom indicating which target to look for.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the target is available, %FALSE otherwise.

</return>
</function>

<function name="gtk_clipboard_wait_is_text_available">
<description>
Test to see if there is text available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains any of the supported text targets. This function 
waits for the data to be received using the main loop, so events, 
timeouts, etc, may be dispatched during the wait.

This function is a little faster than calling
gtk_clipboard_wait_for_text() since it doesn't need to retrieve
the actual text.


</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> %TRUE is there is text available, %FALSE otherwise.
</return>
</function>

<function name="gtk_clipboard_wait_is_uris_available">
<description>
Test to see if there is a list of URIs available to be pasted
This is done by requesting the TARGETS atom and checking
if it contains the URI targets. This function
waits for the data to be received using the main loop, so events, 
timeouts, etc, may be dispatched during the wait.

This function is a little faster than calling
gtk_clipboard_wait_for_uris() since it doesn't need to retrieve
the actual URI data.

Since: 2.14

</description>
<parameters>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return> %TRUE is there is an URI list available, %FALSE otherwise.

</return>
</function>

<function name="gtk_color_button_get_alpha">
<description>
Returns the current alpha value.

Since: 2.4

Deprecated: 3.4: Use gtk_color_chooser_get_rgba() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
</parameters>
<return> an integer between 0 and 65535

</return>
</function>

<function name="gtk_color_button_get_color">
<description>
Sets @color to be the current color in the #GtkColorButton widget.

Since: 2.4

Deprecated: 3.4: Use gtk_color_chooser_get_rgba() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a #GdkColor to fill in with the current color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_button_get_rgba">
<description>
Sets @rgba to be the current color in the #GtkColorButton widget.

Since: 3.0

Deprecated: 3.4: Use gtk_color_chooser_get_rgba() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
<parameter name="rgba">
<parameter_description> a #GdkRGBA to fill in with the current color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_button_get_title">
<description>
Gets the title of the color selection dialog.

Since: 2.4

</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_get_use_alpha">
<description>
Does the color selection dialog use the alpha channel ?

Since: 2.4

Deprecated: 3.4: Use gtk_color_chooser_get_use_alpha() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the color sample uses alpha channel, %FALSE if not

</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.

Since: 2.4

</description>
<parameters>
</parameters>
<return> a new color button

</return>
</function>

<function name="gtk_color_button_new_with_color">
<description>
Creates a new color button.

Since: 2.4

Deprecated: 3.4: Use gtk_color_button_new_with_rgba() instead.

</description>
<parameters>
<parameter name="color">
<parameter_description> A #GdkColor to set the current color with
</parameter_description>
</parameter>
</parameters>
<return> a new color button

</return>
</function>

<function name="gtk_color_button_new_with_rgba">
<description>
Creates a new color button.

Since: 3.0

</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_alpha">
<description>
Sets the current opacity to be @alpha.

Since: 2.4

Deprecated: 3.4: Use gtk_color_chooser_set_rgba() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
<parameter name="alpha">
<parameter_description> an integer between 0 and 65535
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_button_set_color">
<description>
Sets the current color to be @color.

Since: 2.4

Deprecated: Use gtk_color_chooser_set_rgba() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> A #GdkColor to set the current color with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_button_set_rgba">
<description>
Sets the current color to be @rgba.

Since: 3.0

Deprecated: 3.4: Use gtk_color_chooser_set_rgba() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
<parameter name="rgba">
<parameter_description> a #GdkRGBA to set the current color with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_button_set_title">
<description>
Sets the title for the color selection dialog.

Since: 2.4

</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_button_set_use_alpha">
<description>
Sets whether or not the color button should use the alpha channel.

Since: 2.4

Deprecated: 3.4: Use gtk_color_chooser_set_use_alpha() instead.

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkColorButton
</parameter_description>
</parameter>
<parameter name="use_alpha">
<parameter_description> %TRUE if color button should use alpha channel, %FALSE if not
</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.

Since: 3.4

</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.

Since: 3.4

</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.

Since: 3.4

</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.

Since: 3.4

</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.

Since: 3.4

</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.

Since: 3.4

</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.

Since: 3.4

</description>
<parameters>
</parameters>
<return> a new #GtkColorChooserWidget

</return>
</function>

<function name="gtk_color_selection_dialog_get_color_selection">
<description>
Retrieves the #GtkColorSelection widget embedded in the dialog.

Since: 2.14

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelectionDialog
</parameter_description>
</parameter>
</parameters>
<return> the embedded #GtkColorSelection

</return>
</function>

<function name="gtk_color_selection_dialog_new">
<description>
Creates a new #GtkColorSelectionDialog.


</description>
<parameters>
<parameter name="title">
<parameter_description> a string containing the title text for the dialog.
</parameter_description>
</parameter>
</parameters>
<return> a #GtkColorSelectionDialog.
</return>
</function>

<function name="gtk_color_selection_get_current_alpha">
<description>
Returns the current alpha value.


</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
</parameters>
<return> an integer between 0 and 65535
</return>
</function>

<function name="gtk_color_selection_get_current_color">
<description>
Sets @color to be the current color in the GtkColorSelection widget.

Deprecated: 3.4: Use gtk_color_selection_get_current_rgba() instead.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a #GdkColor to fill in with the current color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_get_current_rgba">
<description>
Sets @rgba to be the current color in the GtkColorSelection widget.

Since: 3.0

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="rgba">
<parameter_description> a #GdkRGBA to fill in with the current color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_get_has_opacity_control">
<description>
Determines whether the colorsel has an opacity control.


</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the @colorsel has an opacity control,
%FALSE if it does't
</return>
</function>

<function name="gtk_color_selection_get_has_palette">
<description>
Determines whether the color selector has a color palette.


</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the selector has a palette, %FALSE if it hasn't
</return>
</function>

<function name="gtk_color_selection_get_previous_alpha">
<description>
Returns the previous alpha value.


</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
</parameters>
<return> an integer between 0 and 65535
</return>
</function>

<function name="gtk_color_selection_get_previous_color">
<description>
Fills @color in with the original color value.

Deprecated: 3.4: Use gtk_color_selection_get_previous_rgba() instead.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a #GdkColor to fill in with the original color value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_get_previous_rgba">
<description>
Fills @rgba in with the original color value.

Since: 3.0

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="rgba">
<parameter_description> a #GdkRGBA to fill in with the original color value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_is_adjusting">
<description>
Gets the current state of the @colorsel.


</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the user is currently dragging
a color around, and %FALSE if the selection has stopped
</return>
</function>

<function name="gtk_color_selection_new">
<description>
Creates a new GtkColorSelection.


</description>
<parameters>
</parameters>
<return> a new #GtkColorSelection
</return>
</function>

<function name="gtk_color_selection_palette_from_string">
<description>
Parses a color palette string; the string is a colon-separated
list of color names readable by gdk_color_parse().


</description>
<parameters>
<parameter name="str">
<parameter_description> a string encoding a color palette
</parameter_description>
</parameter>
<parameter name="colors">
<parameter_description> return location for
allocated array of #GdkColor
</parameter_description>
</parameter>
<parameter name="n_colors">
<parameter_description> return location for length of array
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a palette was successfully parsed
</return>
</function>

<function name="gtk_color_selection_palette_to_string">
<description>
Encodes a palette as a string, useful for persistent storage.


</description>
<parameters>
<parameter name="colors">
<parameter_description> an array of colors
</parameter_description>
</parameter>
<parameter name="n_colors">
<parameter_description> length of the array
</parameter_description>
</parameter>
</parameters>
<return> allocated string encoding the palette
</return>
</function>

<function name="gtk_color_selection_set_change_palette_with_screen_hook">
<description>
Installs a global function to be called whenever the user
tries to modify the palette in a color selection.

This function should save the new palette contents, and update
the #GtkSettings:gtk-color-palette GtkSettings property so all
GtkColorSelection widgets will be modified.

Since: 2.2

</description>
<parameters>
<parameter name="func">
<parameter_description> a function to call when the custom palette needs saving
</parameter_description>
</parameter>
</parameters>
<return> the previous change palette hook (that was replaced)

</return>
</function>

<function name="gtk_color_selection_set_current_alpha">
<description>
Sets the current opacity to be @alpha.

The first time this is called, it will also set
the original opacity to be @alpha too.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="alpha">
<parameter_description> an integer between 0 and 65535
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_current_color">
<description>
Sets the current color to be @color.

The first time this is called, it will also set
the original color to be @color too.

Deprecated: 3.4: Use gtk_color_selection_set_current_rgba() instead.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a #GdkColor to set the current color with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_current_rgba">
<description>
Sets the current color to be @rgba.

The first time this is called, it will also set
the original color to be @rgba too.

Since: 3.0

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="rgba">
<parameter_description> A #GdkRGBA to set the current color with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_has_opacity_control">
<description>
Sets the @colorsel to use or not use opacity.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="has_opacity">
<parameter_description> %TRUE if @colorsel can set the opacity, %FALSE otherwise
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_has_palette">
<description>
Shows and hides the palette based upon the value of @has_palette.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="has_palette">
<parameter_description> %TRUE if palette is to be visible, %FALSE otherwise
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_palette_color">
<description>
Sets the palette located at @index to have @color as its color.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="index">
<parameter_description> the color index of the palette
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> A #GdkColor to set the palette with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_previous_alpha">
<description>
Sets the 'previous' alpha to be @alpha.

This function should be called with some hesitations,
as it might seem confusing to have that alpha change.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="alpha">
<parameter_description> an integer between 0 and 65535
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_previous_color">
<description>
Sets the 'previous' color to be @color.

This function should be called with some hesitations,
as it might seem confusing to have that color change.
Calling gtk_color_selection_set_current_color() will also
set this color the first time it is called.

Deprecated: 3.4: Use gtk_color_selection_set_previous_rgba() instead.

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a #GdkColor to set the previous color with
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_color_selection_set_previous_rgba">
<description>
Sets the 'previous' color to be @rgba.

This function should be called with some hesitations,
as it might seem confusing to have that color change.
Calling gtk_color_selection_set_current_rgba() will also
set this color the first time it is called.

Since: 3.0

</description>
<parameters>
<parameter name="colorsel">
<parameter_description> a #GtkColorSelection
</parameter_description>
</parameter>
<parameter name="rgba">
<parameter_description> a #GdkRGBA to set the previous color with
</parameter_description>
</parameter>
</parameters>
<return></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
&lt;literal&gt;gtk_tree_path_get_indices (path)[0]&lt;/literal&gt;, where
&lt;literal&gt;path&lt;/literal&gt; is the #GtkTreePath of the active item.

Since: 2.4

</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.

Since: 3.0

</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 current active item, if it exists.

Since: 2.4

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> The uninitialized #GtkTreeIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @iter was set

</return>
</function>

<function name="gtk_combo_box_get_add_tearoffs">
<description>
Gets the current value of the :add-tearoffs property.


</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the current value of the :add-tearoffs property.
</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.

Since: 2.14

</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_column_span_column">
<description>
Returns the column with column span information for @combo_box.

Since: 2.6

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the column span column.

</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.

Since: 2.24

</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_focus_on_click">
<description>
Returns whether the combo box grabs focus when it is clicked
with the mouse. See gtk_combo_box_set_focus_on_click().

Since: 2.6

</description>
<parameters>
<parameter name="combo">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the combo box grabs focus when it is
clicked with the mouse.

</return>
</function>

<function name="gtk_combo_box_get_has_entry">
<description>
Returns whether the combo box has an entry.

Since: 2.24

</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.

Since: 3.0

</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.

Since: 2.4

</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.

Since: 2.6

</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.

Since: 3.0

</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.

Since: 2.6

</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_get_row_span_column">
<description>
Returns the column with row span information for @combo_box.

Since: 2.6

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the row span column.

</return>
</function>

<function name="gtk_combo_box_get_title">
<description>
Gets the current title of the menu in tearoff mode. See
gtk_combo_box_set_add_tearoffs().

Since: 2.10

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the menu's title in tearoff mode. This is an internal copy of the
string which must not be freed.

</return>
</function>

<function name="gtk_combo_box_get_wrap_width">
<description>
Returns the wrap width which is used to determine the number of columns
for the popup menu. If the wrap width is larger than 1, the combo box
is in table mode.

Since: 2.6

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
</parameters>
<return> the wrap width.

</return>
</function>

<function name="gtk_combo_box_new">
<description>
Creates a new empty #GtkComboBox.

Since: 2.4

</description>
<parameters>
</parameters>
<return> A new #GtkComboBox.

</return>
</function>

<function name="gtk_combo_box_new_with_area">
<description>
Creates a new empty #GtkComboBox using @area to layout cells.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea to use to layout cell renderers
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkComboBox.
</return>
</function>

<function name="gtk_combo_box_new_with_area_and_entry">
<description>
Creates a new empty #GtkComboBox with an entry.

The new combo box will use @area to layout cells.


</description>
<parameters>
<parameter name="area">
<parameter_description> the #GtkCellArea to use to layout cell renderers
</parameter_description>
</parameter>
</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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 or dropdown list of @combo_box, the popup window
will be grabbed so only @device and its associated pointer/keyboard
are the only #GdkDevice&lt;!-- --&gt;s able to send events to it.

Since: 3.0

</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.

Since: 2.4

</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.

Since: 3.0

</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.

Since: 2.4

</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_add_tearoffs">
<description>
Sets whether the popup menu should have a tearoff
menu item.

Since: 2.6

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="add_tearoffs">
<parameter_description> %TRUE to add tearoff menu items
</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).

Since: 2.14

</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_column_span_column">
<description>
Sets the column with column span information for @combo_box to be
@column_span. The column span column contains integers which indicate
how many columns an item should span.

Since: 2.4

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="column_span">
<parameter_description> A column in the model passed during construction
</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.

Since: 2.24

</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_focus_on_click">
<description>
Sets whether the combo box will grab focus when it is clicked with
the mouse. Making mouse clicks not grab focus is useful in places
like toolbars where you don't want the keyboard focus removed from
the main area of the application.

Since: 2.6

</description>
<parameters>
<parameter name="combo">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="focus_on_click">
<parameter_description> whether the combo box grabs focus when clicked
with the mouse
</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.

Since: 3.0

</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.

Since: 2.4

</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.

Since: 3.0

</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.

Since: 2.6

</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_set_row_span_column">
<description>
Sets the column with row span information for @combo_box to be @row_span.
The row span column contains integers which indicate how many rows
an item should span.

Since: 2.4

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox.
</parameter_description>
</parameter>
<parameter name="row_span">
<parameter_description> A column in the model passed during construction.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_title">
<description>
Sets the menu's title in tearoff mode.

Since: 2.10

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> a #GtkComboBox
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> a title for the menu in tearoff mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_combo_box_set_wrap_width">
<description>
Sets the wrap width of @combo_box to be @width. The wrap width is basically
the preferred number of columns when you want the popup to be layed out
in a table.

Since: 2.4

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBox
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> Preferred number of columns
</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.

Since: 2.24

</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.

Since: 2.24

</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).

Since: 2.24

</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.

Since: 3.0

</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.

Since: 2.24

</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.

Since: 2.24

</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.

Since: 2.24

</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.

Since: 2.24

</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.

Since: 2.24

</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.

Since: 2.24

</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.

Since: 3.0

</description>
<parameters>
<parameter name="combo_box">
<parameter_description> A #GtkComboBoxText
</parameter_description>
</parameter>
</parameters>
<return></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 as #GtkBox or #GtkGrid, this function will
pick default packing parameters that may not be correct.  So
consider functions such as gtk_box_pack_start() and
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.

</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_add_with_properties">
<description>
Adds @widget to @container, setting child properties at the same time.
See gtk_container_add() and gtk_container_child_set() for more details.

</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>
<parameter name="first_prop_name">
<parameter_description> the name of the first child 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_container_child_get">
<description>
Gets the values of one or more child properties for @child and @container.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget which is a child of @container
</parameter_description>
</parameter>
<parameter name="first_prop_name">
<parameter_description> the name of the first property to get
</parameter_description>
</parameter>
<parameter name="Varargs">
<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_container_child_get_property">
<description>
Gets the value of a child property for @child and @container.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget which is a child of @container
</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_container_child_get_valist">
<description>
Gets the values of one or more child properties for @child and @container.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget which is a child of @container
</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_container_child_notify">
<description>
Emits a #GtkWidget::child-notify signal for the
&lt;link linkend=&quot;child-properties&quot;&gt;child property&lt;/link&gt;
@child_property on widget.

This is an analogue of g_object_notify() for child properties.

Also see gtk_widget_child_notify().

Since: 3.2

</description>
<parameters>
<parameter name="container">
<parameter_description> the #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the child widget
</parameter_description>
</parameter>
<parameter name="child_property">
<parameter_description> the name of a child property installed on
the class of @container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_child_set">
<description>
Sets one or more child properties for @child and @container.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget which is a child of @container
</parameter_description>
</parameter>
<parameter name="first_prop_name">
<parameter_description> the name of the first 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_container_child_set_property">
<description>
Sets a child property for @child and @container.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget which is a child of @container
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the property to set
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> the value to set the property to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_child_set_valist">
<description>
Sets one or more child properties for @child and @container.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a widget which is a child of @container
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> the name of the first 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_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_class_find_child_property">
<description>
Finds a child property of a container class by name.


</description>
<parameters>
<parameter name="cclass">
<parameter_description> a #GtkContainerClass
</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 @class has no child property with that name.
</return>
</function>

<function name="gtk_container_class_handle_border_width">
<description>
Modifies a subclass of #GtkContainerClass to automatically add and
remove the border-width setting on GtkContainer.  This allows the
subclass to ignore the border width in its size request and
allocate methods. The intent is for a subclass to invoke this
in its class_init function.

gtk_container_class_handle_border_width() is necessary because it
would break API too badly to make this behavior the default. So
subclasses must &quot;opt in&quot; to the parent class handling border_width
for them.

</description>
<parameters>
<parameter name="klass">
<parameter_description> the class struct of a #GtkContainer subclass
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_class_install_child_property">
<description>
Installs a child property on a container class.

</description>
<parameters>
<parameter name="cclass">
<parameter_description> a #GtkContainerClass
</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_container_class_list_child_properties">
<description>
Returns all child properties of a container class.


</description>
<parameters>
<parameter name="cclass">
<parameter_description> a #GtkContainerClass
</parameter_description>
</parameter>
<parameter name="n_properties">
<parameter_description> location to return the number of child 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_container_focus_sort">
<description>
Sorts @children in the correct order for focusing with
direction type @direction.


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="children">
<parameter_description>  a list of descendents of @container (they don't
have to be direct children)
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> focus direction
</parameter_description>
</parameter>
<parameter name="old_focus">
<parameter_description> widget to use for the starting position, or %NULL
to determine this automatically.
(Note, this argument isn't used for GTK_DIR_TAB_*,
which is the only @direction we use currently,
so perhaps this argument should be removed)
</parameter_description>
</parameter>
</parameters>
<return> a copy of @children, sorted in correct focusing order,
with children that aren't suitable for focusing in this direction
removed.
</return>
</function>

<function name="gtk_container_forall">
<description>
Invokes @callback on each child of @container, including children
that are considered &quot;internal&quot; (implementation details of the
container). &quot;Internal&quot; children generally weren'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().

Virtual: 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
&quot;internal&quot; child.  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_border_width">
<description>
Retrieves the border width of the container. See
gtk_container_set_border_width().


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return> the current border width
</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_chain">
<description>
Retrieves the focus chain of the container, if one has been
set explicitly. If no focus chain has been explicitly
set, GTK+ computes the focus chain based on the positions
of the children. In that case, GTK+ stores %NULL in
@focusable_widgets and returns %FALSE.


</description>
<parameters>
<parameter name="container">
<parameter_description>         a #GtkContainer
</parameter_description>
</parameter>
<parameter name="focusable_widgets">
<parameter_description> location
to store the focus chain of the
container, or %NULL. You should free this list
using g_list_free() when you are done with it, however
no additional reference count is added to the
individual widgets in the focus chain.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the focus chain of the container
has been set explicitly.
</return>
</function>

<function name="gtk_container_get_focus_child">
<description>
Returns the current focus child widget inside @container. This is not the
currently focused widget. That can be obtained by calling
gtk_window_get_focus().

Since: 2.14

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return> The child widget which will receive the
focus inside @container when the @conatiner is focussed,
or %NULL if none is set.

</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_get_path_for_child">
<description>
Returns a newly created widget path representing all the widget hierarchy
from the toplevel down to and including @child.


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @container
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkWidgetPath
</return>
</function>

<function name="gtk_container_get_resize_mode">
<description>
Returns the resize mode for the container. See
gtk_container_set_resize_mode ().


</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return> the current resize mode
</return>
</function>

<function name="gtk_container_propagate_draw">
<description>
When a container receives a call to the draw function, it must send
synthetic #GtkWidget::draw calls to all children that don't have their
own #GdkWindows. This function provides a convenient way of doing this.
A container, when it receives a call to its #GtkWidget::draw function,
calls gtk_container_propagate_draw() once for each child, passing in
the @cr the container received.

gtk_container_propagate_draw() takes care of translating the origin of @cr,
and deciding whether the draw needs to be sent to the child. It is a
convenient and optimized way of getting the same effect as calling
gtk_widget_draw() on the child directly.

In most cases, a container can simply either inherit the
#GtkWidget::draw implementation from #GtkContainer, or do some drawing
and then chain to the ::draw implementation from #GtkContainer.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a child of @container
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> Cairo context as passed to the container. If you want to use @cr
in container's draw function, consider using cairo_save() and
cairo_restore() before calling this function.
</parameter_description>
</parameter>
</parameters>
<return></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 while it's not inside
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_border_width">
<description>
Sets the border width of the container.

The border width of a container is the amount of space to leave
around the outside of the container. The only exception to this is
#GtkWindow; because toplevel windows can't leave space outside,
they leave the space inside. The border is added on all sides of
the container. To add space to only one side, one approach is to
create a #GtkAlignment widget, call gtk_widget_set_size_request()
to give it a size, and place it on the side of the container as
a spacer.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="border_width">
<parameter_description> amount of blank space to leave &lt;emphasis&gt;outside&lt;/emphasis&gt;
the container. Valid values are in the range 0-65535 pixels.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_set_focus_chain">
<description>
Sets a focus chain, overriding the one computed automatically by GTK+.

In principle each widget in the chain should be a descendant of the
container, but this is not enforced by this method, since it's allowed
to set the focus chain before you pack the widgets, or have a widget
in the chain that isn't always packed. The necessary checks are done
when the focus chain is actually traversed.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="focusable_widgets">
<parameter_description>
the new focus chain
</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 manualy 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_container_set_reallocate_redraws">
<description>
Sets the @reallocate_redraws flag of the container to the given value.

Containers requesting reallocation redraws get automatically
redrawn if any of their children changed allocation.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="needs_redraws">
<parameter_description> the new value for the container's @reallocate_redraws flag
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_set_resize_mode">
<description>
Sets the resize mode for the container.

The resize mode of a container determines whether a resize request
will be passed to the container's parent, queued for later execution
or executed immediately.

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
<parameter name="resize_mode">
<parameter_description> the new resize mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_container_unset_focus_chain">
<description>
Removes a focus chain explicitly set with gtk_container_set_focus_chain().

</description>
<parameters>
<parameter name="container">
<parameter_description> a #GtkContainer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_css_provider_get_default">
<description>
Returns the provider containing the style settings used as a
fallback for all widgets.


</description>
<parameters>
</parameters>
<return> The provider used for fallback styling.
This memory is owned by GTK+, and you must not free it.
</return>
</function>

<function name="gtk_css_provider_get_named">
<description>
Loads a theme from the usual theme paths


</description>
<parameters>
<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> a #GtkCssProvider with the theme loaded.
This memory is owned by GTK+, and you must not free it.
</return>
</function>

<function name="gtk_css_provider_load_from_data">
<description>
Loads @data 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="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>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE. The return value is deprecated and %FALSE will only be
returned for backwards compatibility reasons if an @error is not 
%NULL and a loading error occured. To track errors while loading
CSS, connect to the GtkCssProvider::parsing-error signal.
</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>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE. The return value is deprecated and %FALSE will only be
returned for backwards compatibility reasons if an @error is not 
%NULL and a loading error occured. To track errors while loading
CSS, connect to the GtkCssProvider::parsing-error signal.
</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>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE. The return value is deprecated and %FALSE will only be
returned for backwards compatibility reasons if an @error is not 
%NULL and a loading error occured. To track errors while loading
CSS, connect to the GtkCssProvider::parsing-error signal.
</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>
Convertes 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 basicallu create a duplicate of
this @provider.

Since: 3.2

</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_line">
<description>
Returns the line in the CSS document where this section end.
The line number is 0-indexed, so the first line of the document
will return 0.
This value may change in future invocations of this function if
@section is not yet parsed completely. This will for example 
happen in the GtkCssProvider::parsing-error signal.
The end position and line may be identical to the start
position and line for sections which failed to parse anything
successfully.

Since: 3.2

</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> the line number

</return>
</function>

<function name="gtk_css_section_get_end_position">
<description>
Returns the offset in bytes from the start of the current line
returned via gtk_css_section_get_end_line().
This value may change in future invocations of this function if
@section is not yet parsed completely. This will for example
happen in the GtkCssProvider::parsing-error signal.
The end position and line may be identical to the start
position and line for sections which failed to parse anything
successfully.

Since: 3.2

</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> the offset in bytes from the start of the line.

</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.

Since: 3.2

</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.

Since: 3.2

</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_section_type">
<description>
Gets the type of information that @section describes.

Since: 3.2

</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> the type of @section

</return>
</function>

<function name="gtk_css_section_get_start_line">
<description>
Returns the line in the CSS document where this section starts.
The line number is 0-indexed, so the first line of the document
will return 0.

Since: 3.2

</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> the line number

</return>
</function>

<function name="gtk_css_section_get_start_position">
<description>
Returns the offset in bytes from the start of the current line
returned via gtk_css_section_get_start_line().

Since: 3.2

</description>
<parameters>
<parameter name="section">
<parameter_description> the section
</parameter_description>
</parameter>
</parameters>
<return> the offset in bytes from the start of the line.

</return>
</function>

<function name="gtk_css_section_ref">
<description>
Increments the reference count on @section.

Since: 3.2

</description>
<parameters>
<parameter name="section">
<parameter_description> a #GtkCssSection
</parameter_description>
</parameter>
</parameters>
<return> @section itself.

</return>
</function>

<function name="gtk_css_section_unref">
<description>
Decrements the reference count on @section, freeing the
structure if the reference count reaches 0.

Since: 3.2

</description>
<parameters>
<parameter name="section">
<parameter_description> a #GtkCssSection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_custom_paper_unix_dialog_new">
<description>
Creates a new custom paper dialog.

Since: 2.18

</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.

Since: 3.0

</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().

Since: 3.0

</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 (or a stock button, if @button_text is a
stock ID) and sets things up so that clicking the button will emit the
#GtkDialog::response signal with the given @response_id. The button is
appended to the end of the dialog'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, or stock ID
</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 or stock ID
</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_action_area">
<description>
Returns the action area of @dialog.

Since: 2.14

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
</parameters>
<return> the action area.

</return>
</function>

<function name="gtk_dialog_get_content_area">
<description>
Returns the content area of @dialog.

Since: 2.14

</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_response_for_widget">
<description>
Gets the response id of a widget in the action area
of a dialog.

Since: 2.8

</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.

Since: 2.20

</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 @vbox 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 either a stock ID such as
#GTK_STOCK_OK, or some arbitrary text. A response ID can be
any positive number, or one of the values in the #GtkResponseType
enumeration. If the user clicks one of these dialog buttons,
#GtkDialog will emit the #GtkDialog::response signal with the corresponding
response ID. If a #GtkDialog receives the #GtkWidget::delete-event signal,
it will emit ::response with a response ID of #GTK_RESPONSE_DELETE_EVENT.
However, destroying a dialog does not emit the ::response signal;
so be careful relying on ::response when using the
#GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right,
so the first button in the list will be the leftmost button in the dialog.

Here's a simple example:
|[
GtkWidget *dialog = gtk_dialog_new_with_buttons (&quot;My dialog&quot;,
main_app_window,
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_OK,
GTK_RESPONSE_ACCEPT,
GTK_STOCK_CANCEL,
GTK_RESPONSE_REJECT,
NULL);
]|


</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> stock ID or 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 #GtkWidget::delete-event
is disabled; if the dialog receives ::delete_event, it will not be
destroyed as windows usually are, and gtk_dialog_run() will return
#GTK_RESPONSE_DELETE_EVENT. Also, during gtk_dialog_run() the dialog
will be modal. You can force gtk_dialog_run() to return at any time by
calling gtk_dialog_response() to emit the ::response signal. Destroying
the dialog during gtk_dialog_run() is a very bad idea, because your
post-run code won't know whether the dialog was destroyed or not.

After gtk_dialog_run() returns, you are responsible for hiding or
destroying the dialog if you wish to do so.

Typical usage of this function might be:
|[
gint result = gtk_dialog_run (GTK_DIALOG (dialog));
switch (result)
{
case GTK_RESPONSE_ACCEPT:
do_application_specific_something ();
break;
default:
do_nothing_since_dialog_was_cancelled ();
break;
}
gtk_widget_destroy (dialog);
]|

Note that even though the recursive main loop gives the effect of a
modal dialog (it prevents the user from interacting with other
windows in the same window group while the dialog is run), callbacks
such as timeouts, IO channel watches, DND drops, etc, &lt;emphasis&gt;will&lt;/emphasis&gt;
be triggered during a gtk_dialog_run() call.


</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
</parameters>
<return> response ID
</return>
</function>

<function name="gtk_dialog_set_alternative_button_order">
<description>
Sets an alternative button order. If the
#GtkSettings:gtk-alternative-button-order setting is set to %TRUE,
the dialog buttons are reordered according to the order of the
response ids passed to this function.

By default, GTK+ dialogs use the button order advocated by the Gnome
&lt;ulink url=&quot;http://library.gnome.org/devel/hig-book/stable/&quot;&gt;Human
Interface Guidelines&lt;/ulink&gt; with the affirmative button at the far
right, and the cancel button left of it. But the builtin GTK+ dialogs
and #GtkMessageDialog&lt;!-- --&gt;s do provide an alternative button order,
which is more suitable on some platforms, e.g. Windows.

Use this function after adding all the buttons to your dialog, as the
following example shows:
|[
cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
GTK_STOCK_CANCEL,
GTK_RESPONSE_CANCEL);

ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
GTK_STOCK_OK,
GTK_RESPONSE_OK);

gtk_widget_grab_default (ok_button);

help_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
GTK_STOCK_HELP,
GTK_RESPONSE_HELP);

gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
GTK_RESPONSE_HELP,
-1);
]|

Since: 2.6

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="first_response_id">
<parameter_description> a response id used by one @dialog's buttons
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> a list of more response ids of @dialog's buttons, terminated by -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_dialog_set_alternative_button_order_from_array">
<description>
Sets an alternative button order. If the
#GtkSettings:gtk-alternative-button-order setting is set to %TRUE,
the dialog buttons are reordered according to the order of the
response ids in @new_order.

See gtk_dialog_set_alternative_button_order() for more information.

This function is for use by language bindings.

Since: 2.6

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkDialog
</parameter_description>
</parameter>
<parameter name="n_params">
<parameter_description> the number of response ids in @new_order
</parameter_description>
</parameter>
<parameter name="new_order">
<parameter_description> an array of response ids of
@dialog's buttons
</parameter_description>
</parameter>
</parameters>
<return></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 &quot;Enter&quot; 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 &lt;literal&gt;gtk_widget_set_sensitive (widget, @setting)&lt;/literal&gt;
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(), gtk_init_with_args() and
gtk_parse_args() from automatically
calling &lt;literal&gt;setlocale (LC_ALL, &quot;&quot;)&lt;/literal&gt;. You would
want to use this function if you wanted to set the locale for
your program to something other than the user'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_begin">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the source widget.
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> The targets (data formats) in which the
source can provide the data.
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> A bitmask of the allowed drag actions for this drag.
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> The button the user clicked to start the drag.
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> The event that triggered the start of the drag.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_check_threshold">
<description>

</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></return>
</function>

<function name="gtk_drag_dest_add_image_targets">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's a drag destination
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_add_text_targets">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's a drag destination
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_add_uri_targets">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's a drag destination
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_find_target">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> drag destination widget
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> drag context
</parameter_description>
</parameter>
<parameter name="target_list">
<parameter_description> list of droppable targets, or %NULL to use
gtk_drag_dest_get_target_list (@widget).
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_get_target_list">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_get_track_motion">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's a drag destination
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_set">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> which types of default drag behavior to use
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> a pointer to an array of #GtkTargetEntry&lt;!-- --&gt;s
indicating the drop types that this @widget will accept, or %NULL.
Later you can access the list with gtk_drag_dest_get_target_list()
and gtk_drag_dest_find_target().
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the number of entries in @targets
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> a bitmask of possible actions for a drop onto this @widget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_set_proxy">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="proxy_window">
<parameter_description> the window to which to forward drag events
</parameter_description>
</parameter>
<parameter name="protocol">
<parameter_description> the drag protocol which the @proxy_window accepts
(You can use gdk_drag_get_protocol() to determine this)
</parameter_description>
</parameter>
<parameter name="use_coordinates">
<parameter_description> If %TRUE, send the same coordinates to the
destination, because it is an embedded
subwindow.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_set_target_list">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's a drag destination
</parameter_description>
</parameter>
<parameter name="target_list">
<parameter_description> list of droppable targets, or %NULL for none
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_set_track_motion">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's a drag destination
</parameter_description>
</parameter>
<parameter name="track_motion">
<parameter_description> whether to accept all targets
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_dest_unset">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_finish">
<description>

</description>
<parameters>
<parameter name="context">
<parameter_description> the drag context.
</parameter_description>
</parameter>
<parameter name="success">
<parameter_description> a flag indicating whether the drop was successful
</parameter_description>
</parameter>
<parameter name="del">
<parameter_description> a flag indicating whether the source should delete the
original data. (This should be %TRUE for a move)
</parameter_description>
</parameter>
<parameter name="time_">
<parameter_description> the timestamp from the #GtkWidget::drag-drop signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_get_data">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget that will receive the
#GtkWidget::drag-data-received signal.
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the drag context
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the target (form of the data) to retrieve.
</parameter_description>
</parameter>
<parameter name="time_">
<parameter_description> a timestamp for retrieving the data. This will
generally be the time received in a #GtkWidget::drag-motion&quot;
or #GtkWidget::drag-drop&quot; signal.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_get_source_widget">
<description>

</description>
<parameters>
<parameter name="context">
<parameter_description> a (destination side) drag context
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_highlight">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a widget to highlight
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_set_icon_default">
<description>
Sets the icon for a particular drag to the default
icon.

</description>
<parameters>
<parameter name="context">
<parameter_description> the context for a drag. (This must be called 
             with a  context for the source side of a drag)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_set_icon_gicon">
<description>
Sets the icon for a given drag from the given @icon.  See the
documentation for gtk_drag_set_icon_name() for more details about
using icons in drag and drop.

Since: 3.2

</description>
<parameters>
<parameter name="context">
<parameter_description> the context for a drag. (This must be called 
with a context for the source side of a drag)
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> a #GIcon
</parameter_description>
</parameter>
<parameter name="hot_x">
<parameter_description> the X offset of the hotspot within the icon
</parameter_description>
</parameter>
<parameter name="hot_y">
<parameter_description> the Y offset of the hotspot within the icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_set_icon_name">
<description>
Sets the icon for a given drag from a named themed icon. See
the docs for #GtkIconTheme for more details. Note that the
size of the icon depends on the icon theme (the icon is
loaded at the symbolic size #GTK_ICON_SIZE_DND), thus 
@hot_x and @hot_y have to be used with care.

Since: 2.8

</description>
<parameters>
<parameter name="context">
<parameter_description> the context for a drag. (This must be called 
with a context for the source side of a drag)
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> name of icon to use
</parameter_description>
</parameter>
<parameter name="hot_x">
<parameter_description> the X offset of the hotspot within the icon
</parameter_description>
</parameter>
<parameter name="hot_y">
<parameter_description> the Y offset of the hotspot within the icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_set_icon_pixbuf">
<description>
Sets @pixbuf as the icon for a given drag.

</description>
<parameters>
<parameter name="context">
<parameter_description> the context for a drag. (This must be called 
with a  context for the source side of a drag)
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> the #GdkPixbuf to use as the drag icon.
</parameter_description>
</parameter>
<parameter name="hot_x">
<parameter_description> the X offset within @widget of the hotspot.
</parameter_description>
</parameter>
<parameter name="hot_y">
<parameter_description> the Y offset within @widget of the hotspot.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_set_icon_stock">
<description>
Sets the icon for a given drag from a stock ID.

</description>
<parameters>
<parameter name="context">
<parameter_description> the context for a drag. (This must be called 
with a  context for the source side of a drag)
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> the ID of the stock icon to use for the drag.
</parameter_description>
</parameter>
<parameter name="hot_x">
<parameter_description> the X offset within the icon of the hotspot.
</parameter_description>
</parameter>
<parameter name="hot_y">
<parameter_description> the Y offset within the icon of the hotspot.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_set_icon_surface">
<description>
Sets @surface as the icon for a given drag. GTK+ retains
references for the arguments, and will release them when
they are no longer needed.

To position the surface relative to the mouse, use
cairo_surface_set_device_offset() on @surface. The mouse
cursor will be positioned at the (0,0) coordinate of the
surface.

</description>
<parameters>
<parameter name="context">
<parameter_description> the context for a drag. (This must be called
with a context for the source side of a drag)
</parameter_description>
</parameter>
<parameter name="surface">
<parameter_description> the surface to use as icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_set_icon_widget">
<description>
Changes the icon for a widget to a given widget. GTK+
will not destroy the icon, so if you don't want
it to persist, you should connect to the &quot;drag-end&quot; 
signal and destroy it yourself.

</description>
<parameters>
<parameter name="context">
<parameter_description> the context for a drag. (This must be called 
          with a  context for the source side of a drag)
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a toplevel window to use as an icon.
</parameter_description>
</parameter>
<parameter name="hot_x">
<parameter_description> the X offset within @widget of the hotspot.
</parameter_description>
</parameter>
<parameter name="hot_y">
<parameter_description> the Y offset within @widget of the hotspot.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_add_image_targets">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's is a drag source
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_add_text_targets">
<description>
Add the text targets supported by #GtkSelection to
the target list of the drag source.  The targets
are added with @info = 0. If you need another value, 
use gtk_target_list_add_text_targets() and
gtk_drag_source_set_target_list().

Since: 2.6

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's is a drag source
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_add_uri_targets">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's is a drag source
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_get_target_list">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_set">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="start_button_mask">
<parameter_description> the bitmask of buttons that can start the drag
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> the table of targets that the drag will support,
may be %NULL
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the number of items in @targets
</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_drag_source_set_icon_gicon">
<description>
Sets the icon that will be used for drags from a particular source
to @icon. See the docs for #GtkIconTheme for more details.

Since: 3.2

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> A #GIcon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_set_icon_name">
<description>
Sets the icon that will be used for drags from a particular source
to a themed icon. See the docs for #GtkIconTheme for more details.

Since: 2.8

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> name of icon to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_set_icon_pixbuf">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> the #GdkPixbuf for the drag icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_set_icon_stock">
<description>
Sets the icon that will be used for drags from a particular source
to a stock icon. 

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> the ID of the stock icon to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_set_target_list">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget that's a drag source
</parameter_description>
</parameter>
<parameter name="target_list">
<parameter_description> list of draggable targets, or %NULL for none
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_source_unset">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_unhighlight">
<description>

</description>
<parameters>
<parameter name="widget">
<parameter_description> a widget to remove the highlight from.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_drag_update">
<description>
Updates the status of the drag; called when the
cursor moves or the modifier changes

</description>
<parameters>
<parameter name="info">
<parameter_description> DragSourceInfo for the drag
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> new screen
</parameter_description>
</parameter>
<parameter name="x_root">
<parameter_description> new X position 
</parameter_description>
</parameter>
<parameter name="y_root">
<parameter_description> new y position
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> event received requiring update
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_draw_insertion_cursor">
<description>
Draws a text caret on @cr at @location. This is not a style function
but merely a convenience function for drawing the standard cursor shape.

Since: 3.0
Deprecated: 3.4: Use gtk_render_insertion_cursor() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description>  a #GtkWidget
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> cairo context to draw to
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> location where to draw the cursor (@location-&gt;width is ignored)
</parameter_description>
</parameter>
<parameter name="is_primary">
<parameter_description> if the cursor should be the primary cursor color.
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> whether the cursor is left-to-right or
right-to-left. Should never be #GTK_TEXT_DIR_NONE
</parameter_description>
</parameter>
<parameter name="draw_arrow">
<parameter_description> %TRUE to draw a directional arrow on the
cursor. Should be %FALSE unless the cursor is split.
</parameter_description>
</parameter>
</parameters>
<return></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_editable_copy_clipboard">
<description>
Copies the contents of the currently selected content in the editable and
puts it on the clipboard.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_editable_cut_clipboard">
<description>
Removes the contents of the currently selected content in the editable and
puts it on the clipboard.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return></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.

Virtual: do_delete_text

</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_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_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 an area is selected, %FALSE otherwise
</return>
</function>

<function name="gtk_editable_insert_text">
<description>
Inserts @new_text_length bytes of @new_text into the contents of the
widget, at position @position.

Note that the position is in characters, not in bytes. 
The function updates @position to point after the newly inserted text.

Virtual: do_insert_text

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
<parameter name="new_text">
<parameter_description> the text to append
</parameter_description>
</parameter>
<parameter name="new_text_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_paste_clipboard">
<description>
Pastes the content of the clipboard to the current position of the
cursor in the editable.

</description>
<parameters>
<parameter name="editable">
<parameter_description> a #GtkEditable
</parameter_description>
</parameter>
</parameters>
<return></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.

Virtual: set_selection_bounds

</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_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_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_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.

Since: 2.18

</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

Since: 2.18

</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

Since: 2.18

</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().

Since: 2.18

</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.

Since: 2.18

</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().

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.4

</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. 

Since: 3.4

</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.

Since: 2.4

</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.

Since: 2.12

</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.

Since: 2.4

</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.

Since: 2.6

</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.

Since: 2.12

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.6

</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.

Since: 2.8

</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.

Since: 2.8

</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.

Since: 2.6

</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.

Since: 2.4

</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().

Since: 2.4

</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.

Since: 2.6

</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.

Since: 2.4

</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.

Since: 3.0

</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.

Since: 2.6

</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.

Since: 2.12

</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.

Since: 2.4

</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).

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.6

</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.

Since: 2.8

</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 &lt;link linkend=&quot;GtkEntryCompletion--inline-completion&quot;&gt;inline
completion&lt;/link&gt;.

Since: 2.8

</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.

Since: 2.4

</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().

Since: 2.4

</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.

Since: 3.6

</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.

Since: 2.18


</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.

Since: 2.4

</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.

Since: 2.16

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkIconEntry
</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_cursor_hadjustment">
<description>
Retrieves the horizontal cursor adjustment for the entry. 
See gtk_entry_set_cursor_hadjustment().

Since: 2.12

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the horizontal cursor adjustment, or %NULL
if none has been set.

</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.

Since: 2.16

</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.

See also gtk_entry_get_text_area()

Since: 3.0

</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.

Since: 2.16

</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
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate of the position to find
</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
stock, pixbuf, or icon name).

Since: 2.16

</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
pixbuf, stock or gicon).

Since: 2.16

</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_pixbuf">
<description>
Retrieves the image used for the icon.

Unlike the other methods of setting and getting icon data, this
method will work regardless of whether the icon was set using a
#GdkPixbuf, a #GIcon, a stock item, or an icon name.

Since: 2.16

</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 #GdkPixbuf, or %NULL if no icon is
set for this position.

</return>
</function>

<function name="gtk_entry_get_icon_sensitive">
<description>
Returns whether the icon appears sensitive or insensitive.

Since: 2.16

</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_stock">
<description>
Retrieves the stock id used for the icon, or %NULL if there is
no icon or if the icon was set by some other method (e.g., by
pixbuf, icon name or gicon).

Since: 2.16

</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 stock id, or %NULL if no icon is set or if the icon
wasn't set from a stock id

</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.

Since: 2.16

</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.

Since: 2.16

</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.

Since: 2.16

</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_inner_border">
<description>
This function returns the entry's #GtkEntry:inner-border property. See
gtk_entry_set_inner_border() for more information.

Since: 2.10

Deprecated: 3.4: Use the standard border and padding CSS properties (through
objects like #GtkStyleContext and #GtkCssProvider); the value returned by
this function is ignored by #GtkEntry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the entry's #GtkBorder, or %NULL if none was set.

</return>
</function>

<function name="gtk_entry_get_input_hints">
<description>
Gets the value of the #GtkEntry:input-hints property.

Since: 3.6

</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.

Since: 3.6

</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_layout">
<description>
Gets the #PangoLayout used to display the entry.
The layout is useful to e.g. convert text positions to
pixel positions, in combination with gtk_entry_get_layout_offsets().
The returned layout is owned by the entry and must not be 
modified or freed by the caller.

Keep in mind that the layout text may contain a preedit string, so
gtk_entry_layout_index_to_text_index() and
gtk_entry_text_index_to_layout_index() are needed to convert byte
indices in the layout to byte indices in the entry contents.


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> the #PangoLayout for this entry
</return>
</function>

<function name="gtk_entry_get_layout_offsets">
<description>
Obtains the position of the #PangoLayout used to render text
in the entry, in widget coordinates. Useful if you want to line
up the text in an entry with some other text, e.g. when using the
entry to implement editable cells in a sheet widget.

Also useful to convert mouse events into coordinates inside the
#PangoLayout, e.g. to take some action if some part of the entry text
is clicked.

Note that as the user scrolls around in the entry the offsets will
change; you'll need to connect to the &quot;notify::scroll-offset&quot;
signal to track this. Remember when using the #PangoLayout
functions you need to convert to and from pixels using
PANGO_PIXELS() or #PANGO_SCALE.

Keep in mind that the layout text may contain a preedit string, so
gtk_entry_layout_index_to_text_index() and
gtk_entry_text_index_to_layout_index() are needed to convert byte
indices in the layout to byte indices in the entry contents.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</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_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:

&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_get_max_length (gtk_entry_get_buffer (entry));
&lt;/programlisting&gt;&lt;/informalexample&gt;


</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().

Since: 2.14

</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

Since: 3.2

</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.

</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().

Since: 2.16

</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().

Since: 2.16

</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_text">
<description>
Retrieves the contents of the entry widget.
See also gtk_editable_get_chars().

This is equivalent to:

&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_get_text (gtk_entry_get_buffer (entry));
&lt;/programlisting&gt;&lt;/informalexample&gt;


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</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 widget and must not be freed, modified or
stored.
</return>
</function>

<function name="gtk_entry_get_text_area">
<description>
Gets the area where the entry's text is drawn. This function is
useful when drawing something to the entry in a draw callback.

If the entry is not realized, @text_area is filled with zeros.

See also gtk_entry_get_icon_area().

Since: 3.0

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="text_area">
<parameter_description> Return location for the text area.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_get_text_length">
<description>
Retrieves the current length of the text in
@entry. 

This is equivalent to:

&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_get_length (gtk_entry_get_buffer (entry));
&lt;/programlisting&gt;&lt;/informalexample&gt;

Since: 2.14

</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_get_width_chars">
<description>
Gets the value set by gtk_entry_set_width_chars().


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
</parameters>
<return> number of chars to request space for, or negative if unset
</return>
</function>

<function name="gtk_entry_im_context_filter_keypress">
<description>
Allow the #GtkEntry 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 #GtkEntry.
See gtk_text_view_reset_im_context() for an example of use.

Since: 2.22

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</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_entry_layout_index_to_text_index">
<description>
Converts from a position in the entry contents (returned
by gtk_entry_get_text()) to a position in the
entry's #PangoLayout (returned by gtk_entry_get_layout(),
with text retrieved via pango_layout_get_text()).


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="layout_index">
<parameter_description> byte index into the entry layout text
</parameter_description>
</parameter>
</parameters>
<return> byte index into the entry contents
</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.

Since: 2.18

</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 &quot;activity mode,&quot;
where a block bounces back and forth. Each call to
gtk_entry_progress_pulse() causes the block to move by a little bit
(the amount of movement per pulse is determined by
gtk_entry_set_progress_pulse_step()).

Since: 2.16

</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.

Since: 2.22

</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.

(For experts: if @setting is %TRUE, the entry calls
gtk_window_activate_default() on the window containing the entry, in
the default handler for the #GtkEntry::activate signal.)

</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.

Since: 2.4

</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.

Since: 3.6

</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.

Since: 2.18

</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.

Since: 2.4

</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_cursor_hadjustment">
<description>
Hooks up an adjustment to the cursor position in an entry, so that when 
the cursor is moved, the adjustment is scrolled to show that position. 
See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining 
the adjustment.

The adjustment has to be in pixel units and in the same coordinate system 
as the entry. 

Since: 2.12

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> an adjustment which should be adjusted when the cursor 
is moved, or %NULL
</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.

Since: 2.16

</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.

Since: 2.16

</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="target_list">
<parameter_description> the targets (data formats) in which the data can be provided
</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 &quot;broken image&quot; icon will be displayed
instead.

If @icon is %NULL, no icon will be shown in the specified position.

Since: 2.16

</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 &quot;broken image&quot; icon will be displayed
instead.

If @icon_name is %NULL, no icon will be shown in the specified position.

Since: 2.16

</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_pixbuf">
<description>
Sets the icon shown in the specified position using a pixbuf.

If @pixbuf is %NULL, no icon will be shown in the specified position.

Since: 2.16

</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="pixbuf">
<parameter_description> A #GdkPixbuf, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_from_stock">
<description>
Sets the icon shown in the entry at the specified position from
a stock image.

If @stock_id is %NULL, no icon will be shown in the specified position.

Since: 2.16

</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="stock_id">
<parameter_description> The name of the stock item, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_set_icon_sensitive">
<description>
Sets the sensitivity for the specified icon.

Since: 2.16

</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 &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.

Use %NULL for @tooltip to remove an existing tooltip.

See also gtk_widget_set_tooltip_markup() and 
gtk_entry_set_icon_tooltip_text().

Since: 2.16

</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().

Since: 2.16

</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_inner_border">
<description>
Sets %entry's inner-border property to %border, or clears it if %NULL
is passed. The inner-border is the area around the entry's text, but
inside its frame.

If set, this property overrides the inner-border style property.
Overriding the style-provided border is useful when you want to do
in-place editing of some text in a canvas or list widget, where
pixel-exact positioning of the entry is important.

Since: 2.10

Deprecated: 3.4: Use the standard border and padding CSS properties (through
objects like #GtkStyleContext and #GtkCssProvider); the value set with
this function is ignored by #GtkEntry.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="border">
<parameter_description> a #GtkBorder, 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.

Since: 3.6

</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.

Since: 3.6

</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 &quot;password mode&quot; to
show the user how many characters have been typed. By default, GTK+
picks the best invisible char available in the current font. If you
set the invisible char to 0, then the user will get no feedback
at all; there will be no text on the screen as they type.

</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:

&lt;informalexample&gt;&lt;programlisting&gt;
gtk_entry_buffer_set_max_length (gtk_entry_get_buffer (entry), max);
&lt;/programlisting&gt;&lt;/informalexample&gt;

</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.

Since: 2.14

</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 and unfocused.
This can be used to give a visual hint of the expected contents of
the #GtkEntry.

Note that since the placeholder text gets removed when the entry
received focus, using this feature is a bit problematic if the entry
is given the initial focus in a window. Sometimes this can be
worked around by delaying the initial focus setting until the
first key event arrives.

Since: 3.2

</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 an 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 &quot;fill in&quot; the given
fraction of the bar. The fraction should be between 0.0 and 1.0,
inclusive.

Since: 2.16

</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().

Since: 2.16

</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_text">
<description>
Sets the text in the widget to the given
value, replacing the current contents.

See gtk_entry_buffer_set_text().

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the new text
</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_set_width_chars">
<description>
Changes the size request of the entry to be about the right size
for @n_chars characters. Note that it changes the size
&lt;emphasis&gt;request&lt;/emphasis&gt;, the size can still be affected by
how you pack the widget into containers. If @n_chars is -1, the
size reverts to the default entry size.

</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> width in chars
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_entry_text_index_to_layout_index">
<description>
Converts from a position in the entry's #PangoLayout (returned by
gtk_entry_get_layout()) to a position in the entry contents
(returned by gtk_entry_get_text()).


</description>
<parameters>
<parameter name="entry">
<parameter_description> a #GtkEntry
</parameter_description>
</parameter>
<parameter name="text_index">
<parameter_description> byte index into the entry contents
</parameter_description>
</parameter>
</parameters>
<return> byte index into the entry layout text
</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.

Since: 2.16

</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 #GtkPrinter&lt;!-- --&gt;s. 
If @func returns %TRUE, the enumeration is stopped.

Since: 2.10

</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_box_get_above_child">
<description>
Returns whether the event box window is above or below the
windows of its child. See gtk_event_box_set_above_child()
for details.

Since: 2.4

</description>
<parameters>
<parameter name="event_box">
<parameter_description> a #GtkEventBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the event box window is above the
window of its child

</return>
</function>

<function name="gtk_event_box_get_visible_window">
<description>
Returns whether the event box has a visible window.
See gtk_event_box_set_visible_window() for details.

Since: 2.4

</description>
<parameters>
<parameter name="event_box">
<parameter_description> a #GtkEventBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the event box window is visible

</return>
</function>

<function name="gtk_event_box_new">
<description>
Creates a new #GtkEventBox.


</description>
<parameters>
</parameters>
<return> a new #GtkEventBox
</return>
</function>

<function name="gtk_event_box_set_above_child">
<description>
Set whether the event box window is positioned above the windows
of its child, as opposed to below it. If the window is above, all
events inside the event box will go to the event box. If the window
is below, events in windows of child widgets will first got to that
widget, and then to its parents.

The default is to keep the window below the child.

Since: 2.4

</description>
<parameters>
<parameter name="event_box">
<parameter_description> a #GtkEventBox
</parameter_description>
</parameter>
<parameter name="above_child">
<parameter_description> %TRUE if the event box window is above its child
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_event_box_set_visible_window">
<description>
Set whether the event box uses a visible or invisible child
window. The default is to use visible windows.

In an invisible window event box, the window that the
event box creates is a %GDK_INPUT_ONLY window, which
means that it is invisible and only serves to receive
events.

A visible window event box creates a visible (%GDK_INPUT_OUTPUT)
window that acts as the parent window for all the widgets
contained in the event box.

You should generally make your event box invisible if
you just want to trap events. Creating a visible window
may cause artifacts that are visible to the user, especially
if the user is using a theme with gradients or pixmaps.

The main reason to create a non input-only event box is if
you want to set the background to a different color or
draw on it.

&lt;note&gt;&lt;para&gt;
There is one unexpected issue for an invisible event box that has its
window below the child. (See gtk_event_box_set_above_child().)
Since the input-only window is not an ancestor window of any windows
that descendent widgets of the event box create, events on these
windows aren't propagated up by the windowing system, but only by GTK+.
The practical effect of this is if an event isn't in the event
mask for the descendant window (see gtk_widget_add_events()),
it won't be received by the event box.
&lt;/para&gt;&lt;para&gt;
This problem doesn't occur for visible event boxes, because in
that case, the event box window is actually the ancestor of the
descendant windows, not just at the same place on the screen.
&lt;/para&gt;&lt;/note&gt;

Since: 2.4

</description>
<parameters>
<parameter name="event_box">
<parameter_description> a #GtkEventBox
</parameter_description>
</parameter>
<parameter name="visible_window">
<parameter_description> %TRUE to make the event box have a visible window
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_events_pending">
<description>
Checks if any events are pending.

This can be used to update the UI and invoke timeouts etc.
while doing some time intensive computation.

&lt;example&gt;
&lt;title&gt;Updating the UI during a long computation&lt;/title&gt;
&lt;programlisting&gt;
/ * computation going on... * /

while (gtk_events_pending ())
gtk_main_iteration ();

/ * ...computation continued * /
&lt;/programlisting&gt;
&lt;/example&gt;


</description>
<parameters>
</parameters>
<return> %TRUE if any events are pending, %FALSE otherwise
</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().

Since: 2.4

</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.

Since: 2.4

</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_fill">
<description>
Returns whether the label widget will fill all available
horizontal space allocated to @expander.

Since: 2.22

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the label widget will fill all
available horizontal space

</return>
</function>

<function name="gtk_expander_get_label_widget">
<description>
Retrieves the label widget for the frame. See
gtk_expander_set_label_widget().

Since: 2.4

</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.

Since: 3.2

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> the &quot;resize toplevel&quot; setting.

</return>
</function>

<function name="gtk_expander_get_spacing">
<description>
Gets the value set by gtk_expander_set_spacing().

Since: 2.4

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
</parameters>
<return> spacing between the expander and child

</return>
</function>

<function name="gtk_expander_get_use_markup">
<description>
Returns whether the label's text is interpreted as marked up with
the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;. See gtk_expander_set_use_markup().

Since: 2.4

</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().

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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_fill">
<description>
Sets whether the label widget should fill all available
horizontal space allocated to @expander.

Since: 2.22

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="label_fill">
<parameter_description> %TRUE if the label should should fill
all available horizontal space
</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.

Since: 2.4

</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.

Since: 3.2

</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_spacing">
<description>
Sets the spacing field of @expander, which is the number of
pixels to place between expander and the child.

Since: 2.4

</description>
<parameters>
<parameter name="expander">
<parameter_description> a #GtkExpander
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> distance between the expander and child in pixels
</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 &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango's text markup
language&lt;/link&gt;. See gtk_label_set_markup().

Since: 2.4

</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.

Since: 2.4

</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_false">
<description>
Analogical to gtk_true(), this function does nothing
but always returns %FALSE.


</description>
<parameters>
</parameters>
<return> %FALSE
</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.

Since: 2.4

</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
&quot;/usr/share/mydrawprogram/Clipart&quot; folder to the volume list.

Since: 2.4

</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
&quot;file:///usr/share/mydrawprogram/Clipart&quot; folder to the volume list.

Since: 2.4

</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_focus_on_click">
<description>
Returns whether the button grabs focus when it is clicked with the mouse.
See gtk_file_chooser_button_set_focus_on_click().

Since: 2.10

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkFileChooserButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the button grabs focus when it is clicked with
the mouse.

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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_focus_on_click">
<description>
Sets whether the button will grab focus when it is clicked with the mouse.
Making mouse clicks not grab focus is useful in places like toolbars where
you don't want the keyboard focus removed from the main area of the
application.

Since: 2.10

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkFileChooserButton
</parameter_description>
</parameter>
<parameter name="focus_on_click">
<parameter_description> whether the button grabs focus when clicked with the mouse
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_file_chooser_button_set_title">
<description>
Modifies the @title of the browse dialog used by @button.

Since: 2.6

</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.

Since: 2.6

</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().

Since: 2.4

</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> stock ID or 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.

Since: 2.4

</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().

Since: 2.4

</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_create_folders">
<description>
Gets whether file choser will offer to create new folders.
See gtk_file_chooser_set_create_folders().

Since: 2.18

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the New 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 &lt;emphasis&gt;not the same&lt;/emphasis&gt;
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.

Since: 2.4

</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().

Since: 2.14

</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 &lt;emphasis&gt;not the same&lt;/emphasis&gt;
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.

Since: 2.4

</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_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.

Since: 2.8

</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 preview widget; see
gtk_file_chooser_set_extra_widget().

Since: 2.4

</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.

Since: 2.14

</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.

Since: 2.4

</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())

Since: 2.4

</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().

Since: 2.14

</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().

Since: 2.4

</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()

Since: 2.4

</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().

Since: 2.14

</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().

Since: 2.4

</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().

Since: 2.4

</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().

Since: 2.4

</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().

Since: 2.4

</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().

Since: 2.4

</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().

Since: 2.6

</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.

Since: 2.4

</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. 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.

Since: 2.4

</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 stock 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().

Since: 2.4

</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().

Since: 2.4

</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().

Since: 2.4

</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_remove_filter">
<description>
Removes @filter from the list of filters that the user can select between.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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().

Since: 2.14

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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_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.

Since: 2.18

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="create_folders">
<parameter_description> %TRUE if the New 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 &lt;link
linkend=&quot;gtkfilechooserdialog-setting-up&quot;&gt;section on setting up a file
chooser dialog&lt;/link&gt; for the rationale behind this.

Since: 2.4

</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().

Since: 2.14

</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 &lt;link
linkend=&quot;gtkfilechooserdialog-setting-up&quot;&gt;section on setting up a file
chooser dialog&lt;/link&gt; for the rationale behind this.

Since: 2.4

</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 &quot;Save As...&quot; dialog.  You can
pass &quot;Untitled.doc&quot; 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.

Since: 2.4

</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.

Regardless of this setting, the @chooser will emit the
#GtkFileChooser::confirm-overwrite signal when appropriate.

If all you need is the stock confirmation dialog, set this property to %TRUE.
You can override the way confirmation is done by actually handling the
#GtkFileChooser::confirm-overwrite signal; please refer to its documentation
for the details.

Since: 2.8

</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.

Since: 2.4

</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 &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; dialog,
you should use this function if you already have a file name to which the
user may save; for example, when the user opens an existing file and then
does &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; on it.  If you don't have
a file name already &#8212; for example, if the user just created a new
file and is saving it for the first time, do not call this function.
Instead, use something similar to this:
|[
if (document_is_new)
{
/ * 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);
}
]|

Since: 2.14

</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 &lt;guimenuitem&gt;File/Save
As...&lt;/guimenuitem&gt; 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 &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; on it to save a copy or
a modified version.  If you don't have a file name already &#8212; for
example, if the user just created a new file and is saving it for the first
time, do not call this function.  Instead, use something similar to this:
|[
if (document_is_new)
{
/ * 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.

Since: 2.4

</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.

Since: 2.4

</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),
then the selected file are files are guaranteed to be
accessible through the operating systems native file
file system and therefore the application only
needs to worry about the filename functions in
#GtkFileChooser, like gtk_file_chooser_get_filename(),
rather than the URI functions like
gtk_file_chooser_get_uri(),

Since: 2.4

</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
may display an internally generated preview of the current file or
it may display no preview at all.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.  

Since: 2.6

</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 &lt;guimenuitem&gt;File/Save
As...&lt;/guimenuitem&gt; dialog for which you already have a file name to which
the user may save.  For example, whenthe user opens an existing file and then
does &lt;guimenuitem&gt;File/Save As...&lt;/guimenuitem&gt; on it to save a copy or a
modified version.  If you don't have a file name already &#8212; for example,
if the user just created a new file and is saving it for the first time, do
not call this function.  Instead, use something similar to this:
|[
if (document_is_new)
{
/ * 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.

Since: 2.4

</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 stock label with the name of
the file that is being previewed; the default is %TRUE.  Applications that
want to draw the whole preview area themselves should set this to %FALSE and
display the name themselves in their preview widget.

See also: gtk_file_chooser_set_preview_widget()

Since: 2.4

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkFileChooser
</parameter_description>
</parameter>
<parameter name="use_label">
<parameter_description> whether to display a stock 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.

Since: 2.4

</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.

Since: 2.14

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.6

</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 structure @filter_info should include
the fields returned from gtk_file_filter_get_needed().

This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkFileChooser.

Since: 2.4

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkFileFilter
</parameter_description>
</parameter>
<parameter name="filter_info">
<parameter_description> a #GtkFileFilterInfo structure 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().

Since: 2.4

</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 structure
passed to gtk_file_filter_filter()

This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkFileChooser.

Since: 2.4

</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:
|[
GtkFileFilter *filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, &quot;*&quot;);
]|

Since: 2.4

</description>
<parameters>
</parameters>
<return> a new #GtkFileFilter

</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.

Since: 2.4

</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_fixed_move">
<description>
Moves a child of a #GtkFixed container to the given position.

</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 at the given position.

</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_font_button_get_font_name">
<description>
Retrieves the name of the currently selected font. This name includes
style and size information as well. If you want to render something
with the font, use this string with pango_font_description_from_string() .
If you're interested in peeking certain values (family name,
style, size, weight) just query these properties from the
#PangoFontDescription object.

Since: 2.4

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
</parameters>
<return> an internal copy of the font name which must not be freed.

</return>
</function>

<function name="gtk_font_button_get_show_size">
<description>
Returns whether the font size will be shown in the label.

Since: 2.4

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
</parameters>
<return> whether the font size will be shown in the label.

</return>
</function>

<function name="gtk_font_button_get_show_style">
<description>
Returns whether the name of the font style will be shown in the label.

Since: 2.4

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
</parameters>
<return> whether the font style will be shown in the label.

</return>
</function>

<function name="gtk_font_button_get_title">
<description>
Retrieves the title of the font chooser dialog.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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_font_name">
<description>
Sets or updates the currently-displayed font in font picker dialog.

Since: 2.4

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
<parameter name="fontname">
<parameter_description> Name of font to display in font chooser dialog
</parameter_description>
</parameter>
</parameters>
<return> %TRUE

</return>
</function>

<function name="gtk_font_button_set_show_size">
<description>
If @show_size is %TRUE, the font size will be displayed along with the name of the selected font.

Since: 2.4

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
<parameter name="show_size">
<parameter_description> %TRUE if font size should be displayed in dialog.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_button_set_show_style">
<description>
If @show_style is %TRUE, the font style will be displayed along with name of the selected font.

Since: 2.4

</description>
<parameters>
<parameter name="font_button">
<parameter_description> a #GtkFontButton
</parameter_description>
</parameter>
<parameter name="show_style">
<parameter_description> %TRUE if font style should be displayed in label.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_button_set_title">
<description>
Sets the title for the font chooser dialog.  

Since: 2.4

</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.  

Since: 2.4

</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.

Since: 2.4

</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.

Since: 3.2

</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, &quot;Helvetica Italic Bold 12&quot; could be
normalized to &quot;Helvetica Bold Italic 12&quot;.

Use pango_font_description_equal() if you want to compare two
font descriptions.

Since: 3.2

</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, &quot;Helvetica Italic Bold 12&quot; could be
normalized to &quot;Helvetica Bold Italic 12&quot;.

Use pango_font_description_equal() if you want to compare two
font descriptions.

Since: 3.2

</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.

Since: 3.2

</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.

Since: 3.2

</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_size">
<description>
The selected font size.

Since: 3.2

</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_preview_text">
<description>
Gets the text displayed in the preview area.

Since: 3.2

</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.

Since: 3.2

</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.

Since: 3.2

</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.

Since: 3.2

</description>
<parameters>
<parameter name="fontchooser">
<parameter_description> a #GtkFontChooser
</parameter_description>
</parameter>
<parameter name="fontname">
<parameter_description> a font name like &quot;Helvetica 12&quot; or &quot;Times Bold 18&quot;
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_font_chooser_set_font_desc">
<description>
Sets the currently-selected font from @font_desc.

Since: 3.2

</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_preview_text">
<description>
Sets the text displayed in the preview area.
The @text is used to show how the selected font looks.

Since: 3.2

</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.

Since: 3.2

</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.

Since: 3.2

</description>
<parameters>
</parameters>
<return> a new #GtkFontChooserWidget

</return>
</function>

<function name="gtk_font_selection_dialog_get_cancel_button">
<description>
Gets the 'Cancel' button.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="fsd">
<parameter_description> a #GtkFontSelectionDialog
</parameter_description>
</parameter>
</parameters>
<return> the #GtkWidget used in the dialog
for the 'Cancel' button.

</return>
</function>

<function name="gtk_font_selection_dialog_get_font_name">
<description>
Gets the currently-selected font name.

Note that this can be a different string than what you set with 
gtk_font_selection_dialog_set_font_name(), as the font selection widget
may normalize font names and thus return a string with a different 
structure. For example, &quot;Helvetica Italic Bold 12&quot; could be normalized 
to &quot;Helvetica Bold Italic 12&quot;.  Use pango_font_description_equal()
if you want to compare two font descriptions.

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="fsd">
<parameter_description> a #GtkFontSelectionDialog
</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_selection_dialog_get_font_selection">
<description>
Retrieves the #GtkFontSelection widget embedded in the dialog.

Since: 2.22

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="fsd">
<parameter_description> a #GtkFontSelectionDialog
</parameter_description>
</parameter>
</parameters>
<return> the embedded #GtkFontSelection

</return>
</function>

<function name="gtk_font_selection_dialog_get_ok_button">
<description>
Gets the 'OK' button.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="fsd">
<parameter_description> a #GtkFontSelectionDialog
</parameter_description>
</parameter>
</parameters>
<return> the #GtkWidget used in the dialog
for the 'OK' button.

</return>
</function>

<function name="gtk_font_selection_dialog_get_preview_text">
<description>
Gets the text displayed in the preview area.

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="fsd">
<parameter_description> a #GtkFontSelectionDialog
</parameter_description>
</parameter>
</parameters>
<return> the text displayed in the preview area. 
This string is owned by the widget and should not be 
modified or freed 

</return>
</function>

<function name="gtk_font_selection_dialog_new">
<description>
Creates a new #GtkFontSelectionDialog.

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="title">
<parameter_description> the title of the dialog window 
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkFontSelectionDialog

</return>
</function>

<function name="gtk_font_selection_dialog_set_font_name">
<description>
Sets the currently selected font. 

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="fsd">
<parameter_description> a #GtkFontSelectionDialog
</parameter_description>
</parameter>
<parameter name="fontname">
<parameter_description> a font name like &quot;Helvetica 12&quot; or &quot;Times Bold 18&quot;
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the font selected in @fsd is now the
@fontname specified, %FALSE otherwise. 

</return>
</function>

<function name="gtk_font_selection_dialog_set_preview_text">
<description>
Sets the text displayed in the preview area. 

Deprecated: 3.2: Use #GtkFontChooserDialog

</description>
<parameters>
<parameter name="fsd">
<parameter_description> a #GtkFontSelectionDialog
</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_selection_get_face">
<description>
Gets the #PangoFontFace representing the selected font group
details (i.e. family, slant, weight, width, etc).

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> A #PangoFontFace representing the
selected font group details. The returned object is owned by
@fontsel and must not be modified or freed.

</return>
</function>

<function name="gtk_font_selection_get_face_list">
<description>
This returns the #GtkTreeView which lists all styles available for
the selected font. For example, 'Regular', 'Bold', etc.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> A #GtkWidget that is part of @fontsel

</return>
</function>

<function name="gtk_font_selection_get_family">
<description>
Gets the #PangoFontFamily representing the selected font family.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> A #PangoFontFamily representing the
selected font family. Font families are a collection of font
faces. The returned object is owned by @fontsel and must not
be modified or freed.

</return>
</function>

<function name="gtk_font_selection_get_family_list">
<description>
This returns the #GtkTreeView that lists font families, for
example, 'Sans', 'Serif', etc.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> A #GtkWidget that is part of @fontsel

</return>
</function>

<function name="gtk_font_selection_get_font_name">
<description>
Gets the currently-selected font name. 

Note that this can be a different string than what you set with 
gtk_font_selection_set_font_name(), as the font selection widget may 
normalize font names and thus return a string with a different structure. 
For example, &quot;Helvetica Italic Bold 12&quot; could be normalized to 
&quot;Helvetica Bold Italic 12&quot;. Use pango_font_description_equal()
if you want to compare two font descriptions.

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</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_selection_get_preview_entry">
<description>
This returns the #GtkEntry used to display the font as a preview.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> A #GtkWidget that is part of @fontsel

</return>
</function>

<function name="gtk_font_selection_get_preview_text">
<description>
Gets the text displayed in the preview area.

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> the text displayed in the preview area. 
This string is owned by the widget and should not be 
modified or freed 

</return>
</function>

<function name="gtk_font_selection_get_size">
<description>
The selected font size.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</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_selection_get_size_entry">
<description>
This returns the #GtkEntry used to allow the user to edit the font
number manually instead of selecting it from the list of font sizes.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> A #GtkWidget that is part of @fontsel

</return>
</function>

<function name="gtk_font_selection_get_size_list">
<description>
This returns the #GtkTreeView used to list font sizes.

Since: 2.14

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
</parameters>
<return> A #GtkWidget that is part of @fontsel

</return>
</function>

<function name="gtk_font_selection_new">
<description>
Creates a new #GtkFontSelection.

Deprecated: 3.2: Use #GtkFontChooserWidget instead

</description>
<parameters>
</parameters>
<return> a new #GtkFontSelection

</return>
</function>

<function name="gtk_font_selection_set_font_name">
<description>
Sets the currently-selected font. 

Note that the @fontsel needs to know the screen in which it will appear 
for this to work; this can be guaranteed by simply making sure that the 
@fontsel is inserted in a toplevel window before you call this function.

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</parameter_description>
</parameter>
<parameter name="fontname">
<parameter_description> a font name like &quot;Helvetica 12&quot; or &quot;Times Bold 18&quot;
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the font could be set successfully; %FALSE if no 
such font exists or if the @fontsel doesn't belong to a particular 
screen yet.

</return>
</function>

<function name="gtk_font_selection_set_preview_text">
<description>
Sets the text displayed in the preview area.
The @text is used to show how the selected font looks.

Deprecated: 3.2: Use #GtkFontChooser

</description>
<parameters>
<parameter name="fontsel">
<parameter_description> a #GtkFontSelection
</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_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 and Y alignment of the frame's label. See
gtk_frame_set_label_align().

</description>
<parameters>
<parameter name="frame">
<parameter_description> a #GtkFrame
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> location to store X alignment of
frame's label, or %NULL
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> location to store X alignment of
frame's label, or %NULL
</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>
Sets the text of the label. If @label is %NULL,
the current label is removed.

</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 alignment of the frame widget's label. The
default values for a newly created frame are 0.0 and 0.5.

</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>
<parameter name="yalign">
<parameter_description> The y alignment of the label. A value of 0.0 aligns under 
the frame; 1.0 aligns above the frame. If the values are exactly
0.0 or 1.0 the gap in the frame won't be painted because the label
will be completely above or below the frame.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_frame_set_label_widget">
<description>
Sets the label widget for the frame. This is the widget that
will appear embedded in the top edge of the frame as a
title.

</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 shadow type for @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_get_binary_age">
<description>
Returns the binary age as passed to &lt;application&gt;libtool&lt;/application&gt;
when building the GTK+ library the process is running against.
If &lt;application&gt;libtool&lt;/application&gt; means nothing to you, don't
worry about it.

Since: 3.0

</description>
<parameters>
</parameters>
<return> the binary age of the GTK+ library

</return>
</function>

<function name="gtk_get_current_event">
<description>
Obtains a copy 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 copy of the current event, or
%NULL if there is no current event. The returned event must be
freed with gdk_event_free().
</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_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 &lt;application&gt;libtool&lt;/application&gt;
when building the GTK+ library the process is running against.
If &lt;application&gt;libtool&lt;/application&gt; means nothing to you, don't
worry about it.

Since: 3.0

</description>
<parameters>
</parameters>
<return> the interface age of the GTK+ library

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</description>
<parameters>
</parameters>
<return> the minor version number of the GTK+ library

</return>
</function>

<function name="gtk_get_option_group">
<description>
Returns a #GOptionGroup for the commandline arguments recognized
by GTK+ and GDK.

You should add this group to your #GOptionContext
with g_option_context_add_group(), if you are using
g_option_context_parse() to parse your commandline arguments.

Since: 2.6

</description>
<parameters>
<parameter name="open_default_display">
<parameter_description> whether to open the default display
when parsing the commandline arguments
</parameter_description>
</parameter>
</parameters>
<return> a #GOptionGroup for the commandline arguments recognized
by GTK+

</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_gradient_add_color_stop">
<description>
Adds a stop color to @gradient.

Since: 3.0

Deprecated: 3.8: #GtkGradient is deprecated.

</description>
<parameters>
<parameter name="gradient">
<parameter_description> a #GtkGradient
</parameter_description>
</parameter>
<parameter name="offset">
<parameter_description> offset for the color stop
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> color to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_gradient_new_linear">
<description>
Creates a new linear gradient along the line defined by (x0, y0) and (x1, y1). Before using the gradient
a number of stop colors must be added through gtk_gradient_add_color_stop().

Since: 3.0

Deprecated: 3.8: #GtkGradient is deprecated.

</description>
<parameters>
<parameter name="x0">
<parameter_description> X coordinate of the starting point
</parameter_description>
</parameter>
<parameter name="y0">
<parameter_description> Y coordinate of the starting point
</parameter_description>
</parameter>
<parameter name="x1">
<parameter_description> X coordinate of the end point
</parameter_description>
</parameter>
<parameter name="y1">
<parameter_description> Y coordinate of the end point
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkGradient

</return>
</function>

<function name="gtk_gradient_new_radial">
<description>
Creates a new radial gradient along the two circles defined by (x0, y0, radius0) and
(x1, y1, radius1). Before using the gradient a number of stop colors must be added
through gtk_gradient_add_color_stop().

Since: 3.0

Deprecated: 3.8: #GtkGradient is deprecated.

</description>
<parameters>
<parameter name="x0">
<parameter_description> X coordinate of the start circle
</parameter_description>
</parameter>
<parameter name="y0">
<parameter_description> Y coordinate of the start circle
</parameter_description>
</parameter>
<parameter name="radius0">
<parameter_description> radius of the start circle
</parameter_description>
</parameter>
<parameter name="x1">
<parameter_description> X coordinate of the end circle
</parameter_description>
</parameter>
<parameter name="y1">
<parameter_description> Y coordinate of the end circle
</parameter_description>
</parameter>
<parameter name="radius1">
<parameter_description> radius of the end circle
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkGradient

</return>
</function>

<function name="gtk_gradient_ref">
<description>
Increases the reference count of @gradient.

Since: 3.0

Deprecated: 3.8: #GtkGradient is deprecated.

</description>
<parameters>
<parameter name="gradient">
<parameter_description> a #GtkGradient
</parameter_description>
</parameter>
</parameters>
<return> The same @gradient

</return>
</function>

<function name="gtk_gradient_resolve">
<description>
If @gradient is resolvable, @resolved_gradient will be filled in
with the resolved gradient as a cairo_pattern_t, and %TRUE will
be returned. Generally, if @gradient can't be resolved, it is
due to it being defined on top of a named color that doesn't
exist in @props.

Since: 3.0

Deprecated: 3.8: #GtkGradient is deprecated.

</description>
<parameters>
<parameter name="gradient">
<parameter_description> a #GtkGradient
</parameter_description>
</parameter>
<parameter name="props">
<parameter_description> #GtkStyleProperties to use when resolving named colors
</parameter_description>
</parameter>
<parameter name="resolved_gradient">
<parameter_description> return location for the resolved pattern
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the gradient has been resolved

</return>
</function>

<function name="gtk_gradient_to_string">
<description>
Creates a string representation for @gradient that is suitable
for using in GTK CSS files.

Deprecated: 3.8: #GtkGradient is deprecated.

</description>
<parameters>
<parameter name="gradient">
<parameter_description> the gradient to print
</parameter_description>
</parameter>
</parameters>
<return> A string representation for @gradient

</return>
</function>

<function name="gtk_gradient_unref">
<description>
Decreases the reference count of @gradient, freeing its memory
if the reference count reaches 0.

Since: 3.0

Deprecated: 3.8: #GtkGradient is deprecated.

</description>
<parameters>
<parameter name="gradient">
<parameter_description> a #GtkGradient
</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_child_at">
<description>
Gets the child of @grid whose area covers the grid
cell whose upper left corner is at @left, @top.

Since: 3.2

</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_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.

Since: 3.2

</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.

Since: 3.2

</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.

Since: 3.2

</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_new">
<description>
Creates a new grid widget.


</description>
<parameters>
</parameters>
<return> the new #GtkGrid
</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_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_handle_box_get_child_detached">
<description>
Whether the handlebox's child is currently detached.

Since: 2.14

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handle_box">
<parameter_description> a #GtkHandleBox
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the child is currently detached, otherwise %FALSE

</return>
</function>

<function name="gtk_handle_box_get_handle_position">
<description>
Gets the handle position of the handle box. See
gtk_handle_box_set_handle_position().

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handle_box">
<parameter_description> a #GtkHandleBox
</parameter_description>
</parameter>
</parameters>
<return> the current handle position.

</return>
</function>

<function name="gtk_handle_box_get_shadow_type">
<description>
Gets the type of shadow drawn around the handle box. See
gtk_handle_box_set_shadow_type().

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handle_box">
<parameter_description> a #GtkHandleBox
</parameter_description>
</parameter>
</parameters>
<return> the type of shadow currently drawn around the handle box.

</return>
</function>

<function name="gtk_handle_box_get_snap_edge">
<description>
Gets the edge used for determining reattachment of the handle box.
See gtk_handle_box_set_snap_edge().

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handle_box">
<parameter_description> a #GtkHandleBox
</parameter_description>
</parameter>
</parameters>
<return> the edge used for determining reattachment, or
(GtkPositionType)-1 if this is determined (as per default)
from the handle position.

</return>
</function>

<function name="gtk_handle_box_new">
<description>
Create a new handle box.

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
</parameters>
<return> a new #GtkHandleBox.

</return>
</function>

<function name="gtk_handle_box_set_handle_position">
<description>
Sets the side of the handlebox where the handle is drawn.

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handle_box">
<parameter_description> a #GtkHandleBox
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the side of the handlebox where the handle should be drawn.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_handle_box_set_shadow_type">
<description>
Sets the type of shadow to be drawn around the border
of the handle box.

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handle_box">
<parameter_description> a #GtkHandleBox
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the shadow type.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_handle_box_set_snap_edge">
<description>
Sets the snap edge of a handlebox. The snap edge is
the edge of the detached child that must be aligned
with the corresponding edge of the &quot;ghost&quot; left
behind when the child was detached to reattach
the torn-off window. Usually, the snap edge should
be chosen so that it stays in the same place on
the screen when the handlebox is torn off.

If the snap edge is not set, then an appropriate value
will be guessed from the handle position. If the
handle position is %GTK_POS_RIGHT or %GTK_POS_LEFT,
then the snap edge will be %GTK_POS_TOP, otherwise
it will be %GTK_POS_LEFT.

Deprecated: 3.4: #GtkHandleBox has been deprecated.

</description>
<parameters>
<parameter name="handle_box">
<parameter_description> a #GtkHandleBox
</parameter_description>
</parameter>
<parameter name="edge">
<parameter_description> the snap edge, or -1 to unset the value; in which
case GTK+ will try to guess an appropriate value
in the future.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_hbox_new">
<description>
Creates a new #GtkHBox.

Deprecated: 3.2: You can use gtk_box_new() with %GTK_ORIENTATION_HORIZONTAL instead,
which is a quick and easy change. But the recommendation is to switch to
#GtkGrid, since #GtkBox is going to go away eventually.
See &lt;xref linkend=&quot;gtk-migrating-GtkGrid&quot;/&gt;.

</description>
<parameters>
<parameter name="homogeneous">
<parameter_description> %TRUE if all children are to be given equal space allotments.
</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 #GtkHBox.

</return>
</function>

<function name="gtk_hbutton_box_new">
<description>
Creates a new horizontal button box.

Deprecated: 3.2: Use gtk_button_box_new() with %GTK_ORIENTATION_HORIZONTAL instead

</description>
<parameters>
</parameters>
<return> a new button box #GtkWidget.

</return>
</function>

<function name="gtk_hpaned_new">
<description>
Create a new #GtkHPaned

Deprecated: 3.2: Use gtk_paned_new() with %GTK_ORIENTATION_HORIZONTAL instead

</description>
<parameters>
</parameters>
<return> the new #GtkHPaned

</return>
</function>

<function name="gtk_hscale_new">
<description>
Creates a new #GtkHScale.

Deprecated: 3.2: Use gtk_scale_new() with %GTK_ORIENTATION_HORIZONTAL instead

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> the #GtkAdjustment which sets the range of the scale.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkHScale.

</return>
</function>

<function name="gtk_hscale_new_with_range">
<description>
Creates a new horizontal scale widget that lets the user input a
number between @min and @max (including @min and @max) with the
increment @step.  @step must be nonzero; it'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.

Deprecated: 3.2: Use gtk_scale_new_with_range() with %GTK_ORIENTATION_HORIZONTAL instead

</description>
<parameters>
<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 #GtkHScale

</return>
</function>

<function name="gtk_hscrollbar_new">
<description>
Creates a new horizontal scrollbar.

Deprecated: 3.2: Use gtk_scrollbar_new() with %GTK_ORIENTATION_HORIZONTAL instead

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> the #GtkAdjustment to use, or %NULL to create a new adjustment
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkHScrollbar

</return>
</function>

<function name="gtk_hseparator_new">
<description>
Creates a new #GtkHSeparator.

Deprecated: 3.2: Use gtk_separator_new() with %GTK_ORIENTATION_HORIZONTAL instead

</description>
<parameters>
</parameters>
<return> a new #GtkHSeparator.

</return>
</function>

<function name="gtk_hsv_get_color">
<description>
Queries the current color in an HSV color selector.
Returned values will be in the [0.0, 1.0] range.

Since: 2.14

</description>
<parameters>
<parameter name="hsv">
<parameter_description> An HSV color selector
</parameter_description>
</parameter>
<parameter name="h">
<parameter_description> Return value for the hue
</parameter_description>
</parameter>
<parameter name="s">
<parameter_description> Return value for the saturation
</parameter_description>
</parameter>
<parameter name="v">
<parameter_description> Return value for the value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_hsv_get_metrics">
<description>
Queries the size and ring width of an HSV color selector.

Since: 2.14

</description>
<parameters>
<parameter name="hsv">
<parameter_description> An HSV color selector
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> Return value for the diameter of the hue ring
</parameter_description>
</parameter>
<parameter name="ring_width">
<parameter_description> Return value for the width of the hue ring
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_hsv_is_adjusting">
<description>
An HSV color selector can be said to be adjusting if multiple rapid
changes are being made to its value, for example, when the user is 
adjusting the value with the mouse. This function queries whether 
the HSV color selector is being adjusted or not.

Since: 2.14

</description>
<parameters>
<parameter name="hsv">
<parameter_description> A #GtkHSV 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if clients can ignore changes to the color value,
since they may be transitory, or %FALSE if they should consider
the color value status to be final.

</return>
</function>

<function name="gtk_hsv_new">
<description>
Creates a new HSV color selector.

Since: 2.14

</description>
<parameters>
</parameters>
<return> A newly-created HSV color selector.

</return>
</function>

<function name="gtk_hsv_set_color">
<description>
Sets the current color in an HSV color selector.
Color component values must be in the [0.0, 1.0] range.

Since: 2.14

</description>
<parameters>
<parameter name="hsv">
<parameter_description> An HSV color selector
</parameter_description>
</parameter>
<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>
</parameters>
<return></return>
</function>

<function name="gtk_hsv_set_metrics">
<description>
Sets the size and ring width of an HSV color selector.

Since: 2.14

</description>
<parameters>
<parameter name="hsv">
<parameter_description> An HSV color selector
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> Diameter for the hue ring
</parameter_description>
</parameter>
<parameter name="ring_width">
<parameter_description> Width of the hue ring
</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.

Since: 2.14

</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_factory_add">
<description>
Adds the given @icon_set to the icon factory, under the name
@stock_id.  @stock_id should be namespaced for your application,
e.g. &quot;myapp-whatever-icon&quot;.  Normally applications create a
#GtkIconFactory, then add it to the list of default factories with
gtk_icon_factory_add_default(). Then they pass the @stock_id to
widgets such as #GtkImage to display the icon. Themes can provide
an icon with the same name (such as &quot;myapp-whatever-icon&quot;) to
override your application's default icons. If an icon already
existed in @factory for @stock_id, it is unreferenced and replaced
with the new @icon_set.

</description>
<parameters>
<parameter name="factory">
<parameter_description> a #GtkIconFactory
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> icon name
</parameter_description>
</parameter>
<parameter name="icon_set">
<parameter_description> icon set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_factory_add_default">
<description>
Adds an icon factory to the list of icon factories searched by
gtk_style_lookup_icon_set(). This means that, for example,
gtk_image_new_from_stock() will be able to find icons in @factory.
There will normally be an icon factory added for each library or
application that comes with icons. The default icon factories
can be overridden by themes.

</description>
<parameters>
<parameter name="factory">
<parameter_description> a #GtkIconFactory
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_factory_lookup">
<description>
Looks up @stock_id in the icon factory, returning an icon set
if found, otherwise %NULL. For display to the user, you should
use gtk_style_lookup_icon_set() on the #GtkStyle for the
widget that will display the icon, instead of using this
function directly, so that themes are taken into account.


</description>
<parameters>
<parameter name="factory">
<parameter_description> a #GtkIconFactory
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> an icon name
</parameter_description>
</parameter>
</parameters>
<return> icon set of @stock_id.
</return>
</function>

<function name="gtk_icon_factory_lookup_default">
<description>
Looks for an icon in the list of default icon factories.  For
display to the user, you should use gtk_style_lookup_icon_set() on
the #GtkStyle for the widget that will display the icon, instead of
using this function directly, so that themes are taken into
account.


</description>
<parameters>
<parameter name="stock_id">
<parameter_description> an icon name
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconSet, or %NULL
</return>
</function>

<function name="gtk_icon_factory_new">
<description>
Creates a new #GtkIconFactory. An icon factory manages a collection
of #GtkIconSet&lt;!-- --&gt;s; a #GtkIconSet manages a set of variants of a
particular icon (i.e. a #GtkIconSet contains variants for different
sizes and widget states). Icons in an icon factory are named by a
stock ID, which is a simple string identifying the icon. Each
#GtkStyle has a list of #GtkIconFactory&lt;!-- --&gt;s derived from the current
theme; those icon factories are consulted first when searching for
an icon. If the theme doesn't set a particular icon, GTK+ looks for
the icon in a list of default icon factories, maintained by
gtk_icon_factory_add_default() and
gtk_icon_factory_remove_default(). Applications with icons should
add a default icon factory with their icons, which will allow
themes to override the icons for the application.


</description>
<parameters>
</parameters>
<return> a new #GtkIconFactory
</return>
</function>

<function name="gtk_icon_factory_remove_default">
<description>
Removes an icon factory from the list of default icon
factories. Not normally used; you might use it for a library that
can be unloaded or shut down.

</description>
<parameters>
<parameter name="factory">
<parameter_description> a #GtkIconFactory previously added with gtk_icon_factory_add_default()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_info_copy">
<description>
Make a copy of a #GtkIconInfo.

Since: 2.4

Deprecated: 3.8: Use g_object_ref()

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
</parameters>
<return> the new GtkIconInfo

</return>
</function>

<function name="gtk_icon_info_free">
<description>
Free a #GtkIconInfo and associated information

Since: 2.4

Deprecated: 3.8: Use g_object_unref()

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_info_get_attach_points">
<description>
Fetches the set of attach points for an icon. An attach point
is a location in the icon that can be used as anchor points for attaching
emblems or overlays to the icon.

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
<parameter name="points">
<parameter_description> location to store pointer to an array of points, or %NULL
free the array of points with g_free().
</parameter_description>
</parameter>
<parameter name="n_points">
<parameter_description> location to store the number of points in @points, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there are any attach points for the icon.

</return>
</function>

<function name="gtk_icon_info_get_base_size">
<description>
Gets the base size for the icon. The base size
is a size for the icon that was specified by
the icon theme creator. This may be different
than the actual size of image; an example of
this is small emblem icons that can be attached
to a larger icon. These icons will be given
the same base size as the larger icons to which
they are attached.

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
</parameters>
<return> the base size, or 0, if no base
size is known for the icon.

</return>
</function>

<function name="gtk_icon_info_get_builtin_pixbuf">
<description>
Gets the built-in image for this icon, if any. To allow
GTK+ to use built in icon images, you must pass the
%GTK_ICON_LOOKUP_USE_BUILTIN to
gtk_icon_theme_lookup_icon().

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure
</parameter_description>
</parameter>
</parameters>
<return> the built-in image pixbuf, or %NULL. No
extra reference is added to the returned pixbuf, so if
you want to keep it around, you must use g_object_ref().
The returned image must not be modified.

</return>
</function>

<function name="gtk_icon_info_get_display_name">
<description>
Gets the display name for an icon. A display name is a
string to be used in place of the icon name in a user
visible context like a list of icons.

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
</parameters>
<return> the display name for the icon or %NULL, if
the icon doesn't have a specified display name. This value
is owned @icon_info and must not be modified or free.

</return>
</function>

<function name="gtk_icon_info_get_embedded_rect">
<description>
Gets the coordinates of a rectangle within the icon
that can be used for display of information such
as a preview of the contents of a text file.
See gtk_icon_info_set_raw_coordinates() for further
information about the coordinate system.

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
<parameter name="rectangle">
<parameter_description> #GdkRectangle in which to store embedded
rectangle coordinates; coordinates are only stored
when this function returns %TRUE.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the icon has an embedded rectangle

</return>
</function>

<function name="gtk_icon_info_get_filename">
<description>
Gets the filename for the icon. If the
%GTK_ICON_LOOKUP_USE_BUILTIN flag was passed
to gtk_icon_theme_lookup_icon(), there may be
no filename if a builtin icon is returned; in this
case, you should use gtk_icon_info_get_builtin_pixbuf().

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
</parameters>
<return> the filename for the icon, or %NULL
if gtk_icon_info_get_builtin_pixbuf() should be used instead. The
return value is owned by GTK+ and should not be modified or freed.

</return>
</function>

<function name="gtk_icon_info_load_icon">
<description>
Renders an icon previously looked up in an icon theme using
gtk_icon_theme_lookup_icon(); the size will be based on the size
passed to gtk_icon_theme_lookup_icon(). Note that the resulting
pixbuf may not be exactly this size; an icon theme may have icons
that differ slightly from their nominal sizes, and in addition GTK+
will avoid scaling icons that it considers sufficiently close to the
requested size or for which the source image would have to be scaled
up too far. (This maintains sharpness.). This behaviour can be changed
by passing the %GTK_ICON_LOOKUP_FORCE_SIZE flag when obtaining
the #GtkIconInfo. If this flag has been specified, the pixbuf
returned by this function will be scaled to the exact size.

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> the rendered icon; this may be a newly
created icon or a new reference to an internal icon, so you must
not modify the icon. Use g_object_unref() to release your reference
to the icon.

</return>
</function>

<function name="gtk_icon_info_load_icon_async">
<description>
Asynchronously load, render and scale an icon previously looked up
from the icon theme using gtk_icon_theme_lookup_icon().

For more details, see gtk_icon_info_load_icon() which is the synchronous
version of this call.

Since: 3.8

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
</parameter_description>
</parameter>
<parameter name="cancellable">
<parameter_description> optional #GCancellable object,
%NULL to ignore
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a #GAsyncReadyCallback to call when the
request is satisfied
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> the data to pass to callback function
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_info_load_icon_finish">
<description>
Finishes an async icon load, see gtk_icon_info_load_icon_async().

Since: 3.8

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
</parameter_description>
</parameter>
<parameter name="res">
<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 rendered icon; this may be a newly
created icon or a new reference to an internal icon, so you must
not modify the icon. Use g_object_unref() to release your reference
to the icon.

</return>
</function>

<function name="gtk_icon_info_load_symbolic">
<description>
Loads an icon, modifying it to match the system colours for the foreground,
success, warning and error colors provided. If the icon is not a symbolic
one, the function will return the result from gtk_icon_info_load_icon().

This allows loading symbolic icons that will match the system theme.

Unless you are implementing a widget, you will want to use
g_themed_icon_new_with_default_fallbacks() to load the icon.

As implementation details, the icon loaded needs to be of SVG type,
contain the &quot;symbolic&quot; term as the last component of the icon name,
and use the 'fg', 'success', 'warning' and 'error' CSS styles in the
SVG file itself.

See the &lt;ulink url=&quot;http://www.freedesktop.org/wiki/SymbolicIcons&quot;&gt;Symbolic Icons spec&lt;/ulink&gt;
for more information about symbolic icons.

Since: 3.0

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
<parameter name="fg">
<parameter_description> a #GdkRGBA representing the foreground color of the icon
</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>
<parameter name="was_symbolic">
<parameter_description> a #gboolean, returns whether the
loaded icon was a symbolic one and whether the @fg color was
applied to it.
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> a #GdkPixbuf representing the loaded icon

</return>
</function>

<function name="gtk_icon_info_load_symbolic_async">
<description>
Asynchronously load, render and scale a symbolic icon previously looked up
from the icon theme using gtk_icon_theme_lookup_icon().

For more details, see gtk_icon_info_load_symbolic() which is the synchronous
version of this call.

Since: 3.8

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
</parameter_description>
</parameter>
<parameter name="fg">
<parameter_description> a #GdkRGBA representing the foreground color of the icon
</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>
<parameter name="cancellable">
<parameter_description> optional #GCancellable object,
%NULL to ignore
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a #GAsyncReadyCallback to call when the
request is satisfied
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> the data to pass to callback function
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_info_load_symbolic_finish">
<description>
Finishes an async icon load, see gtk_icon_info_load_symbolic_async().

Since: 3.8

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
</parameter_description>
</parameter>
<parameter name="res">
<parameter_description> a #GAsyncResult
</parameter_description>
</parameter>
<parameter name="was_symbolic">
<parameter_description> a #gboolean, returns whether the
loaded icon was a symbolic one and whether the @fg color was
applied to it.
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> the rendered icon; this may be a newly
created icon or a new reference to an internal icon, so you must
not modify the icon. Use g_object_unref() to release your reference
to the icon.

</return>
</function>

<function name="gtk_icon_info_load_symbolic_for_context">
<description>
Loads an icon, modifying it to match the system colors for the foreground,
success, warning and error colors provided. If the icon is not a symbolic
one, the function will return the result from gtk_icon_info_load_icon().
This function uses the regular foreground color and the symbolic colors
with the names &quot;success_color&quot;, &quot;warning_color&quot; and &quot;error_color&quot; from
the context.

This allows loading symbolic icons that will match the system theme.

See gtk_icon_info_load_symbolic() for more details.

Since: 3.0

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="was_symbolic">
<parameter_description> a #gboolean, returns whether the
loaded icon was a symbolic one and whether the @fg color was
applied to it.
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> a #GdkPixbuf representing the loaded icon

</return>
</function>

<function name="gtk_icon_info_load_symbolic_for_context_async">
<description>
Asynchronously load, render and scale a symbolic icon previously looked up
from the icon theme using gtk_icon_theme_lookup_icon().

For more details, see gtk_icon_info_load_symbolic_for_context() which is the synchronous
version of this call.

Since: 3.8

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="cancellable">
<parameter_description> optional #GCancellable object,
%NULL to ignore
</parameter_description>
</parameter>
<parameter name="callback">
<parameter_description> a #GAsyncReadyCallback to call when the
request is satisfied
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> the data to pass to callback function
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_info_load_symbolic_for_context_finish">
<description>
Finishes an async icon load, see gtk_icon_info_load_symbolic_for_context_async().

Since: 3.8

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
</parameter_description>
</parameter>
<parameter name="res">
<parameter_description> a #GAsyncResult
</parameter_description>
</parameter>
<parameter name="was_symbolic">
<parameter_description> a #gboolean, returns whether the
loaded icon was a symbolic one and whether the @fg color was
applied to it.
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> the rendered icon; this may be a newly
created icon or a new reference to an internal icon, so you must
not modify the icon. Use g_object_unref() to release your reference
to the icon.

</return>
</function>

<function name="gtk_icon_info_load_symbolic_for_style">
<description>
Loads an icon, modifying it to match the system colours for the foreground,
success, warning and error colors provided. If the icon is not a symbolic
one, the function will return the result from gtk_icon_info_load_icon().

This allows loading symbolic icons that will match the system theme.

See gtk_icon_info_load_symbolic() for more details.

Since: 3.0

Deprecated: 3.0: Use gtk_icon_info_load_symbolic_for_context() instead

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #GtkStyle to take the colors from
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the widget state to use for colors
</parameter_description>
</parameter>
<parameter name="was_symbolic">
<parameter_description> a #gboolean, returns whether the
loaded icon was a symbolic one and whether the @fg color was
applied to it.
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> location to store error information on failure,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> a #GdkPixbuf representing the loaded icon

</return>
</function>

<function name="gtk_icon_info_new_for_pixbuf">
<description>
Creates a #GtkIconInfo for a #GdkPixbuf.

Since: 2.14

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> the pixbuf to wrap in a #GtkIconInfo
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconInfo

</return>
</function>

<function name="gtk_icon_info_set_raw_coordinates">
<description>
Sets whether the coordinates returned by gtk_icon_info_get_embedded_rect()
and gtk_icon_info_get_attach_points() should be returned in their
original form as specified in the icon theme, instead of scaled
appropriately for the pixbuf returned by gtk_icon_info_load_icon().

Raw coordinates are somewhat strange; they are specified to be with
respect to the unscaled pixmap for PNG and XPM icons, but for SVG
icons, they are in a 1000x1000 coordinate space that is scaled
to the final size of the icon.  You can determine if the icon is an SVG
icon by using gtk_icon_info_get_filename(), and seeing if it is non-%NULL
and ends in '.svg'.

This function is provided primarily to allow compatibility wrappers
for older API's, and is not expected to be useful for applications.

Since: 2.4

</description>
<parameters>
<parameter name="icon_info">
<parameter_description> a #GtkIconInfo
</parameter_description>
</parameter>
<parameter name="raw_coordinates">
<parameter_description> whether the coordinates of embedded rectangles
and attached points should be returned in their original
(unscaled) form.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_set_add_source">
<description>
Icon sets have a list of #GtkIconSource, which they use as base
icons for rendering icons in different states and sizes. Icons are
scaled, made to look insensitive, etc. in
gtk_icon_set_render_icon(), but #GtkIconSet needs base images to
work with. The base images and when to use them are described by
a #GtkIconSource.

This function copies @source, so you can reuse the same source immediately
without affecting the icon set.

An example of when you'd use this function: a web browser's &quot;Back
to Previous Page&quot; icon might point in a different direction in
Hebrew and in English; it might look different when insensitive;
and it might change size depending on toolbar mode (small/large
icons). So a single icon set would contain all those variants of
the icon, and you might add a separate source for each one.

You should nearly always add a &quot;default&quot; icon source with all
fields wildcarded, which will be used as a fallback if no more
specific source matches. #GtkIconSet always prefers more specific
icon sources to more generic icon sources. The order in which you
add the sources to the icon set does not matter.

gtk_icon_set_new_from_pixbuf() creates a new icon set with a
default icon source based on the given pixbuf.

</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_set_copy">
<description>
Copies @icon_set by value.


</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkIconSet identical to the first.
</return>
</function>

<function name="gtk_icon_set_get_sizes">
<description>
Obtains a list of icon sizes this icon set can render. The returned
array must be freed with g_free().

</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
<parameter name="sizes">
<parameter_description> return location
for array of sizes
</parameter_description>
</parameter>
<parameter name="n_sizes">
<parameter_description> location to store number of elements in returned array
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_set_new">
<description>
Creates a new #GtkIconSet. A #GtkIconSet represents a single icon
in various sizes and widget states. It can provide a #GdkPixbuf
for a given size and state on request, and automatically caches
some of the rendered #GdkPixbuf objects.

Normally you would use gtk_widget_render_icon_pixbuf() instead of
using #GtkIconSet directly. The one case where you'd use
#GtkIconSet is to create application-specific icon sets to place in
a #GtkIconFactory.


</description>
<parameters>
</parameters>
<return> a new #GtkIconSet
</return>
</function>

<function name="gtk_icon_set_new_from_pixbuf">
<description>
Creates a new #GtkIconSet with @pixbuf as the default/fallback
source image. If you don't add any additional #GtkIconSource to the
icon set, all variants of the icon will be created from @pixbuf,
using scaling, pixelation, etc. as required to adjust the icon size
or make the icon look insensitive/prelighted.


</description>
<parameters>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkIconSet
</return>
</function>

<function name="gtk_icon_set_ref">
<description>
Increments the reference count on @icon_set.


</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet.
</parameter_description>
</parameter>
</parameters>
<return> @icon_set.
</return>
</function>

<function name="gtk_icon_set_render_icon">
<description>
Renders an icon using gtk_style_render_icon(). In most cases,
gtk_widget_render_icon() is better, since it automatically provides
most of the arguments from the current widget settings.  This
function never returns %NULL; if the icon can't be rendered
(perhaps because an image file fails to load), a default &quot;missing
image&quot; icon will be returned instead.

Deprecated: 3.0: Use gtk_icon_set_render_icon_pixbuf() instead

</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #GtkStyle associated with @widget, or %NULL
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> text direction
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> widget state
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> icon size. A size of (GtkIconSize)-1
means render at the size of the source and don't scale.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> widget that will display the icon, or %NULL.
The only use that is typically made of this
is to determine the appropriate #GdkScreen.
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> detail to pass to the theme engine, or %NULL.
Note that passing a detail of anything but %NULL
will disable caching.
</parameter_description>
</parameter>
</parameters>
<return> a #GdkPixbuf to be displayed

</return>
</function>

<function name="gtk_icon_set_render_icon_pixbuf">
<description>
Renders an icon using gtk_render_icon_pixbuf(). In most cases,
gtk_widget_render_icon_pixbuf() is better, since it automatically provides
most of the arguments from the current widget settings.  This
function never returns %NULL; if the icon can't be rendered
(perhaps because an image file fails to load), a default &quot;missing
image&quot; icon will be returned instead.

Since: 3.0

</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> icon size. A size of (GtkIconSize)-1
means render at the size of the source and don't scale.
</parameter_description>
</parameter>
</parameters>
<return> a #GdkPixbuf to be displayed

</return>
</function>

<function name="gtk_icon_set_unref">
<description>
Decrements the reference count on @icon_set, and frees memory
if the reference count reaches 0.

</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_size_from_name">
<description>
Looks up the icon size associated with @name.


</description>
<parameters>
<parameter name="name">
<parameter_description> the name to look up.
</parameter_description>
</parameter>
</parameters>
<return> the icon size
</return>
</function>

<function name="gtk_icon_size_get_name">
<description>
Gets the canonical name of the given icon size. The returned string
is statically allocated and should not be freed.


</description>
<parameters>
<parameter name="size">
<parameter_description> a #GtkIconSize.
</parameter_description>
</parameter>
</parameters>
<return> the name of the given icon size.
</return>
</function>

<function name="gtk_icon_size_lookup">
<description>
Obtains the pixel size of a semantic icon size, possibly
modified by user preferences for the default #GtkSettings.
(See gtk_icon_size_lookup_for_settings().)
Normally @size would be
#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc.  This function
isn't normally needed, gtk_widget_render_icon_pixbuf() is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by gtk_icon_size_lookup(), because themes
are free to render the pixbuf however they like, including changing
the usual size.


</description>
<parameters>
<parameter name="size">
<parameter_description> an icon size
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to store icon width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to store icon height
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @size was a valid size
</return>
</function>

<function name="gtk_icon_size_lookup_for_settings">
<description>
Obtains the pixel size of a semantic icon size, possibly
modified by user preferences for a particular
#GtkSettings. Normally @size would be
#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc.  This function
isn't normally needed, gtk_widget_render_icon_pixbuf() is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by gtk_icon_size_lookup(), because themes
are free to render the pixbuf however they like, including changing
the usual size.

Since: 2.2

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkSettings object, used to determine
which set of user preferences to used.
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> an icon size
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to store icon width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to store icon height
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @size was a valid size

</return>
</function>

<function name="gtk_icon_size_register">
<description>
Registers a new icon size, along the same lines as #GTK_ICON_SIZE_MENU,
etc. Returns the integer value for the size.


</description>
<parameters>
<parameter name="name">
<parameter_description> name of the icon size
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the icon width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the icon height
</parameter_description>
</parameter>
</parameters>
<return> integer value representing the size
</return>
</function>

<function name="gtk_icon_size_register_alias">
<description>
Registers @alias as another name for @target.
So calling gtk_icon_size_from_name() with @alias as argument
will return @target.

</description>
<parameters>
<parameter name="alias">
<parameter_description> an alias for @target
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> an existing icon size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_copy">
<description>
Creates a copy of @source; mostly useful for language bindings.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkIconSource
</return>
</function>

<function name="gtk_icon_source_free">
<description>
Frees a dynamically-allocated icon source, along with its
filename, size, and pixbuf fields if those are not %NULL.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_get_direction">
<description>
Obtains the text direction this icon source applies to. The return
value is only useful/meaningful if the text direction is &lt;emphasis&gt;not&lt;/emphasis&gt;
wildcarded.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> text direction this source matches
</return>
</function>

<function name="gtk_icon_source_get_direction_wildcarded">
<description>
Gets the value set by gtk_icon_source_set_direction_wildcarded().


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if this icon source is a base for any text direction variant
</return>
</function>

<function name="gtk_icon_source_get_filename">
<description>
Retrieves the source filename, or %NULL if none is set. The
filename is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> image filename. This string must not
be modified or freed.
</return>
</function>

<function name="gtk_icon_source_get_icon_name">
<description>
Retrieves the source icon name, or %NULL if none is set. The
icon_name is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> icon name. This string must not be modified or freed.
</return>
</function>

<function name="gtk_icon_source_get_pixbuf">
<description>
Retrieves the source pixbuf, or %NULL if none is set.
In addition, if a filename source is in use, this
function in some cases will return the pixbuf from
loaded from the filename. This is, for example, true
for the GtkIconSource passed to the GtkStyle::render_icon()
virtual function. The reference count on the pixbuf is
not incremented.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> source pixbuf
</return>
</function>

<function name="gtk_icon_source_get_size">
<description>
Obtains the icon size this source applies to. The return value
is only useful/meaningful if the icon size is &lt;emphasis&gt;not&lt;/emphasis&gt; wildcarded.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> icon size this source matches.
</return>
</function>

<function name="gtk_icon_source_get_size_wildcarded">
<description>
Gets the value set by gtk_icon_source_set_size_wildcarded().


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if this icon source is a base for any icon size variant
</return>
</function>

<function name="gtk_icon_source_get_state">
<description>
Obtains the widget state this icon source applies to. The return
value is only useful/meaningful if the widget state is &lt;emphasis&gt;not&lt;/emphasis&gt;
wildcarded.


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> widget state this source matches
</return>
</function>

<function name="gtk_icon_source_get_state_wildcarded">
<description>
Gets the value set by gtk_icon_source_set_state_wildcarded().


</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if this icon source is a base for any widget state variant
</return>
</function>

<function name="gtk_icon_source_new">
<description>
Creates a new #GtkIconSource. A #GtkIconSource contains a #GdkPixbuf (or
image filename) that serves as the base image for one or more of the
icons in a #GtkIconSet, along with a specification for which icons in the
icon set will be based on that pixbuf or image file. An icon set contains
a set of icons that represent &quot;the same&quot; logical concept in different states,
different global text directions, and different sizes.

So for example a web browser's &quot;Back to Previous Page&quot; icon might
point in a different direction in Hebrew and in English; it might
look different when insensitive; and it might change size depending
on toolbar mode (small/large icons). So a single icon set would
contain all those variants of the icon. #GtkIconSet contains a list
of #GtkIconSource from which it can derive specific icon variants in
the set.

In the simplest case, #GtkIconSet contains one source pixbuf from
which it derives all variants. The convenience function
gtk_icon_set_new_from_pixbuf() handles this case; if you only have
one source pixbuf, just use that function.

If you want to use a different base pixbuf for different icon
variants, you create multiple icon sources, mark which variants
they'll be used to create, and add them to the icon set with
gtk_icon_set_add_source().

By default, the icon source has all parameters wildcarded. That is,
the icon source will be used as the base icon for any desired text
direction, widget state, or icon size.


</description>
<parameters>
</parameters>
<return> a new #GtkIconSource
</return>
</function>

<function name="gtk_icon_source_set_direction">
<description>
Sets the text direction this icon source is intended to be used
with.

Setting the text direction on an icon source makes no difference
if the text direction is wildcarded. Therefore, you should usually
call gtk_icon_source_set_direction_wildcarded() to un-wildcard it
in addition to calling this function.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> text direction this source applies to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_direction_wildcarded">
<description>
If the text direction is wildcarded, this source can be used
as the base image for an icon in any #GtkTextDirection.
If the text direction is not wildcarded, then the
text direction the icon source applies to should be set
with gtk_icon_source_set_direction(), and the icon source
will only be used with that text direction.

#GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to wildcard the text direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_filename">
<description>
Sets the name of an image file to use as a base image when creating
icon variants for #GtkIconSet. The filename must be absolute.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> image file to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_icon_name">
<description>
Sets the name of an icon to look up in the current icon theme
to use as a base image when creating icon variants for #GtkIconSet.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> name of icon to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_pixbuf">
<description>
Sets a pixbuf to use as a base image when creating icon variants
for #GtkIconSet.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> pixbuf to use as a source
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_size">
<description>
Sets the icon size this icon source is intended to be used
with.

Setting the icon size on an icon source makes no difference
if the size is wildcarded. Therefore, you should usually
call gtk_icon_source_set_size_wildcarded() to un-wildcard it
in addition to calling this function.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> icon size this source applies to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_size_wildcarded">
<description>
If the icon size is wildcarded, this source can be used as the base
image for an icon of any size.  If the size is not wildcarded, then
the size the source applies to should be set with
gtk_icon_source_set_size() and the icon source will only be used
with that specific size.

#GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.

#GtkIconSet will normally scale wildcarded source images to produce
an appropriate icon at a given size, but will not change the size
of source images that match exactly.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to wildcard the widget state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_state">
<description>
Sets the widget state this icon source is intended to be used
with.

Setting the widget state on an icon source makes no difference
if the state is wildcarded. Therefore, you should usually
call gtk_icon_source_set_state_wildcarded() to un-wildcard it
in addition to calling this function.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> widget state this source applies to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_source_set_state_wildcarded">
<description>
If the widget state is wildcarded, this source can be used as the
base image for an icon in any #GtkStateType.  If the widget state
is not wildcarded, then the state the source applies to should be
set with gtk_icon_source_set_state() and the icon source will
only be used with that specific state.

#GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.

#GtkIconSet will normally transform wildcarded source images to
produce an appropriate icon for a given state, for example
lightening an image on prelight, but will not modify source images
that match exactly.

</description>
<parameters>
<parameter name="source">
<parameter_description> a #GtkIconSource
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to wildcard the widget state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_icon_theme_add_builtin_icon">
<description>
Registers a built-in icon for icon theme lookups. The idea
of built-in icons is to allow an application or library
that uses themed icons to function requiring files to
be present in the file system. For instance, the default
images for all of GTK+'s stock icons are registered
as built-icons.

In general, if you use gtk_icon_theme_add_builtin_icon()
you should also install the icon in the icon theme, so
that the icon is generally available.

This function will generally be used with pixbufs loaded
via gdk_pixbuf_new_from_inline().

Since: 2.4

</description>
<parameters>
<parameter name="icon_name">
<parameter_description> the name of the icon to register
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the size at which to register the icon (different
images can be registered for the same icon name
at different sizes.)
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> #GdkPixbuf that contains the image to use
for @icon_name.
</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(). 

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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_choose_icon">
<description>
Looks up a named icon and returns a structure containing
information such as the filename of the icon. The icon
can then be rendered into a pixbuf using
gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
combines these two steps if all you need is the pixbuf.)

If @icon_names contains more than one name, this function 
tries them all in the given order before falling back to 
inherited icon themes.

Since: 2.12

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="icon_names">
<parameter_description> %NULL-terminated array of
icon names to lookup
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> desired icon size
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags modifying the behavior of the icon lookup
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconInfo object containing information
about the icon, or %NULL if the icon wasn't found.

</return>
</function>

<function name="gtk_icon_theme_get_default">
<description>
Gets the icon theme for the default screen. See
gtk_icon_theme_get_for_screen().

Since: 2.4

</description>
<parameters>
</parameters>
<return> A unique #GtkIconTheme associated with
the default screen. This icon theme is associated with
the screen and can be used as long as the screen
is open. Do not ref or unref it.

</return>
</function>

<function name="gtk_icon_theme_get_example_icon_name">
<description>
Gets the name of an icon that is representative of the
current theme (for instance, to use when presenting
a list of themes to the user.)

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
</parameters>
<return> the name of an example icon or %NULL.
Free with g_free().

</return>
</function>

<function name="gtk_icon_theme_get_for_screen">
<description>
Gets the icon theme object associated with @screen; if this
function has not previously been called for the given
screen, a new icon theme object will be created and
associated with the screen. Icon theme objects are
fairly expensive to create, so using this function
is usually a better choice than calling than gtk_icon_theme_new()
and setting the screen yourself; by using this function
a single icon theme object will be shared between users.

Since: 2.4

</description>
<parameters>
<parameter name="screen">
<parameter_description> a #GdkScreen
</parameter_description>
</parameter>
</parameters>
<return> A unique #GtkIconTheme associated with
the given screen. This icon theme is associated with
the screen and can be used as long as the screen
is open. Do not ref or unref it.

</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.

Since: 2.6

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> the name of an icon
</parameter_description>
</parameter>
</parameters>
<return> An 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().

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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.

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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 @icon_theme includes an
icon for @icon_name.

</return>
</function>

<function name="gtk_icon_theme_list_contexts">
<description>
Gets the list of contexts available within the current
hierarchy of icon themes

Since: 2.12

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
</parameters>
<return> a #GList list
holding the names of all the contexts in the theme. You must first
free each element in the list with g_free(), then free the list
itself with g_list_free().

</return>
</function>

<function name="gtk_icon_theme_list_icons">
<description>
Lists the icons in the current icon theme. Only a subset
of the icons can be listed by providing a context string.
The set of values for the context string is system dependent,
but will typically include such values as &quot;Applications&quot; and
&quot;MimeTypes&quot;.

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> a string identifying a particular type of
icon, or %NULL to list all icons.
</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_load_icon">
<description>
Looks up an icon in an icon theme, scales it to the given size
and renders it into a pixbuf. This is a convenience function;
if more details about the icon are needed, use
gtk_icon_theme_lookup_icon() followed by gtk_icon_info_load_icon().

Note that you probably want to listen for icon theme changes and
update the icon. This is usually done by connecting to the
GtkWidget::style-set signal. If for some reason you do not want to
update the icon when the icon theme changes, you should consider
using gdk_pixbuf_copy() to make a private copy of the pixbuf
returned by this function. Otherwise GTK+ may need to keep the old
icon theme loaded, which would be a waste of memory.

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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="size">
<parameter_description> the desired icon size. The resulting icon may not be
exactly this size; see gtk_icon_info_load_icon().
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags modifying the behavior of the icon lookup
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> Location to store error information on failure,
or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> the rendered icon; this may be a
newly created icon or a new reference to an internal icon, so
you must not modify the icon. Use g_object_unref() to release
your reference to the icon. %NULL if the icon isn't found.

</return>
</function>

<function name="gtk_icon_theme_lookup_by_gicon">
<description>
Looks up an icon and returns a structure containing
information such as the filename of the icon. 
The icon can then be rendered into a pixbuf using
gtk_icon_info_load_icon().

Since: 2.14

</description>
<parameters>
<parameter name="icon_theme">
<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="flags">
<parameter_description> flags modifying the behavior of the icon lookup
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconInfo structure containing 
information about the icon, or %NULL if the icon 
wasn't found. Unref with g_object_unref()

</return>
</function>

<function name="gtk_icon_theme_lookup_icon">
<description>
Looks up a named icon and returns a structure containing
information such as the filename of the icon. The icon
can then be rendered into a pixbuf using
gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
combines these two steps if all you need is the pixbuf.)

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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="size">
<parameter_description> desired icon size
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags modifying the behavior of the icon lookup
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconInfo object containing information
about the icon, or %NULL if the icon wasn't found.

</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_default()
or gtk_icon_theme_get_for_screen() rather than creating
a new icon theme object for scratch.

Since: 2.4

</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().

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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_rescan_if_needed">
<description>
Checks to see if the icon theme has changed; if it has, any
currently cached information is discarded and will be reloaded
next time @icon_theme is accessed.

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the icon theme has changed and needed
to be reloaded.

</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_default()
and gtk_icon_theme_get_for_screen().

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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_screen">
<description>
Sets the screen for an icon theme; the screen is used
to track the user's currently configured icon theme,
which might be different for different screens.

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<parameter_description> a #GtkIconTheme
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> a #GdkScreen
</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. (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 default icon theme, which is called DEFAULT_THEME_NAME,
rather than directly on the icon path.)

Since: 2.4

</description>
<parameters>
<parameter name="icon_theme">
<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_convert_widget_to_bin_window_coords">
<description>
Converts widget coordinates to coordinates for the bin_window,
as expected by e.g. gtk_icon_view_get_path_at_pos(). 

Since: 2.12

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView 
</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_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.

Since: 2.8

</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.

Since: 2.8

</description>
<parameters>
<parameter name="icon_view">
<parameter_description> a #GtkIconView
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> the table of targets that the drag will
support
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the number of items in @targets
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the bitmask of possible actions for a drag to this
widget
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 2.8

</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="targets">
<parameter_description> the table of targets that the drag will
support
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the number of items in @targets
</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().

Since: 3.8

</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.

Since: 3.6

</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.

Since: 2.6

</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.

Since: 2.6

</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().

Since: 2.8

</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.

Since: 2.8

</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.

Since: 2.8

</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>
Finds the path at the point (@x, @y), relative to bin_window coordinates.
In contrast to gtk_icon_view_get_path_at_pos(), this function also 
obtains the cell at the specified position. The returned path should
be freed with gtk_tree_path_free().
See gtk_icon_view_convert_widget_to_bin_window_coords() for converting
widget coordinates to bin_window coordinates.

Since: 2.8

</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.

Since: 2.22

</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. 

Since: 2.6

</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.

Since: 2.18

</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.

Since: 2.22

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6 

</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>
Finds the path at the point (@x, @y), relative to bin_window coordinates.
See gtk_icon_view_get_item_at_pos(), if you are also interested in
the cell at the specified position. 
See gtk_icon_view_convert_widget_to_bin_window_coords() for converting
widget coordinates to bin_window coordinates.

Since: 2.6 

</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.

Since: 2.6

</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().

Since: 2.8

</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.

Since: 2.6

</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 #GtkTreeRowReference&lt;!-- --&gt;s.
To do this, you can use gtk_tree_row_reference_new().

To free the return value, use:
|[
g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
]|

Since: 2.6

</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.

Since: 2.6 

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.12

</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. @x and @y will always be converted
to be relative to @icon_view's bin_window if @keyboard_tooltip is %FALSE.

Since: 2.12

</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 a 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.

Since: 2.8

</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.

Since: 2.6

</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

Since: 2.6

</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.

Since: 3.0

</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.

Since: 2.6 

</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.

Since: 2.6

</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.

Since: 2.8

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.6 

</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.

Since: 3.8

</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.

Since: 2.6

</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. 

Since: 2.6

</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 &lt;literal&gt;gtk_widget_grab_focus 
(icon_view)&lt;/literal&gt; in order to give keyboard focus to the widget.  
Please note that editing can only happen when the widget is realized.

Since: 2.8

</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.

Since: 2.8

</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.

Since: 2.6

</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.

Since: 2.18

</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.

Since: 2.6

</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.

Since: 2.6

</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().

Since: 2.6

</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.

Since: 2.6 

</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

Since: 2.6 

</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.

Since: 2.8

</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.

Since: 2.6

</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.

Since: 2.6 

</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.

Since: 2.6

</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.

Since: 2.6 

</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.

Since: 2.12

</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.

Since: 2.12

</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().

Since: 2.12

</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.8

</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.

Since: 2.8

</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_window">
<description>
Set the client window for the input context; this is the
#GdkWindow in which the input appears. This window is
used in order to correctly position status windows, and may
also be used for purposes internal to the input method.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMContext
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description>  the client window. This may be %NULL to indicate
that the previous client window 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_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_append_menuitems">
<description>
Add menuitems for various available input methods to a menu;
the menuitems, when selected, will switch the input method
for the context and the global default input method.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkIMMulticontext
</parameter_description>
</parameter>
<parameter name="menushell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_im_multicontext_get_context_id">
<description>
Gets the id of the currently active slave of the @context.

Since: 2.16

</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.

Since: 2.16

</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.

Since: 2.8

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_get_animation">
<description>
Gets the #GdkPixbufAnimation being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_ANIMATION (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned animation.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> the displayed animation, or %NULL if
the image is empty
</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.

Since: 2.14

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="gicon">
<parameter_description> place to store a
#GIcon, or %NULL
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> place to store an icon size,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 2.6

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> place to store an
icon name, or %NULL
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> place to store an icon size,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_get_icon_set">
<description>
Gets the icon set and size being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_ICON_SET (see gtk_image_get_storage_type()).

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon_set">
<parameter_description> location to store a
#GtkIconSet, or %NULL
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> location to store a stock
icon size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_get_pixbuf">
<description>
Gets the #GdkPixbuf being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_PIXBUF (see gtk_image_get_storage_type()).
The caller of this function does not own a reference to the
returned pixbuf.


</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
</parameters>
<return> the displayed pixbuf, 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.

Since: 2.6

</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_stock">
<description>
Gets the stock icon name and size being displayed by the #GtkImage.
The storage type of the image must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_STOCK (see gtk_image_get_storage_type()).
The returned string is owned by the #GtkImage and should not
be freed.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> place to store a
stock icon name, or %NULL
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> place to store a stock icon
size, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></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_menu_item_get_always_show_image">
<description>
Returns whether the menu item will ignore the #GtkSettings:gtk-menu-images
setting and always show the image, if available.

Since: 2.16

</description>
<parameters>
<parameter name="image_menu_item">
<parameter_description> a #GtkImageMenuItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the menu item will always show the image

</return>
</function>

<function name="gtk_image_menu_item_get_image">
<description>
Gets the widget that is currently set as the image of @image_menu_item.
See gtk_image_menu_item_set_image().


</description>
<parameters>
<parameter name="image_menu_item">
<parameter_description> a #GtkImageMenuItem
</parameter_description>
</parameter>
</parameters>
<return> the widget set as image of @image_menu_item
</return>
</function>

<function name="gtk_image_menu_item_get_use_stock">
<description>
Checks whether the label set in the menuitem is used as a
stock id to select the stock item for the item.

Since: 2.16

</description>
<parameters>
<parameter name="image_menu_item">
<parameter_description> a #GtkImageMenuItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the label set in the menuitem is used as a
stock id to select the stock item for the item

</return>
</function>

<function name="gtk_image_menu_item_new">
<description>
Creates a new #GtkImageMenuItem with an empty label.


</description>
<parameters>
</parameters>
<return> a new #GtkImageMenuItem
</return>
</function>

<function name="gtk_image_menu_item_new_from_stock">
<description>
Creates a new #GtkImageMenuItem containing the image and text from a
stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
and #GTK_STOCK_APPLY.

If you want this menu item to have changeable accelerators, then pass in
%NULL for accel_group. Next call gtk_menu_item_set_accel_path() with an
appropriate path for the menu item, use gtk_stock_lookup() to look up the
standard accelerator for the stock item, and if one is found, call
gtk_accel_map_add_entry() to register it.


</description>
<parameters>
<parameter name="stock_id">
<parameter_description> the name of the stock item.
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> the #GtkAccelGroup to add the menu items
accelerator to, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImageMenuItem.
</return>
</function>

<function name="gtk_image_menu_item_new_with_label">
<description>
Creates a new #GtkImageMenuItem containing a label.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text of the menu item.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImageMenuItem.
</return>
</function>

<function name="gtk_image_menu_item_new_with_mnemonic">
<description>
Creates a new #GtkImageMenuItem containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the menu item.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text of the menu item, with an underscore in front of the
mnemonic character
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImageMenuItem
</return>
</function>

<function name="gtk_image_menu_item_set_accel_group">
<description>
Specifies an @accel_group to add the menu items accelerator to
(this only applies to stock items so a stock item must already
be set, make sure to call gtk_image_menu_item_set_use_stock()
and gtk_menu_item_set_label() with a valid stock item first).

If you want this menu item to have changeable accelerators then
you shouldnt need this (see gtk_image_menu_item_new_from_stock()).

Since: 2.16

</description>
<parameters>
<parameter name="image_menu_item">
<parameter_description> a #GtkImageMenuItem
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> the #GtkAccelGroup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_menu_item_set_always_show_image">
<description>
If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images
setting and always show the image, if available.

Use this property if the menuitem would be useless or hard to use
without the image.

Since: 2.16

</description>
<parameters>
<parameter name="image_menu_item">
<parameter_description> a #GtkImageMenuItem
</parameter_description>
</parameter>
<parameter name="always_show">
<parameter_description> %TRUE if the menuitem should always show the image
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_menu_item_set_image">
<description>
Sets the image of @image_menu_item to the given widget.
Note that it depends on the show-menu-images setting whether
the image will be displayed or not.

</description>
<parameters>
<parameter name="image_menu_item">
<parameter_description> a #GtkImageMenuItem.
</parameter_description>
</parameter>
<parameter name="image">
<parameter_description> a widget to set as the image for the menu item.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_menu_item_set_use_stock">
<description>
If %TRUE, the label set in the menuitem is used as a
stock id to select the stock item for the item.

Since: 2.16

</description>
<parameters>
<parameter name="image_menu_item">
<parameter_description> a #GtkImageMenuItem
</parameter_description>
</parameter>
<parameter name="use_stock">
<parameter_description> %TRUE if the menuitem should use a stock item
</parameter_description>
</parameter>
</parameters>
<return></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_animation">
<description>
Creates a #GtkImage displaying the given animation.
The #GtkImage does not assume a reference to the
animation; you still need to unref it if you own references.
#GtkImage will add its own reference rather than adopting yours.

Note that the animation frames are shown using a timeout with
#G_PRIORITY_DEFAULT. When using animations to indicate busyness,
keep in mind that the animation will only be shown if the main loop
is not busy with something that has a higher priority.


</description>
<parameters>
<parameter name="animation">
<parameter_description> an animation
</parameter_description>
</parameter>
</parameters>
<return> a new #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 &quot;broken image&quot; icon. This function never returns %NULL,
it always returns a valid #GtkImage widget.

If the file contains an animation, the image will contain an
animation.

If you need to detect failures to load the file, use
gdk_pixbuf_new_from_file() to load the file yourself, then create
the #GtkImage from the pixbuf. (Or for animations, use
gdk_pixbuf_animation_new_from_file()).

The storage type (gtk_image_get_storage_type()) of the returned
image is not defined, it will be whatever is appropriate for
displaying the file.


</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 &quot;broken image&quot; icon will be
displayed instead.  If the current icon theme is changed, the icon
will be updated appropriately.

Since: 2.14

</description>
<parameters>
<parameter name="icon">
<parameter_description> an icon
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock icon size
</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 &quot;broken image&quot; icon will be
displayed instead.  If the current icon theme is changed, the icon
will be updated appropriately.

Since: 2.6

</description>
<parameters>
<parameter name="icon_name">
<parameter_description> an icon name
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock icon size
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage displaying the themed icon

</return>
</function>

<function name="gtk_image_new_from_icon_set">
<description>
Creates a #GtkImage displaying an icon set. Sample stock sizes are
#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. Instead of using
this function, usually it's better to create a #GtkIconFactory, put
your icon sets in the icon factory, add the icon factory to the
list of default factories with gtk_icon_factory_add_default(), and
then use gtk_image_new_from_stock(). This will allow themes to
override the icon you ship with your application.

The #GtkImage does not assume a reference to the
icon set; you still need to unref it if you own references.
#GtkImage will add its own reference rather than adopting yours.


</description>
<parameters>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock icon size
</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.

Note that this function just creates an #GtkImage from the pixbuf. The
#GtkImage created will not react to state changes. Should you want that, 
you should use gtk_image_new_from_icon_set().


</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 &quot;broken image&quot; icon. This function never returns %NULL,
it always returns a valid #GtkImage widget.

If the file contains an animation, the image will contain an
animation.

If you need to detect failures to load the file, use
gdk_pixbuf_new_from_file() to load the file yourself, then create
the #GtkImage from the pixbuf. (Or for animations, use
gdk_pixbuf_animation_new_from_file()).

The storage type (gtk_image_get_storage_type()) of the returned
image is not defined, it will be whatever is appropriate for
displaying the file.

Since: 3.4

</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_new_from_stock">
<description>
Creates a #GtkImage displaying a stock icon. Sample stock icon
names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. Sample stock sizes
are #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. If the stock
icon name isn't known, the image will be empty.
You can register your own stock icon names, see
gtk_icon_factory_add_default() and gtk_icon_factory_add().


</description>
<parameters>
<parameter name="stock_id">
<parameter_description> a stock icon name
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock icon size
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkImage displaying the stock icon
</return>
</function>

<function name="gtk_image_set_from_animation">
<description>
Causes the #GtkImage to display the given animation (or display
nothing, if you set the animation to %NULL).

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="animation">
<parameter_description> the #GdkPixbufAnimation
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 2.14

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> an icon
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> an icon size
</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.

Since: 2.6

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> an icon name
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> an icon size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_from_icon_set">
<description>
See gtk_image_new_from_icon_set() for details.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="icon_set">
<parameter_description> a #GtkIconSet
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock icon size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_image_set_from_pixbuf">
<description>
See gtk_image_new_from_pixbuf() for details.

</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_from_stock">
<description>
See gtk_image_new_from_stock() for details.

</description>
<parameters>
<parameter name="image">
<parameter_description> a #GtkImage
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> a stock icon name
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock 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().

Since: 2.6

</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.

Since: 2.18

</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 (or a stock button, if button_text
is a stock ID) and sets things up so that clicking the button will emit
the &quot;response&quot; signal with the given response_id. The button is appended
to the end of the info bars's action area. The button widget is
returned, but usually you don't need it.

Since: 2.18

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="button_text">
<parameter_description> text of button, or stock ID
</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.

Since: 2.18

</description>
<parameters>
<parameter name="info_bar">
<parameter_description> a #GtkInfoBar
</parameter_description>
</parameter>
<parameter name="first_button_text">
<parameter_description> button text or stock ID
</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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_new">
<description>
Creates a new #GtkInfoBar object.

Since: 2.18

</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.
Button text can be either a stock ID such as %GTK_STOCK_OK, or
some arbitrary text. A response ID can be any positive number,
or one of the values in the #GtkResponseType enumeration. If the
user clicks one of these dialog buttons, GtkInfoBar will emit
the &quot;response&quot; signal with the corresponding response ID.


</description>
<parameters>
<parameter name="first_button_text">
<parameter_description> stock ID or 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 #GtkInfoBar
</return>
</function>

<function name="gtk_info_bar_response">
<description>
Emits the 'response' signal with the given @response_id.

Since: 2.18

</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 &quot;Enter&quot; normally activates the default widget.

Note that this function currently requires @info_bar to
be added to a widget hierarchy. 

Since: 2.18

</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 what color to use
when drawing the message area.

Since: 2.18

</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.

Since: 2.18

</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_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.

Although you are expected to pass the @argc, @argv parameters from main() to 
this function, it is possible to pass %NULL if @argv is not available or 
commandline handling is not required.

@argc and @argv are adjusted accordingly so your own code will
never see those standard arguments.

Note that there are some alternative ways to initialize GTK+:
if you are calling gtk_parse_args(), gtk_init_check(),
gtk_init_with_args() or g_option_context_parse() with
the option group returned by gtk_get_option_group(),
you &lt;emphasis&gt;don't&lt;/emphasis&gt; have to call gtk_init().

&lt;note&gt;&lt;para&gt;
This function will terminate your program if it was unable to
initialize the 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.
&lt;/para&gt;&lt;/note&gt;

&lt;note&gt;&lt;para&gt;
Since 2.18, GTK+ calls &lt;literal&gt;signal (SIGPIPE, SIG_IGN)&lt;/literal&gt;
during initialization, to ignore SIGPIPE signals, since these are
almost never wanted in graphical applications. If you do need to
handle SIGPIPE for some reason, reset the handler after gtk_init(),
but notice that other libraries (e.g. libdbus or gvfs) might do
similar things.
&lt;/para&gt;&lt;/note&gt;

</description>
<parameters>
<parameter name="argc">
<parameter_description> Address of the &lt;parameter&gt;argc&lt;/parameter&gt; parameter of
your main() function (or 0 if @argv is %NULL). This will be changed if 
any arguments were handled.
</parameter_description>
</parameter>
<parameter name="argv">
<parameter_description> Address of the
&lt;parameter&gt;argv&lt;/parameter&gt; parameter of main(), or %NULL. Any options
understood by GTK+ are stripped before return.
</parameter_description>
</parameter>
</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>
<parameter name="argc">
<parameter_description> Address of the &lt;parameter&gt;argc&lt;/parameter&gt; parameter of
your main() function (or 0 if @argv is %NULL). This will be changed if 
any arguments were handled.
</parameter_description>
</parameter>
<parameter name="argv">
<parameter_description> Address of the
&lt;parameter&gt;argv&lt;/parameter&gt; parameter of main(), or %NULL. Any options
understood by GTK+ are stripped before return.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the windowing system has been successfully
initialized, %FALSE otherwise
</return>
</function>

<function name="gtk_init_with_args">
<description>
This function does the same work as gtk_init_check().
Additionally, it allows you to add your own commandline options,
and it automatically generates nicely formatted
&lt;option&gt;--help&lt;/option&gt; output. Note that your program will
be terminated after writing out the help output.

Since: 2.6

</description>
<parameters>
<parameter name="argc">
<parameter_description> Address of the &lt;parameter&gt;argc&lt;/parameter&gt; parameter of
your main() function (or 0 if @argv is %NULL). This will be changed if 
any arguments were handled.
</parameter_description>
</parameter>
<parameter name="argv">
<parameter_description> Address of the
&lt;parameter&gt;argv&lt;/parameter&gt; parameter of main(), or %NULL. Any options
understood by GTK+ are stripped before return.
</parameter_description>
</parameter>
<parameter name="parameter_string">
<parameter_description> a string which is displayed in
the first line of &lt;option&gt;--help&lt;/option&gt; output, after
&lt;literal&gt;&lt;replaceable&gt;programname&lt;/replaceable&gt; [OPTION...]&lt;/literal&gt;
</parameter_description>
</parameter>
<parameter name="entries">
<parameter_description> a %NULL-terminated array
of #GOptionEntrys describing the options of your program
</parameter_description>
</parameter>
<parameter name="translation_domain">
<parameter_description> a translation domain to use for translating
the &lt;option&gt;--help&lt;/option&gt; output for the options in @entries
and the @parameter_string with gettext(), or %NULL
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> a return location for errors
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the windowing system has been successfully
initialized, %FALSE otherwise

</return>
</function>

<function name="gtk_invisible_get_screen">
<description>
Returns the #GdkScreen object associated with @invisible

Since: 2.2

</description>
<parameters>
<parameter name="invisible">
<parameter_description> a #GtkInvisible.
</parameter_description>
</parameter>
</parameters>
<return> the associated #GdkScreen.

</return>
</function>

<function name="gtk_invisible_new">
<description>
Creates a new #GtkInvisible.


</description>
<parameters>
</parameters>
<return> a new #GtkInvisible.
</return>
</function>

<function name="gtk_invisible_new_for_screen">
<description>
Creates a new #GtkInvisible object for a specified screen

Since: 2.2

</description>
<parameters>
<parameter name="screen">
<parameter_description> a #GdkScreen which identifies on which
the new #GtkInvisible will be created.
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkInvisible object

</return>
</function>

<function name="gtk_invisible_set_screen">
<description>
Sets the #GdkScreen where the #GtkInvisible object will be displayed.

Since: 2.2

</description>
<parameters>
<parameter name="invisible">
<parameter_description> a #GtkInvisible.
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> a #GdkScreen.
</parameter_description>
</parameter>
</parameters>
<return></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_key_snooper_install">
<description>
Installs a key snooper function, which will get called on all
key events before delivering them normally.

Deprecated: 3.4: Key snooping should not be done. Events should
be handled by widgets.

</description>
<parameters>
<parameter name="snooper">
<parameter_description> a #GtkKeySnoopFunc
</parameter_description>
</parameter>
<parameter name="func_data">
<parameter_description> data to pass to @snooper
</parameter_description>
</parameter>
</parameters>
<return> a unique id for this key snooper for use with
gtk_key_snooper_remove().

</return>
</function>

<function name="gtk_key_snooper_remove">
<description>
Removes the key snooper function with the given id.

Deprecated: 3.4: Key snooping should not be done. Events should
be handled by widgets.

</description>
<parameters>
<parameter name="snooper_handler_id">
<parameter_description> Identifies the key snooper to remove
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_get_angle">
<description>
Gets the angle of rotation for the label. See
gtk_label_set_angle().

Since: 2.6

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the angle of rotation for the label

</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.

Since: 2.18

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> the currently active URI. 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().

Since: 2.6

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
</parameters>
<return> #PangoEllipsizeMode

</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. Of course you will need to
create a #GtkEventBox to receive the events, and pack the label
inside it, since labels are a #GTK_NO_WINDOW widget. Remember
when using the #PangoLayout functions you need to convert to
and from pixels using PANGO_PIXELS() or #PANGO_SCALE.

</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_line_wrap">
<description>
Returns whether lines in the label are automatically wrapped. 
See gtk_label_set_line_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_line_wrap_mode">
<description>
Returns line wrap mode used by the label. See gtk_label_set_line_wrap_mode().

Since: 2.10

</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_max_width_chars">
<description>
Retrieves the desired maximum width of @label, in characters. See
gtk_label_set_width_chars().

Since: 2.6

</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 an 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.

Since: 2.6

</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.

Since: 2.18

</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 &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;. 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().

Since: 2.6

</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_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_angle">
<description>
Sets the angle of rotation for the label. An angle of 90 reads from
from bottom to top, an angle of 270, from top to bottom. The angle
setting for the label is ignored if the label is selectable,
wrapped, or ellipsized.

Since: 2.6

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="angle">
<parameter_description> the angle that the baseline of the label makes with
the horizontal, in degrees, measured counterclockwise
</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. 

&lt;note&gt;&lt;para&gt;The attributes set with this function will be applied
and merged with any other attributes previously effected by way
of the #GtkLabel:use-underline or #GtkLabel:use-markup properties.
While it is not recommended to mix markup strings with manually set
attributes, if you must; know that the attributes will be applied
to the label after the markup string is parsed.&lt;/para&gt;&lt;/note&gt;

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> a #PangoAttrList
</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.

Since: 2.6

</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_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_misc_set_alignment() 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&quot; 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_line_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_line_wrap_mode">
<description>
If line wrapping is on (see gtk_label_set_line_wrap()) this controls how
the line wrapping is done. The default is %PANGO_WRAP_WORD which means
wrap on word boundaries.

Since: 2.10

</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_markup">
<description>
Parses @str which is marked up with the &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;, setting the
label's text and attribute list based on the parse results. If the @str is
external data, you may need to escape it with g_markup_escape_text() or
g_markup_printf_escaped()&lt;!-- --&gt;:
|[
char *markup;

markup = g_markup_printf_escaped (&quot;&lt;span style=\&quot;italic\&quot;&gt;%s&lt;/span&gt;&quot;, str);
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
]|

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> a markup string (see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup format&lt;/link&gt;)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_label_set_markup_with_mnemonic">
<description>
Parses @str which is marked up with the
&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;,
setting the label'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
&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup format&lt;/link&gt;)
</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.

Since: 2.6

</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 an mnemonic key (using
i.e. gtk_label_set_markup_with_mnemonic(),
gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic()
or the &quot;use_underline&quot; property) the label can be associated with a
widget that is the target of the mnemonic. When the label is inside
a widget (like a #GtkButton or a #GtkNotebook tab) it is
automatically associated with the correct widget, but sometimes
(i.e. when the target is a #GtkEntry next to the label) you need to
set it explicitly using this function.

The target widget will be accelerated by emitting the 
GtkWidget::mnemonic-activate signal on it. The default handler for 
this signal will activate the widget if there are no mnemonic collisions 
and toggle focus between the colliding widgets otherwise.

</description>
<parameters>
<parameter name="label">
<parameter_description> a #GtkLabel
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the target #GtkWidget
</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
&quot;FooBarBaz&quot; passing a pattern of &quot;___   ___&quot; will underline
&quot;Foo&quot; and &quot;Baz&quot; but not &quot;Bar&quot;.

</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.

Since: 2.6

</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 will also clear any previously set mnemonic accelerators.

</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).

Since: 2.18

</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 &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango's text markup
language&lt;/link&gt;. 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.

Since: 2.6

</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_layout_get_bin_window">
<description>
Retrieve the bin window of the layout used for drawing operations.

Since: 2.14

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
</parameters>
<return> a #GdkWindow

</return>
</function>

<function name="gtk_layout_get_hadjustment">
<description>
This function should only be called after the layout has been
placed in a #GtkScrolledWindow or otherwise configured for
scrolling. It returns the #GtkAdjustment used for communication
between the horizontal scrollbar and @layout.

See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.

Deprecated: 3.0: Use gtk_scrollable_get_hadjustment()

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
</parameters>
<return> horizontal scroll adjustment

</return>
</function>

<function name="gtk_layout_get_size">
<description>
Gets the size that has been set on the layout, and that determines
the total extents of the layout's scrollbar area. See
gtk_layout_set_size ().

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to store the width set on
@layout, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to store the height set on
@layout, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_get_vadjustment">
<description>
This function should only be called after the layout has been
placed in a #GtkScrolledWindow or otherwise configured for
scrolling. It returns the #GtkAdjustment used for communication
between the vertical scrollbar and @layout.

See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.

Deprecated: 3.0: Use gtk_scrollable_get_vadjustment()

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
</parameters>
<return> vertical scroll adjustment

</return>
</function>

<function name="gtk_layout_move">
<description>
Moves a current child of @layout to a new position.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="child_widget">
<parameter_description> a current child of @layout
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X position to move to
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y position to move to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_new">
<description>
Creates a new #GtkLayout. Unless you have a specific adjustment
you'd like the layout to use for scrolling, pass %NULL for
@hadjustment and @vadjustment.


</description>
<parameters>
<parameter name="hadjustment">
<parameter_description> horizontal scroll adjustment, or %NULL
</parameter_description>
</parameter>
<parameter name="vadjustment">
<parameter_description> vertical scroll adjustment, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkLayout
</return>
</function>

<function name="gtk_layout_put">
<description>
Adds @child_widget to @layout, at position (@x,@y).
@layout becomes the new parent container of @child_widget.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="child_widget">
<parameter_description> child widget
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X position of child widget
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y position of child widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_set_hadjustment">
<description>
Sets the horizontal scroll adjustment for the layout.

See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.

Deprecated: 3.0: Use gtk_scrollable_set_hadjustment()

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> new scroll adjustment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_set_size">
<description>
Sets the size of the scrollable area of the layout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width of entire scrollable area
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height of entire scrollable area
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_layout_set_vadjustment">
<description>
Sets the vertical scroll adjustment for the layout.

See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.

Deprecated: 3.0: Use gtk_scrollable_set_vadjustment()

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #GtkLayout
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> new scroll adjustment
</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 &lt;literal&gt;level-&lt;/literal&gt;@name will be applied
when rendering the level bar fill.
If another offset marker named @name exists, its value will be
replaced by @value.

Since: 3.6

</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.

Since: 3.8

</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.

Since: 3.6

</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.

Since: 3.6

</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.

Since: 3.6

</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.

Since: 3.6

</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.

Since: 3.6

</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.

Since: 3.6

</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.

Since: 3.6

</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().

Since: 3.6

</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.

Since: 3.8

</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.

Since: 3.6

</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.

Since: 3.6

</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.

Since: 3.6

</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.

Since: 3.6

</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().

Since: 2.10

</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().

Since: 2.14

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.14

</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_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
&lt;literal&gt;gtk_list_store_insert_with_values (list_store, iter, position...)&lt;/literal&gt;
has the same effect as calling
|[
gtk_list_store_insert (list_store, iter, position);
gtk_list_store_set (list_store, iter, ...);
]|
with the difference that the former will only emit a row_inserted signal,
while the latter will emit row_inserted, row_changed and, if the list store
is sorted, rows_reordered. Since emitting the rows_reordered signal
repeatedly can affect the performance of the program,
gtk_list_store_insert_with_values() should generally be preferred when
inserting rows in a sorted list store.

Since: 2.6

</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.

Since: 2.6

</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>
&lt;warning&gt;This function is slow. Only use it for debugging and/or testing
purposes.&lt;/warning&gt;

Checks if the given iter is a valid iter for this #GtkListStore.

Since: 2.2

</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.

Since: 2.2

</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.

Since: 2.2

</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, &lt;literal&gt;gtk_list_store_new (3, G_TYPE_INT, G_TYPE_STRING,
GDK_TYPE_PIXBUF);&lt;/literal&gt; will create a new #GtkListStore with three columns, of type
int, string and #GdkPixbuf respectively.


</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.

Since: 2.2

</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&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;. 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 &quot;Foo&quot;, you would write &lt;literal&gt;gtk_list_store_set (store, iter,
0, &quot;Foo&quot;, -1)&lt;/literal&gt;.

The value will be 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.

Since: 2.12

</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.

Since: 2.2

</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.

Since: 3.2

</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.

Since: 3.2

</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.

Since: 3.2

</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_main">
<description>
Runs the main loop until gtk_main_quit() is called.

You can nest calls to gtk_main(). In that case gtk_main_quit()
will make the innermost invocation of the main loop return.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_main_do_event">
<description>
Processes a single GDK event.

This is public only to allow filtering of events between GDK and GTK+.
You will not usually need to call this function directly.

While you should not call this function directly, you might want to
know how exactly events are handled. So here is what this function
does with the event:

&lt;orderedlist&gt;
&lt;listitem&gt;&lt;para&gt;
Compress enter/leave notify events. If the event passed build an
enter/leave pair together with the next event (peeked from GDK), both
events are thrown away. This is to avoid a backlog of (de-)highlighting
widgets crossed by the pointer.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
Find the widget which got the event. If the widget can't be determined
the event is thrown away unless it belongs to a INCR transaction.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
Then the event is pushed onto a stack so you can query the currently
handled event with gtk_get_current_event().
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
The event is sent to a widget. If a grab is active all events for widgets
that are not in the contained in the grab widget are sent to the latter
with a few exceptions:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;
Deletion and destruction events are still sent to the event widget for
obvious reasons.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
Events which directly relate to the visual representation of the event
widget.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
Leave events are delivered to the event widget if there was an enter
event delivered to it before without the paired leave event.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
Drag events are not redirected because it is unclear what the semantics
of that would be.
&lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;
Another point of interest might be that all key events are first passed
through the key snooper functions if there are any. Read the description
of gtk_key_snooper_install() if you need this feature.
&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;
After finishing the delivery the event is popped from the event stack.
&lt;/para&gt;&lt;/listitem&gt;
&lt;/orderedlist&gt;

</description>
<parameters>
<parameter name="event">
<parameter_description> An event to process (normally passed by GDK)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_main_iteration">
<description>
Runs a single iteration of the mainloop.

If no events are waiting to be processed GTK+ will block
until the next event is noticed. If you don't want to block
look at gtk_main_iteration_do() or check if any events are
pending with gtk_events_pending() first.


</description>
<parameters>
</parameters>
<return> %TRUE if gtk_main_quit() has been called for the
innermost mainloop
</return>
</function>

<function name="gtk_main_iteration_do">
<description>
Runs a single iteration of the mainloop.
If no events are available either return or block depending on
the value of @blocking.


</description>
<parameters>
<parameter name="blocking">
<parameter_description> %TRUE if you want GTK+ to block if no events are pending
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if gtk_main_quit() has been called for the
innermost mainloop
</return>
</function>

<function name="gtk_main_level">
<description>
Asks for the current nesting level of the main loop.


</description>
<parameters>
</parameters>
<return> the nesting level of the current invocation
of the main loop
</return>
</function>

<function name="gtk_main_quit">
<description>
Makes the innermost invocation of the main loop return
when it regains control.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_menu_attach">
<description>
Adds a new #GtkMenuItem to a (table) menu. The number of 'cells' that
an item will occupy is specified by @left_attach, @right_attach,
@top_attach and @bottom_attach. These each represent the leftmost,
rightmost, uppermost and lower column and row numbers of the table.
(Columns and rows are indexed from zero).

Note that this function is not related to gtk_menu_detach().

Since: 2.4

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
<parameter name="left_attach">
<parameter_description> The column number to attach the left side of the item to
</parameter_description>
</parameter>
<parameter name="right_attach">
<parameter_description> The column number to attach the right side of the item to
</parameter_description>
</parameter>
<parameter name="top_attach">
<parameter_description> The row number to attach the top of the item to
</parameter_description>
</parameter>
<parameter name="bottom_attach">
<parameter_description> The row number to attach the bottom of the item to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_attach_to_widget">
<description>
Attaches the menu to the widget and provides a callback function
that will be invoked when the menu calls gtk_menu_detach() during
its destruction.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="attach_widget">
<parameter_description> the #GtkWidget that the menu will be attached to
</parameter_description>
</parameter>
<parameter name="detacher">
<parameter_description> the user supplied callback function
that will be called when the menu calls gtk_menu_detach()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_bar_get_child_pack_direction">
<description>
Retrieves the current child pack direction of the menubar.
See gtk_menu_bar_set_child_pack_direction().

Since: 2.8

</description>
<parameters>
<parameter name="menubar">
<parameter_description> a #GtkMenuBar
</parameter_description>
</parameter>
</parameters>
<return> the child pack direction

</return>
</function>

<function name="gtk_menu_bar_get_pack_direction">
<description>
Retrieves the current pack direction of the menubar. 
See gtk_menu_bar_set_pack_direction().

Since: 2.8

</description>
<parameters>
<parameter name="menubar">
<parameter_description> a #GtkMenuBar
</parameter_description>
</parameter>
</parameters>
<return> the pack direction

</return>
</function>

<function name="gtk_menu_bar_new">
<description>
Creates a new #GtkMenuBar


</description>
<parameters>
</parameters>
<return> the new menu bar, as a #GtkWidget
</return>
</function>

<function name="gtk_menu_bar_new_from_model">
<description>
Creates a new #GtkMenuBar and populates it with menu items
and submenus according to @model.

The created menu items are connected to actions found in the
#GtkApplicationWindow to which the menu bar belongs - typically
by means of being contained within the #GtkApplicationWindows
widget hierarchy.

Since: 3.4

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMenuBar

</return>
</function>

<function name="gtk_menu_bar_set_child_pack_direction">
<description>
Sets how widgets should be packed inside the children of a menubar.

Since: 2.8

</description>
<parameters>
<parameter name="menubar">
<parameter_description> a #GtkMenuBar
</parameter_description>
</parameter>
<parameter name="child_pack_dir">
<parameter_description> a new #GtkPackDirection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_bar_set_pack_direction">
<description>
Sets how items should be packed inside a menubar.

Since: 2.8

</description>
<parameters>
<parameter name="menubar">
<parameter_description> a #GtkMenuBar
</parameter_description>
</parameter>
<parameter name="pack_dir">
<parameter_description> a new #GtkPackDirection
</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.

Since: 3.6

</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 menu will be pointing at when popped up.

Since: 3.6

</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_menu_model">
<description>
Returns the #GMenuModel used to generate the menu.

Since: 3.6

</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_popup">
<description>
Returns the #GtkMenu that pops out of the button.

Since: 3.6

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
</parameters>
<return> a #GtkMenu or %NULL.

</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.

Since: 3.6

</description>
<parameters>
</parameters>
<return> The newly created #GtkMenuButton widget.

</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 popup menu will be aligned with the
button itself.

Since: 3.6

</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_direction">
<description>
Sets the direction in which the menu 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 menu when popped out would have collided with screen edges,
we will do our best to keep it inside the screen and fully visible.

If you pass %GTK_ARROW_NONE for a @direction, the menu will behave
as if you passed %GTK_ARROW_DOWN (although you won't see any arrows).

Since: 3.6

</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_menu_model">
<description>
Sets the #GMenuModel from which the #GtkMenuButton:popup property will be
filled in, or %NULL to disable the button.

The #GtkMenu will be created with gtk_menu_new_from_model(), so actions
will be connected as documented there.

If #GtkMenuButton:popup is already set, then its content will be lost
and replaced by our newly created #GtkMenu.

Since: 3.6

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="menu_model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_button_set_popup">
<description>
Sets the #GtkMenu that will be popped up when the button is clicked,
or %NULL to disable the button. If #GtkMenuButton:menu-model is set,
it will be set to %NULL.

Since: 3.6

</description>
<parameters>
<parameter name="menu_button">
<parameter_description> a #GtkMenuButton
</parameter_description>
</parameter>
<parameter name="popup">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_detach">
<description>
Detaches the menu from the widget to which it had been attached.
This function will call the callback function, @detacher, provided
when the gtk_menu_attach_to_widget() function was called.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_get_accel_group">
<description>
Gets the #GtkAccelGroup which holds global accelerators for the
menu. See gtk_menu_set_accel_group().


</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> the #GtkAccelGroup associated with the menu
</return>
</function>

<function name="gtk_menu_get_accel_path">
<description>
Retrieves the accelerator path set on the menu.

Since: 2.14

</description>
<parameters>
<parameter name="menu">
<parameter_description> a valid #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> the accelerator path set on the menu.

</return>
</function>

<function name="gtk_menu_get_active">
<description>
Returns the selected menu item from the menu.  This is used by the
#GtkComboBox.


</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> the #GtkMenuItem that was last selected
in the menu.  If a selection has not yet been made, the
first menu item is selected.
</return>
</function>

<function name="gtk_menu_get_attach_widget">
<description>
Returns the #GtkWidget that the menu is attached to.


</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> the #GtkWidget that the menu is attached to
</return>
</function>

<function name="gtk_menu_get_for_attach_widget">
<description>
Returns a list of the menus which are attached to this widget.
This list is owned by GTK+ and must not be modified.

Since: 2.6

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the list
of menus attached to his widget.

</return>
</function>

<function name="gtk_menu_get_monitor">
<description>
Retrieves the number of the monitor on which to show the menu.

Since: 2.14

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> the number of the monitor on which the menu should
be popped up or -1, if no monitor has been set

</return>
</function>

<function name="gtk_menu_get_reserve_toggle_size">
<description>
Returns whether the menu reserves space for toggles and
icons, regardless of their actual presence.

Since: 2.18

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> Whether the menu reserves toggle space

</return>
</function>

<function name="gtk_menu_get_tearoff_state">
<description>
Returns whether the menu is torn off.
See gtk_menu_set_tearoff_state().


</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the menu is currently torn off.
</return>
</function>

<function name="gtk_menu_get_title">
<description>
Returns the title of the menu. See gtk_menu_set_title().


</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return> the title of the menu, or %NULL if the menu
has no title set on it. This string is owned by GTK+
and should not be modified or freed.
</return>
</function>

<function name="gtk_menu_item_activate">
<description>
Emits the #GtkMenuItem::activate signal on the given item

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> the menu item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_deselect">
<description>
Emits the #GtkMenuItem::deselect signal on the given item. Behaves
exactly like #gtk_item_deselect.

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> the menu item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_get_accel_path">
<description>
Retrieve the accelerator path that was previously set on @menu_item.

See gtk_menu_item_set_accel_path() for details.

Since: 2.14

</description>
<parameters>
<parameter name="menu_item">
<parameter_description>  a valid #GtkMenuItem
</parameter_description>
</parameter>
</parameters>
<return> the accelerator path corresponding to this menu
item's functionality, or %NULL if not set

</return>
</function>

<function name="gtk_menu_item_get_label">
<description>
Sets @text on the @menu_item label

Since: 2.16

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
</parameters>
<return> The text in the @menu_item label. This is the internal
string used by the label, and must not be modified.

</return>
</function>

<function name="gtk_menu_item_get_reserve_indicator">
<description>
Returns whether the @menu_item reserves space for
the submenu indicator, regardless if it has a submenu
or not.

Since: 3.0

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @menu_item always reserves space for the
submenu indicator

</return>
</function>

<function name="gtk_menu_item_get_right_justified">
<description>
Gets whether the menu item appears justified at the right
side of the menu bar.

Deprecated: 3.2: See gtk_menu_item_set_right_justified()

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the menu item will appear at the
far right if added to a menu bar.

</return>
</function>

<function name="gtk_menu_item_get_submenu">
<description>
Gets the submenu underneath this menu item, if any.
See gtk_menu_item_set_submenu().


</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
</parameters>
<return> submenu for this menu item, or %NULL if none
</return>
</function>

<function name="gtk_menu_item_get_use_underline">
<description>
Checks if an underline in the text indicates the next character
should be used for the mnemonic accelerator key.

Since: 2.16

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if an embedded underline in the label
indicates the mnemonic accelerator key.

</return>
</function>

<function name="gtk_menu_item_new">
<description>
Creates a new #GtkMenuItem.


</description>
<parameters>
</parameters>
<return> the newly created #GtkMenuItem
</return>
</function>

<function name="gtk_menu_item_new_with_label">
<description>
Creates a new #GtkMenuItem whose child is a #GtkLabel.


</description>
<parameters>
<parameter name="label">
<parameter_description> the text for the label
</parameter_description>
</parameter>
</parameters>
<return> the newly created #GtkMenuItem
</return>
</function>

<function name="gtk_menu_item_new_with_mnemonic">
<description>
Creates a new #GtkMenuItem containing a label.

The label will be created using gtk_label_new_with_mnemonic(),
so underscores in @label indicate the mnemonic for the menu item.


</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 #GtkMenuItem
</return>
</function>

<function name="gtk_menu_item_select">
<description>
Emits the #GtkMenuItem::select signal on the given item. Behaves
exactly like #gtk_item_select.

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> the menu item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_set_accel_path">
<description>
Set the accelerator path on @menu_item, through which runtime
changes of the menu item's accelerator caused by the user can be
identified and saved to persistent storage (see gtk_accel_map_save()
on this). To set up a default accelerator for this menu item, call
gtk_accel_map_add_entry() with the same @accel_path. See also
gtk_accel_map_add_entry() on the specifics of accelerator paths,
and gtk_menu_set_accel_path() for a more convenient variant of
this function.

This function is basically a convenience wrapper that handles
calling gtk_widget_set_accel_path() with the appropriate accelerator
group for the menu item.

Note that you do need to set an accelerator on the parent menu with
gtk_menu_set_accel_group() for this to work.

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="menu_item">
<parameter_description>  a valid #GtkMenuItem
</parameter_description>
</parameter>
<parameter name="accel_path">
<parameter_description> accelerator path, corresponding to this menu
item's functionality, or %NULL to unset the current path.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_set_label">
<description>
Sets @text on the @menu_item label

Since: 2.16

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text you want to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_set_reserve_indicator">
<description>
Sets whether the @menu_item should reserve space for
the submenu indicator, regardless if it actually has
a submenu or not.

There should be little need for applications to call
this functions.

Since: 3.0

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
<parameter name="reserve">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_set_right_justified">
<description>
Sets whether the menu item appears justified at the right
side of a menu bar. This was traditionally done for &quot;Help&quot;
menu items, but is now considered a bad idea. (If the widget
layout is reversed for a right-to-left language like Hebrew
or Arabic, right-justified-menu-items appear at the left.)

Deprecated: 3.2: If you insist on using it, use
gtk_widget_set_hexpand() and gtk_widget_set_halign().

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem.
</parameter_description>
</parameter>
<parameter name="right_justified">
<parameter_description> if %TRUE the menu item will appear at the
far right if added to a menu bar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_set_submenu">
<description>
Sets or replaces the menu item's submenu, or removes it when a %NULL
submenu is passed.

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</parameter_description>
</parameter>
<parameter name="submenu">
<parameter_description> the submenu, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_set_use_underline">
<description>
If true, an underline in the text indicates the next character
should be used for the mnemonic accelerator key.

Since: 2.16

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem
</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_menu_item_toggle_size_allocate">
<description>
Emits the #GtkMenuItem::toggle-size-allocate signal on the given item.

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> the menu item.
</parameter_description>
</parameter>
<parameter name="allocation">
<parameter_description> the allocation to use as signal data.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_item_toggle_size_request">
<description>
Emits the #GtkMenuItem::toggle-size-request signal on the given item.

</description>
<parameters>
<parameter name="menu_item">
<parameter_description> the menu item
</parameter_description>
</parameter>
<parameter name="requisition">
<parameter_description> the requisition to use as signal data.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_new">
<description>
Creates a new #GtkMenu


</description>
<parameters>
</parameters>
<return> a new #GtkMenu
</return>
</function>

<function name="gtk_menu_new_from_model">
<description>
Creates a #GtkMenu and populates it with menu items and
submenus according to @model.

The created menu items are connected to actions found in the
#GtkApplicationWindow to which the menu belongs - typically
by means of being attached to a widget (see gtk_menu_attach_to_widget())
that is contained within the #GtkApplicationWindows widget hierarchy.

Since: 3.4

</description>
<parameters>
<parameter name="model">
<parameter_description> a #GMenuModel
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkMenu

</return>
</function>

<function name="gtk_menu_popdown">
<description>
Removes the menu from the screen.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_popup">
<description>
Displays a menu and makes it available for selection.

Applications can use this function to display context-sensitive
menus, and will typically supply %NULL for the @parent_menu_shell,
@parent_menu_item, @func and @data parameters. The default menu
positioning function will position the menu at the current mouse
cursor position.

The @button parameter should be the mouse button pressed to initiate
the menu popup. If the menu popup was initiated by something other
than a mouse button press, such as a mouse button release or a keypress,
@button should be 0.

The @activate_time parameter is used to conflict-resolve initiation
of concurrent requests for mouse/keyboard grab requests. To function
properly, this needs to be the timestamp of the user event (such as
a mouse click or key press) that caused the initiation of the popup.
Only if no such event is available, gtk_get_current_event_time() can
be used instead.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="parent_menu_shell">
<parameter_description> the menu shell containing the
triggering menu item, or %NULL
</parameter_description>
</parameter>
<parameter name="parent_menu_item">
<parameter_description> the menu item whose activation
triggered the popup, or %NULL
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a user supplied function used to position
the menu, or %NULL
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user supplied data to be passed to @func.
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> the mouse button which was pressed to initiate the event.
</parameter_description>
</parameter>
<parameter name="activate_time">
<parameter_description> the time at which the activation event occurred.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_popup_for_device">
<description>
Displays a menu and makes it available for selection.

Applications can use this function to display context-sensitive menus,
and will typically supply %NULL for the @parent_menu_shell,
@parent_menu_item, @func, @data and @destroy parameters. The default
menu positioning function will position the menu at the current position
of @device (or its corresponding pointer).

The @button parameter should be the mouse button pressed to initiate
the menu popup. If the menu popup was initiated by something other than
a mouse button press, such as a mouse button release or a keypress,
@button should be 0.

The @activate_time parameter is used to conflict-resolve initiation of
concurrent requests for mouse/keyboard grab requests. To function
properly, this needs to be the time stamp of the user event (such as
a mouse click or key press) that caused the initiation of the popup.
Only if no such event is available, gtk_get_current_event_time() can
be used instead.

Since: 3.0

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
<parameter name="parent_menu_shell">
<parameter_description> the menu shell containing the triggering
menu item, or %NULL
</parameter_description>
</parameter>
<parameter name="parent_menu_item">
<parameter_description> the menu item whose activation triggered
the popup, or %NULL
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a user supplied function used to position the menu,
or %NULL
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> user supplied data to be passed to @func
</parameter_description>
</parameter>
<parameter name="destroy">
<parameter_description> destroy notify for @data
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> the mouse button which was pressed to initiate the event
</parameter_description>
</parameter>
<parameter name="activate_time">
<parameter_description> the time at which the activation event occurred
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_reorder_child">
<description>
Moves @child to a new @position in the list of @menu
children.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkMenuItem to move
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the new position to place @child.
Positions are numbered from 0 to n - 1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_reposition">
<description>
Repositions the menu according to its position function.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_accel_group">
<description>
Set the #GtkAccelGroup which holds global accelerators for the
menu.  This accelerator group needs to also be added to all windows
that this menu is being used in with gtk_window_add_accel_group(),
in order for those windows to support all the accelerators
contained in this group.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="accel_group">
<parameter_description> the #GtkAccelGroup to be associated
with the menu.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_accel_path">
<description>
Sets an accelerator path for this menu from which accelerator paths
for its immediate children, its menu items, can be constructed.
The main purpose of this function is to spare the programmer the
inconvenience of having to call gtk_menu_item_set_accel_path() on
each menu item that should support runtime user changable accelerators.
Instead, by just calling gtk_menu_set_accel_path() on their parent,
each menu item of this menu, that contains a label describing its
purpose, automatically gets an accel path assigned.

For example, a menu containing menu items &quot;New&quot; and &quot;Exit&quot;, will, after
&lt;literal&gt;gtk_menu_set_accel_path (menu, &quot;&lt;Gnumeric-Sheet&gt;/File&quot;);&lt;/literal&gt;
has been called, assign its items the accel paths:
&lt;literal&gt;&quot;&lt;Gnumeric-Sheet&gt;/File/New&quot;&lt;/literal&gt; and &lt;literal&gt;&quot;&lt;Gnumeric-Sheet&gt;/File/Exit&quot;&lt;/literal&gt;.

Assigning accel paths to menu items then enables the user to change
their accelerators at runtime. More details about accelerator paths
and their default setups can be found at gtk_accel_map_add_entry().

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="menu">
<parameter_description>       a valid #GtkMenu
</parameter_description>
</parameter>
<parameter name="accel_path">
<parameter_description> a valid accelerator path
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_active">
<description>
Selects the specified menu item within the menu.  This is used by
the #GtkComboBox and should not be used by anyone else.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="index">
<parameter_description> the index of the menu item to select.  Iindex values are
from 0 to n-1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_monitor">
<description>
Informs GTK+ on which monitor a menu should be popped up.
See gdk_screen_get_monitor_geometry().

This function should be called from a #GtkMenuPositionFunc
if the menu should not appear on the same monitor as the pointer.
This information can't be reliably inferred from the coordinates
returned by a #GtkMenuPositionFunc, since, for very long menus,
these coordinates may extend beyond the monitor boundaries or even
the screen boundaries.

Since: 2.4

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="monitor_num">
<parameter_description> the number of the monitor on which the menu should
be popped up
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_reserve_toggle_size">
<description>
Sets whether the menu should reserve space for drawing toggles
or icons, regardless of their actual presence.

Since: 2.18

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="reserve_toggle_size">
<parameter_description> whether to reserve size for toggles
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_screen">
<description>
Sets the #GdkScreen on which the menu will be displayed.

Since: 2.2

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> a #GdkScreen, or %NULL if the screen should be
determined by the widget the menu is attached to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_tearoff_state">
<description>
Changes the tearoff state of the menu.  A menu is normally
displayed as drop down menu which persists as long as the menu is
active.  It can also be displayed as a tearoff menu which persists
until it is closed or reattached.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="torn_off">
<parameter_description> If %TRUE, menu is displayed as a tearoff menu.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_set_title">
<description>
Sets the title string for the menu.

The title is displayed when the menu is shown as a tearoff
menu. If @title is %NULL, the menu will see if it is attached
to a parent menu item, and if so it will try to use the same
text as that menu item's label.

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkMenu
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> a string containing the title for the menu
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_activate_item">
<description>
Activates the menu item within the menu shell.

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="menu_item">
<parameter_description> the #GtkMenuItem to activate
</parameter_description>
</parameter>
<parameter name="force_deactivate">
<parameter_description> if %TRUE, force the deactivation of the
menu shell after the menu item is activated
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_append">
<description>
Adds a new #GtkMenuItem to the end of the menu shell's
item list.

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> The #GtkMenuItem to add
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_bind_model">
<description>
Establishes a binding between a #GtkMenuShell and a #GMenuModel.

The contents of @shell are removed and then refilled with menu items
according to @model.  When @model changes, @shell is updated.
Calling this function twice on @shell with different @model will
cause the first binding to be replaced with a binding to the new
model. If @model is %NULL then any previous binding is undone and
all children are removed.

@with_separators determines if toplevel items (eg: sections) have
separators inserted between them.  This is typically desired for
menus but doesn't make sense for menubars.

If @action_namespace is non-%NULL then the effect is as if all
actions mentioned in the @model have their names prefixed with the
namespace, plus a dot.  For example, if the action &quot;quit&quot; is
mentioned and @action_namespace is &quot;app&quot; then the effective action
name is &quot;app.quit&quot;.

For most cases you are probably better off using
gtk_menu_new_from_model() or gtk_menu_bar_new_from_model() or just
directly passing the #GMenuModel to gtk_application_set_app_menu() or
gtk_application_set_menu_bar().

Since: 3.6

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="model">
<parameter_description> the #GMenuModel to bind to or %NULL to remove
binding
</parameter_description>
</parameter>
<parameter name="action_namespace">
<parameter_description> the namespace for actions in @model
</parameter_description>
</parameter>
<parameter name="with_separators">
<parameter_description> %TRUE if toplevel items in @shell should have
separators between them
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_cancel">
<description>
Cancels the selection within the menu shell.

Since: 2.4

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_deactivate">
<description>
Deactivates the menu shell.

Typically this results in the menu shell being erased
from the screen.

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_deselect">
<description>
Deselects the currently selected item from the menu shell,
if any.

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_get_parent_shell">
<description>
Gets the parent menu shell.

The parent menu shell of a submenu is the #GtkMenu or #GtkMenuBar
from which it was opened up.

Since: 3.0

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
</parameters>
<return> the parent #GtkMenuShell

</return>
</function>

<function name="gtk_menu_shell_get_selected_item">
<description>
Gets the currently selected item.

Since: 3.0

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
</parameters>
<return> the currently selected item

</return>
</function>

<function name="gtk_menu_shell_get_take_focus">
<description>
Returns %TRUE if the menu shell will take the keyboard focus on popup.

Since: 2.8

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the menu shell will take the keyboard focus on popup.

</return>
</function>

<function name="gtk_menu_shell_insert">
<description>
Adds a new #GtkMenuItem to the menu shell's item list
at the position indicated by @position.

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> The #GtkMenuItem to add
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> The position in the item list where @child
is added. Positions are numbered from 0 to n-1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_prepend">
<description>
Adds a new #GtkMenuItem to the beginning of the menu shell's
item list.

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> The #GtkMenuItem to add
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_select_first">
<description>
Select the first visible or selectable child of the menu shell;
don't select tearoff items unless the only item is a tearoff
item.

Since: 2.2

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="search_sensitive">
<parameter_description> if %TRUE, search for the first selectable
menu item, otherwise select nothing if
the first item isn't sensitive. This
should be %FALSE if the menu is being
popped up initially.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_select_item">
<description>
Selects the menu item from the menu shell.

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="menu_item">
<parameter_description> The #GtkMenuItem to select
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_shell_set_take_focus">
<description>
If @take_focus is %TRUE (the default) the menu shell will take
the keyboard focus so that it will receive all keyboard events
which is needed to enable keyboard navigation in menus.

Setting @take_focus to %FALSE is useful only for special applications
like virtual keyboard implementations which should not take keyboard
focus.

The @take_focus state of a menu or menu bar is automatically
propagated to submenus whenever a submenu is popped up, so you
don't have to worry about recursively setting it for your entire
menu hierarchy. Only when programmatically picking a submenu and
popping it up manually, the @take_focus property of the submenu
needs to be set explicitely.

Note that setting it to %FALSE has side-effects:

If the focus is in some other app, it keeps the focus and keynav in
the menu doesn't work. Consequently, keynav on the menu will only
work if the focus is on some toplevel owned by the onscreen keyboard.

To avoid confusing the user, menus with @take_focus set to %FALSE
should not display mnemonics or accelerators, since it cannot be
guaranteed that they will work.

See also gdk_keyboard_grab()

Since: 2.8

</description>
<parameters>
<parameter name="menu_shell">
<parameter_description> a #GtkMenuShell
</parameter_description>
</parameter>
<parameter name="take_focus">
<parameter_description> %TRUE if the menu shell should take the keyboard
focus on popup
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_tool_button_get_menu">
<description>
Gets the #GtkMenu associated with #GtkMenuToolButton.

Since: 2.6

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkMenuToolButton
</parameter_description>
</parameter>
</parameters>
<return> the #GtkMenu associated
with #GtkMenuToolButton

</return>
</function>

<function name="gtk_menu_tool_button_new">
<description>
Creates a new #GtkMenuToolButton using @icon_widget as icon and
@label as label.

Since: 2.6

</description>
<parameters>
<parameter name="icon_widget">
<parameter_description> a widget that will be used as icon widget, or %NULL
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a string that will be used as label, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkMenuToolButton

</return>
</function>

<function name="gtk_menu_tool_button_new_from_stock">
<description>
Creates a new #GtkMenuToolButton.
The new #GtkMenuToolButton will contain an icon and label from
the stock item indicated by @stock_id.

Since: 2.6

</description>
<parameters>
<parameter name="stock_id">
<parameter_description> the name of a stock item
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkMenuToolButton

</return>
</function>

<function name="gtk_menu_tool_button_set_arrow_tooltip_markup">
<description>
Sets the tooltip markup text to be used as tooltip for the arrow button
which pops up the menu.  See gtk_tool_item_set_tooltip_text() for setting a
tooltip on the whole #GtkMenuToolButton.

Since: 2.12

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkMenuToolButton
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> markup text to be used as tooltip text for button's arrow button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_tool_button_set_arrow_tooltip_text">
<description>
Sets the tooltip text to be used as tooltip for the arrow button which
pops up the menu.  See gtk_tool_item_set_tooltip_text() for setting a tooltip
on the whole #GtkMenuToolButton.

Since: 2.12

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkMenuToolButton
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text to be used as tooltip text for button's arrow button
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_menu_tool_button_set_menu">
<description>
Sets the #GtkMenu that is popped up when the user clicks on the arrow.
If @menu is NULL, the arrow button becomes insensitive.

Since: 2.6

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkMenuToolButton
</parameter_description>
</parameter>
<parameter name="menu">
<parameter_description> the #GtkMenu associated with #GtkMenuToolButton
</parameter_description>
</parameter>
</parameters>
<return></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
&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.

Due to an oversight, this function does not escape special XML characters
like gtk_message_dialog_new_with_markup() does. Thus, if the arguments
may contain special XML characters, you should use g_markup_printf_escaped()
to escape it.

&lt;informalexample&gt;&lt;programlisting&gt;
gchar *msg;

msg = g_markup_printf_escaped (message_format, ...);
gtk_message_dialog_format_secondary_markup (message_dialog, &quot;%s&quot;, msg);
g_free (msg);
&lt;/programlisting&gt;&lt;/informalexample&gt;

Since: 2.6

</description>
<parameters>
<parameter name="message_dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
<parameter name="message_format">
<parameter_description> printf()-style markup string (see
     &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup format&lt;/link&gt;), 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).

Since: 2.6

</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_image">
<description>
Gets the dialog's image.

Since: 2.14

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
</parameters>
<return> the dialog's image

</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,
on the right side of the dialog's image (or on the left for right-to-left
languages).  See gtk_dialog_get_content_area() for the corresponding
function in the parent #GtkDialog.

Since: 2.22

</description>
<parameters>
<parameter name="message_dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
</parameters>
<return> A #GtkVBox corresponding to the
&quot;message area&quot; in the @message_dialog.

</return>
</function>

<function name="gtk_message_dialog_new">
<description>
Creates a new message dialog, which is a simple dialog with an icon
indicating the dialog type (error, warning, etc.) and some text the
user may want to see. When the user clicks a button a &quot;response&quot;
signal is emitted with response IDs from #GtkResponseType. See
#GtkDialog for more details.


</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 an icon
indicating the dialog type (error, warning, etc.) and some text which
is marked up with the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
When the user clicks a button a &quot;response&quot; signal is emitted with
response IDs from #GtkResponseType. See #GtkDialog for more details.

Special XML characters in the printf() arguments passed to this
function will automatically be escaped as necessary.
(See g_markup_printf_escaped() for how this is implemented.)
Usually this is what you want, but if you have an existing
Pango markup string that you want to use literally as the
label, then you need to use gtk_message_dialog_set_markup()
instead, since you can't pass the markup string either
as the format (it might contain '%' characters) or as a string
argument.
|[
GtkWidget *dialog;
dialog = gtk_message_dialog_new (main_application_window,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
NULL);
gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog),
markup);
]|

Since: 2.4

</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_image">
<description>
Sets the dialog's image to @image.

Since: 2.10

</description>
<parameters>
<parameter name="dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
<parameter name="image">
<parameter_description> the image
</parameter_description>
</parameter>
</parameters>
<return></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 &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup
language&lt;/link&gt;.

Since: 2.4

</description>
<parameters>
<parameter name="message_dialog">
<parameter_description> a #GtkMessageDialog
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> markup string (see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup format&lt;/link&gt;)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_misc_get_alignment">
<description>
Gets the X and Y alignment of the widget within its allocation. 
See gtk_misc_set_alignment().

</description>
<parameters>
<parameter name="misc">
<parameter_description> a #GtkMisc
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> location to store X alignment of @misc, or %NULL
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> location to store Y alignment of @misc, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_misc_get_padding">
<description>
Gets the padding in the X and Y directions of the widget. 
See gtk_misc_set_padding().

</description>
<parameters>
<parameter name="misc">
<parameter_description> a #GtkMisc
</parameter_description>
</parameter>
<parameter name="xpad">
<parameter_description> location to store padding in the X
direction, or %NULL
</parameter_description>
</parameter>
<parameter name="ypad">
<parameter_description> location to store padding in the Y
direction, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_misc_set_alignment">
<description>
Sets the alignment of the widget.

</description>
<parameters>
<parameter name="misc">
<parameter_description> a #GtkMisc.
</parameter_description>
</parameter>
<parameter name="xalign">
<parameter_description> the horizontal alignment, from 0 (left) to 1 (right).
</parameter_description>
</parameter>
<parameter name="yalign">
<parameter_description> the vertical alignment, from 0 (top) to 1 (bottom).
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_misc_set_padding">
<description>
Sets the amount of space to add around the widget.

</description>
<parameters>
<parameter name="misc">
<parameter_description> a #GtkMisc.
</parameter_description>
</parameter>
<parameter name="xpad">
<parameter_description> the amount of space to add on the left and right of the widget,
in pixels.
</parameter_description>
</parameter>
<parameter name="ypad">
<parameter_description> the amount of space to add on the top and bottom of the widget,
in pixels.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_mount_operation_get_parent">
<description>
Gets the transient parent used by the #GtkMountOperation

Since: 2.14

</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_get_screen">
<description>
Gets the screen on which windows of the #GtkMountOperation
will be shown.

Since: 2.14

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkMountOperation
</parameter_description>
</parameter>
</parameters>
<return> the screen on which windows of @op are shown

</return>
</function>

<function name="gtk_mount_operation_is_showing">
<description>
Returns whether the #GtkMountOperation is currently displaying
a window.

Since: 2.14

</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

Since: 2.14

</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_parent">
<description>
Sets the transient parent for windows shown by the
#GtkMountOperation.

Since: 2.14

</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_mount_operation_set_screen">
<description>
Sets the screen to show windows of the #GtkMountOperation on.

Since: 2.14

</description>
<parameters>
<parameter name="op">
<parameter_description> a #GtkMountOperation
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> a #GdkScreen
</parameter_description>
</parameter>
</parameters>
<return></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_get_action_widget">
<description>
Gets one of the action widgets. See gtk_notebook_set_action_widget().

Since: 2.20

</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.

Since: 2.24

</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.

Since: 2.2

</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_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.

Since: 2.10

</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_hborder">
<description>
Returns the horizontal width of a tab border.

Since: 2.22

Deprecated: 3.4: this function returns zero

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> horizontal width of a tab border

</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.

Since: 2.10

</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_get_tab_vborder">
<description>
Returns the vertical width of a tab border.

Since: 2.22

Deprecated: 3.4: this function returns zero

</description>
<parameters>
<parameter name="notebook">
<parameter_description> a #GtkNotebook
</parameter_description>
</parameter>
</parameters>
<return> vertical width of a tab border

</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_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 &quot;internal&quot; children of the notebook and thus
not included in the list returned from gtk_container_foreach().

Since: 2.20

</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.

Since: 2.24

</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 &quot;GTK_NOTEBOOK_TAB&quot;. The notebook
will fill the selection with a GtkWidget** pointing to the child
widget that corresponds to the dropped tab.
|[
static void
on_drop_zone_drag_data_received (GtkWidget        *widget,
GdkDragContext   *context,
gint              x,
gint              y,
GtkSelectionData *selection_data,
guint             info,
guint             time,
gpointer          user_data)
{
GtkWidget *notebook;
GtkWidget **child;

notebook = gtk_drag_get_source_widget (context);
child = (void*) gtk_selection_data_get_data (selection_data);

process_widget (*child);
gtk_container_remove (GTK_CONTAINER (notebook), *child);
}
]|

If you want a notebook to accept drags from other widgets,
you will have to set your own DnD code to do it.

Since: 2.10

</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.

Since: 2.10

</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_numerable_icon_get_background_gicon">
<description>
Returns the #GIcon that was set as the base background image, or
%NULL if there's none. The caller of this function does not own
a reference to the returned #GIcon.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
</parameters>
<return> a #GIcon, or %NULL

</return>
</function>

<function name="gtk_numerable_icon_get_background_icon_name">
<description>
Returns the icon name used as the base background image,
or %NULL if there's none.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
</parameters>
<return> an icon name, or %NULL

</return>
</function>

<function name="gtk_numerable_icon_get_count">
<description>
Returns the value currently displayed by @self.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
</parameters>
<return> the currently displayed value

</return>
</function>

<function name="gtk_numerable_icon_get_label">
<description>
Returns the currently displayed label of the icon, or %NULL.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
</parameters>
<return> the currently displayed label

</return>
</function>

<function name="gtk_numerable_icon_get_style_context">
<description>
Returns the #GtkStyleContext used by the icon for theming,
or %NULL if there's none.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
</parameters>
<return> a #GtkStyleContext, or %NULL.
This object is internal to GTK+ and should not be unreffed.
Use g_object_ref() if you want to keep it around

</return>
</function>

<function name="gtk_numerable_icon_new">
<description>
Creates a new unthemed #GtkNumerableIcon.

Since: 3.0

</description>
<parameters>
<parameter name="base_icon">
<parameter_description> a #GIcon to overlay on
</parameter_description>
</parameter>
</parameters>
<return> a new #GIcon

</return>
</function>

<function name="gtk_numerable_icon_new_with_style_context">
<description>
Creates a new #GtkNumerableIcon which will themed according
to the passed #GtkStyleContext. This is a convenience constructor
that calls gtk_numerable_icon_set_style_context() internally.

Since: 3.0

</description>
<parameters>
<parameter name="base_icon">
<parameter_description> a #GIcon to overlay on
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> a new #GIcon

</return>
</function>

<function name="gtk_numerable_icon_set_background_gicon">
<description>
Updates the icon to use @icon as the base background image.
If @icon is %NULL, @self will go back using style information
or default theming for its background image.

If this method is called and an icon name was already set as
background for the icon, @icon will be used, i.e. the last method
called between gtk_numerable_icon_set_background_gicon() and
gtk_numerable_icon_set_background_icon_name() has always priority.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> a #GIcon, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_numerable_icon_set_background_icon_name">
<description>
Updates the icon to use the icon named @icon_name from the
current icon theme as the base background image. If @icon_name
is %NULL, @self will go back using style information or default
theming for its background image.

If this method is called and a #GIcon was already set as
background for the icon, @icon_name will be used, i.e. the
last method called between gtk_numerable_icon_set_background_icon_name()
and gtk_numerable_icon_set_background_gicon() has always priority.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> an icon name, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_numerable_icon_set_count">
<description>
Sets the currently displayed value of @self to @count.

The numeric value is always clamped to make it two digits, i.e.
between -99 and 99. Setting a count of zero removes the emblem.
If this method is called, and a label was already set on the icon,
it will automatically be reset to %NULL before rendering the number,
i.e. the last method called between gtk_numerable_icon_set_count()
and gtk_numerable_icon_set_label() has always priority.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
<parameter name="count">
<parameter_description> a number between -99 and 99
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_numerable_icon_set_label">
<description>
Sets the currently displayed value of @self to the string
in @label. Setting an empty label removes the emblem.

Note that this is meant for displaying short labels, such as
roman numbers, or single letters. For roman numbers, consider
using the Unicode characters U+2160 - U+217F. Strings longer
than two characters will likely not be rendered very well.

If this method is called, and a number was already set on the
icon, it will automatically be reset to zero before rendering
the label, i.e. the last method called between
gtk_numerable_icon_set_label() and gtk_numerable_icon_set_count()
has always priority.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a short label, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_numerable_icon_set_style_context">
<description>
Updates the icon to fetch theme information from the
given #GtkStyleContext.

Since: 3.0

</description>
<parameters>
<parameter name="self">
<parameter_description> a #GtkNumerableIcon
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_offscreen_window_get_pixbuf">
<description>
Retrieves a snapshot of the contained widget in the form of
a #GdkPixbuf.  This is a new pixbuf with a reference count of 1,
and the application should unreference it once it is no longer
needed.

Since: 2.20

</description>
<parameters>
<parameter name="offscreen">
<parameter_description> the #GtkOffscreenWindow contained widget.
</parameter_description>
</parameter>
</parameters>
<return> A #GdkPixbuf pointer, or %NULL.

</return>
</function>

<function name="gtk_offscreen_window_get_surface">
<description>
Retrieves a snapshot of the contained widget in the form of
a #cairo_surface_t.  If you need to keep this around over window
resizes then you should add a reference to it.

Since: 2.20

</description>
<parameters>
<parameter name="offscreen">
<parameter_description> the #GtkOffscreenWindow contained widget.
</parameter_description>
</parameter>
</parameters>
<return> A #cairo_surface_t pointer to the offscreen
surface, or %NULL.

</return>
</function>

<function name="gtk_offscreen_window_new">
<description>
Creates a toplevel container widget that is used to retrieve
snapshots of widgets without showing them on the screen.

Since: 2.20

</description>
<parameters>
</parameters>
<return> A pointer to a #GtkWidget

</return>
</function>

<function name="gtk_orientable_get_orientation">
<description>
Retrieves the orientation of the @orientable.

Since: 2.16

</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.

Since: 2.16

</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.

Since: 3.2

</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_new">
<description>
Creates a new #GtkOverlay.

Since: 3.2

</description>
<parameters>
</parameters>
<return> a new #GtkOverlay object.

</return>
</function>

<function name="gtk_page_setup_copy">
<description>
Copies a #GtkPageSetup.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.10

</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().

Since: 2.10

</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().

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.14

</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.

Since: 2.14

</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 &quot;Page Setup&quot;
</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. 

Since: 2.10

</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().

Since: 2.12

</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_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.

Since: 2.12

</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 &quot;Page Setup&quot;
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.12

</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_key_file">
<description>
This function adds the page setup from @setup to @key_file.

Since: 2.12

</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 &quot;Page Setup&quot;
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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_paint_arrow">
<description>
Draws an arrow in the given rectangle on @cr using the given
parameters. @arrow_type determines the direction of the arrow.

Deprecated:3.0: Use gtk_render_arrow() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> the type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="arrow_type">
<parameter_description> the type of arrow to draw
</parameter_description>
</parameter>
<parameter name="fill">
<parameter_description> %TRUE if the arrow tip should be filled
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the rectangle to draw the arrow in
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the rectangle to draw the arrow in
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width of the rectangle to draw the arrow in
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height of the rectangle to draw the arrow in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_box">
<description>
Draws a box on @cr with the given parameters.

Deprecated:3.0: Use gtk_render_frame() and gtk_render_background() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> the type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the box
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the box
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the box
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the box
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_box_gap">
<description>
Draws a box in @cr using the given style and state and shadow type,
leaving a gap in one side.

Deprecated:3.0: Use gtk_render_frame_gap() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</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> width of the rectangle
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> width of the rectangle
</parameter_description>
</parameter>
<parameter name="gap_side">
<parameter_description> side in which to leave the gap
</parameter_description>
</parameter>
<parameter name="gap_x">
<parameter_description> starting position of the gap
</parameter_description>
</parameter>
<parameter name="gap_width">
<parameter_description> width of the gap
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_check">
<description>
Draws a check button indicator in the given rectangle on @cr with
the given parameters.

Deprecated:3.0: Use gtk_render_check() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> the type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the rectangle to draw the check in
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the rectangle to draw the check in
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the rectangle to draw the check in
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the rectangle to draw the check in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_diamond">
<description>
Draws a diamond in the given rectangle on @window using the given
parameters.

Deprecated:3.0: Use cairo instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> the type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the rectangle to draw the diamond in
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the rectangle to draw the diamond in
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width of the rectangle to draw the diamond in
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height of the rectangle to draw the diamond in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_expander">
<description>
Draws an expander as used in #GtkTreeView. @x and @y specify the
center the expander. The size of the expander is determined by the
&quot;expander-size&quot; style property of @widget.  (If widget is not
specified or doesn't have an &quot;expander-size&quot; property, an
unspecified default size will be used, since the caller doesn't
have sufficient information to position the expander, this is
likely not useful.) The expander is expander_size pixels tall
in the collapsed position and expander_size pixels wide in the
expanded position.

Deprecated:3.0: Use gtk_render_expander() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x position to draw the expander at
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y position to draw the expander at
</parameter_description>
</parameter>
<parameter name="expander_style">
<parameter_description> the style to draw the expander in; determines
whether the expander is collapsed, expanded, or in an
intermediate state.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_extension">
<description>
Draws an extension, i.e. a notebook tab.

Deprecated:3.0: Use gtk_render_extension() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the extension
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the extension
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width of the extension
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> width of the extension
</parameter_description>
</parameter>
<parameter name="gap_side">
<parameter_description> the side on to which the extension is attached
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_flat_box">
<description>
Draws a flat box on @cr with the given parameters.

Deprecated:3.0: Use gtk_render_frame() and gtk_render_background() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> the type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the box
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the box
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the box
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the box
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_focus">
<description>
Draws a focus indicator around the given rectangle on @cr using the
given style.

Deprecated:3.0: Use gtk_render_focus() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x origin of the rectangle around which to draw a focus indicator
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y origin of the rectangle around which to draw a focus indicator
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the rectangle around which to draw a focus indicator
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the rectangle around which to draw a focus indicator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_handle">
<description>
Draws a handle as used in #GtkHandleBox and #GtkPaned.

Deprecated:3.0: Use gtk_render_handle() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the handle
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the handle
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> with of the handle
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height of the handle
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the orientation of the handle
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_hline">
<description>
Draws a horizontal line from (@x1, @y) to (@x2, @y) in @cr
using the given style and state.

Deprecated:3.0: Use gtk_render_line() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #caio_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x1">
<parameter_description> the starting x coordinate
</parameter_description>
</parameter>
<parameter name="x2">
<parameter_description> the ending x coordinate
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y coordinate
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_layout">
<description>
Draws a layout on @cr using the given parameters.

Deprecated:3.0: Use gtk_render_layout() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="use_text">
<parameter_description> whether to use the text or foreground
graphics context of @style
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</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 layout to draw
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_option">
<description>
Draws a radio button indicator in the given rectangle on @cr with
the given parameters.

Deprecated:3.0: Use gtk_render_option() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> the type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the rectangle to draw the option in
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the rectangle to draw the option in
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the rectangle to draw the option in
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the rectangle to draw the option in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_resize_grip">
<description>
Draws a resize grip in the given rectangle on @cr using the given
parameters.

Deprecated:3.0: Use gtk_render_handle() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="edge">
<parameter_description> the edge in which to draw the resize grip
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x origin of the rectangle in which to draw the resize grip
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y origin of the rectangle in which to draw the resize grip
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the rectangle in which to draw the resize grip
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the rectangle in which to draw the resize grip
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_shadow">
<description>
Draws a shadow around the given rectangle in @cr
using the given style and state and shadow type.

Deprecated:3.0: Use gtk_render_frame() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</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> width of the rectangle
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> width of the rectangle
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_shadow_gap">
<description>
Draws a shadow around the given rectangle in @cr
using the given style and state and shadow type, leaving a
gap in one side.

Deprecated:3.0: Use gtk_render_frame_gap() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</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> width of the rectangle
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> width of the rectangle
</parameter_description>
</parameter>
<parameter name="gap_side">
<parameter_description> side in which to leave the gap
</parameter_description>
</parameter>
<parameter name="gap_x">
<parameter_description> starting position of the gap
</parameter_description>
</parameter>
<parameter name="gap_width">
<parameter_description> width of the gap
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_slider">
<description>
Draws a slider in the given rectangle on @cr using the
given style and orientation.

Deprecated:3.0: Use gtk_render_slider() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> a shadow
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x origin of the rectangle in which to draw a slider
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y origin of the rectangle in which to draw a slider
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the rectangle in which to draw a slider
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the rectangle in which to draw a slider
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> the orientation to be used
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_spinner">
<description>
Draws a spinner on @window using the given parameters.

Deprecated:3.0: Use gtk_render_activity() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget (may be %NULL)
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail (may be %NULL)
</parameter_description>
</parameter>
<parameter name="step">
<parameter_description> the nth step, a value between 0 and #GtkSpinner:num-steps
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x origin of the rectangle in which to draw the spinner
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> the y origin of the rectangle in which to draw the spinner
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the rectangle in which to draw the spinner
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the rectangle in which to draw the spinner
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_tab">
<description>
Draws an option menu tab (i.e. the up and down pointing arrows)
in the given rectangle on @cr using the given parameters.

Deprecated:3.0: Use cairo instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="shadow_type">
<parameter_description> the type of shadow to draw
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x origin of the rectangle to draw the tab in
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y origin of the rectangle to draw the tab in
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width of the rectangle to draw the tab in
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height of the rectangle to draw the tab in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_paint_vline">
<description>
Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @cr
using the given style and state.

Deprecated:3.0: Use gtk_render_line() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
<parameter name="y1_">
<parameter_description> the starting y coordinate
</parameter_description>
</parameter>
<parameter name="y2_">
<parameter_description> the ending y coordinate
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> the x coordinate
</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
&lt;literal&gt;gtk_paned_pack1 (paned, child, FALSE, TRUE)&lt;/literal&gt;.

</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
&lt;literal&gt;gtk_paned_pack2 (paned, child, TRUE, TRUE)&lt;/literal&gt;.

</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.

Since: 2.4

</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.

Since: 2.4

</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_handle_window">
<description>
Returns the #GdkWindow of the handle. This function is
useful when handling button or motion events because it
enables the callback to distinguish between the window
of the paned, a child and the handle.

Since: 2.20

</description>
<parameters>
<parameter name="paned">
<parameter_description> a #GtkPaned
</parameter_description>
</parameter>
</parameters>
<return> the paned's handle window.

</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_new">
<description>
Creates a new #GtkPaned widget.

Since: 3.0

</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_paper_size_copy">
<description>
Copies an existing #GtkPaperSize.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.12

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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_new">
<description>
Creates a new #GtkPaperSize object by parsing a
&lt;ulink url=&quot;ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf&quot;&gt;PWG 5101.1-2002&lt;/ulink&gt;
paper name.

If @name is %NULL, the default paper size is returned,
see gtk_paper_size_get_default().

Since: 2.10

</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.

Since: 2.10

</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_key_file">
<description>
Reads a paper size from the group @group_name in the key file
@key_file.

Since: 2.12

</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 ofthe 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.

Since: 2.10

</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.

Since: 2.10

</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_key_file">
<description>
This function adds the paper size from @size to @key_file.

Since: 2.12

</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_parse_args">
<description>
Parses command line arguments, and initializes global
attributes of GTK+, but does not actually open a connection
to a display. (See gdk_display_open(), gdk_get_display_arg_name())

Any arguments used by GTK+ or GDK are removed from the array and
@argc and @argv are updated accordingly.

There is no need to call this function explicitely if you are using
gtk_init(), or gtk_init_check().


</description>
<parameters>
<parameter name="argc">
<parameter_description> a pointer to the number of command line arguments
</parameter_description>
</parameter>
<parameter name="argv">
<parameter_description> a pointer to the array of
command line arguments
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if initialization succeeded, otherwise %FALSE
</return>
</function>

<function name="gtk_plug_construct">
<description>
Finish the initialization of @plug for a given #GtkSocket identified by
@socket_id. This function will generally only be used by classes deriving from #GtkPlug.

</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug.
</parameter_description>
</parameter>
<parameter name="socket_id">
<parameter_description> the XID of the socket's window.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_plug_construct_for_display">
<description>
Finish the initialization of @plug for a given #GtkSocket identified by
@socket_id which is currently displayed on @display.
This function will generally only be used by classes deriving from #GtkPlug.

Since: 2.2

</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug.
</parameter_description>
</parameter>
<parameter name="display">
<parameter_description> the #GdkDisplay associated with @socket_id's 
#GtkSocket.
</parameter_description>
</parameter>
<parameter name="socket_id">
<parameter_description> the XID of the socket's window.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_plug_focus_first_last">
<description>
Called from the GtkPlug backend when the corresponding socket has
told the plug that it has received the focus.

</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> a direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_plug_get_embedded">
<description>
Determines whether the plug is embedded in a socket.

Since: 2.14

</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the plug is embedded in a socket

</return>
</function>

<function name="gtk_plug_get_id">
<description>
Gets the window ID of a #GtkPlug widget, which can then
be used to embed this window inside another window, for
instance with gtk_socket_add_id().


</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug.
</parameter_description>
</parameter>
</parameters>
<return> the window ID for the plug
</return>
</function>

<function name="gtk_plug_get_socket_window">
<description>
Retrieves the socket the plug is embedded in.

Since: 2.14

</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug
</parameter_description>
</parameter>
</parameters>
<return> the window of the socket, or %NULL

</return>
</function>

<function name="gtk_plug_handle_modality_off">
<description>
Called from the GtkPlug backend when the corresponding socket has
told the plug that it modality has toggled off.

</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_plug_handle_modality_on">
<description>
Called from the GtkPlug backend when the corresponding socket has
told the plug that it modality has toggled on.

</description>
<parameters>
<parameter name="plug">
<parameter_description> a #GtkPlug
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_plug_new">
<description>
Creates a new plug widget inside the #GtkSocket identified
by @socket_id. If @socket_id is 0, the plug is left &quot;unplugged&quot; and
can later be plugged into a #GtkSocket by  gtk_socket_add_id().


</description>
<parameters>
<parameter name="socket_id">
<parameter_description>  the window ID of the socket, or 0.
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkPlug widget.
</return>
</function>

<function name="gtk_plug_new_for_display">
<description>
Create a new plug widget inside the #GtkSocket identified by socket_id.

Since: 2.2

</description>
<parameters>
<parameter name="display">
<parameter_description> the #GdkDisplay on which @socket_id is displayed
</parameter_description>
</parameter>
<parameter name="socket_id">
<parameter_description> the XID of the socket's window.
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkPlug widget.

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.20

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10 

</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.

Since: 2.10 

</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.

Since: 2.10

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 2.10

</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.

Since: 3.0

</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.

Since: 3.0

</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).

Since: 3.0

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.10

</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.

Since: 2.10

</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.  

Since: 2.10

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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).

Since: 3.0

</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_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().

Since: 2.10

</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 &quot;out of paper&quot; issues,
and when the print job actually reaches the printer.

This function is often implemented using some form of polling, so it should
not be enabled unless needed.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.16

</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().

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.10

</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().

Since: 2.10

</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. 

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.10

</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. 

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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. 

Since: 2.10 

</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).
|[
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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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 &quot;draw-page&quot; signal.

Since: 2.16

</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.

Since: 2.18

</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 &quot;Export to PDF&quot; actions. Currently, PDF
is the only supported format.

&quot;Print to PDF&quot; support is independent of this and is done
by letting the user pick the &quot;Print to PDF&quot; item from the list
of printers in the print dialog.

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.10

</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 &lt;emphasis&gt;must&lt;/emphasis&gt; be set to a positive number
before the rendering starts. It may be set in a 
#GtkPrintOperation::begin-print signal hander.

Note that the page numbers passed to the 
#GtkPrintOperation::request-page-setup 
and #GtkPrintOperation::draw-page signals are 0-based, i.e. if 
the user chooses to print all pages, the last ::draw-page signal 
will be for page @n_pages - 1.

Since: 2.10

</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().

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.18

</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 &quot;out of paper&quot; issues,
and when the print job actually reaches the printer.

This function is often implemented using some form of polling, so it should
not be enabled unless needed.

Since: 2.10

</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.

Since: 2.10

</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).

Since: 2.10 

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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 &quot;true&quot; represents %TRUE, any other 
string %FALSE.

Since: 2.10

</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 &quot;true&quot; represents %TRUE, the string
&quot;false&quot; represents %FALSE.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.
&lt;!-- FIXME link here --&gt;

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.14

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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 #GtkPageRange&lt;!-- --&gt;s.  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.

Since: 2.10

</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. 

Since: 2.10

</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.

Since: 2.10

</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. 

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.16

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.16

</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.

Since: 2.16

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.14

</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.

Since: 2.14

</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
&quot;Print Settings&quot;
</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.

Since: 2.10

</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().

Since: 2.12

</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_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.

Since: 2.12

</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 &quot;Print Settings&quot;
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10 

</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.

Since: 2.10

</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.
&lt;!-- FIXME link here --&gt;

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.14

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkPrintSettings
</parameter_description>
</parameter>
<parameter name="page_ranges">
<parameter_description> an array of #GtkPageRange&lt;!-- --&gt;s
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.16

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.16

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.12

</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_key_file">
<description>
This function adds the print settings from @settings to @key_file.

Since: 2.12

</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 &quot;Print Settings&quot;
</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.

Since: 2.10 

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.10

</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
&lt;emphasis&gt;new object&lt;/emphasis&gt;, and you need to unref it
if don't want to keep it.

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.18

</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.

Since: 2.18

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.18

</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.  

Since: 2.10

</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.  

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.12

</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.

Since: 2.14

</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.

Since: 2.10

</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().

Since: 2.20

</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_icon_name">
<description>
Gets the name of the icon to use for the printer.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.12

</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

Since: 2.14

</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).

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.14

</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).

Since: 2.10

</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().

Since: 2.12

</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.

Since: 2.10

</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>

</description>
<parameters>
</parameters>
<return>
</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.

Since: 2.12

</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().

Since: 2.6

</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().

Since: 3.0

</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 displayed superimposed on the progress bar,
if any, otherwise %NULL. The return value is a reference
to the text, not a copy of it, so will become invalid
if you change the text in the progress bar.


</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 &quot;activity mode,&quot; where a block
bounces back and forth. Each call to gtk_progress_bar_pulse()
causes the block to move by a little bit (the amount of movement
per pulse is determined by gtk_progress_bar_set_pulse_step()).

</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.

Since: 2.6

</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 &quot;fill in&quot; 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 superimposed
over 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).

Since: 3.0

</description>
<parameters>
<parameter name="pbar">
<parameter_description> a #GtkProgressBar
</parameter_description>
</parameter>
<parameter name="show_text">
<parameter_description> whether to show superimposed text
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_progress_bar_set_text">
<description>
Causes the given @text to appear superimposed on 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_propagate_event">
<description>
Sends an event to a widget, propagating the event to parent widgets
if the event remains unhandled.

Events received by GTK+ from GDK normally begin in gtk_main_do_event().
Depending on the type of event, existence of modal dialogs, grabs, etc.,
the event may be propagated; if so, this function is used.

gtk_propagate_event() calls gtk_widget_event() on each widget it
decides to send the event to. So gtk_widget_event() is the lowest-level
function; it simply emits the #GtkWidget::event and possibly an
event-specific signal on a widget. gtk_propagate_event() is a bit
higher-level, and gtk_main_do_event() is the highest level.

All that said, you most likely don'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
gdk_window_invalidate_rect() or 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></return>
</function>

<function name="gtk_radio_action_get_current_value">
<description>
Obtains the value property of the currently active member of 
the group to which @action belongs.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkRadioAction
</parameter_description>
</parameter>
</parameters>
<return> The value of the currently active group member

</return>
</function>

<function name="gtk_radio_action_get_group">
<description>
Returns the list representing the radio group for this object.
Note that the returned list is only valid until the next change
to the group. 

A common way to set up a group of radio group is the following:
|[
GSList *group = NULL;
GtkRadioAction *action;

while (/ * more actions to add * /)
{
action = gtk_radio_action_new (...);

gtk_radio_action_set_group (action, group);
group = gtk_radio_action_get_group (action);
}
]|

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> the list representing the radio group for this object

</return>
</function>

<function name="gtk_radio_action_join_group">
<description>
Joins a radio action object to the group of another radio action object.

Use this in language bindings instead of the gtk_radio_action_get_group() 
and gtk_radio_action_set_group() methods

A common way to set up a group of radio actions is the following:
|[
GtkRadioAction *action;
GtkRadioAction *last_action;

while (/ * more actions to add * /)
{
action = gtk_radio_action_new (...);

gtk_radio_action_join_group (action, last_action);
last_action = action;
}
]|

Since: 3.0

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="group_source">
<parameter_description> a radio action object whos group we are 
joining, or %NULL to remove the radio action from its group
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_radio_action_new">
<description>
Creates a new #GtkRadioAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel().

Since: 2.4

</description>
<parameters>
<parameter name="name">
<parameter_description> A unique name for the action
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> The label displayed in menu items and on buttons,
or %NULL
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> A tooltip for this action, or %NULL
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> The stock icon to display in widgets representing
this action, or %NULL
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> The value which gtk_radio_action_get_current_value() should
return if this action is selected.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkRadioAction

</return>
</function>

<function name="gtk_radio_action_set_current_value">
<description>
Sets the currently active group member to the member with value
property @current_value.

Since: 2.10

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkRadioAction
</parameter_description>
</parameter>
<parameter name="current_value">
<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_radio_action_set_group">
<description>
Sets the radio group for the radio action object.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a list representing a radio group
</parameter_description>
</parameter>
</parameters>
<return></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:
|[
GtkRadioButton *radio_button;
GtkRadioButton *last_button;

while (/ * more buttons to add * /)
{
radio_button = gtk_radio_button_new (...);

gtk_radio_button_join_group (radio_button, last_button);
last_button = radio_button;
}
]|

Since: 3.0

</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
</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().
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_radio_menu_item_get_group">
<description>
Returns the group to which the radio menu item belongs, as a #GList of
#GtkRadioMenuItem. The list belongs to GTK+ and should not be freed.


</description>
<parameters>
<parameter name="radio_menu_item">
<parameter_description> a #GtkRadioMenuItem
</parameter_description>
</parameter>
</parameters>
<return> the group
of @radio_menu_item
</return>
</function>

<function name="gtk_radio_menu_item_new">
<description>
Creates a new #GtkRadioMenuItem.


</description>
<parameters>
<parameter name="group">
<parameter_description> the group to which the
radio menu item is to be attached
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkRadioMenuItem
</return>
</function>

<function name="gtk_radio_menu_item_new_from_widget">
<description>
Creates a new #GtkRadioMenuItem adding it to the same group as @group.

Since: 2.4

</description>
<parameters>
<parameter name="group">
<parameter_description> An existing #GtkRadioMenuItem
</parameter_description>
</parameter>
</parameters>
<return> The new #GtkRadioMenuItem

</return>
</function>

<function name="gtk_radio_menu_item_new_with_label">
<description>
Creates a new #GtkRadioMenuItem whose child is a simple #GtkLabel.


</description>
<parameters>
<parameter name="group">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text for the label
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkRadioMenuItem
</return>
</function>

<function name="gtk_radio_menu_item_new_with_label_from_widget">
<description>
Creates a new GtkRadioMenuItem whose child is a simple GtkLabel.
The new #GtkRadioMenuItem is added to the same group as @group.

Since: 2.4

</description>
<parameters>
<parameter name="group">
<parameter_description> an existing #GtkRadioMenuItem
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the text for the label
</parameter_description>
</parameter>
</parameters>
<return> The new #GtkRadioMenuItem

</return>
</function>

<function name="gtk_radio_menu_item_new_with_mnemonic">
<description>
Creates a new #GtkRadioMenuItem containing a label. The label
will be created using gtk_label_new_with_mnemonic(), so underscores
in @label indicate the mnemonic for the menu item.


</description>
<parameters>
<parameter name="group">
<parameter_description> group the radio menu item is inside
</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 #GtkRadioMenuItem
</return>
</function>

<function name="gtk_radio_menu_item_new_with_mnemonic_from_widget">
<description>
Creates a new GtkRadioMenuItem containing a label. The label will be
created using gtk_label_new_with_mnemonic(), so underscores in label
indicate the mnemonic for the menu item.

The new #GtkRadioMenuItem is added to the same group as @group.

Since: 2.4

</description>
<parameters>
<parameter name="group">
<parameter_description> An existing #GtkRadioMenuItem
</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> The new #GtkRadioMenuItem

</return>
</function>

<function name="gtk_radio_menu_item_set_group">
<description>
Sets the group of a radio menu item, or changes it.

</description>
<parameters>
<parameter name="radio_menu_item">
<parameter_description> a #GtkRadioMenuItem.
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> the new group.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_radio_tool_button_get_group">
<description>
Returns the radio button group @button belongs to.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkRadioToolButton
</parameter_description>
</parameter>
</parameters>
<return> The group @button belongs to.

</return>
</function>

<function name="gtk_radio_tool_button_new">
<description>
Creates a new #GtkRadioToolButton, adding it to @group.

Since: 2.4

</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> The new #GtkRadioToolButton

</return>
</function>

<function name="gtk_radio_tool_button_new_from_stock">
<description>
Creates a new #GtkRadioToolButton, adding it to @group. 
The new #GtkRadioToolButton will contain an icon and label from the
stock item indicated by @stock_id.

Since: 2.4

</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="stock_id">
<parameter_description> the name of a stock item
</parameter_description>
</parameter>
</parameters>
<return> The new #GtkRadioToolButton

</return>
</function>

<function name="gtk_radio_tool_button_new_from_widget">
<description>
Creates a new #GtkRadioToolButton adding it to the same group as @gruup

Since: 2.4

</description>
<parameters>
<parameter name="group">
<parameter_description> An existing #GtkRadioToolButton, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> The new #GtkRadioToolButton

</return>
</function>

<function name="gtk_radio_tool_button_new_with_stock_from_widget">
<description>
Creates a new #GtkRadioToolButton adding it to the same group as @group.
The new #GtkRadioToolButton will contain an icon and label from the
stock item indicated by @stock_id.

Since: 2.4

</description>
<parameters>
<parameter name="group">
<parameter_description> An existing #GtkRadioToolButton.
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> the name of a stock item
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkRadioToolButton

</return>
</function>

<function name="gtk_radio_tool_button_set_group">
<description>
Adds @button to @group, removing it from the group it belonged to before.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkRadioToolButton
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> an existing radio button group
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_get_adjustment">
<description>
Get the #GtkAdjustment which is the &quot;model&quot; object for #GtkRange.
See gtk_range_set_adjustment() for details.
The return value does not have a reference added, so should not
be unreferenced.


</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.

Since: 2.12

</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().

Since: 2.18

</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_lower_stepper_sensitivity">
<description>
Gets the sensitivity policy for the stepper that points to the
'lower' end of the GtkRange's adjustment.

Since: 2.10

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> The lower stepper's sensitivity policy.

</return>
</function>

<function name="gtk_range_get_min_slider_size">
<description>
This function is useful mainly for #GtkRange subclasses.

See gtk_range_set_min_slider_size().

Since: 2.20

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> The minimum size of the range's slider.

</return>
</function>

<function name="gtk_range_get_range_rect">
<description>
This function returns the area that contains the range's trough
and its steppers, in widget-&gt;window coordinates.

This function is useful mainly for #GtkRange subclasses.

Since: 2.20

</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.

Since: 2.12

</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.

Since: 2.24

</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.

Since: 2.12

</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.

Since: 2.20

</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().

Since: 2.20

</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_upper_stepper_sensitivity">
<description>
Gets the sensitivity policy for the stepper that points to the
'upper' end of the GtkRange's adjustment.

Since: 2.10

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
</parameters>
<return> The upper stepper's sensitivity policy.

</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 &quot;model&quot; object for this range
widget. The adjustment indicates the current range value, the
minimum and maximum range values, the step/page increments used
for keybindings and scrolling, and the page size. The page size
is normally 0 for #GtkScale and nonzero for #GtkScrollbar, and
indicates the size of the visible area of the widget being scrolled.
The page size affects the size of the scrollbar slider.

</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 &quot;fill level&quot; is probably best described by its most prominent
use case, which is an indicator for the amount of pre-buffering in
a streaming media player. In that use case, the value of the range
would indicate the current play position, and the fill level would
be the position up to which the file/stream has been downloaded.

This amount of prebuffering can be displayed on the range'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.

Since: 2.12

</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().

Since: 2.18

</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_lower_stepper_sensitivity">
<description>
Sets the sensitivity policy for the stepper that points to the
'lower' end of the GtkRange's adjustment.

Since: 2.10

</description>
<parameters>
<parameter name="range">
<parameter_description>       a #GtkRange
</parameter_description>
</parameter>
<parameter name="sensitivity">
<parameter_description> the lower stepper's sensitivity policy.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_range_set_min_slider_size">
<description>
Sets the minimum size of the range's slider.

This function is useful mainly for #GtkRange subclasses.

Since: 2.20

</description>
<parameters>
<parameter name="range">
<parameter_description> a #GtkRange
</parameter_description>
</parameter>
<parameter name="min_size">
<parameter_description> The slider's minimum size
</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.

Since: 2.12

</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.

Since: 2.24

</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.

Since: 2.12

</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.

Since: 2.20

</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_upper_stepper_sensitivity">
<description>
Sets the sensitivity policy for the stepper that points to the
'upper' end of the GtkRange's adjustment.

Since: 2.10

</description>
<parameters>
<parameter name="range">
<parameter_description>       a #GtkRange
</parameter_description>
</parameter>
<parameter name="sensitivity">
<parameter_description> the upper stepper's sensitivity policy.
</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_rc_add_default_file">
<description>
Adds a file to the list of files to be parsed at the
end of gtk_init().

Deprecated:3.0: Use #GtkStyleContext with a custom #GtkStyleProvider instead

</description>
<parameters>
<parameter name="filename">
<parameter_description> the pathname to the file. If @filename
is not absolute, it is searched in the current directory.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_rc_find_module_in_path">
<description>
Searches for a theme engine in the GTK+ search path. This function
is not useful for applications and should not be used.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="module_file">
<parameter_description> name of a theme engine
</parameter_description>
</parameter>
</parameters>
<return> The filename, if found (must be
freed with g_free()), otherwise %NULL.

</return>
</function>

<function name="gtk_rc_find_pixmap_in_path">
<description>
Looks up a file in pixmap path for the specified #GtkSettings.
If the file is not found, it outputs a warning message using
g_warning() and returns %NULL.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkSettings
</parameter_description>
</parameter>
<parameter name="scanner">
<parameter_description> Scanner used to get line number information for the
warning message, or %NULL
</parameter_description>
</parameter>
<parameter name="pixmap_file">
<parameter_description> name of the pixmap file to locate.
</parameter_description>
</parameter>
</parameters>
<return> the filename.

</return>
</function>

<function name="gtk_rc_get_default_files">
<description>
Retrieves the current list of RC files that will be parsed
at the end of gtk_init().

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
</parameters>
<return>
A %NULL-terminated array of filenames.  This memory is owned
by GTK+ and must not be freed by the application.  If you want
to store this information, you should make a copy.

</return>
</function>

<function name="gtk_rc_get_im_module_file">
<description>
Obtains the path to the IM modules file. See the documentation
of the &lt;link linkend=&quot;im-module-file&quot;&gt;&lt;envar&gt;GTK_IM_MODULE_FILE&lt;/envar&gt;&lt;/link&gt;
environment variable for more details.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
</parameters>
<return> a newly-allocated string containing the
name of the file listing the IM modules available for loading

</return>
</function>

<function name="gtk_rc_get_im_module_path">
<description>
Obtains the path in which to look for IM modules. See the documentation
of the &lt;link linkend=&quot;im-module-path&quot;&gt;&lt;envar&gt;GTK_PATH&lt;/envar&gt;&lt;/link&gt;
environment variable for more details about looking up modules. This
function is useful solely for utilities supplied with GTK+ and should
not be used by applications under normal circumstances.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
</parameters>
<return> a newly-allocated string containing the
path in which to look for IM modules.

</return>
</function>

<function name="gtk_rc_get_module_dir">
<description>
Returns a directory in which GTK+ looks for theme engines.
For full information about the search for theme engines,
see the docs for &lt;envar&gt;GTK_PATH&lt;/envar&gt; in
&lt;xref linkend=&quot;gtk-running&quot;/&gt;.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
</parameters>
<return> the directory. (Must be freed with g_free())

</return>
</function>

<function name="gtk_rc_get_style">
<description>
Finds all matching RC styles for a given widget,
composites them together, and then creates a
#GtkStyle representing the composite appearance.
(GTK+ actually keeps a cache of previously
created styles, so a new style may not be
created.)

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the resulting style. No refcount is added
to the returned style, so if you want to save this style around,
you should add a reference yourself.

</return>
</function>

<function name="gtk_rc_get_style_by_paths">
<description>
Creates up a #GtkStyle from styles defined in a RC file by providing
the raw components used in matching. This function may be useful
when creating pseudo-widgets that should be themed like widgets but
don't actually have corresponding GTK+ widgets. An example of this
would be items inside a GNOME canvas widget.

The action of gtk_rc_get_style() is similar to:
|[
gtk_widget_path (widget, NULL, &amp;path, NULL);
gtk_widget_class_path (widget, NULL, &amp;class_path, NULL);
gtk_rc_get_style_by_paths (gtk_widget_get_settings (widget),
path, class_path,
G_OBJECT_TYPE (widget));
]|

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkSettings object
</parameter_description>
</parameter>
<parameter name="widget_path">
<parameter_description> the widget path to use when looking up the
style, or %NULL if no matching against the widget path should be done
</parameter_description>
</parameter>
<parameter name="class_path">
<parameter_description> the class path to use when looking up the style,
or %NULL if no matching against the class path should be done.
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> a type that will be used along with parent types of this type
when matching against class styles, or #G_TYPE_NONE
</parameter_description>
</parameter>
</parameters>
<return> A style created by matching with the
supplied paths, or %NULL if nothing matching was specified and the
default style should be used. The returned value is owned by GTK+
as part of an internal cache, so you must call g_object_ref() on
the returned value if you want to keep a reference to it.

</return>
</function>

<function name="gtk_rc_get_theme_dir">
<description>
Returns the standard directory in which themes should
be installed. (GTK+ does not actually use this directory
itself.)

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
</parameters>
<return> The directory (must be freed with g_free()).

</return>
</function>

<function name="gtk_rc_parse">
<description>
Parses a given resource file.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="filename">
<parameter_description> the filename of a file to parse. If @filename is not absolute, it
is searched in the current directory.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_rc_parse_color">
<description>
Parses a color in the &lt;link linkend=&quot;color=format&quot;&gt;format&lt;/link&gt; expected
in a RC file.

Note that theme engines should use gtk_rc_parse_color_full() in
order to support symbolic colors.

Deprecated:3.0: Use #GtkCssProvider instead

</description>
<parameters>
<parameter name="scanner">
<parameter_description> a #GScanner
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a pointer to a #GdkColor structure in which to store
the result
</parameter_description>
</parameter>
</parameters>
<return> %G_TOKEN_NONE if parsing succeeded, otherwise the token
that was expected but not found

</return>
</function>

<function name="gtk_rc_parse_color_full">
<description>
Parses a color in the &lt;link linkend=&quot;color=format&quot;&gt;format&lt;/link&gt; expected
in a RC file. If @style is not %NULL, it will be consulted to resolve
references to symbolic colors.

Since: 2.12

Deprecated:3.0: Use #GtkCssProvider instead

</description>
<parameters>
<parameter name="scanner">
<parameter_description> a #GScanner
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #GtkRcStyle, or %NULL
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> a pointer to a #GdkColor structure in which to store
the result
</parameter_description>
</parameter>
</parameters>
<return> %G_TOKEN_NONE if parsing succeeded, otherwise the token
that was expected but not found

</return>
</function>

<function name="gtk_rc_parse_priority">
<description>
Parses a #GtkPathPriorityType variable from the format expected
in a RC file.

Deprecated:3.0: Use #GtkCssProvider instead

</description>
<parameters>
<parameter name="scanner">
<parameter_description> a #GtkScanner (must be initialized for parsing an RC file)
</parameter_description>
</parameter>
<parameter name="priority">
<parameter_description> A pointer to #GtkPathPriorityType variable in which
to store the result.
</parameter_description>
</parameter>
</parameters>
<return> %G_TOKEN_NONE if parsing succeeded, otherwise the token
that was expected but not found.

</return>
</function>

<function name="gtk_rc_parse_state">
<description>
Parses a #GtkStateType variable from the format expected
in a RC file.

Deprecated: 3.0: Use #GtkCssProvider instead

</description>
<parameters>
<parameter name="scanner">
<parameter_description> a #GScanner (must be initialized for parsing an RC file)
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> A pointer to a #GtkStateType variable in which to
store the result.
</parameter_description>
</parameter>
</parameters>
<return> %G_TOKEN_NONE if parsing succeeded, otherwise the token
that was expected but not found.

</return>
</function>

<function name="gtk_rc_parse_string">
<description>
Parses resource information directly from a string.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="rc_string">
<parameter_description> a string to parse.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_rc_property_parse_border">
<description>
A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses
borders in the form
&lt;literal&gt;&quot;{ left, right, top, bottom }&quot;&lt;/literal&gt; for integers
%left, %right, %top and %bottom.


</description>
<parameters>
<parameter name="pspec">
<parameter_description> a #GParamSpec
</parameter_description>
</parameter>
<parameter name="gstring">
<parameter_description> the #GString to be parsed
</parameter_description>
</parameter>
<parameter name="property_value">
<parameter_description> a #GValue which must hold boxed values.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @gstring could be parsed and @property_value
has been set to the resulting #GtkBorder.
</return>
</function>

<function name="gtk_rc_property_parse_color">
<description>
A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses a
color given either by its name or in the form
&lt;literal&gt;{ red, green, blue }&lt;/literal&gt; where %red, %green and
%blue are integers between 0 and 65535 or floating-point numbers
between 0 and 1.


</description>
<parameters>
<parameter name="pspec">
<parameter_description> a #GParamSpec
</parameter_description>
</parameter>
<parameter name="gstring">
<parameter_description> the #GString to be parsed
</parameter_description>
</parameter>
<parameter name="property_value">
<parameter_description> a #GValue which must hold #GdkColor values.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @gstring could be parsed and @property_value
has been set to the resulting #GdkColor.
</return>
</function>

<function name="gtk_rc_property_parse_enum">
<description>
A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses a single
enumeration value.

The enumeration value can be specified by its name, its nickname or
its numeric value. For consistency with flags parsing, the value
may be surrounded by parentheses.


</description>
<parameters>
<parameter name="pspec">
<parameter_description> a #GParamSpec
</parameter_description>
</parameter>
<parameter name="gstring">
<parameter_description> the #GString to be parsed
</parameter_description>
</parameter>
<parameter name="property_value">
<parameter_description> a #GValue which must hold enum values.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @gstring could be parsed and @property_value
has been set to the resulting #GEnumValue.
</return>
</function>

<function name="gtk_rc_property_parse_flags">
<description>
A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses flags.

Flags can be specified by their name, their nickname or
numerically. Multiple flags can be specified in the form
&lt;literal&gt;&quot;( flag1 | flag2 | ... )&quot;&lt;/literal&gt;.


</description>
<parameters>
<parameter name="pspec">
<parameter_description> a #GParamSpec
</parameter_description>
</parameter>
<parameter name="gstring">
<parameter_description> the #GString to be parsed
</parameter_description>
</parameter>
<parameter name="property_value">
<parameter_description> a #GValue which must hold flags values.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @gstring could be parsed and @property_value
has been set to the resulting flags value.
</return>
</function>

<function name="gtk_rc_property_parse_requisition">
<description>
A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
or gtk_widget_class_install_style_property_parser() which parses a
requisition in the form
&lt;literal&gt;&quot;{ width, height }&quot;&lt;/literal&gt; for integers %width and %height.


</description>
<parameters>
<parameter name="pspec">
<parameter_description> a #GParamSpec
</parameter_description>
</parameter>
<parameter name="gstring">
<parameter_description> the #GString to be parsed
</parameter_description>
</parameter>
<parameter name="property_value">
<parameter_description> a #GValue which must hold boxed values.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @gstring could be parsed and @property_value
has been set to the resulting #GtkRequisition.
</return>
</function>

<function name="gtk_rc_reparse_all">
<description>
If the modification time on any previously read file for the
default #GtkSettings has changed, discard all style information
and then reread all previously read RC files.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
</parameters>
<return>  %TRUE if the files were reread.

</return>
</function>

<function name="gtk_rc_reparse_all_for_settings">
<description>
If the modification time on any previously read file
for the given #GtkSettings has changed, discard all style information
and then reread all previously read RC files.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkSettings
</parameter_description>
</parameter>
<parameter name="force_load">
<parameter_description> load whether or not anything changed
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the files were reread.

</return>
</function>

<function name="gtk_rc_reset_styles">
<description>
This function recomputes the styles for all widgets that use a
particular #GtkSettings object. (There is one #GtkSettings object
per #GdkScreen, see gtk_settings_get_for_screen()); It is useful
when some global parameter has changed that affects the appearance
of all widgets, because when a widget gets a new style, it will
both redraw and recompute any cached information about its
appearance. As an example, it is used when the default font size
set by the operating system changes. Note that this function
doesn't affect widgets that have a style set explicitely on them
with gtk_widget_set_style().

Since: 2.4

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="settings">
<parameter_description> a #GtkSettings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_rc_scanner_new">
<description>
Deprecated:3.0: Use #GtkCssProvider instead

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_rc_set_default_files">
<description>
Sets the list of files that GTK+ will read at the
end of gtk_init().

Deprecated:3.0: Use #GtkStyleContext with a custom #GtkStyleProvider instead

</description>
<parameters>
<parameter name="filenames">
<parameter_description> A
%NULL-terminated list of filenames.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_rc_style_copy">
<description>
Makes a copy of the specified #GtkRcStyle. This function
will correctly copy an RC style that is a member of a class
derived from #GtkRcStyle.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
<parameter name="orig">
<parameter_description> the style to copy
</parameter_description>
</parameter>
</parameters>
<return> the resulting #GtkRcStyle

</return>
</function>

<function name="gtk_rc_style_new">
<description>
Creates a new #GtkRcStyle with no fields set and
a reference count of 1.

Deprecated: 3.0: Use #GtkCssProvider instead.

</description>
<parameters>
</parameters>
<return> the newly-created #GtkRcStyle

</return>
</function>

<function name="gtk_recent_action_get_show_numbers">
<description>
Returns the value set by gtk_recent_chooser_menu_set_show_numbers().

Since: 2.12

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkRecentAction
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if numbers should be shown.

</return>
</function>

<function name="gtk_recent_action_new">
<description>
Creates a new #GtkRecentAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel().

Since: 2.12

</description>
<parameters>
<parameter name="name">
<parameter_description> a unique name for the action
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the label displayed in menu items and on buttons,
or %NULL
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a tooltip for the action, or %NULL
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> the stock icon to display in widgets representing
the action, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> the newly created #GtkRecentAction.

</return>
</function>

<function name="gtk_recent_action_new_for_manager">
<description>
Creates a new #GtkRecentAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel().

Since: 2.12

</description>
<parameters>
<parameter name="name">
<parameter_description> a unique name for the action
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the label displayed in menu items and on buttons,
or %NULL
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> a tooltip for the action, or %NULL
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> the stock icon to display in widgets representing
the action, or %NULL
</parameter_description>
</parameter>
<parameter name="manager">
<parameter_description> a #GtkRecentManager, or %NULL for using the default
#GtkRecentManager
</parameter_description>
</parameter>
</parameters>
<return> the newly created #GtkRecentAction

</return>
</function>

<function name="gtk_recent_action_set_show_numbers">
<description>
Sets whether a number should be added to the items shown by the
widgets representing @action. The numbers are shown to provide
a unique character for a mnemonic to be used inside the menu item's
label. Only the first ten items get a number to avoid clashes.

Since: 2.12

</description>
<parameters>
<parameter name="action">
<parameter_description> a #GtkRecentAction
</parameter_description>
</parameter>
<parameter name="show_numbers">
<parameter_description> %TRUE if the shown items should be numbered
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_add_filter">
<description>
Adds @filter to the list of #GtkRecentFilter objects held by @chooser.

If no previous filter objects were defined, this function will call
gtk_recent_chooser_set_filter().

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_dialog_new">
<description>
Creates a new #GtkRecentChooserDialog.  This function is analogous to
gtk_dialog_new_with_buttons().

Since: 2.10

</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="first_button_text">
<parameter_description> stock ID or 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 #GtkRecentChooserDialog

</return>
</function>

<function name="gtk_recent_chooser_dialog_new_for_manager">
<description>
Creates a new #GtkRecentChooserDialog with a specified recent manager.

This is useful if you have implemented your own recent manager, or if you
have a customized instance of a #GtkRecentManager object.

Since: 2.10

</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="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
<parameter name="first_button_text">
<parameter_description> stock ID or 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 #GtkRecentChooserDialog

</return>
</function>

<function name="gtk_recent_chooser_get_current_item">
<description>
Gets the #GtkRecentInfo currently selected by @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> a #GtkRecentInfo.  Use gtk_recent_info_unref() when
when you have finished using it.

</return>
</function>

<function name="gtk_recent_chooser_get_current_uri">
<description>
Gets the URI currently selected by @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated string holding a URI.

</return>
</function>

<function name="gtk_recent_chooser_get_filter">
<description>
Gets the #GtkRecentFilter object currently used by @chooser to affect
the display of the recently used resources.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> a #GtkRecentFilter object.

</return>
</function>

<function name="gtk_recent_chooser_get_items">
<description>
Gets the list of recently used resources in form of #GtkRecentInfo objects.

The return value of this function is affected by the &quot;sort-type&quot; and
&quot;limit&quot; properties of @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated
list of #GtkRecentInfo objects.  You should
use gtk_recent_info_unref() on every item of the list, and then free
the list itself using g_list_free().

</return>
</function>

<function name="gtk_recent_chooser_get_limit">
<description>
Gets the number of items returned by gtk_recent_chooser_get_items()
and gtk_recent_chooser_get_uris().

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> A positive integer, or -1 meaning that all items are
returned.

</return>
</function>

<function name="gtk_recent_chooser_get_local_only">
<description>
Gets whether only local resources should be shown in the recently used
resources selector.  See gtk_recent_chooser_set_local_only()

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if only local resources should be shown.

</return>
</function>

<function name="gtk_recent_chooser_get_select_multiple">
<description>
Gets whether @chooser can select multiple items.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @chooser can select more than one item.

</return>
</function>

<function name="gtk_recent_chooser_get_show_icons">
<description>
Retrieves whether @chooser should show an icon near the resource.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the icons should be displayed, %FALSE otherwise.

</return>
</function>

<function name="gtk_recent_chooser_get_show_not_found">
<description>
Retrieves whether @chooser should show the recently used resources that
were not found.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the resources not found should be displayed, and
%FALSE otheriwse.

</return>
</function>

<function name="gtk_recent_chooser_get_show_private">
<description>
Returns whether @chooser should display recently used resources
registered as private.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the recent chooser should show private items,
%FALSE otherwise.

</return>
</function>

<function name="gtk_recent_chooser_get_show_tips">
<description>
Gets whether @chooser should display tooltips containing the full path
of a recently user resource.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the recent chooser should show tooltips,
%FALSE otherwise.

</return>
</function>

<function name="gtk_recent_chooser_get_sort_type">
<description>
Gets the value set by gtk_recent_chooser_set_sort_type().

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> the sorting order of the @chooser.

</return>
</function>

<function name="gtk_recent_chooser_get_uris">
<description>
Gets the URI of the recently used resources.

The return value of this function is affected by the &quot;sort-type&quot; and &quot;limit&quot;
properties of @chooser.

Since the returned array is %NULL terminated, @length may be %NULL.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> return location for a the length of the URI list, or %NULL
</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_chooser_list_filters">
<description>
Gets the #GtkRecentFilter objects held by @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return> A singly linked list
of #GtkRecentFilter objects.  You
should just free the returned list using g_slist_free().

</return>
</function>

<function name="gtk_recent_chooser_menu_get_show_numbers">
<description>
Returns the value set by gtk_recent_chooser_menu_set_show_numbers().

Since: 2.10

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkRecentChooserMenu
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if numbers should be shown.

</return>
</function>

<function name="gtk_recent_chooser_menu_new">
<description>
Creates a new #GtkRecentChooserMenu widget.

This kind of widget shows the list of recently used resources as
a menu, each item as a menu item.  Each item inside the menu might
have an icon, representing its MIME type, and a number, for mnemonic
access.

This widget implements the #GtkRecentChooser interface.

This widget creates its own #GtkRecentManager object.  See the
gtk_recent_chooser_menu_new_for_manager() function to know how to create
a #GtkRecentChooserMenu widget bound to another #GtkRecentManager object.

Since: 2.10

</description>
<parameters>
</parameters>
<return> a new #GtkRecentChooserMenu

</return>
</function>

<function name="gtk_recent_chooser_menu_new_for_manager">
<description>
Creates a new #GtkRecentChooserMenu widget using @manager as
the underlying recently used resources manager.

This is useful if you have implemented your own recent manager,
or if you have a customized instance of a #GtkRecentManager
object or if you wish to share a common #GtkRecentManager object
among multiple #GtkRecentChooser widgets.

Since: 2.10

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkRecentChooserMenu, bound to @manager.

</return>
</function>

<function name="gtk_recent_chooser_menu_set_show_numbers">
<description>
Sets whether a number should be added to the items of @menu.  The
numbers are shown to provide a unique character for a mnemonic to
be used inside ten menu item's label.  Only the first the items
get a number to avoid clashes.

Since: 2.10

</description>
<parameters>
<parameter name="menu">
<parameter_description> a #GtkRecentChooserMenu
</parameter_description>
</parameter>
<parameter name="show_numbers">
<parameter_description> whether to show numbers
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_remove_filter">
<description>
Removes @filter from the list of #GtkRecentFilter objects held by @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_select_all">
<description>
Selects all the items inside @chooser, if the @chooser supports
multiple selection.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_select_uri">
<description>
Selects @uri inside @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a URI
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @uri was found.

</return>
</function>

<function name="gtk_recent_chooser_set_current_uri">
<description>
Sets @uri as the current URI for @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a URI
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the URI was found.

</return>
</function>

<function name="gtk_recent_chooser_set_filter">
<description>
Sets @filter as the current #GtkRecentFilter object used by @chooser
to affect the displayed recently used resources.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_limit">
<description>
Sets the number of items that should be returned by
gtk_recent_chooser_get_items() and gtk_recent_chooser_get_uris().

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="limit">
<parameter_description> a positive integer, or -1 for all items
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_local_only">
<description>
Sets whether only local resources, that is resources using the file:// URI
scheme, should be shown in the recently used resources selector.  If
@local_only is %TRUE (the default) then the shown resources are guaranteed
to be accessible through the operating system native file system.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="local_only">
<parameter_description> %TRUE if only local files can be shown
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_select_multiple">
<description>
Sets whether @chooser can select multiple items.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="select_multiple">
<parameter_description> %TRUE if @chooser can select more than one item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_show_icons">
<description>
Sets whether @chooser should show an icon near the resource when
displaying it.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="show_icons">
<parameter_description> whether to show an icon near the resource
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_show_not_found">
<description>
Sets whether @chooser should display the recently used resources that
it didn't find.  This only applies to local resources.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="show_not_found">
<parameter_description> whether to show the local items we didn't find
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_show_private">
<description>
Whether to show recently used resources marked registered as private.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="show_private">
<parameter_description> %TRUE to show private items, %FALSE otherwise
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_show_tips">
<description>
Sets whether to show a tooltips containing the full path of each
recently used resource in a #GtkRecentChooser widget.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="show_tips">
<parameter_description> %TRUE if tooltips should be shown
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_sort_func">
<description>
Sets the comparison function used when sorting to be @sort_func.  If
the @chooser has the sort type set to #GTK_RECENT_SORT_CUSTOM then
the chooser will sort using this function.

To the comparison function will be passed two #GtkRecentInfo structs and
@sort_data;  @sort_func should return a positive integer if the first
item comes before the second, zero if the two items are equal and
a negative integer if the first item comes after the second.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="sort_func">
<parameter_description> the comparison function
</parameter_description>
</parameter>
<parameter name="sort_data">
<parameter_description> user data to pass to @sort_func, or %NULL
</parameter_description>
</parameter>
<parameter name="data_destroy">
<parameter_description> destroy notifier for @sort_data, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_set_sort_type">
<description>
Changes the sorting order of the recently used resources list displayed by
@chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="sort_type">
<parameter_description> sort order that the chooser should use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_unselect_all">
<description>
Unselects all the items inside @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_unselect_uri">
<description>
Unselects @uri inside @chooser.

Since: 2.10

</description>
<parameters>
<parameter name="chooser">
<parameter_description> a #GtkRecentChooser
</parameter_description>
</parameter>
<parameter name="uri">
<parameter_description> a URI
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_chooser_widget_new">
<description>
Creates a new #GtkRecentChooserWidget object.  This is an embeddable widget
used to access the recently used resources list.

Since: 2.10

</description>
<parameters>
</parameters>
<return> a new #GtkRecentChooserWidget

</return>
</function>

<function name="gtk_recent_chooser_widget_new_for_manager">
<description>
Creates a new #GtkRecentChooserWidget with a specified recent manager.

This is useful if you have implemented your own recent manager, or if you
have a customized instance of a #GtkRecentManager object.

Since: 2.10

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkRecentManager
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkRecentChooserWidget

</return>
</function>

<function name="gtk_recent_filter_add_age">
<description>
Adds a rule that allows resources based on their age - that is, the number
of days elapsed since they were last modified.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
<parameter name="days">
<parameter_description> number of days
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_filter_add_application">
<description>
Adds a rule that allows resources based on the name of the application
that has registered them.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
<parameter name="application">
<parameter_description> an application name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_filter_add_custom">
<description>
Adds a rule to a filter that allows resources based on a custom callback
function. The bitfield @needed which is passed in provides information
about what sorts of information that the filter function needs;
this allows GTK+ to avoid retrieving expensive information when
it isn't needed by the filter.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</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="data_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_recent_filter_add_group">
<description>
Adds a rule that allows resources based on the name of the group
to which they belong

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a group name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_filter_add_mime_type">
<description>
Adds a rule that allows resources based on their registered MIME type.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
<parameter name="mime_type">
<parameter_description> a MIME type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_filter_add_pattern">
<description>
Adds a rule that allows resources based on a pattern matching their
display name.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
<parameter name="pattern">
<parameter_description> a file pattern
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_filter_add_pixbuf_formats">
<description>
Adds a rule allowing image files in the formats supported
by GdkPixbuf.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_recent_filter_filter">
<description>
Tests whether a file should be displayed according to @filter.
The #GtkRecentFilterInfo structure @filter_info should include
the fields returned from gtk_recent_filter_get_needed().

This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkRecentChooser.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
<parameter name="filter_info">
<parameter_description> a #GtkRecentFilterInfo structure containing information
about a recently used resource
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the file should be displayed

</return>
</function>

<function name="gtk_recent_filter_get_name">
<description>
Gets the human-readable name for the filter.
See gtk_recent_filter_set_name().

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
</parameters>
<return> the name of the filter, or %NULL.  The returned string
is owned by the filter object and should not be freed.

</return>
</function>

<function name="gtk_recent_filter_get_needed">
<description>
Gets the fields that need to be filled in for the structure
passed to gtk_recent_filter_filter()

This function will not typically be used by applications; it
is intended principally for use in the implementation of
#GtkRecentChooser.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
</parameters>
<return> bitfield of flags indicating needed fields when
calling gtk_recent_filter_filter()

</return>
</function>

<function name="gtk_recent_filter_new">
<description>
Creates a new #GtkRecentFilter with no rules added to it.
Such filter does not accept any recently used resources, so is not
particularly useful until you add rules with
gtk_recent_filter_add_pattern(), gtk_recent_filter_add_mime_type(),
gtk_recent_filter_add_application(), gtk_recent_filter_add_age().
To create a filter that accepts any recently used resource, use:
|[
GtkRecentFilter *filter = gtk_recent_filter_new ();
gtk_recent_filter_add_pattern (filter, &quot;*&quot;);
]|

Since: 2.10

</description>
<parameters>
</parameters>
<return> a new #GtkRecentFilter

</return>
</function>

<function name="gtk_recent_filter_set_name">
<description>
Sets the human-readable name of the filter; this is the string
that will be displayed in the recently used resources selector
user interface if there is a selectable list of filters.

Since: 2.10

</description>
<parameters>
<parameter name="filter">
<parameter_description> a #GtkRecentFilter
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> then human readable name of @filter
</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.22

</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.

Since: 2.10

</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_icon">
<description>
Retrieves the icon of size @size associated to the resource MIME type.

Since: 2.10

</description>
<parameters>
<parameter name="info">
<parameter_description> a #GtkRecentInfo
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the size of the icon in pixels
</parameter_description>
</parameter>
</parameters>
<return> a #GdkPixbuf containing the icon,
or %NULL. Use g_object_unref() when finished using the icon.

</return>
</function>

<function name="gtk_recent_info_get_mime_type">
<description>
Gets the MIME type of the resource.

Since: 2.10

</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 resource
was last modified.

Since: 2.10

</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 &quot;private&quot; flag.  Resources in the recently used
list that have this flag set to %TRUE should only be displayed by the
applications that have registered them.

Since: 2.10

</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
&quot;file:///foo/bar.txt&quot; will yield &quot;bar.txt&quot;.

Since: 2.10

</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.

Since: 2.10

</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().

Since: 2.10

</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 resource
was last visited.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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 structures point to the same
resource.

Since: 2.10

</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 structures point to se same
resource, %FALSE otherwise.

</return>
</function>

<function name="gtk_recent_info_ref">
<description>
Increases the reference count of @recent_info by one.

Since: 2.10

</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.

Since: 2.10

</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
structure passed in @recent_data.

The passed URI will be used to identify this resource inside the
list.

In order to register the new recently used resource, metadata about
the resource must be passed as well as the URI; the metadata is
stored in a #GtkRecentData structure, which must contain the MIME
type of the resource pointed by the URI; the name of the application
that is registering the item, and a command line to be used when
launching the item.

Optionally, a #GtkRecentData structure might contain a UTF-8 string
to be used when viewing the item instead of the last component of the
URI; a short description of the item; whether the item should be
considered private - that is, should be displayed only by the
applications that have registered it.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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 structure containing informations about the resource
like its MIME type, or its display name.

Since: 2.10

</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 structure 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.

Since: 2.10

</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 &quot;changed&quot; 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.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.10

</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 area (Such as in #GtkSpinner or the
fill line in #GtkRange), the state %GTK_STATE_FLAG_ACTIVE
determines whether there is activity going on.

Since: 3.0

</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.

&lt;example&gt;
&lt;title&gt;Typical arrow rendering at 0, 1&#47;2 &#8719;, &#8719; and 3&#47;2 &#8719;&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;arrows.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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.

&lt;example&gt;
&lt;title&gt;Typical background rendering, showing the effect of
&lt;parameter&gt;background-image&lt;/parameter&gt;,
&lt;parameter&gt;border-width&lt;/parameter&gt; and
&lt;parameter&gt;border-radius&lt;/parameter&gt;&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;background.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0.

</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_ACTIVE state determines whether the check is
on or off, and %GTK_STATE_FLAG_INCONSISTENT determines whether it
should be marked as undefined.

&lt;example&gt;
&lt;title&gt;Typical checkmark rendering&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;checks.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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_ACTIVE
determines whether the expander is collapsed or expanded.

&lt;example&gt;
&lt;title&gt;Typical expander rendering&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;expanders.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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_extension">
<description>
Renders a extension (as in a #GtkNotebook tab) in the rectangle
defined by @x, @y, @width, @height. The side where the extension
connects to is defined by @gap_side.

&lt;example&gt;
&lt;title&gt;Typical extension rendering&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;extensions.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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>
<parameter name="gap_side">
<parameter_description> side where the gap is
</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.
&lt;example&gt;
&lt;title&gt;Typical focus rendering&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;focus.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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.

&lt;example&gt;
&lt;title&gt;Examples of frame rendering, showing the effect of
&lt;parameter&gt;border-image&lt;/parameter&gt;,
&lt;parameter&gt;border-color&lt;/parameter&gt;,
&lt;parameter&gt;border-width&lt;/parameter&gt;,
&lt;parameter&gt;border-radius&lt;/parameter&gt; and
junctions&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;frames.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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_gap">
<description>
Renders a frame around the rectangle defined by (@x, @y, @width, @height),
leaving a gap on one side. @xy0_gap and @xy1_gap will mean X coordinates
for %GTK_POS_TOP and %GTK_POS_BOTTOM gap sides, and Y coordinates for
%GTK_POS_LEFT and %GTK_POS_RIGHT.

&lt;example&gt;
&lt;title&gt;Typical rendering of a frame with a gap&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;frame-gap.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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>
<parameter name="gap_side">
<parameter_description> side where the gap is
</parameter_description>
</parameter>
<parameter name="xy0_gap">
<parameter_description> initial coordinate (X or Y depending on @gap_side) for the gap
</parameter_description>
</parameter>
<parameter name="xy1_gap">
<parameter_description> end coordinate (X or Y depending on @gap_side) for the gap
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_handle">
<description>
Renders a handle (as in #GtkHandleBox, #GtkPaned and
#GtkWindow&lt;!-- --&gt;'s resize grip), in the rectangle
determined by @x, @y, @width, @height.

&lt;example&gt;
&lt;title&gt;Handles rendered for the paned and grip classes&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;handles.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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 @pixbuf at the specified @x and @y coordinates.

Since: 3.2

</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="pixbuf">
<parameter_description> a #GdkPixbuf containing the icon to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X position for the @pixbuf
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y position for the @pixbuf
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_render_icon_pixbuf">
<description>
Renders the icon specified by @source at the given @size, returning the result
in a pixbuf.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="source">
<parameter_description> the #GtkIconSource specifying the icon to render
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the size to render the icon at. A size of (GtkIconSize) -1
means render at the size of the source and don't scale.
</parameter_description>
</parameter>
</parameters>
<return> a newly-created #GdkPixbuf containing the rendered icon

</return>
</function>

<function name="gtk_render_insertion_cursor">
<description>
Draws a text caret on @cr at the specified index of @layout.

Since: 3.4

</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

Since: 3.0

</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).

Since: 3.0

</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_ACTIVE
state will determine whether the option is on or off, and
%GTK_STATE_FLAG_INCONSISTENT whether it should be marked as undefined.

&lt;example&gt;
&lt;title&gt;Typical option mark rendering&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;options.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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_slider">
<description>
Renders a slider (as in #GtkScale) in the rectangle defined by @x, @y,
@width, @height. @orientation defines whether the slider is vertical
or horizontal.

&lt;example&gt;
&lt;title&gt;Typical slider rendering&lt;/title&gt;
&lt;inlinegraphic fileref=&quot;sliders.png&quot; format=&quot;PNG&quot;/&gt;
&lt;/example&gt;

Since: 3.0

</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>
<parameter name="orientation">
<parameter_description> orientation of the slider
</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 structure and initializes its elements to zero.

Since: 3.0

</description>
<parameters>
</parameters>
<return> a new empty #GtkRequisition. The newly allocated #GtkRequisition should
be freed with gtk_requisition_free().

</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.

Since: 2.14

</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_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().

Since: 2.16

</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 &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup&lt;/link&gt;, 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.

Since: 2.12

</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.

Since: 2.14

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
</parameters>
<return> the minus button of the #GtkScaleButton

</return>
</function>

<function name="gtk_scale_button_get_plus_button">
<description>
Retrieves the plus button of the #GtkScaleButton.

Since: 2.14

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkScaleButton
</parameter_description>
</parameter>
</parameters>
<return> the plus button of the #GtkScaleButton

</return>
</function>

<function name="gtk_scale_button_get_popup">
<description>
Retrieves the popup of the #GtkScaleButton.

Since: 2.14

</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.

Since: 2.12

</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.

Since: 2.12

</description>
<parameters>
<parameter name="size">
<parameter_description> a stock icon size
</parameter_description>
</parameter>
<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.

Since: 2.12

</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.

Since: 2.12

</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.

Since: 2.12

</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().

Since: 2.16

</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.

Since: 3.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 3.0

</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.

Since: 3.0

</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 off to this
number of digits, so the retrieved value matches the value the user saw.

</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_has_origin">
<description>
If @has_origin is set to %TRUE (the default),
the scale will highlight the part of the scale
between the origin (bottom or left side) of the scale
and the current value.

Since: 3.4

</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_hadjustment">
<description>
Retrieves the #GtkAdjustment used for horizontal scrolling.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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.

Since: 3.0

</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_new">
<description>
Creates a new scrollbar with the given orientation.

Since: 3.0

</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_scrolled_window_add_with_viewport">
<description>
Used to add children without native scrolling capabilities. This
is simply a convenience function; it is equivalent to adding the
unscrollable child to a viewport, then adding the viewport to the
scrolled window. If a child has native scrolling, use
gtk_container_add() instead of this function.

The viewport scrolls the child by moving its #GdkWindow, and takes
the size of the child to be the size of its toplevel #GdkWindow. 
This will be very wrong for most widgets that support native scrolling;
for example, if you add a widget such as #GtkTreeView with a viewport,
the whole widget will scroll, including the column headings. Thus, 
widgets with native scrolling support should not be used with the 
#GtkViewport proxy.

A widget supports scrolling natively if it implements the
#GtkScrollable interface.

Deprecated: 3.8: gtk_container_add() will now automatically add
a #GtkViewport if the child doesn't implement #GtkScrollable.

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the widget you want to scroll
</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().

Since: 3.4

</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.

Since: 2.8

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the horizontal scrollbar of the scrolled window,
or %NULL if it does not have one.

</return>
</function>

<function name="gtk_scrolled_window_get_kinetic_scrolling">
<description>
Returns the specified kinetic scrolling behavior.

Since: 3.4

</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_min_content_height">
<description>
Gets the minimal content height of @scrolled_window, or -1 if not set.

Since: 3.0

</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.

Since: 3.0

</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_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_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.

Since: 2.8

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return> the vertical scrollbar of the scrolled window,
or %NULL if it does not have one.

</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 wrt. 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 #GtkWidget::button-press-event. If they don't, and handle
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.

Since: 3.4

</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> horizontal scroll adjustment
</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.

Since: 3.4

</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_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.

Since: 3.0

</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.

Since: 3.0

</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_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_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> vertical scroll adjustment
</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 obeys the &quot;gtk-scrolled-window-placement&quot; XSETTING.

See also gtk_scrolled_window_set_placement() and
gtk_scrolled_window_get_placement().

Since: 2.10

</description>
<parameters>
<parameter name="scrolled_window">
<parameter_description> a #GtkScrolledWindow
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 3.6

</description>
<parameters>
</parameters>
<return> a new #GtkSearchEntry

</return>
</function>

<function name="gtk_selection_add_target">
<description>
Appends a specified target to the list of supported targets for a 
given widget and selection.

</description>
<parameters>
<parameter name="widget">
<parameter_description>  a #GtkTarget
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> the selection
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> target to add.
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> A unsigned integer which will be passed back to the application.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_add_targets">
<description>
Prepends a table of targets to the list of supported targets
for a given widget and selection.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> the selection
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> a table of targets to add
</parameter_description>
</parameter>
<parameter name="ntargets">
<parameter_description>  number of entries in @targets
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_clear_targets">
<description>
Remove all targets registered for the given selection for the
widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description>    a #GtkWidget
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> an atom representing a selection
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_convert">
<description>
Requests the contents of a selection. When received, 
a &quot;selection-received&quot; signal will be generated.


</description>
<parameters>
<parameter name="widget">
<parameter_description> The widget which acts as requestor
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> Which selection to get
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> Form of information desired (e.g., STRING)
</parameter_description>
</parameter>
<parameter name="time_">
<parameter_description> Time of request (usually of triggering event)
       In emergency, you could use #GDK_CURRENT_TIME
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if requested succeeded. %FALSE if we could not process
request. (e.g., there was already a request in process for
this widget).
</return>
</function>

<function name="gtk_selection_data_copy">
<description>
Makes a copy of a #GtkSelectionData structure and its data.


</description>
<parameters>
<parameter name="data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</parameter_description>
</parameter>
</parameters>
<return> a pointer to a copy of @data.
</return>
</function>

<function name="gtk_selection_data_free">
<description>
Frees a #GtkSelectionData structure returned from
gtk_selection_data_copy().

</description>
<parameters>
<parameter name="data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_selection_data_get_data">
<description>
Retrieves the raw data of the selection.

Since: 2.14

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</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.

Since: 2.14

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</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.

Since: 3.0

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure
</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.

Since: 2.14

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</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.

Since: 2.14

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</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.

Since: 2.14

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</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.

Since: 2.6

</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_selection">
<description>
Retrieves the selection #GdkAtom of the selection data.

Since: 2.16

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</parameter_description>
</parameter>
</parameters>
<return> the selection #GdkAtom of the selection data.

</return>
</function>

<function name="gtk_selection_data_get_target">
<description>
Retrieves the target of the selection.

Since: 2.14

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a pointer to a #GtkSelectionData structure.
</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_uris">
<description>
Gets the contents of the selection data as array of URIs.

Since: 2.6

</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
&lt;emphasis&gt;only&lt;/emphasis&gt; 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 structure.
</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.

Since: 2.6

</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_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.

Since: 2.6

</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.

Since: 2.6

</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_rich_text">
<description>
Given a #GtkSelectionData object holding a list of targets,
determines if any of the targets in @targets can be used to
provide rich text.

Since: 2.10

</description>
<parameters>
<parameter name="selection_data">
<parameter_description> a #GtkSelectionData object
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @selection_data holds a list of targets,
and a suitable target for rich text 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.

Since: 2.10

</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_owner_set">
<description>
Claims ownership of a given selection for a particular widget,
or, if @widget is %NULL, release ownership of the selection.


</description>
<parameters>
<parameter name="widget">
<parameter_description>  a #GtkWidget, or %NULL.
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description>  an interned atom representing the selection to claim
</parameter_description>
</parameter>
<parameter name="time_">
<parameter_description> timestamp with which to claim the selection
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the operation succeeded
</return>
</function>

<function name="gtk_selection_owner_set_for_display">
<description>
Claim ownership of a given selection for a particular widget, or,
if @widget is %NULL, release ownership of the selection.

Since: 2.2

</description>
<parameters>
<parameter name="display">
<parameter_description> the #GdkDisplay where the selection is set
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> new selection owner (a #GtkWidget), or %NULL.
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> an interned atom representing the selection to claim.
</parameter_description>
</parameter>
<parameter name="time_">
<parameter_description> timestamp with which to claim the selection
</parameter_description>
</parameter>
</parameters>
<return> TRUE if the operation succeeded 

</return>
</function>

<function name="gtk_selection_remove_all">
<description>
Removes all handlers and unsets ownership of all 
selections for a widget. Called when widget is being
destroyed. This function will not generally be
called by applications.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_separator_menu_item_new">
<description>
Creates a new #GtkSeparatorMenuItem.


</description>
<parameters>
</parameters>
<return> a new #GtkSeparatorMenuItem.
</return>
</function>

<function name="gtk_separator_new">
<description>
Creates a new #GtkSeparator with the given orientation.

Since: 3.0

</description>
<parameters>
<parameter name="orientation">
<parameter_description> the separator's orientation.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkSeparator.

</return>
</function>

<function name="gtk_separator_tool_item_get_draw">
<description>
Returns whether @item is drawn as a line, or just blank. 
See gtk_separator_tool_item_set_draw().

Since: 2.4

</description>
<parameters>
<parameter name="item">
<parameter_description> a #GtkSeparatorToolItem 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @item is drawn as a line, or just blank.

</return>
</function>

<function name="gtk_separator_tool_item_new">
<description>
Create a new #GtkSeparatorToolItem

Since: 2.4

</description>
<parameters>
</parameters>
<return> the new #GtkSeparatorToolItem

</return>
</function>

<function name="gtk_separator_tool_item_set_draw">
<description>
Whether @item is drawn as a vertical line, or just blank.
Setting this to %FALSE along with gtk_tool_item_set_expand() is useful
to create an item that forces following items to the end of the toolbar.

Since: 2.4

</description>
<parameters>
<parameter name="item">
<parameter_description> a #GtkSeparatorToolItem
</parameter_description>
</parameter>
<parameter name="draw">
<parameter_description> whether @item is drawn as a vertical line
</parameter_description>
</parameter>
</parameters>
<return></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 GDK screen, creating
it if necessary. See gtk_settings_get_for_screen().


</description>
<parameters>
</parameters>
<return> a #GtkSettings object. If there is no default
screen, then returns %NULL.
</return>
</function>

<function name="gtk_settings_get_for_screen">
<description>
Gets the #GtkSettings object for @screen, creating it if necessary.

Since: 2.2

</description>
<parameters>
<parameter name="screen">
<parameter_description> a #GdkScreen.
</parameter_description>
</parameter>
</parameters>
<return> a #GtkSettings object.

</return>
</function>

<function name="gtk_settings_install_property_parser">
<description>

</description>
<parameters>
<parameter name="pspec">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="parser">
<parameter_description>
</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.

Since: 2.6

</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">
<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
&lt;simplelist&gt;
&lt;member&gt;&lt;filename&gt;file:///home/gnome/pict.jpg&lt;/filename&gt;&lt;/member&gt;
&lt;member&gt;&lt;filename&gt;http://www.gnome.org&lt;/filename&gt;&lt;/member&gt;
&lt;member&gt;&lt;filename&gt;mailto:me@gnome.org&lt;/filename&gt;&lt;/member&gt;
&lt;/simplelist&gt;
Ideally the timestamp is taken from the event triggering
the gtk_show_uri() call. If timestamp is not known you can take
%GDK_CURRENT_TIME.

This function can be used as a replacement for gnome_vfs_url_show()
and gnome_url_show().

Since: 2.14

</description>
<parameters>
<parameter name="screen">
<parameter_description> screen to show the uri on
or %NULL for the default screen
</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_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_ignore_hidden">
<description>
Returns if invisible widgets are ignored when calculating the size.

Since: 2.8

</description>
<parameters>
<parameter name="size_group">
<parameter_description> a #GtkSizeGroup
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if invisible widgets are ignored.

</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.

Since: 2.10

</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_ignore_hidden">
<description>
Sets whether unmapped widgets should be ignored when
calculating the size.

Since: 2.8 

</description>
<parameters>
<parameter name="size_group">
<parameter_description> a #GtkSizeGroup
</parameter_description>
</parameter>
<parameter name="ignore_hidden">
<parameter_description> whether unmapped widgets should be ignored
when calculating the size
</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_socket_add_grabbed_key">
<description>
Called from the GtkSocket platform-specific backend when the
corresponding plug has told the socket to grab a key.

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description> modifiers for the key
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_add_id">
<description>
Adds an XEMBED client, such as a #GtkPlug, to the #GtkSocket.  The
client may be in the same process or in a different process. 

To embed a #GtkPlug in a #GtkSocket, you can either create the
#GtkPlug with &lt;literal&gt;gtk_plug_new (0)&lt;/literal&gt;, call 
gtk_plug_get_id() to get the window ID of the plug, and then pass that to the
gtk_socket_add_id(), or you can call gtk_socket_get_id() to get the
window ID for the socket, and call gtk_plug_new() passing in that
ID.

The #GtkSocket must have already be added into a toplevel window
before you can make this call.

</description>
<parameters>
<parameter name="socket_">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> the Window of a client participating in the XEMBED protocol.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_add_window">
<description>
Adds a window to a GtkSocket.

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
<parameter name="xid">
<parameter_description> the native identifier for a window
</parameter_description>
</parameter>
<parameter name="need_reparent">
<parameter_description> whether the socket's plug's window needs to be
reparented to the socket
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_advance_toplevel_focus">
<description>
Called from the GtkSocket backend when the corresponding plug
has told the socket to move the focus.

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> a direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_claim_focus">
<description>
Claims focus for the socket. XXX send_event?

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
<parameter name="send_event">
<parameter_description> huh?
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_end_embedding">
<description>
Called to end the embedding of a plug in the socket.

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_get_id">
<description>
Gets the window ID of a #GtkSocket widget, which can then
be used to create a client embedded inside the socket, for
instance with gtk_plug_new(). 

The #GtkSocket must have already be added into a toplevel window 
before you can make this call.


</description>
<parameters>
<parameter name="socket_">
<parameter_description> a #GtkSocket.
</parameter_description>
</parameter>
</parameters>
<return> the window ID for the socket
</return>
</function>

<function name="gtk_socket_get_plug_window">
<description>
Retrieves the window of the plug. Use this to check if the plug has
been created inside of the socket.

Since:  2.14

</description>
<parameters>
<parameter name="socket_">
<parameter_description> a #GtkSocket.
</parameter_description>
</parameter>
</parameters>
<return> the window of the plug if available, or %NULL

</return>
</function>

<function name="gtk_socket_handle_map_request">
<description>
Called from the GtkSocket backend when the plug has been mapped.

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_new">
<description>
Create a new empty #GtkSocket.


</description>
<parameters>
</parameters>
<return>  the new #GtkSocket.
</return>
</function>

<function name="gtk_socket_remove_grabbed_key">
<description>
Called from the GtkSocket backend when the corresponding plug has
told the socket to remove a key grab.

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description> modifiers for the key
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_socket_unmap_notify">
<description>
Called from the GtkSocket backend when the plug has been unmapped ???

</description>
<parameters>
<parameter name="socket">
<parameter_description> a #GtkSocket
</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 all changed accordingly,
after this function call.

</description>
<parameters>
<parameter name="spin_button">
<parameter_description> a #GtkSpinButton
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description>  a #GtkAdjustment
</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 how much the spin button changes when an arrow
is clicked on
</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 wether 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.

Since: 2.20

</description>
<parameters>
</parameters>
<return> a new #GtkSpinner

</return>
</function>

<function name="gtk_spinner_start">
<description>
Starts the animation of the spinner.

Since: 2.20

</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.

Since: 2.20

</description>
<parameters>
<parameter name="spinner">
<parameter_description> a #GtkSpinner
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_get_geometry">
<description>
Obtains information about the location of the status icon
on screen. This information can be used to e.g. position 
popups like notification bubbles. 

See gtk_status_icon_position_menu() for a more convenient 
alternative for positioning menus.

Note that some platforms do not allow GTK+ to provide 
this information, and even on platforms that do allow it,
the information is not reliable unless the status icon
is embedded in a notification area, see
gtk_status_icon_is_embedded().

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> return location for
the screen, or %NULL if the information is not needed
</parameter_description>
</parameter>
<parameter name="area">
<parameter_description> return location for the area occupied by
the status icon, or %NULL
</parameter_description>
</parameter>
<parameter name="orientation">
<parameter_description> return location for the
orientation of the panel in which the status icon is embedded,
or %NULL. A panel at the top or bottom of the screen is
horizontal, a panel at the left or right is vertical.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the location information has 
been filled in

</return>
</function>

<function name="gtk_status_icon_get_gicon">
<description>
Retrieves the #GIcon being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_GICON (see gtk_status_icon_get_storage_type()).
The caller of this function does not own a reference to the
returned #GIcon.

If this function fails, @icon is left unchanged;

Since: 2.14

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> the displayed icon, or %NULL if the image is empty

</return>
</function>

<function name="gtk_status_icon_get_has_tooltip">
<description>
Returns the current value of the has-tooltip property.
See #GtkStatusIcon:has-tooltip for more information.

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> current value of has-tooltip on @status_icon.

</return>
</function>

<function name="gtk_status_icon_get_icon_name">
<description>
Gets the name of the icon being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_ICON_NAME (see gtk_status_icon_get_storage_type()).
The returned string is owned by the #GtkStatusIcon and should not
be freed or modified.

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> name of the displayed icon, or %NULL if the image is empty.

</return>
</function>

<function name="gtk_status_icon_get_pixbuf">
<description>
Gets the #GdkPixbuf being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_PIXBUF (see gtk_status_icon_get_storage_type()).
The caller of this function does not own a reference to the
returned pixbuf.

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> the displayed pixbuf,
or %NULL if the image is empty.

</return>
</function>

<function name="gtk_status_icon_get_screen">
<description>
Returns the #GdkScreen associated with @status_icon.

Since: 2.12

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> a #GdkScreen.

</return>
</function>

<function name="gtk_status_icon_get_size">
<description>
Gets the size in pixels that is available for the image. 
Stock icons and named icons adapt their size automatically
if the size of the notification area changes. For other
storage types, the size-changed signal can be used to
react to size changes.

Note that the returned size is only meaningful while the 
status icon is embedded (see gtk_status_icon_is_embedded()).

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> the size that is available for the image

</return>
</function>

<function name="gtk_status_icon_get_stock">
<description>
Gets the id of the stock icon being displayed by the #GtkStatusIcon.
The storage type of the status icon must be %GTK_IMAGE_EMPTY or
%GTK_IMAGE_STOCK (see gtk_status_icon_get_storage_type()).
The returned string is owned by the #GtkStatusIcon and should not
be freed or modified.

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> stock id of the displayed stock icon,
or %NULL if the image is empty.

</return>
</function>

<function name="gtk_status_icon_get_storage_type">
<description>
Gets the type of representation being used by the #GtkStatusIcon
to store image data. If the #GtkStatusIcon has no image data,
the return value will be %GTK_IMAGE_EMPTY. 

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> the image representation being used

</return>
</function>

<function name="gtk_status_icon_get_title">
<description>
Gets the title of this tray icon. See gtk_status_icon_set_title().

Since: 2.18

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> the title of the status icon

</return>
</function>

<function name="gtk_status_icon_get_tooltip_markup">
<description>
Gets the contents of the tooltip for @status_icon.

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</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_status_icon_get_tooltip_text">
<description>
Gets the contents of the tooltip for @status_icon.

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</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_status_icon_get_visible">
<description>
Returns whether the status icon is visible or not. 
Note that being visible does not guarantee that 
the user can actually see the icon, see also 
gtk_status_icon_is_embedded().

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the status icon is visible

</return>
</function>

<function name="gtk_status_icon_get_x11_window_id">
<description>
This function is only useful on the X11/freedesktop.org platform.
It returns a window ID for the widget in the underlying
status icon implementation.  This is useful for the Galago 
notification service, which can send a window ID in the protocol 
in order for the server to position notification windows 
pointing to a status icon reliably.

This function is not intended for other use cases which are
more likely to be met by one of the non-X11 specific methods, such
as gtk_status_icon_position_menu().

Since: 2.14

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> An 32 bit unsigned integer identifier for the 
underlying X11 Window

</return>
</function>

<function name="gtk_status_icon_is_embedded">
<description>
Returns whether the status icon is embedded in a notification
area. 

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the status icon is embedded in
a notification area.

</return>
</function>

<function name="gtk_status_icon_new">
<description>
Creates an empty status icon object.

Since: 2.10

</description>
<parameters>
</parameters>
<return> a new #GtkStatusIcon

</return>
</function>

<function name="gtk_status_icon_new_from_file">
<description>
Creates a status icon displaying the file @filename. 

The image will be scaled down to fit in the available 
space in the notification area, if necessary.

Since: 2.10

</description>
<parameters>
<parameter name="filename">
<parameter_description> a filename
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkStatusIcon

</return>
</function>

<function name="gtk_status_icon_new_from_gicon">
<description>
Creates a status icon displaying a #GIcon. If the icon is a
themed icon, it will be updated when the theme changes.

Since: 2.14

</description>
<parameters>
<parameter name="icon">
<parameter_description> a #GIcon
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkStatusIcon

</return>
</function>

<function name="gtk_status_icon_new_from_icon_name">
<description>
Creates a status icon displaying an icon from the current icon theme.
If the current icon theme is changed, the icon will be updated 
appropriately.

Since: 2.10

</description>
<parameters>
<parameter name="icon_name">
<parameter_description> an icon name
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkStatusIcon

</return>
</function>

<function name="gtk_status_icon_new_from_pixbuf">
<description>
Creates a status icon displaying @pixbuf. 

The image will be scaled down to fit in the available 
space in the notification area, if necessary.

Since: 2.10

</description>
<parameters>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkStatusIcon

</return>
</function>

<function name="gtk_status_icon_new_from_stock">
<description>
Creates a status icon displaying a stock icon. Sample stock icon
names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. You can register your 
own stock icon names, see gtk_icon_factory_add_default() and 
gtk_icon_factory_add(). 

Since: 2.10

</description>
<parameters>
<parameter name="stock_id">
<parameter_description> a stock icon id
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkStatusIcon

</return>
</function>

<function name="gtk_status_icon_position_menu">
<description>
Menu positioning function to use with gtk_menu_popup()
to position @menu aligned to the status icon @user_data.

Since: 2.10

</description>
<parameters>
<parameter name="menu">
<parameter_description> the #GtkMenu
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> return location for the x position
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> return location for the y position
</parameter_description>
</parameter>
<parameter name="push_in">
<parameter_description> whether the first menu item should be offset
(pushed in) to be aligned with the menu popup position
(only useful for GtkOptionMenu).
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> the status icon to position the menu on
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_from_file">
<description>
Makes @status_icon display the file @filename.
See gtk_status_icon_new_from_file() for details.

Since: 2.10 

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> a filename
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_from_gicon">
<description>
Makes @status_icon display the #GIcon.
See gtk_status_icon_new_from_gicon() for details.

Since: 2.14

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> a GIcon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_from_icon_name">
<description>
Makes @status_icon display the icon named @icon_name from the 
current icon theme.
See gtk_status_icon_new_from_icon_name() for details.

Since: 2.10 

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> an icon name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_from_pixbuf">
<description>
Makes @status_icon display @pixbuf.
See gtk_status_icon_new_from_pixbuf() for details.

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_from_stock">
<description>
Makes @status_icon display the stock icon with the id @stock_id.
See gtk_status_icon_new_from_stock() for details.

Since: 2.10 

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> a stock icon id
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_has_tooltip">
<description>
Sets the has-tooltip property on @status_icon to @has_tooltip.
See #GtkStatusIcon:has-tooltip for more information.

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="has_tooltip">
<parameter_description> whether or not @status_icon has a tooltip
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_name">
<description>
Sets the name of this tray icon.
This should be a string identifying this icon. It is may be
used for sorting the icons in the tray and will not be shown to
the user.

Since: 2.20

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_screen">
<description>
Sets the #GdkScreen where @status_icon is displayed; if
the icon is already mapped, it will be unmapped, and
then remapped on the new screen.

Since: 2.12

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> a #GdkScreen
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_title">
<description>
Sets the title of this tray icon.
This should be a short, human-readable, localized string 
describing the tray icon. It may be used by tools like screen
readers to render the tray icon.

Since: 2.18

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="title">
<parameter_description> the title 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_tooltip_markup">
<description>
Sets @markup as the contents of the tooltip, which is marked up with
the &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.

This function will take care of setting #GtkStatusIcon:has-tooltip to %TRUE
and of the default handler for the #GtkStatusIcon::query-tooltip signal.

See also the #GtkStatusIcon:tooltip-markup property and
gtk_tooltip_set_markup().

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> the contents of the tooltip for @status_icon, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_tooltip_text">
<description>
Sets @text as the contents of the tooltip.

This function will take care of setting #GtkStatusIcon:has-tooltip to
%TRUE and of the default handler for the #GtkStatusIcon::query-tooltip
signal.

See also the #GtkStatusIcon:tooltip-text property and
gtk_tooltip_set_text().

Since: 2.16

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the contents of the tooltip for @status_icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_status_icon_set_visible">
<description>
Shows or hides a status icon.

Since: 2.10

</description>
<parameters>
<parameter name="status_icon">
<parameter_description> a #GtkStatusIcon
</parameter_description>
</parameter>
<parameter name="visible">
<parameter_description> %TRUE to show the status icon, %FALSE to hide it
</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 
&lt;emphasis&gt;not&lt;/emphasis&gt; 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.

Since: 2.20

</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.

Since: 2.22

</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_stock_add">
<description>
Registers each of the stock items in @items. If an item already
exists with the same stock ID as one of the @items, the old item
gets replaced. The stock items are copied, so GTK+ does not hold
any pointer into @items and @items can be freed. Use
gtk_stock_add_static() if @items is persistent and GTK+ need not
copy the array.


</description>
<parameters>
<parameter name="items">
<parameter_description> a #GtkStockItem or array of items
</parameter_description>
</parameter>
<parameter name="n_items">
<parameter_description> number of #GtkStockItem in @items
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stock_add_static">
<description>
Same as gtk_stock_add(), but doesn't copy @items, so
@items must persist until application exit.


</description>
<parameters>
<parameter name="items">
<parameter_description> a #GtkStockItem or array of #GtkStockItem
</parameter_description>
</parameter>
<parameter name="n_items">
<parameter_description> number of items
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stock_item_copy">
<description>
Copies a stock item, mostly useful for language bindings and not in applications.


</description>
<parameters>
<parameter name="item">
<parameter_description> a #GtkStockItem
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkStockItem
</return>
</function>

<function name="gtk_stock_item_free">
<description>
Frees a stock item allocated on the heap, such as one returned by
gtk_stock_item_copy(). Also frees the fields inside the stock item,
if they are not %NULL.


</description>
<parameters>
<parameter name="item">
<parameter_description> a #GtkStockItem
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_stock_list_ids">
<description>
Retrieves a list of all known stock IDs added to a #GtkIconFactory
or registered with gtk_stock_add(). The list must be freed with g_slist_free(),
and each string in the list must be freed with g_free().


</description>
<parameters>
</parameters>
<return> a list of known stock IDs
</return>
</function>

<function name="gtk_stock_lookup">
<description>
Fills @item with the registered values for @stock_id, returning %TRUE
if @stock_id was known.



</description>
<parameters>
<parameter name="stock_id">
<parameter_description> a stock item name
</parameter_description>
</parameter>
<parameter name="item">
<parameter_description> stock item to initialize with values
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @item was initialized
</return>
</function>

<function name="gtk_stock_set_translate_func">
<description>
Sets a function to be used for translating the @label of 
a stock item.

If no function is registered for a translation domain,
g_dgettext() is used.

The function is used for all stock items whose
@translation_domain matches @domain. Note that it is possible
to use strings different from the actual gettext translation domain
of your application for this, as long as your #GtkTranslateFunc uses
the correct domain when calling dgettext(). This can be useful, e.g.
when dealing with message contexts:

|[
GtkStockItem items[] = { 
{ MY_ITEM1, NC_(&quot;odd items&quot;, &quot;Item 1&quot;), 0, 0, &quot;odd-item-domain&quot; },
{ MY_ITEM2, NC_(&quot;even items&quot;, &quot;Item 2&quot;), 0, 0, &quot;even-item-domain&quot; },
};

gchar *
my_translate_func (const gchar *msgid,
gpointer     data)
{
gchar *msgctxt = data;

return (gchar*)g_dpgettext2 (GETTEXT_PACKAGE, msgctxt, msgid);
}

/ * ... * /

gtk_stock_add (items, G_N_ELEMENTS (items));
gtk_stock_set_translate_func (&quot;odd-item-domain&quot;, my_translate_func, &quot;odd items&quot;); 
gtk_stock_set_translate_func (&quot;even-item-domain&quot;, my_translate_func, &quot;even items&quot;); 
]|

Since: 2.8

</description>
<parameters>
<parameter name="domain">
<parameter_description> the translation domain for which @func shall be used
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> a #GtkTranslateFunc 
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to pass to @func
</parameter_description>
</parameter>
<parameter name="notify">
<parameter_description> a #GDestroyNotify that is called when @data is
no longer needed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_apply_default_background">
<description>
Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="style">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description>
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description>
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_attach">
<description>
Attaches a style to a window; this process allocates the
colors and creates the GC's for the style - it specializes
it to a particular visual. The process may involve the creation
of a new style if the style has already been attached to a
window with a different style and visual.

Since this function may return a new object, you have to use it
in the following way:
&lt;literal&gt;style = gtk_style_attach (style, window)&lt;/literal&gt;

Deprecated:3.0: Use gtk_widget_style_attach() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle.
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow.
</parameter_description>
</parameter>
</parameters>
<return> Either @style, or a newly-created #GtkStyle.
If the style is newly created, the style parameter
will be unref'ed, and the new style will have
a reference count belonging to the caller.

</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 an &quot;entry&quot;
class, would be matched by:

&lt;programlisting&gt;
GtkEntry.entry { ... }
&lt;/programlisting&gt;

While any widget defining an &quot;entry&quot; class would be
matched by:
&lt;programlisting&gt;
.entry { ... }
&lt;/programlisting&gt;

Since: 3.0

</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_screen().

&lt;note&gt;&lt;para&gt;If both priorities are the same, A #GtkStyleProvider
added through this function takes precedence over another added
through gtk_style_context_add_provider_for_screen().&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</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_screen">
<description>
Adds a global style provider to @screen, which will be used
in style construction for all #GtkStyleContexts under @screen.

GTK+ uses this to make styling information from #GtkSettings
available.

&lt;note&gt;&lt;para&gt;If both priorities are the same, A #GtkStyleProvider
added through gtk_style_context_add_provider() takes precedence
over another added through this function.&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</description>
<parameters>
<parameter name="screen">
<parameter_description> a #GdkScreen
</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_region">
<description>
Adds a region to @context, so posterior calls to
gtk_style_context_get() or any of the gtk_render_*()
functions will make use of this new region for styling.

In the CSS file format, a #GtkTreeView defining a &quot;row&quot;
region, would be matched by:

&lt;programlisting&gt;
GtkTreeView row { ... }
&lt;/programlisting&gt;

Pseudo-classes are used for matching @flags, so the two
following rules:
&lt;programlisting&gt;
GtkTreeView row:nth-child(even) { ... }
GtkTreeView row:nth-child(odd) { ... }
&lt;/programlisting&gt;

would apply to even and odd rows, respectively.

&lt;note&gt;&lt;para&gt;Region names must only contain lowercase letters
and '-', starting always with a lowercase letter.&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="region_name">
<parameter_description> region name to use in styling
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags that apply to the region
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_cancel_animations">
<description>
Stops all running animations for @region_id and all animatable
regions underneath.

A %NULL @region_id will stop all ongoing animations in @context,
when dealing with a #GtkStyleContext obtained through
gtk_widget_get_style_context(), this is normally done for you
in all circumstances you would expect all widget to be stopped,
so this should be only used in complex widgets with different
animatable regions.

Since: 3.0

Deprecated: 3.6: This function does nothing.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="region_id">
<parameter_description> animatable region to stop, or %NULL.
See gtk_style_context_push_animatable_region()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get">
<description>
Retrieves several style property values from @context for a
given state.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the property values for
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> property name /return value pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_background_color">
<description>
Gets the background color for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the color for
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> return value for the background color
</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_PROPERTY_BORDER_WIDTH.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the border for
</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_border_color">
<description>
Gets the border color for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the color for
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> return value for the border color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_color">
<description>
Gets the foreground color for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the color for
</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_direction">
<description>
Returns the widget direction used for rendering.

Since: 3.0

Deprecated: 3.8: Use gtk_style_context_get_state() and
check for #GTK_STATE_FLAG_DIR_LTR and
#GTK_STATE_FLAG_DIR_RTL instead.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> the widget direction

</return>
</function>

<function name="gtk_style_context_get_font">
<description>
Returns the font description for a given state. The returned
object is const and will remain valid until the
#GtkStyleContext::changed signal happens.

Since: 3.0

Deprecated: 3.8: Use gtk_style_context_get() for &quot;font&quot; or
subproperties instead.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the font for
</parameter_description>
</parameter>
</parameters>
<return> the #PangoFontDescription for the given
state.  This object is owned by GTK+ and should not be
freed.

</return>
</function>

<function name="gtk_style_context_get_frame_clock">
<description>
Returns the #GdkFrameClock to which @context is attached.

Since: 3.8

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> a #GdkFrameClock, or %NULL
if @context does not have an attached frame clock.
</return>
</function>

<function name="gtk_style_context_get_junction_sides">
<description>
Returns the sides where rendered elements connect visually with others.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> the junction sides

</return>
</function>

<function name="gtk_style_context_get_margin">
<description>
Gets the margin for a given state as a #GtkBorder.
See %GTK_STYLE_PROPERTY_MARGIN.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the border for
</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_PROPERTY_PADDING.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the padding for
</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_parent">
<description>
Gets the parent context set via gtk_style_context_set_parent().
See that function for details.

Since: 3.4

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> the parent context or %NULL

</return>
</function>

<function name="gtk_style_context_get_path">
<description>
Returns the widget path used for style matching.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> A #GtkWidgetPath

</return>
</function>

<function name="gtk_style_context_get_property">
<description>
Gets a style property from @context for the given state.

When @value is no longer needed, g_value_unset() must be called
to free any allocated memory.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="property">
<parameter_description> style property name
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the property value for
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description>  return location for the style property value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_screen">
<description>
Returns the #GdkScreen to which @context is attached.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> a #GdkScreen.
</return>
</function>

<function name="gtk_style_context_get_section">
<description>
Queries the location in the CSS where @property was defined for the
current @context. Note that the state to be queried is taken from
gtk_style_context_get_state().

If the location is not available, %NULL will be returned. The
location might not be available for various reasons, such as the
property being overridden, @property not naming a supported CSS
property or tracking of definitions being disabled for performance
reasons.

Shorthand CSS properties cannot be queried for a location and will
always return %NULL.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="property">
<parameter_description> style property name
</parameter_description>
</parameter>
</parameters>
<return> %NULL or the section where value was defined
</return>
</function>

<function name="gtk_style_context_get_state">
<description>
Returns the state used when rendering.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> the state flags

</return>
</function>

<function name="gtk_style_context_get_style">
<description>
Retrieves several widget style properties from @context according to the
current style.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> property name /return value pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_style_property">
<description>
Gets the value for a widget style property.

When @value is no longer needed, g_value_unset() must be called
to free any allocated memory.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the widget style property
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> Return location for the property value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_style_valist">
<description>
Retrieves several widget style properties from @context according to the
current style.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> va_list of property name/return location pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_get_valist">
<description>
Retrieves several style property values from @context for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the property values for
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> va_list of property name/return location pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_has_class">
<description>
Returns %TRUE if @context currently has defined the
given class name

Since: 3.0

</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_has_region">
<description>
Returns %TRUE if @context has the region defined.
If @flags_return is not %NULL, it is set to the flags
affecting the region.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="region_name">
<parameter_description> a region name
</parameter_description>
</parameter>
<parameter name="flags_return">
<parameter_description> return location for region flags
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if region is defined

</return>
</function>

<function name="gtk_style_context_invalidate">
<description>
Invalidates @context style information, so it will be reconstructed
again.

If you're using a #GtkStyleContext returned from
gtk_widget_get_style_context(), you do not need to
call this yourself.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_list_classes">
<description>
Returns the list of classes currently defined in @context.

Since: 3.0

</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_list_regions">
<description>
Returns the list of regions currently defined in @context.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return> a #GList of
strings with the currently defined regions. 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_lookup_icon_set">
<description>
Looks up @stock_id in the icon factories associated to @context and
the default icon factory, returning an icon set if found, otherwise
%NULL.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> an icon name
</parameter_description>
</parameter>
</parameters>
<return> The looked  up %GtkIconSet, or %NULL
</return>
</function>

<function name="gtk_style_context_new">
<description>
Creates a standalone #GtkStyleContext, this style context
won't be attached to any widget, so you may want
to call gtk_style_context_set_path() yourself.

&lt;note&gt;
This function is only useful when using the theming layer
separated from GTK+, if you are using #GtkStyleContext to
theme #GtkWidget&lt;!-- --&gt;s, use gtk_widget_get_style_context()
in order to get a style context ready to theme the widget.
&lt;/note&gt;


</description>
<parameters>
</parameters>
<return> A newly created #GtkStyleContext.
</return>
</function>

<function name="gtk_style_context_notify_state_change">
<description>
Notifies a state change on @context, so if the current style makes use
of transition animations, one will be started so all rendered elements
under @region_id are animated for state @state being set to value
@state_value.

The @window parameter is used in order to invalidate the rendered area
as the animation runs, so make sure it is the same window that is being
rendered on by the gtk_render_*() functions.

If @region_id is %NULL, all rendered elements using @context will be
affected by this state transition.

As a practical example, a #GtkButton notifying a state transition on
the prelight state:
&lt;programlisting&gt;
gtk_style_context_notify_state_change (context,
gtk_widget_get_window (widget),
NULL,
GTK_STATE_PRELIGHT,
button-&gt;in_button);
&lt;/programlisting&gt;

Can be handled in the CSS file like this:
&lt;programlisting&gt;
GtkButton {
background-color: &#35;f00
}

GtkButton:hover {
background-color: &#35;fff;
transition: 200ms linear
}
&lt;/programlisting&gt;

This combination will animate the button background from red to white
if a pointer enters the button, and back to red if the pointer leaves
the button.

Note that @state is used when finding the transition parameters, which
is why the style places the transition under the :hover pseudo-class.

Since: 3.0

Deprecated: 3.6: This function does nothing.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow
</parameter_description>
</parameter>
<parameter name="region_id">
<parameter_description> animatable region to notify on, or %NULL.
See gtk_style_context_push_animatable_region()
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to trigger transition for
</parameter_description>
</parameter>
<parameter name="state_value">
<parameter_description> %TRUE if @state is the state we are changing to,
%FALSE if we are changing away from it
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_pop_animatable_region">
<description>
Pops an animatable region from @context.
See gtk_style_context_push_animatable_region().

Since: 3.0

Deprecated: 3.6: This function does nothing.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_push_animatable_region">
<description>
Pushes an animatable region, so all further gtk_render_*() calls between
this call and the following gtk_style_context_pop_animatable_region()
will potentially show transition animations for this region if
gtk_style_context_notify_state_change() is called for a given state,
and the current theme/style defines transition animations for state
changes.

The @region_id used must be unique in @context so the theming engine
can uniquely identify rendered elements subject to a state transition.

Since: 3.0

Deprecated: 3.6: This function does nothing.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="region_id">
<parameter_description> unique identifier for the animatable region
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_remove_class">
<description>
Removes @class_name from @context.

Since: 3.0

</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.

Since: 3.0

</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_screen">
<description>
Removes @provider from the global style providers list in @screen.

Since: 3.0

</description>
<parameters>
<parameter name="screen">
<parameter_description> a #GdkScreen
</parameter_description>
</parameter>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_remove_region">
<description>
Removes a region from @context.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="region_name">
<parameter_description> region name to unset
</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
#GdkScreen. 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.

Since: 3.0

</description>
<parameters>
<parameter name="screen">
<parameter_description> a #GdkScreen
</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().

Since: 3.0

</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 all modifications done through
gtk_style_context_add_class(), gtk_style_context_remove_class(),
gtk_style_context_add_region(), gtk_style_context_remove_region()
or gtk_style_context_set_junction_sides() can be reverted in one
go through gtk_style_context_restore().

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_scroll_animations">
<description>
This function is analogous to gdk_window_scroll(), and
should be called together with it so the invalidation
areas for any ongoing animation are scrolled together
with it.

Since: 3.0

Deprecated: 3.6: This function does nothing.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow used previously in
gtk_style_context_notify_state_change()
</parameter_description>
</parameter>
<parameter name="dx">
<parameter_description> Amount to scroll in the X axis
</parameter_description>
</parameter>
<parameter name="dy">
<parameter_description> Amount to scroll in the Y axis
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_background">
<description>
Sets the background of @window to the background pattern or
color specified in @context for its current state.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_direction">
<description>
Sets the reading direction for rendering purposes.

If you are using a #GtkStyleContext returned from
gtk_widget_get_style_context(), you do not need to
call this yourself.

Since: 3.0

Deprecated: 3.8: Use gtk_style_context_set_state() with
#GTK_STATE_FLAG_DIR_LTR and #GTK_STATE_FLAG_DIR_RTL
instead.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the new direction.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_frame_clock">
<description>
Attaches @context to the given frame clock.

The frame clock is used for the timing of animations.

If you are using a #GtkStyleContext returned from
gtk_widget_get_style_context(), you do not need to
call this yourself.

Since: 3.8

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GdkFrameClock
</parameter_description>
</parameter>
<parameter name="frame_clock">
<parameter_description> a #GdkFrameClock
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_junction_sides">
<description>
Sets the sides where rendered elements (mostly through
gtk_render_frame()) will visually connect with other visual elements.

This is merely a hint that may or may not be honored
by theming engines.

Container widgets are expected to set junction hints as appropriate
for their children, so it should not normally be necessary to call
this function manually.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="sides">
<parameter_description> sides where rendered elements are visually connected to
other elements
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_parent">
<description>
Sets the parent style context for @context. The parent style
context is used to implement
&lt;ulink url=&quot;http://www.w3.org/TR/css3-cascade/#inheritance&quot;&gt;inheritance&lt;/ulink&gt;
of properties.

If you are using a #GtkStyleContext returned from
gtk_widget_get_style_context(), the parent will be set for you.

Since: 3.4

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the new parent or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_path">
<description>
Sets the #GtkWidgetPath used for style matching. As a
consequence, the style will be regenerated to match
the new given path.

If you are using a #GtkStyleContext returned from
gtk_widget_get_style_context(), you do not need to call
this yourself.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_screen">
<description>
Attaches @context to the given screen.

The screen is used to add style information from 'global' style
providers, such as the screens #GtkSettings instance.

If you are using a #GtkStyleContext returned from
gtk_widget_get_style_context(), you do not need to
call this yourself.

Since: 3.0

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> a #GdkScreen
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_context_set_state">
<description>
Sets the state to be used when rendering with any
of the gtk_render_*() functions.

Since: 3.0

</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_state_is_running">
<description>
Returns %TRUE if there is a transition animation running for the
current region (see gtk_style_context_push_animatable_region()).

If @progress is not %NULL, the animation progress will be returned
there, 0.0 means the state is closest to being unset, while 1.0 means
it's closest to being set. This means transition animation will
run from 0 to 1 when @state is being set and from 1 to 0 when
it's being unset.

Since: 3.0

Deprecated: 3.6: This function always returns %FALSE

</description>
<parameters>
<parameter name="context">
<parameter_description> a #GtkStyleContext
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> a widget state
</parameter_description>
</parameter>
<parameter name="progress">
<parameter_description> return location for the transition progress
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there is a running transition animation for @state.

</return>
</function>

<function name="gtk_style_copy">
<description>
Creates a copy of the passed in #GtkStyle object.

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
</parameters>
<return> a copy of @style

</return>
</function>

<function name="gtk_style_detach">
<description>
Detaches a style from a window. If the style is not attached
to any windows anymore, it is unrealized. See gtk_style_attach().

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_get">
<description>
Gets the values of a multiple style properties for @widget_type
from @style.

Since: 2.16

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="widget_type">
<parameter_description> the #GType of a descendant of #GtkWidget
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> the name of the first style property to get
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> pairs of property names and locations to
return the property values, starting with the location for
@first_property_name, terminated by %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_get_style_property">
<description>
Queries the value of a style property corresponding to a
widget class is in the given style.

Since: 2.16

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="widget_type">
<parameter_description> the #GType of a descendant of #GtkWidget
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the style property to get
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> a #GValue where the value of the property being
queried will be stored
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_get_valist">
<description>
Non-vararg variant of gtk_style_get().
Used primarily by language bindings.

Since: 2.16

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="widget_type">
<parameter_description> the #GType of a descendant of #GtkWidget
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> the name of the first style property to get
</parameter_description>
</parameter>
<parameter name="var_args">
<parameter_description> a &lt;type&gt;va_list&lt;/type&gt; of pairs of property names and
locations to return the property values, starting with the
location for @first_property_name.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_has_context">
<description>
Returns whether @style has an associated #GtkStyleContext.

Since: 3.0

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @style has a #GtkStyleContext

</return>
</function>

<function name="gtk_style_lookup_color">
<description>
Looks up @color_name in the style's logical color mappings,
filling in @color and returning %TRUE if found, otherwise
returning %FALSE. Do not cache the found mapping, because
it depends on the #GtkStyle and might change when a theme
switch occurs.

Since: 2.10

Deprecated:3.0: Use gtk_style_context_lookup_color() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="color_name">
<parameter_description> the name of the logical color to look up
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the #GdkColor to fill in
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the mapping was found.

</return>
</function>

<function name="gtk_style_lookup_icon_set">
<description>
Looks up @stock_id in the icon factories associated with @style
and the default icon factory, returning an icon set if found,
otherwise %NULL.

Deprecated:3.0: Use gtk_style_context_lookup_icon_set() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> an icon name
</parameter_description>
</parameter>
</parameters>
<return> icon set of @stock_id

</return>
</function>

<function name="gtk_style_new">
<description>
Creates a new #GtkStyle.

Deprecated: 3.0: Use #GtkStyleContext

</description>
<parameters>
</parameters>
<return> a new #GtkStyle.

</return>
</function>

<function name="gtk_style_properties_clear">
<description>
Clears all style information from @props.

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_get">
<description>
Retrieves several style property values from @props for a
given state.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the property values for
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> property name /return value pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_get_property">
<description>
Gets a style property from @props for the given state. When done with @value,
g_value_unset() needs to be called to free any allocated memory.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="property">
<parameter_description> style property name
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the property value for
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description>  return location for the style property value.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the property exists in @props, %FALSE otherwise

</return>
</function>

<function name="gtk_style_properties_get_valist">
<description>
Retrieves several style property values from @props for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the property values for
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> va_list of property name/return location pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_lookup_color">
<description>
Returns the symbolic color that is mapped
to @name.

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> color name to lookup
</parameter_description>
</parameter>
</parameters>
<return> The mapped color

</return>
</function>

<function name="gtk_style_properties_lookup_property">
<description>
Returns %TRUE if a property has been registered, if @pspec or
@parse_func are not %NULL, the #GParamSpec and parsing function
will be respectively returned.

Since: 3.0

Deprecated: 3.8: This code could only look up custom properties and
those are deprecated.

</description>
<parameters>
<parameter name="property_name">
<parameter_description> property name to look up
</parameter_description>
</parameter>
<parameter name="parse_func">
<parameter_description> return location for the parse function
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> return location for the #GParamSpec
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the property is registered, %FALSE otherwise

</return>
</function>

<function name="gtk_style_properties_map_color">
<description>
Maps @color so it can be referenced by @name. See
gtk_style_properties_lookup_color()

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> color name
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> #GtkSymbolicColor to map @name to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_merge">
<description>
Merges into @props all the style information contained
in @props_to_merge. If @replace is %TRUE, the values
will be overwritten, if it is %FALSE, the older values
will prevail.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="props_to_merge">
<parameter_description> a second #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="replace">
<parameter_description> whether to replace values or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_new">
<description>
Returns a newly created #GtkStyleProperties


</description>
<parameters>
</parameters>
<return> a new #GtkStyleProperties
</return>
</function>

<function name="gtk_style_properties_register_property">
<description>
Registers a property so it can be used in the CSS file format.
This function is the low-level equivalent of
gtk_theming_engine_register_property(), if you are implementing
a theming engine, you want to use that function instead.

Since: 3.0

Deprecated: 3.8: Code should use the default properties provided by CSS.

</description>
<parameters>
<parameter name="parse_func">
<parameter_description> parsing function to use, or %NULL
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the new property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_set">
<description>
Sets several style properties on @props.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to set the values for
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> property name/value pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_set_property">
<description>
Sets a styling property in @props.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="property">
<parameter_description> styling property to set
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to set the value for
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> new value for the property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_set_valist">
<description>
Sets several style properties on @props.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to set the values for
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> va_list of property name/value pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_properties_unset_property">
<description>
Unsets a style property in @props.

Since: 3.0

</description>
<parameters>
<parameter name="props">
<parameter_description> a #GtkStyleProperties
</parameter_description>
</parameter>
<parameter name="property">
<parameter_description> property to unset
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to unset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_style_provider_get_icon_factory">
<description>
Returns the #GtkIconFactory defined to be in use for @path, or %NULL if none
is defined.

Since: 3.0

Deprecated: 3.8: Will always return %NULL for all GTK-provided style providers.

</description>
<parameters>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> #GtkWidgetPath to query
</parameter_description>
</parameter>
</parameters>
<return> The icon factory to use for @path, or %NULL

</return>
</function>

<function name="gtk_style_provider_get_style">
<description>
Returns the style settings affecting a widget defined by @path, or %NULL if
@provider doesn't contemplate styling @path.

Since: 3.0

Deprecated: 3.8: Will always return %NULL for all GTK-provided style providers
as the interface cannot correctly work the way CSS is specified.

</description>
<parameters>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> #GtkWidgetPath to query
</parameter_description>
</parameter>
</parameters>
<return> a #GtkStyleProperties containing the
style settings affecting @path

</return>
</function>

<function name="gtk_style_provider_get_style_property">
<description>
Looks up a widget style property as defined by @provider for
the widget represented by @path.

Since: 3.0

</description>
<parameters>
<parameter name="provider">
<parameter_description> a #GtkStyleProvider
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> #GtkWidgetPath to query
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to query the style property for
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> The #GParamSpec to query
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> return location for the property value
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the property was found and has a value, %FALSE otherwise

</return>
</function>

<function name="gtk_style_render_icon">
<description>
Renders the icon specified by @source at the given @size
according to the given parameters and returns the result in a
pixbuf.

Deprecated:3.0: Use gtk_render_icon_pixbuf() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="source">
<parameter_description> the #GtkIconSource specifying the icon to render
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> a text direction
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> a state
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the size to render the icon at. A size of
(GtkIconSize)-1 means render at the size of the source and
don't scale.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> a style detail
</parameter_description>
</parameter>
</parameters>
<return> a newly-created #GdkPixbuf
containing the rendered icon

</return>
</function>

<function name="gtk_style_set_background">
<description>
Sets the background of @window to the background color or pixmap
specified by @style for the given state.

Deprecated:3.0: Use gtk_style_context_set_background() instead

</description>
<parameters>
<parameter name="style">
<parameter_description> a #GtkStyle
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow
</parameter_description>
</parameter>
<parameter name="state_type">
<parameter_description> a state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_switch_get_active">
<description>
Gets whether the #GtkSwitch is in its &quot;on&quot; or &quot;off&quot; state.

Since: 3.0

</description>
<parameters>
<parameter name="sw">
<parameter_description> a #GtkSwitch
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the #GtkSwitch is active, and %FALSE otherwise

</return>
</function>

<function name="gtk_switch_new">
<description>
Creates a new #GtkSwitch widget.

Since: 3.0

</description>
<parameters>
</parameters>
<return> the newly created #GtkSwitch instance

</return>
</function>

<function name="gtk_switch_set_active">
<description>
Changes the state of @sw to the desired one.

Since: 3.0

</description>
<parameters>
<parameter name="sw">
<parameter_description> a #GtkSwitch
</parameter_description>
</parameter>
<parameter name="is_active">
<parameter_description> %TRUE if @sw should be active, and %FALSE otherwise
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_symbolic_color_new_alpha">
<description>
Creates a symbolic color by modifying the relative alpha
value of @color. A factor &lt; 1.0 would resolve to a more
transparent color, while &gt; 1.0 would resolve to a more
opaque color.

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color">
<parameter_description> another #GtkSymbolicColor
</parameter_description>
</parameter>
<parameter name="factor">
<parameter_description> factor to apply to @color alpha
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkSymbolicColor

</return>
</function>

<function name="gtk_symbolic_color_new_literal">
<description>
Creates a symbolic color pointing to a literal color.

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color">
<parameter_description> a #GdkRGBA
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkSymbolicColor

</return>
</function>

<function name="gtk_symbolic_color_new_mix">
<description>
Creates a symbolic color defined as a mix of another
two colors. a mix factor of 0 would resolve to @color1,
while a factor of 1 would resolve to @color2.

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color1">
<parameter_description> color to mix
</parameter_description>
</parameter>
<parameter name="color2">
<parameter_description> another color to mix
</parameter_description>
</parameter>
<parameter name="factor">
<parameter_description> mix factor
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkSymbolicColor

</return>
</function>

<function name="gtk_symbolic_color_new_name">
<description>
Creates a symbolic color pointing to an unresolved named
color. See gtk_style_context_lookup_color() and
gtk_style_properties_lookup_color().

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="name">
<parameter_description> color name
</parameter_description>
</parameter>
</parameters>
<return> a newly created #GtkSymbolicColor

</return>
</function>

<function name="gtk_symbolic_color_new_shade">
<description>
Creates a symbolic color defined as a shade of
another color. A factor &gt; 1.0 would resolve to
a brighter color, while &lt; 1.0 would resolve to
a darker color.

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color">
<parameter_description> another #GtkSymbolicColor
</parameter_description>
</parameter>
<parameter name="factor">
<parameter_description> shading factor to apply to @color
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkSymbolicColor

</return>
</function>

<function name="gtk_symbolic_color_new_win32">
<description>
Creates a symbolic color based on the current win32
theme.

Note that while this call is available on all platforms
the actual value returned is not reliable on non-win32
platforms.

Since: 3.4

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="theme_class">
<parameter_description> The theme class to pull color from
</parameter_description>
</parameter>
<parameter name="id">
<parameter_description> The color id
</parameter_description>
</parameter>
</parameters>
<return> A newly created #GtkSymbolicColor

</return>
</function>

<function name="gtk_symbolic_color_ref">
<description>
Increases the reference count of @color

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color">
<parameter_description> a #GtkSymbolicColor
</parameter_description>
</parameter>
</parameters>
<return> the same @color

</return>
</function>

<function name="gtk_symbolic_color_resolve">
<description>
If @color is resolvable, @resolved_color will be filled in
with the resolved color, and %TRUE will be returned. Generally,
if @color can't be resolved, it is due to it being defined on
top of a named color that doesn't exist in @props.

When @props is %NULL, resolving of named colors will fail, so if
your @color is or references such a color, this function will
return %FALSE.

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color">
<parameter_description> a #GtkSymbolicColor
</parameter_description>
</parameter>
<parameter name="props">
<parameter_description> #GtkStyleProperties to use when resolving
named colors, or %NULL
</parameter_description>
</parameter>
<parameter name="resolved_color">
<parameter_description> return location for the resolved color
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the color has been resolved

</return>
</function>

<function name="gtk_symbolic_color_to_string">
<description>
Converts the given @color to a string representation. This is useful
both for debugging and for serialization of strings. The format of
the string may change between different versions of GTK, but it is
guaranteed that the GTK css parser is able to read the string and
create the same symbolic color from it.

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color">
<parameter_description> color to convert to a string
</parameter_description>
</parameter>
</parameters>
<return> a new string representing @color

</return>
</function>

<function name="gtk_symbolic_color_unref">
<description>
Decreases the reference count of @color, freeing its memory if the
reference count reaches 0.

Since: 3.0

Deprecated: 3.8: #GtkSymbolicColor is deprecated.

</description>
<parameters>
<parameter name="color">
<parameter_description> a #GtkSymbolicColor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_attach">
<description>
Adds a widget to a table. The number of 'cells' that a widget will occupy is
specified by @left_attach, @right_attach, @top_attach and @bottom_attach.
These each represent the leftmost, rightmost, uppermost and lowest column
and row numbers of the table. (Columns and rows are indexed from zero).

To make a button occupy the lower right cell of a 2x2 table, use
&lt;informalexample&gt;&lt;programlisting&gt;
gtk_table_attach (table, button,
1, 2, // left, right attach
1, 2, // top, bottom attach
xoptions, yoptions,
xpadding, ypadding);
&lt;/programlisting&gt;&lt;/informalexample&gt;
If you want to make the button span the entire bottom row, use @left_attach == 0 and @right_attach = 2 instead.

Deprecated: 3.4: Use gtk_grid_attach() with #GtkGrid. Note that the attach
arguments differ between those two functions.

</description>
<parameters>
<parameter name="table">
<parameter_description> The #GtkTable to add a new widget to.
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> The widget to add.
</parameter_description>
</parameter>
<parameter name="left_attach">
<parameter_description> the column number to attach the left side of a child widget to.
</parameter_description>
</parameter>
<parameter name="right_attach">
<parameter_description> the column number to attach the right side of a child widget to.
</parameter_description>
</parameter>
<parameter name="top_attach">
<parameter_description> the row number to attach the top of a child widget to.
</parameter_description>
</parameter>
<parameter name="bottom_attach">
<parameter_description> the row number to attach the bottom of a child widget to.
</parameter_description>
</parameter>
<parameter name="xoptions">
<parameter_description> Used to specify the properties of the child widget when the table is resized.
</parameter_description>
</parameter>
<parameter name="yoptions">
<parameter_description> The same as xoptions, except this field determines behaviour of vertical resizing.
</parameter_description>
</parameter>
<parameter name="xpadding">
<parameter_description> An integer value specifying the padding on the left and right of the widget being added to the table.
</parameter_description>
</parameter>
<parameter name="ypadding">
<parameter_description> The amount of padding above and below the child widget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_attach_defaults">
<description>
As there are many options associated with gtk_table_attach(), this convenience
function provides the programmer with a means to add children to a table with
identical padding and expansion options. The values used for the #GtkAttachOptions
are &lt;literal&gt;GTK_EXPAND | GTK_FILL&lt;/literal&gt;, and the padding is set to 0.

Deprecated: 3.4: Use gtk_grid_attach() with #GtkGrid. Note that the attach
arguments differ between those two functions.

</description>
<parameters>
<parameter name="table">
<parameter_description> The table to add a new child widget to.
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> The child widget to add.
</parameter_description>
</parameter>
<parameter name="left_attach">
<parameter_description> The column number to attach the left side of the child widget to.
</parameter_description>
</parameter>
<parameter name="right_attach">
<parameter_description> The column number to attach the right side of the child widget to.
</parameter_description>
</parameter>
<parameter name="top_attach">
<parameter_description> The row number to attach the top of the child widget to.
</parameter_description>
</parameter>
<parameter name="bottom_attach">
<parameter_description> The row number to attach the bottom of the child widget to.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_get_col_spacing">
<description>
Gets the amount of space between column @col, and
column @col + 1. See gtk_table_set_col_spacing().

Deprecated: 3.4: #GtkGrid does not offer a replacement for this
functionality.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> a column in the table, 0 indicates the first column
</parameter_description>
</parameter>
</parameters>
<return> the column spacing

</return>
</function>

<function name="gtk_table_get_default_col_spacing">
<description>
Gets the default column spacing for the table. This is
the spacing that will be used for newly added columns.
(See gtk_table_set_col_spacings())

Deprecated: 3.4: Use gtk_grid_get_column_spacing() with #GtkGrid.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable
</parameter_description>
</parameter>
</parameters>
<return> the default column spacing

</return>
</function>

<function name="gtk_table_get_default_row_spacing">
<description>
Gets the default row spacing for the table. This is
the spacing that will be used for newly added rows.
(See gtk_table_set_row_spacings())

Deprecated: 3.4: Use gtk_grid_get_row_spacing() with #GtkGrid.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable
</parameter_description>
</parameter>
</parameters>
<return> the default row spacing

</return>
</function>

<function name="gtk_table_get_homogeneous">
<description>
Returns whether the table cells are all constrained to the same
width and height. (See gtk_table_set_homogenous ())

Deprecated: 3.4: Use gtk_grid_get_row_homogeneous() and
gtk_grid_get_column_homogeneous() with #GtkGrid.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the cells are all constrained to the same size

</return>
</function>

<function name="gtk_table_get_row_spacing">
<description>
Gets the amount of space between row @row, and
row @row + 1. See gtk_table_set_row_spacing().

Deprecated: 3.4: #GtkGrid does not offer a replacement for this
functionality.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> a row in the table, 0 indicates the first row
</parameter_description>
</parameter>
</parameters>
<return> the row spacing

</return>
</function>

<function name="gtk_table_get_size">
<description>
Gets the number of rows and columns in the table.

Since: 2.22

Deprecated: 3.4: #GtkGrid does not expose the number of columns and
rows.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable
</parameter_description>
</parameter>
<parameter name="rows">
<parameter_description> return location for the number of
rows, or %NULL
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> return location for the number
of columns, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_new">
<description>
Used to create a new table widget. An initial size must be given by
specifying how many rows and columns the table should have, although
this can be changed later with gtk_table_resize().  @rows and @columns
must both be in the range 1 .. 65535. For historical reasons, 0 is accepted
as well and is silently interpreted as 1.

Deprecated: 3.4: Use gtk_grid_new().

</description>
<parameters>
<parameter name="rows">
<parameter_description> The number of rows the new table should have.
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> The number of columns the new table should have.
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> If set to %TRUE, all table cells are resized to the size of
the cell containing the largest widget.
</parameter_description>
</parameter>
</parameters>
<return> A pointer to the newly created table widget.

</return>
</function>

<function name="gtk_table_resize">
<description>
If you need to change a table's size &lt;emphasis&gt;after&lt;/emphasis&gt;
it has been created, this function allows you to do so.

Deprecated: 3.4: #GtkGrid resizes automatically.

</description>
<parameters>
<parameter name="table">
<parameter_description> The #GtkTable you wish to change the size of.
</parameter_description>
</parameter>
<parameter name="rows">
<parameter_description> The new number of rows.
</parameter_description>
</parameter>
<parameter name="columns">
<parameter_description> The new number of columns.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_set_col_spacing">
<description>
Alters the amount of space between a given table column and the following
column.

Deprecated: 3.4: Use gtk_widget_set_margin_left() and
gtk_widget_set_margin_right() on the widgets contained in the row if
you need this functionality. #GtkGrid does not support per-row spacing.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable.
</parameter_description>
</parameter>
<parameter name="column">
<parameter_description> the column whose spacing should be changed.
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> number of pixels that the spacing should take up.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_set_col_spacings">
<description>
Sets the space between every column in @table equal to @spacing.

Deprecated: 3.4: Use gtk_grid_set_column_spacing() with #GtkGrid.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable.
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the number of pixels of space to place between every column
in the table.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_set_homogeneous">
<description>
Changes the homogenous property of table cells, ie. whether all cells are
an equal size or not.

Deprecated: 3.4: Use gtk_grid_set_row_homogeneous() and
gtk_grid_set_column_homogeneous() with #GtkGrid.

</description>
<parameters>
<parameter name="table">
<parameter_description> The #GtkTable you wish to set the homogeneous properties of.
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> Set to %TRUE to ensure all table cells are the same size. Set
to %FALSE if this is not your desired behaviour.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_set_row_spacing">
<description>
Changes the space between a given table row and the subsequent row.

Deprecated: 3.4: Use gtk_widget_set_margin_top() and
gtk_widget_set_margin_bottom() on the widgets contained in the row if
you need this functionality. #GtkGrid does not support per-row spacing.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable containing the row whose properties you wish to change.
</parameter_description>
</parameter>
<parameter name="row">
<parameter_description> row number whose spacing will be changed.
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> number of pixels that the spacing should take up.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_table_set_row_spacings">
<description>
Sets the space between every row in @table equal to @spacing.

Deprecated: 3.4: Use gtk_grid_set_row_spacing() with #GtkGrid.

</description>
<parameters>
<parameter name="table">
<parameter_description> a #GtkTable.
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the number of pixels of space to place between every row in the table.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_entry_copy">
<description>
Makes a copy of a #GtkTargetEntry structure and its data.


</description>
<parameters>
<parameter name="data">
<parameter_description> a pointer to a #GtkTargetEntry structure.
</parameter_description>
</parameter>
</parameters>
<return> a pointer to a copy of @data.
Free with gtk_target_entry_free()
</return>
</function>

<function name="gtk_target_entry_free">
<description>
Frees a #GtkTargetEntry structure returned from
gtk_target_entry_new() or gtk_target_entry_copy().

</description>
<parameters>
<parameter name="data">
<parameter_description> a pointer to a #GtkTargetEntry structure.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_entry_new">
<description>
Makes a new #GtkTargetEntry structure.


</description>
<parameters>
<parameter name="target">
<parameter_description> String identifier for target
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> Set of flags, see #GtkTargetFlags
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> an ID that will be passed back to the application
</parameter_description>
</parameter>
</parameters>
<return> a pointer to a new GtkTargetEntry structure.
Free with gtk_target_entry_free()
</return>
</function>

<function name="gtk_target_list_add">
<description>
Appends another target to a #GtkTargetList.

</description>
<parameters>
<parameter name="list">
<parameter_description>  a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the interned atom representing the target
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the flags for this target
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> an ID that will be passed back to the application
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_list_add_image_targets">
<description>
Appends the image targets supported by #GtkSelection to
the target list. All targets are added with the same @info.

Since: 2.6

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> an ID that will be passed back to the application
</parameter_description>
</parameter>
<parameter name="writable">
<parameter_description> whether to add only targets for which GTK+ knows
how to convert a pixbuf into the format
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_list_add_rich_text_targets">
<description>
Appends the rich text targets registered with
gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_deserialize_format() to the target list. All
targets are added with the same @info.

Since: 2.10

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> an ID that will be passed back to the application
</parameter_description>
</parameter>
<parameter name="deserializable">
<parameter_description> if %TRUE, then deserializable rich text formats
will be added, serializable formats otherwise.
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_list_add_table">
<description>
Prepends a table of #GtkTargetEntry to a target list.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> the table of #GtkTargetEntry
</parameter_description>
</parameter>
<parameter name="ntargets">
<parameter_description> number of targets in the table
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_list_add_text_targets">
<description>
Appends the text targets supported by #GtkSelection to
the target list. All targets are added with the same @info.

Since: 2.6

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> an ID that will be passed back to the application
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_list_add_uri_targets">
<description>
Appends the URI targets supported by #GtkSelection to
the target list. All targets are added with the same @info.

Since: 2.6

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> an ID that will be passed back to the application
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_list_find">
<description>
Looks up a given target in a #GtkTargetList.


</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> an interned atom representing the target to search for
</parameter_description>
</parameter>
<parameter name="info">
<parameter_description> a pointer to the location to store application info for target,
or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the target was found, otherwise %FALSE
</return>
</function>

<function name="gtk_target_list_new">
<description>
Creates a new #GtkTargetList from an array of #GtkTargetEntry.


</description>
<parameters>
<parameter name="targets">
<parameter_description> Pointer to an array of #GtkTargetEntry
</parameter_description>
</parameter>
<parameter name="ntargets">
<parameter_description> number of entries in @targets.
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkTargetList.
</return>
</function>

<function name="gtk_target_list_ref">
<description>
Increases the reference count of a #GtkTargetList by one.


</description>
<parameters>
<parameter name="list">
<parameter_description>  a #GtkTargetList
</parameter_description>
</parameter>
</parameters>
<return> the passed in #GtkTargetList.
</return>
</function>

<function name="gtk_target_list_remove">
<description>
Removes a target from a target list.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="target">
<parameter_description> the interned atom representing the target
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_list_unref">
<description>
Decreases the reference count of a #GtkTargetList by one.
If the resulting reference count is zero, frees the list.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_table_free">
<description>
This function frees a target table as returned by
gtk_target_table_new_from_list()

Since: 2.10

</description>
<parameters>
<parameter name="targets">
<parameter_description> a #GtkTargetEntry array
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the number of entries in the array
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_target_table_new_from_list">
<description>
This function creates an #GtkTargetEntry array that contains the
same targets as the passed %list. The returned table is newly
allocated and should be freed using gtk_target_table_free() when no
longer needed.

Since: 2.10

</description>
<parameters>
<parameter name="list">
<parameter_description> a #GtkTargetList
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> return location for the number ot targets in the table
</parameter_description>
</parameter>
</parameters>
<return> the new table.

</return>
</function>

<function name="gtk_targets_include_image">
<description>
Determines if any of the targets in @targets can be used to
provide a #GdkPixbuf.

Since: 2.10

</description>
<parameters>
<parameter name="targets">
<parameter_description> an array of #GdkAtom&lt;!-- --&gt;s
</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_rich_text">
<description>
Determines if any of the targets in @targets can be used to
provide rich text.

Since: 2.10

</description>
<parameters>
<parameter name="targets">
<parameter_description> an array of #GdkAtom&lt;!-- --&gt;s
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the length of @targets
</parameter_description>
</parameter>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @targets include a suitable target for rich text,
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.

Since: 2.10

</description>
<parameters>
<parameter name="targets">
<parameter_description> an array of #GdkAtom&lt;!-- --&gt;s
</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.

Since: 2.10

</description>
<parameters>
<parameter name="targets">
<parameter_description> an array of #GdkAtom&lt;!-- --&gt;s
</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_tearoff_menu_item_new">
<description>
Creates a new #GtkTearoffMenuItem.

Deprecated: 3.4: #GtkTearoffMenuItem is deprecated and should not be
used in newly written code.

</description>
<parameters>
</parameters>
<return> a new #GtkTearoffMenuItem.

</return>
</function>

<function name="gtk_test_create_simple_window">
<description>
Create a simple window with window title @window_title and
text contents @dialog_text.
The window will quit any running gtk_main()-loop when destroyed, and it
will automatically be destroyed upon test function teardown.

Since: 2.14

</description>
<parameters>
<parameter name="window_title">
<parameter_description>       Title of the window to be displayed.
</parameter_description>
</parameter>
<parameter name="dialog_text">
<parameter_description>        Text inside the window to be displayed.
</parameter_description>
</parameter>
</parameters>
<return> a widget pointer to the newly created GtkWindow.

</return>
</function>

<function name="gtk_test_create_widget">
<description>
This function wraps g_object_new() for widget types.
It'll automatically show all created non window widgets, also
g_object_ref_sink() them (to keep them alive across a running test)
and set them up for destruction during the next test teardown phase.

Since: 2.14

</description>
<parameters>
<parameter name="widget_type">
<parameter_description> a valid widget type.
</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> value to set the first property to, followed by more
name-value pairs, terminated by %NULL
</parameter_description>
</parameter>
</parameters>
<return> a newly created widget.

</return>
</function>

<function name="gtk_test_display_button_window">
<description>
Create a window with window title @window_title, text contents @dialog_text,
and a number of buttons, according to the paired argument list given
as @... parameters.
Each button is created with a @label and a ::clicked signal handler that
incremrents the integer stored in @nump.
The window will be automatically shown with gtk_widget_show_now() after
creation, so when this function returns it has already been mapped,
resized and positioned on screen.
The window will quit any running gtk_main()-loop when destroyed, and it
will automatically be destroyed upon test function teardown.

Since: 2.14

</description>
<parameters>
<parameter name="window_title">
<parameter_description>       Title of the window to be displayed.
</parameter_description>
</parameter>
<parameter name="dialog_text">
<parameter_description>        Text inside the window to be displayed.
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description>                %NULL terminated list of (const char *label, int *nump) pairs.
</parameter_description>
</parameter>
</parameters>
<return> a widget pointer to the newly created GtkWindow.

</return>
</function>

<function name="gtk_test_find_label">
<description>
This function will search @widget and all its descendants for a GtkLabel
widget with a text string matching @label_pattern.
The @label_pattern may contain asterisks '*' and question marks '?' as
placeholders, g_pattern_match() is used for the matching.
Note that locales other than &quot;C&quot; tend to alter (translate&quot; label strings,
so this function is genrally only useful in test programs with
predetermined locales, see gtk_test_init() for more details.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description>        Valid label or container widget.
</parameter_description>
</parameter>
<parameter name="label_pattern">
<parameter_description> Shell-glob pattern to match a label string.
</parameter_description>
</parameter>
</parameters>
<return> a GtkLabel widget if any is found.

</return>
</function>

<function name="gtk_test_find_sibling">
<description>
This function will search siblings of @base_widget and siblings of its
ancestors for all widgets matching @widget_type.
Of the matching widgets, the one that is geometrically closest to
@base_widget will be returned.
The general purpose of this function is to find the most likely &quot;action&quot;
widget, relative to another labeling widget. Such as finding a
button or text entry widget, given its corresponding label widget.

Since: 2.14

</description>
<parameters>
<parameter name="base_widget">
<parameter_description>        Valid widget, part of a widget hierarchy
</parameter_description>
</parameter>
<parameter name="widget_type">
<parameter_description>        Type of a aearched for sibling widget
</parameter_description>
</parameter>
</parameters>
<return> a widget of type @widget_type if any is found.

</return>
</function>

<function name="gtk_test_find_widget">
<description>
This function will search the descendants of @widget for a widget
of type @widget_type that has a label matching @label_pattern next
to it. This is most useful for automated GUI testing, e.g. to find
the &quot;OK&quot; button in a dialog and synthesize clicks on it.
However see gtk_test_find_label(), gtk_test_find_sibling() and
gtk_test_widget_click() for possible caveats involving the search of
such widgets and synthesizing widget events.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description>        Container widget, usually a GtkWindow.
</parameter_description>
</parameter>
<parameter name="label_pattern">
<parameter_description> Shell-glob pattern to match a label string.
</parameter_description>
</parameter>
<parameter name="widget_type">
<parameter_description>   Type of a aearched for label sibling widget.
</parameter_description>
</parameter>
</parameters>
<return> a valid widget if any is found or %NULL.

</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 &quot;C&quot; and prevent loading of rc 
files and Gtk+ modules. This is done to make tets program
environments as deterministic as possible.

Like gtk_init() and g_test_init(), any known arguments will be
processed and stripped from @argc and @argv.

Since: 2.14

</description>
<parameters>
<parameter name="argcp">
<parameter_description> Address of the &lt;parameter&gt;argc&lt;/parameter&gt; parameter of the
main() function. Changed if any arguments were handled.
</parameter_description>
</parameter>
<parameter name="argvp">
<parameter_description> Address of the 
&lt;parameter&gt;argv&lt;/parameter&gt; 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().

Since: 2.14

</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.

Since: 2.14

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_test_slider_get_value">
<description>
Retrive the literal adjustment value for GtkRange based
widgets and spin buttons. Note that the value returned by
this function is anything between the lower and upper bounds
of the adjustment belonging to @widget, and is not a percentage
as passed in to gtk_test_slider_set_perc().

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description>     valid widget pointer.
</parameter_description>
</parameter>
</parameters>
<return> gtk_adjustment_get_value (adjustment) for an adjustment belonging to @widget.

</return>
</function>

<function name="gtk_test_slider_set_perc">
<description>
This function will adjust the slider position of all GtkRange
based widgets, such as scrollbars or scales, it'll also adjust
spin buttons. The adjustment value of these widgets is set to
a value between the lower and upper limits, according to the
@percentage argument.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description>     valid widget pointer.
</parameter_description>
</parameter>
<parameter name="percentage">
<parameter_description> value between 0 and 100.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_test_spin_button_click">
<description>
This function will generate a @button click in the upwards or downwards
spin button arrow areas, usually leading to an increase or decrease of
spin button's value.

Since: 2.14

</description>
<parameters>
<parameter name="spinner">
<parameter_description> valid GtkSpinButton widget.
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description>  Number of the pointer button for the event, usually 1, 2 or 3.
</parameter_description>
</parameter>
<parameter name="upwards">
<parameter_description> %TRUE for upwards arrow click, %FALSE for downwards arrow click.
</parameter_description>
</parameter>
</parameters>
<return> wether all actions neccessary for the button click simulation were carried out successfully.

</return>
</function>

<function name="gtk_test_text_get">
<description>
Retrive the text string of @widget if it is a GtkLabel,
GtkEditable (entry and text widgets) or GtkTextView.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description>     valid widget pointer.
</parameter_description>
</parameter>
</parameters>
<return> new 0-terminated C string, needs to be released with g_free().

</return>
</function>

<function name="gtk_test_text_set">
<description>
Set the text string of @widget to @string if it is a GtkLabel,
GtkEditable (entry and text widgets) or GtkTextView.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description>     valid widget pointer.
</parameter_description>
</parameter>
<parameter name="string">
<parameter_description>     a 0-terminated C string
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_test_widget_click">
<description>
This function will generate a @button click (button press and button
release event) in the middle of the first GdkWindow found that belongs
to @widget.
For %GTK_NO_WINDOW widgets like GtkButton, this will often be an
input-only event window. For other widgets, this is usually widget-&gt;window.
Certain caveats should be considered when using this function, in
particular because the mouse pointer is warped to the button click
location, see gdk_test_simulate_button() for details.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description> Widget to generate a button click on.
</parameter_description>
</parameter>
<parameter name="button">
<parameter_description> Number of the pointer button for the event, usually 1, 2 or 3.
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description> Keyboard modifiers the event is setup with.
</parameter_description>
</parameter>
</parameters>
<return> wether all actions neccessary for the button click simulation were carried out successfully.

</return>
</function>

<function name="gtk_test_widget_send_key">
<description>
This function will generate keyboard press and release events in
the middle of the first GdkWindow found that belongs to @widget.
For %GTK_NO_WINDOW widgets like GtkButton, this will often be an
input-only event window. For other widgets, this is usually widget-&gt;window.
Certain caveats should be considered when using this function, in
particular because the mouse pointer is warped to the key press
location, see gdk_test_simulate_key() for details.

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description> Widget to generate a key press and release on.
</parameter_description>
</parameter>
<parameter name="keyval">
<parameter_description> A Gdk keyboard value.
</parameter_description>
</parameter>
<parameter name="modifiers">
<parameter_description> Keyboard modifiers the event is setup with.
</parameter_description>
</parameter>
</parameters>
<return> wether all actions neccessary for the key event simulation were carried out successfully.

</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 &quot;mark-set&quot; signal as notification of the mark's initial
placement.

Since: 2.12

</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 #GtkClipboard of type %GDK_SELECTION_PRIMARY for a view of @buffer.

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="clipboard">
<parameter_description> a #GtkClipboard
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_apply_tag">
<description>
Emits the &quot;apply-tag&quot; 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. 

Since: 2.6

</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_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 
&quot;begin-user-action&quot; and &quot;end-user-action&quot; signals only for the 
outermost pair of calls. This allows you to build user actions 
from other user actions.

The &quot;interactive&quot; buffer mutation functions, such as
gtk_text_buffer_insert_interactive(), automatically call begin/end
user action around the buffer operations they perform, so there'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 #GtkClipboard 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 &lt;emphasis&gt;not&lt;/emphasis&gt; own a 
reference to the returned #GtkTextMark, so you can ignore the 
return value if you like. Marks are owned by the buffer and go 
away when the buffer does.

Emits the &quot;mark-set&quot; signal as notification of the mark'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 #GtkClipboard 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 &quot;delete-range&quot; signal, and
the default handler of that signal deletes the text. Because the
buffer is modified, all outstanding iterators become invalid after
calling this function; however, the @start and @end will be
re-initialized to point to the location where text was deleted.

</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 &lt;emphasis&gt;editable&lt;/emphasis&gt; text in the given range.
Calls gtk_text_buffer_delete() for each editable sub-range of
[@start,@end). @start and @end are revalidated to point to
the location of the last deleted range, or left untouched if
no text was deleted.


</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 &quot;mark-deleted&quot; 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 &quot;insert&quot; and &quot;selection_bound&quot; marks,
that is, the currently-selected text. If @interactive is %TRUE,
the editability of the selection will be considered (users can'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_deserialize">
<description>
This function deserializes rich text in format @format and inserts
it at @iter.

@format&lt;!-- --&gt;s to be used must be registered using
gtk_text_buffer_register_deserialize_format() or
gtk_text_buffer_register_deserialize_tagset() beforehand.

Since: 2.10

</description>
<parameters>
<parameter name="register_buffer">
<parameter_description> the #GtkTextBuffer @format is registered with
</parameter_description>
</parameter>
<parameter name="content_buffer">
<parameter_description> the #GtkTextBuffer to deserialize into
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> the rich text format to use for deserializing
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> insertion point for the deserialized text
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to deserialize
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @data
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for a #GError
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE otherwise.

</return>
</function>

<function name="gtk_text_buffer_deserialize_get_can_create_tags">
<description>
This functions returns the value set with
gtk_text_buffer_deserialize_set_can_create_tags()

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> a #GdkAtom representing a registered rich text format
</parameter_description>
</parameter>
</parameters>
<return> whether deserializing this format may create tags

</return>
</function>

<function name="gtk_text_buffer_deserialize_set_can_create_tags">
<description>
Use this function to allow a rich text deserialization function to
create new tags in the receiving buffer. Note that using this
function is almost always a bad idea, because the rich text
functions you register should know how to map the rich text format
they handler to your text buffers set of tags.

The ability of creating new (arbitrary!) tags in the receiving buffer
is meant for special rich text formats like the internal one that
is registered using gtk_text_buffer_register_deserialize_tagset(),
because that format is essentially a dump of the internal structure
of the source buffer, including its tag names.

You should allow creation of tags only if you know what you are
doing, e.g. if you defined a tagset name for your application
suite's text buffers and you know that it's fine to receive new
tags from these buffers, because you know that your application can
handle the newly created tags.

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> a #GdkAtom representing a registered rich text format
</parameter_description>
</parameter>
<parameter name="can_create_tags">
<parameter_description> whether deserializing this format may create tags
</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_copy_target_list">
<description>
This function returns the list of targets this text buffer can
provide for copying and as DND source. The targets in the list are
added with %info values from the #GtkTextBufferTargetInfo enum,
using gtk_target_list_add_rich_text_targets() and
gtk_target_list_add_text_targets().

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> the #GtkTargetList

</return>
</function>

<function name="gtk_text_buffer_get_deserialize_formats">
<description>
This function returns the rich text deserialize formats registered
with @buffer using gtk_text_buffer_register_deserialize_format() or
gtk_text_buffer_register_deserialize_tagset()

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="n_formats">
<parameter_description> return location for the number of formats
</parameter_description>
</parameter>
</parameters>
<return> an array of
#GdkAtom&lt;!-- --&gt;s representing the registered formats.

</return>
</function>

<function name="gtk_text_buffer_get_end_iter">
<description>
Initializes @iter with the &quot;end iterator,&quot; one past the last valid
character in the text buffer. If dereferenced with
gtk_text_iter_get_char(), the end iterator has a character value of
0. The entire buffer lies in the range from the first position in
the buffer (call gtk_text_buffer_get_start_iter() to get
character position 0) to the end iterator.

</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.

Since: 2.10

</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 &quot;insert&quot;, 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.

</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, and must not be
beyond the end of the line.  Note &lt;emphasis&gt;bytes&lt;/emphasis&gt;, not
characters; UTF-8 may encode one character as multiple bytes.

</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. The @char_offset must exist, offsets off the end of the line
are not allowed. Note &lt;emphasis&gt;characters&lt;/emphasis&gt;, not bytes;
UTF-8 may encode one character as multiple bytes.

</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_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 &quot;save&quot; 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_paste_target_list">
<description>
This function returns the list of targets this text buffer supports
for pasting and as DND destination. The targets in the list are
added with %info values from the #GtkTextBufferTargetInfo enum,
using gtk_target_list_add_rich_text_targets() and
gtk_target_list_add_text_targets().

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
</parameters>
<return> the #GtkTargetList

</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
&quot;selection_bound&quot;, but very slightly more efficient, and involves
less typing.

The currently-selected text in @buffer is the region between the
&quot;selection_bound&quot; and &quot;insert&quot; marks. If &quot;selection_bound&quot; and
&quot;insert&quot; are in the same place, then there is no current selection.
gtk_text_buffer_get_selection_bounds() is another convenient function
for handling the selection, if you just want to know whether there'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_serialize_formats">
<description>
This function returns the rich text serialize formats registered
with @buffer using gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_serialize_tagset()

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="n_formats">
<parameter_description> return location for the number of formats
</parameter_description>
</parameter>
</parameters>
<return> an array of
#GdkAtom&lt;!-- --&gt;s representing the registered formats.

</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 &lt;emphasis&gt;do&lt;/emphasis&gt; correspond to byte
and character indexes into the buffer. Contrast with
gtk_text_buffer_get_text(). Note that 0xFFFC can occur in normal
text as well, so it is not a reliable indicator that a pixbuf or
widget is in the buffer.


</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 &lt;emphasis&gt;not&lt;/emphasis&gt; 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 &quot;insert-text&quot; signal; insertion actually occurs
in the default handler for the signal. @iter is invalidated when
insertion occurs (because the buffer contents change), but the
default signal handler revalidates it to point to the end of the
inserted text.

</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 &quot;object replacement character&quot; 0xFFFC. Note that the
&quot;slice&quot; variants for obtaining portions of the buffer as a string
include this character for child anchors, but the &quot;text&quot; variants do
not. E.g. see gtk_text_buffer_get_slice() and
gtk_text_buffer_get_text(). Consider
gtk_text_buffer_create_child_anchor() as a more convenient
alternative to this function. The buffer will add a reference to
the anchor, so you can unref it after insertion.

</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_pixbuf">
<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
&quot;object replacement character&quot; 0xFFFC. Note that the &quot;slice&quot;
variants for obtaining portions of the buffer as a string include
this character for pixbufs, but the &quot;text&quot; variants do
not. e.g. see gtk_text_buffer_get_slice() and
gtk_text_buffer_get_text().

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> location to insert the pixbuf
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_insert_range">
<description>
Copies text, tags, and pixbufs 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 &quot;mark-set&quot; 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 at the insertion point, or
at @override_location. (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 #GtkClipboard to paste from
</parameter_description>
</parameter>
<parameter name="override_location">
<parameter_description> location to insert pasted text, or %NULL for
at the cursor
</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 &quot;insert&quot; and &quot;selection_bound&quot; marks
simultaneously.  If you move them to the same place in two steps
with gtk_text_buffer_move_mark(), you will temporarily select a
region in between their old and new locations, which can be pretty
inefficient since the temporarily-selected region will force stuff
to be recalculated. This function moves them as a unit, which can
be optimized.

</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_register_deserialize_format">
<description>
This function registers a rich text deserialization @function along with
its @mime_type with the passed @buffer.

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="mime_type">
<parameter_description> the format's mime-type
</parameter_description>
</parameter>
<parameter name="function">
<parameter_description> the deserialize function to register
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> @function's user_data
</parameter_description>
</parameter>
<parameter name="user_data_destroy">
<parameter_description> a function to call when @user_data is no longer needed
</parameter_description>
</parameter>
</parameters>
<return> the #GdkAtom that corresponds to the
newly registered format's mime-type.

</return>
</function>

<function name="gtk_text_buffer_register_deserialize_tagset">
<description>
This function registers GTK+'s internal rich text serialization
format with the passed @buffer. See
gtk_text_buffer_register_serialize_tagset() for details.

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="tagset_name">
<parameter_description> an optional tagset name, on %NULL
</parameter_description>
</parameter>
</parameters>
<return> the #GdkAtom that corresponds to the
newly registered format's mime-type.

</return>
</function>

<function name="gtk_text_buffer_register_serialize_format">
<description>
This function registers a rich text serialization @function along with
its @mime_type with the passed @buffer.

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="mime_type">
<parameter_description> the format's mime-type
</parameter_description>
</parameter>
<parameter name="function">
<parameter_description> the serialize function to register
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> %function's user_data
</parameter_description>
</parameter>
<parameter name="user_data_destroy">
<parameter_description> a function to call when @user_data is no longer needed
</parameter_description>
</parameter>
</parameters>
<return> the #GdkAtom that corresponds to the
newly registered format's mime-type.

</return>
</function>

<function name="gtk_text_buffer_register_serialize_tagset">
<description>
This function registers GTK+'s internal rich text serialization
format with the passed @buffer. The internal format does not comply
to any standard rich text format and only works between #GtkTextBuffer
instances. It is capable of serializing all of a text buffer's tags
and embedded pixbufs.

This function is just a wrapper around
gtk_text_buffer_register_serialize_format(). The mime type used
for registering is &quot;application/x-gtk-text-buffer-rich-text&quot;, or
&quot;application/x-gtk-text-buffer-rich-text;format=@tagset_name&quot; if a
@tagset_name was passed.

The @tagset_name can be used to restrict the transfer of rich text
to buffers with compatible sets of tags, in order to avoid unknown
tags from being pasted. It is probably the common case to pass an
identifier != %NULL here, since the %NULL tagset requires the
receiving buffer to deal with with pasting of arbitrary tags.

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="tagset_name">
<parameter_description> an optional tagset name, on %NULL
</parameter_description>
</parameter>
</parameters>
<return> the #GdkAtom that corresponds to the
newly registered format's mime-type.

</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 #GtkClipboard 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 #GtkClipboard 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 &quot;remove-tag&quot; 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 &quot;insert&quot; and &quot;selection_bound&quot; marks
simultaneously.  If you move them in two steps
with gtk_text_buffer_move_mark(), you will temporarily select a
region in between their old and new locations, which can be pretty
inefficient since the temporarily-selected region will force stuff
to be recalculated. This function moves them as a unit, which can
be optimized.

Since: 2.4

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="ins">
<parameter_description> where to put the &quot;insert&quot; mark
</parameter_description>
</parameter>
<parameter name="bound">
<parameter_description> where to put the &quot;selection_bound&quot; mark
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_serialize">
<description>
This function serializes the portion of text between @start
and @end in the rich text format represented by @format.

@format&lt;!-- --&gt;s to be used must be registered using
gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_serialize_tagset() beforehand.

Since: 2.10

</description>
<parameters>
<parameter name="register_buffer">
<parameter_description> the #GtkTextBuffer @format is registered with
</parameter_description>
</parameter>
<parameter name="content_buffer">
<parameter_description> the #GtkTextBuffer to serialize
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> the rich text format to use for serializing
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> start of block of text to serialize
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> end of block of test to serialize
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> return location for the length of the serialized data
</parameter_description>
</parameter>
</parameters>
<return> the serialized
data, encoded as @format

</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_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 a &quot;modified-changed&quot; 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_unregister_deserialize_format">
<description>
This function unregisters a rich text format that was previously
registered using gtk_text_buffer_register_deserialize_format() or
gtk_text_buffer_register_deserialize_tagset().

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> a #GdkAtom representing a registered rich text format.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_text_buffer_unregister_serialize_format">
<description>
This function unregisters a rich text format that was previously
registered using gtk_text_buffer_register_serialize_format() or
gtk_text_buffer_register_serialize_tagset()

Since: 2.10

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #GtkTextBuffer
</parameter_description>
</parameter>
<parameter name="format">
<parameter_description> a #GdkAtom representing a registered rich text format.
</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 &#8212; 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_iter_assign">
<description>
Assigns the value of @other to @iter.  This function
is not useful in applications, because iterators can be assigned
with &lt;literal&gt;GtkTextIter i = j;&lt;/literal&gt;. The
function is used by language bindings.

Since: 3.2

</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.


</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 (pixbufs, 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.

Since: 2.4

</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.

Since: 2.4

</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.)

Since: 2.8

</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.

Since: 2.8

</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).

Since: 2.4

</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.

Since: 2.4

</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_begins_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 the gtk_text_iter_begins_tag () returns %TRUE if @iter is the
&lt;emphasis&gt;start&lt;/emphasis&gt; of the tagged range;
gtk_text_iter_has_tag () tells you whether an iterator is
&lt;emphasis&gt;within&lt;/emphasis&gt; a tagged range.


</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_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 (&lt;literal&gt;GtkTextIter i = j;&lt;/literal&gt;). 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 &quot;locked&quot; 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 the gtk_text_iter_ends_tag () returns %TRUE if @iter is the
&lt;emphasis&gt;end&lt;/emphasis&gt; of the tagged range;
gtk_text_iter_has_tag () tells you whether an iterator is
&lt;emphasis&gt;within&lt;/emphasis&gt; a tagged range.


</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 &quot;a&quot; with an accent mark will be
represented as two characters, first the letter then a &quot;combining
mark&quot; that causes the accent to be rendered; so the cursor can't go
between those two characters. See also the #PangoLogAttr structure 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.

If the #GTK_TEXT_SEARCH_VISIBLE_ONLY flag is present, the match may
have invisible text interspersed in @str. i.e. @str will be a
possibly-noncontiguous subsequence of the matched range. similarly,
if you specify #GTK_TEXT_SEARCH_TEXT_ONLY, the match may have
pixbufs or child widgets mixed inside the matched range. If these
flags are not given, the match must be exact; the special 0xFFFC
character in @str will match embedded pixbufs or child widgets.
If you specify the #GTK_TEXT_SEARCH_CASE_INSENSITIVE flag, the text will
be matched regardless of what case it is in.


</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> bound for the search, 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 (pixbufs, 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 &quot;end iterator,&quot; which points one past the last
valid character in the buffer. gtk_text_iter_get_char() called on the
end iterator returns 0, which is convenient for writing loops.

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.8

</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.

Since: 2.8

</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).

Since: 2.4

</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.

Since: 2.4

</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_attributes">
<description>
Computes the effect of any tags applied to this spot in the
text. The @values parameter should be initialized to the default
settings you wish to use if no tags are in effect. You'd typically
obtain the defaults from gtk_text_view_get_default_attributes().

gtk_text_iter_get_attributes () will modify @values, applying the
effects of any tags present at @iter. If any tags affected @values,
the function returns %TRUE.


</description>
<parameters>
<parameter name="iter">
<parameter_description> an iterator
</parameter_description>
</parameter>
<parameter name="values">
<parameter_description> a #GtkTextAttributes to be filled in
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @values was modified
</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>
Returns the Unicode character at this iterator.  (Equivalent to
operator* on a C++ iterator.)  If the element at this iterator is a
non-character element, such as an image embedded in the buffer, the
Unicode &quot;unknown&quot; character 0xFFFC is returned. If invoked on
the end iterator, zero is returned; zero is not a valid Unicode character.
So you can write a loop which ends when gtk_text_iter_get_char ()
returns 0.


</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_pixbuf">
<description>
If the element at @iter is a pixbuf, the pixbuf 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 pixbuf at @iter
</return>
</function>

<function name="gtk_text_iter_get_slice">
<description>
Returns the text in the given range. A &quot;slice&quot; is an array of
characters encoded in UTF-8 format, including the Unicode &quot;unknown&quot;
character 0xFFFC for iterable non-character elements in the buffer,
such as images.  Because images are encoded in the slice, byte and
character offsets in the returned array will correspond to byte
offsets in the text buffer. Note that 0xFFFC can occur in normal
text as well, so it is not a reliable indicator that a pixbuf or
widget is in the buffer.


</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 &lt;emphasis&gt;text&lt;/emphasis&gt; in the given range.  If the range
contains non-text elements such as images, the character and byte
offsets in the returned string will not correspond to character and
byte offsets in the buffer. If you want offsets to correspond, see
gtk_text_iter_get_slice ().


</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 &lt;emphasis&gt;not&lt;/emphasis&gt; 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 &quot;invisible&quot; 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 &quot;invisible&quot; 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
&quot;invisible&quot; 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
&quot;invisible&quot; 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 is within a range tagged with @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 @iter is inside a natural-language word (as
opposed to say inside some whitespace).  Word breaks are determined
by Pango and should be correct for nearly any language (if not, the
correct fix would be to the Pango word break algorithms).


</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
&lt;emphasis&gt;byte&lt;/emphasis&gt; 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 &lt;emphasis&gt;character&lt;/emphasis&gt;
(not byte) offset. The given character offset must be less than or
equal to the number of characters in the line; if equal, @iter
moves to the start of the next line. See
gtk_text_iter_set_line_index() if you have a byte index rather than
a character offset.


</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_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_begins_tag () ||
gtk_text_iter_ends_tag ()), i.e. it tells you whether a range with
@tag applied to it begins &lt;emphasis&gt;or&lt;/emphasis&gt; 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 (may be %NULL)
</parameter_description>
</parameter>
<parameter name="weak_pos">
<parameter_description> location to store the weak cursor position (may be %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).

Since: 2.12

</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_tag_event">
<description>
Emits the &quot;event&quot; signal on the #GtkTextTag.


</description>
<parameters>
<parameter name="tag">
<parameter_description> a #GtkTextTag
</parameter_description>
</parameter>
<parameter name="event_object">
<parameter_description> object that received the event, such as a widget
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> the event
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> location where the event was received
</parameter_description>
</parameter>
</parameters>
<return> result of signal emission (whether the event was handled)
</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 are
start at 0 and go to one less than gtk_text_tag_table_get_size().
Each tag in a table has a unique priority; setting the priority
of one tag shifts the priorities of all the other tags in the
table to maintain a unique priority for each tag. Higher priority
tags &quot;win&quot; if two tags both set the same text attribute. When adding
a tag to a tag table, it will be assigned the highest priority in
the table by default; so normally the precedence of a set of tags
is the order in which they were added to the table, or created with
gtk_text_buffer_create_tag(), which adds the tag to the buffer'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></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. This will remove the table's
reference to the tag, so be careful - 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_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_child_in_window">
<description>
Adds a child at fixed coordinates in one of the text widget's
windows.

The window must have nonzero size (see
gtk_text_view_set_border_window_size()). Note that the child
coordinates are given relative to the #GdkWindow in question, and
that these coordinates have no sane relationship to scrolling. When
placing a child in #GTK_TEXT_WINDOW_WIDGET, scrolling is
irrelevant, the child floats above all scrollable areas. But when
placing a child in one of the scrollable windows (border windows or
text window), you'll need to compute the child's correct position
in buffer coordinates any time scrolling occurs or buffer changes
occur, and then call gtk_text_view_move_child() to update the
child's position.

</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="which_window">
<parameter_description> which window the child should appear in
</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 except #GTK_TEXT_WINDOW_PRIVATE
</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().

Since: 2.4

</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_border_window_size">
<description>
Gets the width of the specified border window. See
gtk_text_view_set_border_window_size().


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> window to return size from
</parameter_description>
</parameter>
</parameters>
<return> width of window
</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.

Since: 3.0

</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 is being 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_default_attributes">
<description>
Obtains a copy of the default text attributes. These are the
attributes used for text unless a tag overrides them.
You'd typically pass the default attributes in to
gtk_text_iter_get_attributes() in order to get the
attributes in effect at a given text position.

The return value is a copy owned by the caller of this function,
and should be freed.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkTextAttributes
</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_hadjustment">
<description>
Gets the horizontal-scrolling #GtkAdjustment.

Since: 2.22

Deprecated: 3.0: Use gtk_scrollable_get_hadjustment()

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> pointer to the horizontal #GtkAdjustment

</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.

Since: 3.6

</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.

Since: 3.6

</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></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 &lt;emphasis&gt;between&lt;/emphasis&gt;
characters.

Since: 2.6

</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></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_overwrite">
<description>
Returns whether the #GtkTextView is in overwrite mode or not.

Since: 2.4

</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.


</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().


</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
&quot;standard&quot; (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 &quot;standard&quot; 
tabs are used; must be freed with pango_tab_array_free().
</return>
</function>

<function name="gtk_text_view_get_vadjustment">
<description>
Gets the vertical-scrolling #GtkAdjustment.

Since: 2.22

Deprecated: 3.0: Use gtk_scrollable_get_vadjustment()

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
</parameters>
<return> pointer to the vertical #GtkAdjustment

</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_window">
<description>
Retrieves the #GdkWindow corresponding to an area of the text view;
possible windows include the overall widget window, child windows
on the left, right, top, bottom, and the window that displays the
text buffer. Windows are %NULL and nonexistent if their width or
height is 0, and are nonexistent before the widget has been
realized.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="win">
<parameter_description> window to get
</parameter_description>
</parameter>
</parameters>
<return> a #GdkWindow, or %NULL
</return>
</function>

<function name="gtk_text_view_get_window_type">
<description>
Usually used to find out which window an event corresponds to.
If you connect to an event signal on @text_view, this function
should be called on &lt;literal&gt;event-&gt;window&lt;/literal&gt; to
see which window it was.


</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a window type
</parameter_description>
</parameter>
</parameters>
<return> the window type.
</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.

|[
static gboolean
gtk_foo_bar_key_press_event (GtkWidget   *widget,
GdkEventKey *event)
{
if ((key-&gt;keyval == GDK_KEY_Return || key-&gt;keyval == GDK_KEY_KP_Enter))
{
if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (view), event))
return TRUE;
}

/ * Do some stuff * /

return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)-&gt;key_press_event (widget, event);
}
]|

Since: 2.22

</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_child">
<description>
Updates the position of a child, as for gtk_text_view_add_child_in_window().

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> child widget already added to the text view
</parameter_description>
</parameter>
<parameter name="xpos">
<parameter_description> new X position in window coordinates
</parameter_description>
</parameter>
<parameter name="ypos">
<parameter_description> new Y position in window coordinates
</parameter_description>
</parameter>
</parameters>
<return></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_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, it 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_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.

Since: 2.22

</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.

Since: 2.4

</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_border_window_size">
<description>
Sets the width of %GTK_TEXT_WINDOW_LEFT or %GTK_TEXT_WINDOW_RIGHT,
or the height of %GTK_TEXT_WINDOW_TOP or %GTK_TEXT_WINDOW_BOTTOM.
Automatically destroys the corresponding window if the size is set
to 0, and creates the window if the size is set to non-zero.  This
function can only be used for the &quot;border windows,&quot; it doesn't work
with #GTK_TEXT_WINDOW_WIDGET, #GTK_TEXT_WINDOW_TEXT, or
#GTK_TEXT_WINDOW_PRIVATE.

</description>
<parameters>
<parameter name="text_view">
<parameter_description> a #GtkTextView
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> window to affect
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> width or height of the window
</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 &quot;adopt&quot; 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 is displayed. A buffer with no editable
text probably shouldn't have a visible cursor, so you may want to turn
the cursor off.

</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 &quot;editable&quot;
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_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.

Since: 3.6

</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.

Since: 3.6

</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.

</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_overwrite">
<description>
Changes the #GtkTextView overwrite mode.

Since: 2.4

</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.

</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_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 except #GTK_TEXT_WINDOW_PRIVATE
</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_theming_engine_get">
<description>
Retrieves several style property values that apply to the currently
rendered element.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve values for
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> property name /return value pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_background_color">
<description>
Gets the background color for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the color for
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> return value for the background color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_border">
<description>
Gets the border for a given state as a #GtkBorder.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the border for
</parameter_description>
</parameter>
<parameter name="border">
<parameter_description> return value for the border settings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_border_color">
<description>
Gets the border color for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the color for
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> return value for the border color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_color">
<description>
Gets the foreground color for a given state.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the color for
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> return value for the foreground color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_direction">
<description>
Returns the widget direction used for rendering.

Since: 3.0

Deprecated: 3.8: Use gtk_theming_engine_get_state() and
check for #GTK_STATE_FLAG_DIR_LTR and
#GTK_STATE_FLAG_DIR_RTL instead.

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
</parameters>
<return> the widget direction

</return>
</function>

<function name="gtk_theming_engine_get_font">
<description>
Returns the font description for a given state.

Since: 3.0

Deprecated: 3.8: Use gtk_theming_engine_get()

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the font for
</parameter_description>
</parameter>
</parameters>
<return> the #PangoFontDescription for the given
state. This object is owned by GTK+ and should not be
freed.

</return>
</function>

<function name="gtk_theming_engine_get_junction_sides">
<description>
Returns the widget direction used for rendering.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
</parameters>
<return> the widget direction

</return>
</function>

<function name="gtk_theming_engine_get_margin">
<description>
Gets the margin for a given state as a #GtkBorder.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the border for
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> return value for the margin settings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_padding">
<description>
Gets the padding for a given state as a #GtkBorder.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the padding for
</parameter_description>
</parameter>
<parameter name="padding">
<parameter_description> return value for the padding settings
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_path">
<description>
Returns the widget path used for style matching.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
</parameters>
<return> A #GtkWidgetPath

</return>
</function>

<function name="gtk_theming_engine_get_property">
<description>
Gets a property value as retrieved from the style settings that apply
to the currently rendered element.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="property">
<parameter_description> the property name
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve the value for
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> return location for the property value,
you must free this memory using g_value_unset() once you are
done with it.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_screen">
<description>
Returns the #GdkScreen to which @engine currently rendering to.


</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
</parameters>
<return> a #GdkScreen, or %NULL.
</return>
</function>

<function name="gtk_theming_engine_get_state">
<description>
returns the state used when rendering.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
</parameters>
<return> the state flags

</return>
</function>

<function name="gtk_theming_engine_get_style">
<description>
Retrieves several widget style properties from @engine according
to the currently rendered content's style.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> property name /return value pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_style_property">
<description>
Gets the value for a widget style property.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the widget style property
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> Return location for the property value, free with
g_value_unset() after use.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_style_valist">
<description>
Retrieves several widget style properties from @engine according to the
currently rendered content's style.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> va_list of property name/return location pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_get_valist">
<description>
Retrieves several style property values that apply to the currently
rendered element.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> state to retrieve values for
</parameter_description>
</parameter>
<parameter name="args">
<parameter_description> va_list of property name/return location pairs, followed by %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_has_class">
<description>
Returns %TRUE if the currently rendered contents have
defined the given class name.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="style_class">
<parameter_description> class name to look up
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @engine has @class_name defined

</return>
</function>

<function name="gtk_theming_engine_has_region">
<description>
Returns %TRUE if the currently rendered contents have the
region defined. If @flags_return is not %NULL, it is set
to the flags affecting the region.

Since: 3.0

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="style_region">
<parameter_description> a region name
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> return location for region flags
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if region is defined

</return>
</function>

<function name="gtk_theming_engine_load">
<description>
Loads and initializes a theming engine module from the
standard directories.


</description>
<parameters>
<parameter name="name">
<parameter_description> Theme engine name to load
</parameter_description>
</parameter>
</parameters>
<return> A theming engine, or %NULL if
the engine @name doesn't exist.
</return>
</function>

<function name="gtk_theming_engine_lookup_color">
<description>
Looks up and resolves a color name in the current style's color map.


</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</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_theming_engine_register_property">
<description>
Registers a property so it can be used in the CSS file format,
on the CSS file the property will look like
&quot;-${@name_space}-${property_name}&quot;. being
${property_name} the given to @pspec. @name_space will usually
be the theme engine name.

For any type a @parse_func may be provided, being this function
used for turning any property value (between ':' and ';') in
CSS to the #GValue needed. For basic types there is already
builtin parsing support, so %NULL may be provided for these
cases.

&lt;note&gt;
Engines must ensure property registration happens exactly once,
usually GTK+ deals with theming engines as singletons, so this
should be guaranteed to happen once, but bear this in mind
when creating #GtkThemeEngine&lt;!-- --&gt;s yourself.
&lt;/note&gt;

&lt;note&gt;
In order to make use of the custom registered properties in
the CSS file, make sure the engine is loaded first by specifying
the engine property, either in a previous rule or within the same
one.
&lt;programlisting&gt;
* {
engine: someengine;
-SomeEngine-custom-property: 2;
}
&lt;/programlisting&gt;
&lt;/note&gt;

Since: 3.0

Deprecated: 3.8: Code should use the default properties provided by CSS.

</description>
<parameters>
<parameter name="name_space">
<parameter_description> namespace for the property name
</parameter_description>
</parameter>
<parameter name="parse_func">
<parameter_description> parsing function to use, or %NULL
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the new property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_theming_engine_state_is_running">
<description>
Returns %TRUE if there is a transition animation running for the
current region (see gtk_style_context_push_animatable_region()).

If @progress is not %NULL, the animation progress will be returned
there, 0.0 means the state is closest to being %FALSE, while 1.0 means
it's closest to being %TRUE. This means transition animations will
run from 0 to 1 when @state is being set to %TRUE and from 1 to 0 when
it's being set to %FALSE.

Since: 3.0

Deprecated: 3.6: Always returns %FALSE

</description>
<parameters>
<parameter name="engine">
<parameter_description> a #GtkThemingEngine
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> a widget state
</parameter_description>
</parameter>
<parameter name="progress">
<parameter_description> return location for the transition progress
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there is a running transition animation for @state.

</return>
</function>

<function name="gtk_toggle_action_get_active">
<description>
Returns the checked state of the toggle action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> the checked state of the toggle action

</return>
</function>

<function name="gtk_toggle_action_get_draw_as_radio">
<description>
Returns whether the action should have proxies like a radio action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
</parameters>
<return> whether the action should have proxies like a radio action.

</return>
</function>

<function name="gtk_toggle_action_new">
<description>
Creates a new #GtkToggleAction object. To add the action to
a #GtkActionGroup and set the accelerator for the action,
call gtk_action_group_add_action_with_accel().

Since: 2.4

</description>
<parameters>
<parameter name="name">
<parameter_description> A unique name for the action
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> The label displayed in menu items and on buttons,
or %NULL
</parameter_description>
</parameter>
<parameter name="tooltip">
<parameter_description> A tooltip for the action, or %NULL
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> The stock icon to display in widgets representing
the action, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkToggleAction

</return>
</function>

<function name="gtk_toggle_action_set_active">
<description>
Sets the checked state on the toggle action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="is_active">
<parameter_description> whether the action should be checked or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toggle_action_set_draw_as_radio">
<description>
Sets whether the action should have proxies like a radio action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</parameter_description>
</parameter>
<parameter name="draw_as_radio">
<parameter_description> whether the action should have proxies like a radio 
action
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toggle_action_toggled">
<description>
Emits the &quot;toggled&quot; signal on the toggle action.

Since: 2.4

</description>
<parameters>
<parameter name="action">
<parameter_description> the action object
</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_get_inconsistent">
<description>
Gets the value set by gtk_toggle_button_set_inconsistent().


</description>
<parameters>
<parameter name="toggle_button">
<parameter_description> a #GtkToggleButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the button is displayed as inconsistent, %FALSE otherwise
</return>
</function>

<function name="gtk_toggle_button_get_mode">
<description>
Retrieves whether the button is displayed as a separate indicator
and label. See gtk_toggle_button_set_mode().


</description>
<parameters>
<parameter name="toggle_button">
<parameter_description> a #GtkToggleButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the togglebutton is drawn as a separate indicator
and label.
</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.
This action causes the #GtkToggleButton::toggled signal and the
#GtkButton::clicked 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_set_inconsistent">
<description>
If the user has selected a range of elements (such as some text or
spreadsheet cells) that are affected by a toggle button, and the
current values in that range are inconsistent, you may want to
display the toggle in an &quot;in between&quot; state. This function turns on
&quot;in between&quot; display.  Normally you would turn off the inconsistent
state again if the user toggles the toggle button. This has to be
done manually, gtk_toggle_button_set_inconsistent() only affects
visual appearance, it doesn't affect the semantics of the button.


</description>
<parameters>
<parameter name="toggle_button">
<parameter_description> a #GtkToggleButton
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE if state is inconsistent
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toggle_button_set_mode">
<description>
Sets whether the button is displayed as a separate indicator and label.
You can call this function on a checkbutton or a radiobutton with
@draw_indicator = %FALSE to make the button look like a normal button

This function only affects instances of classes like #GtkCheckButton
and #GtkRadioButton that derive from #GtkToggleButton,
not instances of #GtkToggleButton itself.

</description>
<parameters>
<parameter name="toggle_button">
<parameter_description> a #GtkToggleButton
</parameter_description>
</parameter>
<parameter name="draw_indicator">
<parameter_description> if %TRUE, draw the button as a separate indicator
and label; if %FALSE, draw the button like a normal button
</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_toggle_tool_button_get_active">
<description>
Queries a #GtkToggleToolButton and returns its current state.
Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToggleToolButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the toggle tool button is pressed in, %FALSE if not

</return>
</function>

<function name="gtk_toggle_tool_button_new">
<description>
Returns a new #GtkToggleToolButton

Since: 2.4

</description>
<parameters>
</parameters>
<return> a newly created #GtkToggleToolButton

</return>
</function>

<function name="gtk_toggle_tool_button_new_from_stock">
<description>
Creates a new #GtkToggleToolButton containing the image and text from a
stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
and #GTK_STOCK_APPLY.

It is an error if @stock_id is not a name of a stock item.

Since: 2.4

</description>
<parameters>
<parameter name="stock_id">
<parameter_description> the name of the stock item 
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkToggleToolButton

</return>
</function>

<function name="gtk_toggle_tool_button_set_active">
<description>
Sets the status of the toggle tool button. Set to %TRUE if you
want the GtkToggleButton to be 'pressed in', and %FALSE to raise it.
This action causes the toggled signal to be emitted.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToggleToolButton
</parameter_description>
</parameter>
<parameter name="is_active">
<parameter_description> whether @button should be active
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_button_get_icon_name">
<description>
Returns the name of the themed icon for the tool button,
see gtk_tool_button_set_icon_name().

Since: 2.8

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
</parameters>
<return> the icon name or %NULL if the tool button has
no themed icon

</return>
</function>

<function name="gtk_tool_button_get_icon_widget">
<description>
Return the widget used as icon widget on @button.
See gtk_tool_button_set_icon_widget().

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
</parameters>
<return> The widget used as icon
on @button, or %NULL.

</return>
</function>

<function name="gtk_tool_button_get_label">
<description>
Returns the label used by the tool button, or %NULL if the tool button
doesn't have a label. or uses a the label from a stock item. The returned
string is owned by GTK+, and must not be modified or freed.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
</parameters>
<return> The label, or %NULL

</return>
</function>

<function name="gtk_tool_button_get_label_widget">
<description>
Returns the widget used as label on @button.
See gtk_tool_button_set_label_widget().

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
</parameters>
<return> The widget used as label
on @button, or %NULL.

</return>
</function>

<function name="gtk_tool_button_get_stock_id">
<description>
Returns the name of the stock item. See gtk_tool_button_set_stock_id().
The returned string is owned by GTK+ and must not be freed or modifed.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
</parameters>
<return> the name of the stock item for @button.

</return>
</function>

<function name="gtk_tool_button_get_use_underline">
<description>
Returns whether underscores in the label property are used as mnemonics
on menu items on the overflow menu. See gtk_tool_button_set_use_underline().

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if underscores in the label property are used as
mnemonics on menu items on the overflow menu.

</return>
</function>

<function name="gtk_tool_button_new">
<description>
Creates a new %GtkToolButton using @icon_widget as contents and @label as
label.

Since: 2.4

</description>
<parameters>
<parameter name="label">
<parameter_description> a string that will be used as label, or %NULL
</parameter_description>
</parameter>
<parameter name="icon_widget">
<parameter_description> a widget that will be used as the button contents, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkToolButton

</return>
</function>

<function name="gtk_tool_button_new_from_stock">
<description>
Creates a new #GtkToolButton containing the image and text from a
stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
and #GTK_STOCK_APPLY.

It is an error if @stock_id is not a name of a stock item.

Since: 2.4

</description>
<parameters>
<parameter name="stock_id">
<parameter_description> the name of the stock item 
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkToolButton

</return>
</function>

<function name="gtk_tool_button_set_icon_name">
<description>
Sets the icon for the tool button from a named themed icon.
See the docs for #GtkIconTheme for more details.
The &quot;icon_name&quot; property only has an effect if not
overridden by non-%NULL &quot;label&quot;, &quot;icon_widget&quot; and &quot;stock_id&quot;
properties.

Since: 2.8

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
<parameter name="icon_name">
<parameter_description> the name of the themed icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_button_set_icon_widget">
<description>
Sets @icon as the widget used as icon on @button. If @icon_widget is
%NULL the icon is determined by the &quot;stock_id&quot; property. If the
&quot;stock_id&quot; property is also %NULL, @button will not have an icon.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
<parameter name="icon_widget">
<parameter_description> the widget used as icon, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_button_set_label">
<description>
Sets @label as the label used for the tool button. The &quot;label&quot; property
only has an effect if not overridden by a non-%NULL &quot;label_widget&quot; property.
If both the &quot;label_widget&quot; and &quot;label&quot; properties are %NULL, the label
is determined by the &quot;stock_id&quot; property. If the &quot;stock_id&quot; property is also
%NULL, @button will not have a label.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> a string that will be used as label, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_button_set_label_widget">
<description>
Sets @label_widget as the widget that will be used as the label
for @button. If @label_widget is %NULL the &quot;label&quot; property is used
as label. If &quot;label&quot; is also %NULL, the label in the stock item
determined by the &quot;stock_id&quot; property is used as label. If
&quot;stock_id&quot; is also %NULL, @button does not have a label.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
<parameter name="label_widget">
<parameter_description> the widget used as label, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_button_set_stock_id">
<description>
Sets the name of the stock item. See gtk_tool_button_new_from_stock().
The stock_id property only has an effect if not
overridden by non-%NULL &quot;label&quot; and &quot;icon_widget&quot; properties.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> a name of a stock item, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_button_set_use_underline">
<description>
If set, an underline in the label property indicates that the next character
should be used for the mnemonic accelerator key in the overflow menu. For
example, if the label property is &quot;_Open&quot; and @use_underline is %TRUE,
the label on the tool button will be &quot;Open&quot; and the item on the overflow
menu will have an underlined 'O'.

Labels shown on tool buttons never have mnemonics on them; this property
only affects the menu item on the overflow menu.

Since: 2.4

</description>
<parameters>
<parameter name="button">
<parameter_description> a #GtkToolButton
</parameter_description>
</parameter>
<parameter name="use_underline">
<parameter_description> whether the button label has the form &quot;_Open&quot;
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_get_ellipsize_mode">
<description>
Returns the ellipsize mode used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out how text should
be ellipsized.

Since: 2.20

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return> a #PangoEllipsizeMode indicating how text in @tool_item
should be ellipsized.

</return>
</function>

<function name="gtk_tool_item_get_expand">
<description>
Returns whether @tool_item is allocated extra space.
See gtk_tool_item_set_expand().

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tool_item is allocated extra space.

</return>
</function>

<function name="gtk_tool_item_get_homogeneous">
<description>
Returns whether @tool_item is the same size as other homogeneous
items. See gtk_tool_item_set_homogeneous().

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the item is the same size as other homogeneous
items.

</return>
</function>

<function name="gtk_tool_item_get_icon_size">
<description>
Returns the icon size used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out what size icons
they should use.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return> a #GtkIconSize indicating the icon size
used for @tool_item

</return>
</function>

<function name="gtk_tool_item_get_is_important">
<description>
Returns whether @tool_item is considered important. See
gtk_tool_item_set_is_important()

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tool_item is considered important.

</return>
</function>

<function name="gtk_tool_item_get_orientation">
<description>
Returns the orientation used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out what size icons
they should use.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> a #GtkOrientation indicating the orientation
used for @tool_item

</return>
</function>

<function name="gtk_tool_item_get_proxy_menu_item">
<description>
If @menu_item_id matches the string passed to
gtk_tool_item_set_proxy_menu_item() return the corresponding #GtkMenuItem.

Custom subclasses of #GtkToolItem should use this function to
update their menu item when the #GtkToolItem changes. That the
@menu_item_id&lt;!-- --&gt;s must match ensures that a #GtkToolItem
will not inadvertently change a menu item that they did not create.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
<parameter name="menu_item_id">
<parameter_description> a string used to identify the menu item
</parameter_description>
</parameter>
</parameters>
<return> The #GtkMenuItem passed to
gtk_tool_item_set_proxy_menu_item(), if the @menu_item_id&lt;!-- --&gt;s
match.

</return>
</function>

<function name="gtk_tool_item_get_relief_style">
<description>
Returns the relief style of @tool_item. See gtk_button_set_relief().
Custom subclasses of #GtkToolItem should call this function in the handler
of the #GtkToolItem::toolbar_reconfigured signal to find out the
relief style of buttons.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> a #GtkReliefStyle indicating the relief style used
for @tool_item.

</return>
</function>

<function name="gtk_tool_item_get_text_alignment">
<description>
Returns the text alignment used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out how text should
be aligned.

Since: 2.20

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem: 
</parameter_description>
</parameter>
</parameters>
<return> a #gfloat indicating the horizontal text alignment
used for @tool_item

</return>
</function>

<function name="gtk_tool_item_get_text_orientation">
<description>
Returns the text orientation used for @tool_item. Custom subclasses of
#GtkToolItem should call this function to find out how text should
be orientated.

Since: 2.20

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return> a #GtkOrientation indicating the text orientation
used for @tool_item

</return>
</function>

<function name="gtk_tool_item_get_text_size_group">
<description>
Returns the size group used for labels in @tool_item.
Custom subclasses of #GtkToolItem should call this function
and use the size group for labels.

Since: 2.20

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return> a #GtkSizeGroup

</return>
</function>

<function name="gtk_tool_item_get_toolbar_style">
<description>
Returns the toolbar style used for @tool_item. Custom subclasses of
#GtkToolItem should call this function in the handler of the
GtkToolItem::toolbar_reconfigured signal to find out in what style
the toolbar is displayed and change themselves accordingly 

Possibilities are:
&lt;itemizedlist&gt;
&lt;listitem&gt; GTK_TOOLBAR_BOTH, meaning the tool item should show
both an icon and a label, stacked vertically &lt;/listitem&gt;
&lt;listitem&gt; GTK_TOOLBAR_ICONS, meaning the toolbar shows
only icons &lt;/listitem&gt;
&lt;listitem&gt; GTK_TOOLBAR_TEXT, meaning the tool item should only
show text&lt;/listitem&gt;
&lt;listitem&gt; GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show
both an icon and a label, arranged horizontally&lt;/listitem&gt;
&lt;/itemizedlist&gt;

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> A #GtkToolbarStyle indicating the toolbar style used
for @tool_item.

</return>
</function>

<function name="gtk_tool_item_get_use_drag_window">
<description>
Returns whether @tool_item has a drag window. See
gtk_tool_item_set_use_drag_window().

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tool_item uses a drag window.

</return>
</function>

<function name="gtk_tool_item_get_visible_horizontal">
<description>
Returns whether the @tool_item is visible on toolbars that are
docked horizontally.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @tool_item is visible on toolbars that are
docked horizontally.

</return>
</function>

<function name="gtk_tool_item_get_visible_vertical">
<description>
Returns whether @tool_item is visible when the toolbar is docked vertically.
See gtk_tool_item_set_visible_vertical().

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> Whether @tool_item is visible when the toolbar is docked vertically

</return>
</function>

<function name="gtk_tool_item_group_get_collapsed">
<description>
Gets whether @group is collapsed or expanded.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a GtkToolItemGroup
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @group is collapsed, %FALSE if it is expanded

</return>
</function>

<function name="gtk_tool_item_group_get_drop_item">
<description>
Gets the tool item at position (x, y).

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</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>
</parameters>
<return> the #GtkToolItem at position (x, y)

</return>
</function>

<function name="gtk_tool_item_group_get_ellipsize">
<description>
Gets the ellipsization mode of @group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
</parameters>
<return> the #PangoEllipsizeMode of @group

</return>
</function>

<function name="gtk_tool_item_group_get_header_relief">
<description>
Gets the relief mode of the header button of @group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
</parameters>
<return> the #GtkReliefStyle

</return>
</function>

<function name="gtk_tool_item_group_get_item_position">
<description>
Gets the position of @item in @group as index.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return> the index of @item in @group or -1 if @item is no child of @group

</return>
</function>

<function name="gtk_tool_item_group_get_label">
<description>
Gets the label of @group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
</parameters>
<return> the label of @group. The label is an internal string of @group
and must not be modified. Note that %NULL is returned if a custom
label has been set with gtk_tool_item_group_set_label_widget()

</return>
</function>

<function name="gtk_tool_item_group_get_label_widget">
<description>
Gets the label widget of @group.
See gtk_tool_item_group_set_label_widget().

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
</parameters>
<return> the label widget of @group

</return>
</function>

<function name="gtk_tool_item_group_get_n_items">
<description>
Gets the number of tool items in @group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
</parameters>
<return> the number of tool items in @group

</return>
</function>

<function name="gtk_tool_item_group_get_nth_item">
<description>
Gets the tool item at @index in group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="index">
<parameter_description> the index
</parameter_description>
</parameter>
</parameters>
<return> the #GtkToolItem at index

</return>
</function>

<function name="gtk_tool_item_group_insert">
<description>
Inserts @item at @position in the list of children of @group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="item">
<parameter_description> the #GtkToolItem to insert into @group
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the position of @item in @group, starting with 0.
The position -1 means end of list.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_group_new">
<description>
Creates a new tool item group with label @label.

Since: 2.20

</description>
<parameters>
<parameter name="label">
<parameter_description> the label of the new group
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkToolItemGroup.

</return>
</function>

<function name="gtk_tool_item_group_set_collapsed">
<description>
Sets whether the @group should be collapsed or expanded.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="collapsed">
<parameter_description> whether the @group should be collapsed or expanded
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_group_set_ellipsize">
<description>
Sets the ellipsization mode which should be used by labels in @group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="ellipsize">
<parameter_description> the #PangoEllipsizeMode labels in @group should use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_group_set_header_relief">
<description>
Set the button relief of the group header.
See gtk_button_set_relief() for details.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> the #GtkReliefStyle
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_group_set_item_position">
<description>
Sets the position of @item in the list of children of @group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="item">
<parameter_description> the #GtkToolItem to move to a new position, should
be a child of @group.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> the new position of @item in @group, starting with 0.
The position -1 means end of list.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_group_set_label">
<description>
Sets the label of the tool item group. The label is displayed in the header
of the group.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="label">
<parameter_description> the new human-readable label of of the group
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_group_set_label_widget">
<description>
Sets the label of the tool item group.
The label widget is displayed in the header of the group, in place
of the usual label.

Since: 2.20

</description>
<parameters>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
<parameter name="label_widget">
<parameter_description> the widget to be displayed in place of the usual label
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_new">
<description>
Creates a new #GtkToolItem

Since: 2.4

</description>
<parameters>
</parameters>
<return> the new #GtkToolItem

</return>
</function>

<function name="gtk_tool_item_rebuild_menu">
<description>
Calling this function signals to the toolbar that the
overflow menu item for @tool_item has changed. If the
overflow menu is visible when this function it called,
the menu will be rebuilt.

The function must be called when the tool item changes what it
will do in response to the #GtkToolItem::create-menu-proxy signal.

Since: 2.6

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_retrieve_proxy_menu_item">
<description>
Returns the #GtkMenuItem that was last set by
gtk_tool_item_set_proxy_menu_item(), ie. the #GtkMenuItem
that is going to appear in the overflow menu.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
</parameters>
<return> The #GtkMenuItem that is going to appear in the
overflow menu for @tool_item.

</return>
</function>

<function name="gtk_tool_item_set_expand">
<description>
Sets whether @tool_item is allocated extra space when there
is more room on the toolbar then needed for the items. The
effect is that the item gets bigger when the toolbar gets bigger
and smaller when the toolbar gets smaller.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> Whether @tool_item is allocated extra space
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_homogeneous">
<description>
Sets whether @tool_item is to be allocated the same size as other
homogeneous items. The effect is that all homogeneous items will have
the same width as the widest of the items.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
<parameter name="homogeneous">
<parameter_description> whether @tool_item is the same size as other homogeneous items
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_is_important">
<description>
Sets whether @tool_item should be considered important. The #GtkToolButton
class uses this property to determine whether to show or hide its label
when the toolbar style is %GTK_TOOLBAR_BOTH_HORIZ. The result is that
only tool buttons with the &quot;is_important&quot; property set have labels, an
effect known as &quot;priority text&quot;

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
<parameter name="is_important">
<parameter_description> whether the tool item should be considered important
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_proxy_menu_item">
<description>
Sets the #GtkMenuItem used in the toolbar overflow menu. The
@menu_item_id is used to identify the caller of this function and
should also be used with gtk_tool_item_get_proxy_menu_item().

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
<parameter name="menu_item_id">
<parameter_description> a string used to identify @menu_item
</parameter_description>
</parameter>
<parameter name="menu_item">
<parameter_description> a #GtkMenuItem to be used in the overflow menu
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_tooltip_markup">
<description>
Sets the markup text to be displayed as tooltip on the item.
See gtk_widget_set_tooltip_markup().

Since: 2.12

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> markup text to be used as tooltip for @tool_item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_tooltip_text">
<description>
Sets the text to be displayed as tooltip on the item.
See gtk_widget_set_tooltip_text().

Since: 2.12

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text to be used as tooltip for @tool_item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_use_drag_window">
<description>
Sets whether @tool_item has a drag window. When %TRUE the
toolitem can be used as a drag source through gtk_drag_source_set().
When @tool_item has a drag window it will intercept all events,
even those that would otherwise be sent to a child of @tool_item.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
<parameter name="use_drag_window">
<parameter_description> Whether @tool_item has a drag window.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_visible_horizontal">
<description>
Sets whether @tool_item is visible when the toolbar is docked horizontally.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
<parameter name="visible_horizontal">
<parameter_description> Whether @tool_item is visible when in horizontal mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_set_visible_vertical">
<description>
Sets whether @tool_item is visible when the toolbar is docked
vertically. Some tool items, such as text entries, are too wide to be
useful on a vertically docked toolbar. If @visible_vertical is %FALSE
@tool_item will not appear on toolbars that are docked vertically.

Since: 2.4

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem 
</parameter_description>
</parameter>
<parameter name="visible_vertical">
<parameter_description> whether @tool_item is visible when the toolbar
is in vertical mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_item_toolbar_reconfigured">
<description>
Emits the signal #GtkToolItem::toolbar_reconfigured on @tool_item.
#GtkToolbar and other #GtkToolShell implementations use this function
to notify children, when some aspect of their configuration changes.

Since: 2.14

</description>
<parameters>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_add_drag_dest">
<description>
Sets @palette as drag source (see gtk_tool_palette_set_drag_source())
and sets @widget as a drag destination for drags from @palette.
See gtk_drag_dest_set().

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> a #GtkWidget which should be a drag destination for @palette
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> the flags that specify what actions GTK+ should take for drops
on that widget
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> the #GtkToolPaletteDragTargets which the widget
should support
</parameter_description>
</parameter>
<parameter name="actions">
<parameter_description> the #GdkDragAction&lt;!-- --&gt;s which the widget should suppport
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_get_drag_item">
<description>
Get the dragged item from the selection.
This could be a #GtkToolItem or a #GtkToolItemGroup.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> a #GtkSelectionData
</parameter_description>
</parameter>
</parameters>
<return> the dragged item in selection

</return>
</function>

<function name="gtk_tool_palette_get_drag_target_group">
<description>
Get the target entry for a dragged #GtkToolItemGroup.

Since: 2.20

</description>
<parameters>
</parameters>
<return> the #GtkTargetEntry for a dragged group

</return>
</function>

<function name="gtk_tool_palette_get_drag_target_item">
<description>
Gets the target entry for a dragged #GtkToolItem.

Since: 2.20

</description>
<parameters>
</parameters>
<return> the #GtkTargetEntry for a dragged item.

</return>
</function>

<function name="gtk_tool_palette_get_drop_group">
<description>
Gets the group at position (x, y).

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</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>
</parameters>
<return> the #GtkToolItemGroup at position or %NULL
if there is no such group

</return>
</function>

<function name="gtk_tool_palette_get_drop_item">
<description>
Gets the item at position (x, y).
See gtk_tool_palette_get_drop_group().

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</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>
</parameters>
<return> the #GtkToolItem at position or %NULL if there is no such item

</return>
</function>

<function name="gtk_tool_palette_get_exclusive">
<description>
Gets whether @group is exclusive or not.
See gtk_tool_palette_set_exclusive().

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup which is a child of palette
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @group is exclusive

</return>
</function>

<function name="gtk_tool_palette_get_expand">
<description>
Gets whether group should be given extra space.
See gtk_tool_palette_set_expand().

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup which is a child of palette
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if group should be given extra space, %FALSE otherwise

</return>
</function>

<function name="gtk_tool_palette_get_group_position">
<description>
Gets the position of @group in @palette as index.
See gtk_tool_palette_set_group_position().

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup
</parameter_description>
</parameter>
</parameters>
<return> the index of group or -1 if @group is not a child of @palette

</return>
</function>

<function name="gtk_tool_palette_get_hadjustment">
<description>
Gets the horizontal adjustment of the tool palette.

Since: 2.20

Deprecated: 3.0: Use gtk_scrollable_get_hadjustment()

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
</parameters>
<return> the horizontal adjustment of @palette

</return>
</function>

<function name="gtk_tool_palette_get_icon_size">
<description>
Gets the size of icons in the tool palette.
See gtk_tool_palette_set_icon_size().

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
</parameters>
<return> the #GtkIconSize of icons in the tool palette

</return>
</function>

<function name="gtk_tool_palette_get_style">
<description>
Gets the style (icons, text or both) of items in the tool palette.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
</parameters>
<return> the #GtkToolbarStyle of items in the tool palette.

</return>
</function>

<function name="gtk_tool_palette_get_vadjustment">
<description>
Gets the vertical adjustment of the tool palette.

Since: 2.20

Deprecated: 3.0: Use gtk_scrollable_get_vadjustment()

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
</parameters>
<return> the vertical adjustment of @palette

</return>
</function>

<function name="gtk_tool_palette_new">
<description>
Creates a new tool palette.

Since: 2.20

</description>
<parameters>
</parameters>
<return> a new #GtkToolPalette

</return>
</function>

<function name="gtk_tool_palette_set_drag_source">
<description>
Sets the tool palette as a drag source.
Enables all groups and items in the tool palette as drag sources
on button 1 and button 3 press with copy and move actions.
See gtk_drag_source_set().

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="targets">
<parameter_description> the #GtkToolPaletteDragTargets
which the widget should support
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_set_exclusive">
<description>
Sets whether the group should be exclusive or not.
If an exclusive group is expanded all other groups are collapsed.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup which is a child of palette
</parameter_description>
</parameter>
<parameter name="exclusive">
<parameter_description> whether the group should be exclusive or not
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_set_expand">
<description>
Sets whether the group should be given extra space.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup which is a child of palette
</parameter_description>
</parameter>
<parameter name="expand">
<parameter_description> whether the group should be given extra space
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_set_group_position">
<description>
Sets the position of the group as an index of the tool palette.
If position is 0 the group will become the first child, if position is
-1 it will become the last child.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="group">
<parameter_description> a #GtkToolItemGroup which is a child of palette
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> a new index for group
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_set_icon_size">
<description>
Sets the size of icons in the tool palette.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="icon_size">
<parameter_description> the #GtkIconSize that icons in the tool
palette shall have
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_set_style">
<description>
Sets the style (text, icons or both) of items in the tool palette.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> the #GtkToolbarStyle that items in the tool palette shall have
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_unset_icon_size">
<description>
Unsets the tool palette icon size set with gtk_tool_palette_set_icon_size(),
so that user preferences will be used to determine the icon size.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_palette_unset_style">
<description>
Unsets a toolbar style set with gtk_tool_palette_set_style(),
so that user preferences will be used to determine the toolbar style.

Since: 2.20

</description>
<parameters>
<parameter name="palette">
<parameter_description> a #GtkToolPalette
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tool_shell_get_ellipsize_mode">
<description>
Retrieves the current ellipsize mode for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_ellipsize_mode()
instead.

Since: 2.20

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> the current ellipsize mode of @shell

</return>
</function>

<function name="gtk_tool_shell_get_icon_size">
<description>
Retrieves the icon size for the tool shell. Tool items must not call this
function directly, but rely on gtk_tool_item_get_icon_size() instead.

Since: 2.14

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> the current size for icons of @shell

</return>
</function>

<function name="gtk_tool_shell_get_orientation">
<description>
Retrieves the current orientation for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_orientation()
instead.

Since: 2.14

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> the current orientation of @shell

</return>
</function>

<function name="gtk_tool_shell_get_relief_style">
<description>
Returns the relief style of buttons on @shell. Tool items must not call this
function directly, but rely on gtk_tool_item_get_relief_style() instead.

Since: 2.14

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> The relief style of buttons on @shell.

</return>
</function>

<function name="gtk_tool_shell_get_style">
<description>
Retrieves whether the tool shell has text, icons, or both. Tool items must
not call this function directly, but rely on gtk_tool_item_get_toolbar_style()
instead.

Since: 2.14

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> the current style of @shell

</return>
</function>

<function name="gtk_tool_shell_get_text_alignment">
<description>
Retrieves the current text alignment for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_text_alignment()
instead.

Since: 2.20

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> the current text alignment of @shell

</return>
</function>

<function name="gtk_tool_shell_get_text_orientation">
<description>
Retrieves the current text orientation for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_text_orientation()
instead.

Since: 2.20

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> the current text orientation of @shell

</return>
</function>

<function name="gtk_tool_shell_get_text_size_group">
<description>
Retrieves the current text size group for the tool shell. Tool items must not
call this function directly, but rely on gtk_tool_item_get_text_size_group()
instead.

Since: 2.20

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return> the current text size group of @shell

</return>
</function>

<function name="gtk_tool_shell_rebuild_menu">
<description>
Calling this function signals the tool shell that the overflow menu item for
tool items have changed. If there is an overflow menu and if it is visible
when this function it called, the menu will be rebuilt.

Tool items must not call this function directly, but rely on
gtk_tool_item_rebuild_menu() instead.

Since: 2.14

</description>
<parameters>
<parameter name="shell">
<parameter_description> a #GtkToolShell
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toolbar_get_drop_index">
<description>
Returns the position corresponding to the indicated point on
@toolbar. This is useful when dragging items to the toolbar:
this function returns the position a new item should be
inserted.

@x and @y are in @toolbar coordinates.

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x coordinate of a point on the toolbar
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y coordinate of a point on the toolbar
</parameter_description>
</parameter>
</parameters>
<return> The position corresponding to the point (@x, @y) on the toolbar.

</return>
</function>

<function name="gtk_toolbar_get_icon_size">
<description>
Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size().


</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
</parameters>
<return> the current icon size for the icons on
the toolbar.
</return>
</function>

<function name="gtk_toolbar_get_item_index">
<description>
Returns the position of @item on the toolbar, starting from 0.
It is an error if @item is not a child of the toolbar.

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
<parameter name="item">
<parameter_description> a #GtkToolItem that is a child of @toolbar
</parameter_description>
</parameter>
</parameters>
<return> the position of item on the toolbar.

</return>
</function>

<function name="gtk_toolbar_get_n_items">
<description>
Returns the number of items on the toolbar.

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
</parameters>
<return> the number of items on the toolbar

</return>
</function>

<function name="gtk_toolbar_get_nth_item">
<description>
Returns the @n&lt;!-- --&gt;'th item on @toolbar, or %NULL if the
toolbar does not contain an @n&lt;!-- --&gt;'th item.

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
<parameter name="n">
<parameter_description> A position on the toolbar
</parameter_description>
</parameter>
</parameters>
<return> The @n&lt;!-- --&gt;'th #GtkToolItem on @toolbar,
or %NULL if there isn't an @n&lt;!-- --&gt;'th item.

</return>
</function>

<function name="gtk_toolbar_get_relief_style">
<description>
Returns the relief style of buttons on @toolbar. See
gtk_button_set_relief().

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
</parameters>
<return> The relief style of buttons on @toolbar.

</return>
</function>

<function name="gtk_toolbar_get_show_arrow">
<description>
Returns whether the toolbar has an overflow menu.
See gtk_toolbar_set_show_arrow().

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the toolbar has an overflow menu.

</return>
</function>

<function name="gtk_toolbar_get_style">
<description>
Retrieves whether the toolbar has text, icons, or both . See
gtk_toolbar_set_style().
 

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
</parameters>
<return> the current style of @toolbar
</return>
</function>

<function name="gtk_toolbar_insert">
<description>
Insert a #GtkToolItem into the toolbar at position @pos. If @pos is
0 the item is prepended to the start of the toolbar. If @pos is
negative, the item is appended to the end of the toolbar.

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
<parameter name="item">
<parameter_description> a #GtkToolItem
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> the position of the new item
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toolbar_new">
<description>
Creates a new toolbar. 
 

</description>
<parameters>
</parameters>
<return> the newly-created toolbar.
</return>
</function>

<function name="gtk_toolbar_set_drop_highlight_item">
<description>
Highlights @toolbar to give an idea of what it would look like
if @item was added to @toolbar at the position indicated by @index_.
If @item is %NULL, highlighting is turned off. In that case @index_ 
is ignored.

The @tool_item passed to this function must not be part of any widget
hierarchy. When an item is set as drop highlight item it can not
added to any widget hierarchy or used as highlight item for another
toolbar.

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
<parameter name="tool_item">
<parameter_description> a #GtkToolItem, or %NULL to turn of highlighting
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> a position on @toolbar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toolbar_set_icon_size">
<description>
This function sets the size of stock icons in the toolbar. You
can call it both before you add the icons and after they've been
added. The size you set will override user preferences for the default
icon size.

This should only be used for special-purpose toolbars, normal
application toolbars should respect the user preferences for the
size of icons.

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> A #GtkToolbar
</parameter_description>
</parameter>
<parameter name="icon_size">
<parameter_description> The #GtkIconSize that stock icons in the
toolbar shall have.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toolbar_set_show_arrow">
<description>
Sets whether to show an overflow menu when
@toolbar doesn't have room for all items on it. If %TRUE,
items that there are not room are available through an
overflow menu.

Since: 2.4

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
<parameter name="show_arrow">
<parameter_description> Whether to show an overflow menu
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toolbar_set_style">
<description>
Alters the view of @toolbar to display either icons only, text only, or both.

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar.
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> the new style for @toolbar.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toolbar_unset_icon_size">
<description>
Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that
user preferences will be used to determine the icon size.

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_toolbar_unset_style">
<description>
Unsets a toolbar style set with gtk_toolbar_set_style(), so that
user preferences will be used to determine the toolbar style.

</description>
<parameters>
<parameter name="toolbar">
<parameter_description> a #GtkToolbar
</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().


Since: 2.12

</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
@pixbuf.  If @pixbuf is %NULL, the image will be hidden.

Since: 2.12

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="pixbuf">
<parameter_description> a #GdkPixbuf, 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.

Since: 2.20

</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>
<parameter name="size">
<parameter_description> a stock icon size
</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.

Since: 2.14

</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>
<parameter name="size">
<parameter_description> a stock icon size
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_tooltip_set_icon_from_stock">
<description>
Sets the icon of the tooltip (which is in front of the text) to be
the stock item indicated by @stock_id with the size indicated
by @size.  If @stock_id is %NULL, the image will be hidden.

Since: 2.12

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> a stock id, or %NULL
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock icon size
</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 &lt;link
linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.
If @markup is %NULL, the label will be hidden.

Since: 2.12

</description>
<parameters>
<parameter name="tooltip">
<parameter_description> a #GtkTooltip
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> a markup string (see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango markup format&lt;/link&gt;) 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().

Since: 2.12

</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().

Since: 2.12

</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.

Since: 2.12

</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
(&lt;literal&gt;GtkTreeIter new_iter = iter;&lt;/literal&gt;).
You must free this iter with gtk_tree_iter_free().


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #GtkTreeIter
</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_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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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.

Since: 2.4

</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 &lt;emphasis&gt;each&lt;/emphasis&gt;
data access, the goal of the modify function is to return the data which 
should be displayed at the location specified using the parameters of the 
modify function.

Since: 2.4

</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 #GType&lt;!-- --&gt;s 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.

Since: 2.4

</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 uptodate.

Note that @func is called whenever a row is inserted, when it may still be
empty. The visible function should therefore take special care of empty
rows, like in the example below.

&lt;informalexample&gt;&lt;programlisting&gt;
static gboolean
visible_func (GtkTreeModel *model,
GtkTreeIter  *iter,
gpointer      data)
{
/ * Visible if row is non-empty and first column is &quot;HI&quot; * /
gchar *str;
gboolean visible = FALSE;

gtk_tree_model_get (model, iter, 0, &amp;str, -1);
if (str &amp;&amp; strcmp (str, &quot;HI&quot;) == 0)
visible = TRUE;
g_free (str);

return visible;
}
&lt;/programlisting&gt;&lt;/informalexample&gt;

Since: 2.4

</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: &lt;literal&gt;gtk_tree_model_get (model, iter, 0, &amp;place_string_here, -1)&lt;/literal&gt;,
where &lt;literal&gt;place_string_here&lt;/literal&gt; is a &lt;type&gt;gchar*&lt;/type&gt;
to be filled with the string.

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
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> the #GtkTreePath
</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
</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
</parameter_description>
</parameter>
<parameter name="path_string">
<parameter_description> a string representation of a #GtkTreePath
</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 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
</parameter_description>
</parameter>
</parameters>
<return> a newly-created #GtkTreePath
</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, &quot;4:10:0:3&quot; would be an acceptable
return value for this string.

Since: 2.2

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a #GtkTreeIter
</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 &lt;type&gt;va_list&lt;/type&gt;
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> &lt;type&gt;va_list&lt;/type&gt; 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
</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
&lt;literal&gt;gtk_tree_model_get_iter_first (tree_model, iter);&lt;/literal&gt;


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the new #GtkTreeIter to be set to the child
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the #GtkTreeIter, or %NULL
</parameter_description>
</parameter>
</parameters>
<return> %TRUE, if @child 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 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, 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
</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&lt;!-- --&gt;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 to set to the nth child
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> the #GtkTreeIter 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&lt;!-- --&gt;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.


</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the new #GtkTreeIter to set to the parent
</parameter_description>
</parameter>
<parameter name="child">
<parameter_description> the #GtkTreeIter
</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.

Since: 3.0

</description>
<parameters>
<parameter name="tree_model">
<parameter_description> a #GtkTreeModel
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> the #GtkTreeIter
</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
</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 pointing to the changed row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter 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 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 pointing to the changed row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter 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 pointing to the inserted row
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter 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 pointing to the tree node whose children
have been reordered
</parameter_description>
</parameter>
<parameter name="iter">
<parameter_description> a valid #GtkTreeIter 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&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;
</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>
&lt;warning&gt;&lt;para&gt;
This function is slow. Only use it for debugging and/or testing purposes.
&lt;/para&gt;&lt;/warning&gt;

Checks if the given iter is a valid iter for this #GtkTreeModelSort.

Since: 2.2

</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 #GtkTreeModel, with @child_model as the child model.


</description>
<parameters>
<parameter name="child_model">
<parameter_description> A #GtkTreeModel
</parameter_description>
</parameter>
</parameters>
<return> A new #GtkTreeModel.
</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
</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
</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
</parameter_description>
</parameter>
<parameter name="b">
<parameter_description> a #GtkTreePath 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 as a copy of @path.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkTreePath
</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
</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
</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
</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
</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.

Since: 3.0


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkTreePath
</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
</parameter_description>
</parameter>
<parameter name="descendant">
<parameter_description> another #GtkTreePath
</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
</parameter_description>
</parameter>
<parameter name="ancestor">
<parameter_description> another #GtkTreePath
</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.
This structure refers to a row.


</description>
<parameters>
</parameters>
<return> A newly created #GtkTreePath.
</return>
</function>

<function name="gtk_tree_path_new_first">
<description>
Creates a new #GtkTreePath.

The string representation of this path is &quot;0&quot;.


</description>
<parameters>
</parameters>
<return> A new #GtkTreePath
</return>
</function>

<function name="gtk_tree_path_new_from_indices">
<description>
Creates a new path with @first_index and @varargs as indices.

Since: 2.2

</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

</return>
</function>

<function name="gtk_tree_path_new_from_string">
<description>
Creates a new #GtkTreePath initialized to @path.

@path is expected to be a colon separated list of numbers.
For example, the string &quot;10:4:0&quot; would create a path of depth
3 pointing to the 11th child of the root node, the 5th
child of that 11th child, and the 1st child of that 5th child.
If an invalid path string is passed in, %NULL is returned.


</description>
<parameters>
<parameter name="path">
<parameter_description> The string representation of a path
</parameter_description>
</parameter>
</parameters>
<return> A newly-created #GtkTreePath, 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
</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
</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
</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, &quot;4:10:0:3&quot; would be an acceptable
return value for this string.


</description>
<parameters>
<parameter name="path">
<parameter_description> A #GtkTreePath
</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
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @path has a parent, and the move was made
</return>
</function>

<function name="gtk_tree_row_reference_copy">
<description>
Copies a #GtkTreeRowReference.

Since: 2.2

</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.

Since: 2.8

</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 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 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.

Since: 2.2

</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.

Since: 2.14

</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 #GtkTreeRowReference&lt;!-- --&gt;s.
To do this, you can use gtk_tree_row_reference_new().

To free the return value, use:
|[
g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
]|

Since: 2.2

</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.

Since: 2.2

</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:
&lt;variablelist&gt;
&lt;varlistentry&gt;
&lt;term&gt;%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID&lt;/term&gt;
&lt;listitem&gt;the default sort function will be used, if it is set&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID&lt;/term&gt;
&lt;listitem&gt;no sorting will occur&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;/variablelist&gt;

</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
&lt;literal&gt;gtk_tree_store_insert_with_values (tree_store, iter, position, ...)&lt;/literal&gt;
has the same effect as calling
|[
gtk_tree_store_insert (tree_store, iter, position);
gtk_tree_store_set (tree_store, iter, ...);
]|
with the different that the former will only emit a row_inserted signal,
while the latter will emit row_inserted, row_changed and if the tree store
is sorted, rows_reordered.  Since emitting the rows_reordered signal
repeatedly can affect the performance of the program,
gtk_tree_store_insert_with_values() should generally be preferred when
inserting rows in a sorted tree store.

Since: 2.10

</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.

Since: 2.10

</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.

Since: 2.2

</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.

Since: 2.2

</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.

Since: 2.2

</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, &lt;literal&gt;gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING,
GDK_TYPE_PIXBUF);&lt;/literal&gt; will create a new #GtkTreeStore with three columns, of type
&lt;type&gt;int&lt;/type&gt;, &lt;type&gt;string&lt;/type&gt; and #GdkPixbuf respectively.


</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.

Since: 2.2

</description>
<parameters>
<parameter name="tree_store">
<parameter_description> A #GtkTreeStore.
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> A #GtkTreeIter.
</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&lt;literal&gt;[newpos] = oldpos&lt;/literal&gt;.
</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 &quot;Foo&quot;, you would write
&lt;literal&gt;gtk_tree_store_set (store, iter, 0, &quot;Foo&quot;, -1)&lt;/literal&gt;.

The value will be 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 &lt;type&gt;va_list&lt;/type&gt; 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> &lt;type&gt;va_list&lt;/type&gt; 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.

Since: 2.12

</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.

Since: 2.2

</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 &quot;fixed_height&quot;
mode enabled, then @column must have its &quot;sizing&quot; 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
&quot;text&quot; 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="cell_area">
<parameter_description> The area a cell in the column will be allocated, or %NULL
</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_render">
<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="cr">
<parameter_description> cairo context 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_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_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 &quot;clicked&quot; 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.

Since: 2.2

</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

Since: 3.0

</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.

Since: 2.4

</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.

Since: 2.12

</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.

Since: 3.2

</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.

Since: 3.0

</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:
|[
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.

Since: 2.8

</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 &quot;fixed-width&quot;, the &quot;expand&quot; property changes when the column is
resized by the user.

Since: 2.4

</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
minumum and maximum width of the column; however, the value stored in the
&quot;fixed-width&quot; 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 &quot;expand&quot;, the &quot;fixed-width&quot; 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 &lt;emphasis&gt;does not&lt;/emphasis&gt; actually sort the model.  Use
gtk_tree_view_column_set_sort_column_id() if you want automatic sorting
support.  This function is primarily for custom sorting behavior, and should
be used in conjunction with gtk_tree_sortable_set_sort_column_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).

Since: 2.12

</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 (see gtk_tree_view_get_bin_window())
to widget relative coordinates.

Since: 2.12

</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.

Since: 2.12

</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.

Since: 2.12

</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
(see gtk_tree_view_get_bin_window()).

Since: 2.12

</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).

Since: 2.12

</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="targets">
<parameter_description> the table of targets that
the drag will support
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the number of items in @targets
</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_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="targets">
<parameter_description> the table of targets that the drag will support
</parameter_description>
</parameter>
<parameter name="n_targets">
<parameter_description> the number of items in @targets
</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.

Since: 2.2

</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().

Since: 3.8

</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_bin_window">
<description>
Returns the window that @tree_view renders to.
This is used primarily to compare to &lt;literal&gt;event-&gt;window&lt;/literal&gt;
to confirm that the event on @tree_view is on the right window.


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> A #GdkWindow, or %NULL when @tree_view
hasn't been realized yet
</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.

Since: 2.10

</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.

Since: 2.6

</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.

Since: 2.10

</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_hadjustment">
<description>
Gets the #GtkAdjustment currently being used for the horizontal aspect.

Deprecated: 3.0: Use gtk_scrollable_get_hadjustment()

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> A #GtkAdjustment object, or %NULL
if none is currently being used.

</return>
</function>

<function name="gtk_tree_view_get_headers_clickable">
<description>
Returns whether all header columns are clickable.

Since: 2.10

</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.

Since: 2.6 

</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.

Since: 2.6 

</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.

Since: 2.12

</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.

Since: 3.4

</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
(please see gtk_tree_view_get_bin_window()).
That is, @x and @y are relative to an events coordinates. @x and @y must
come from an event on the @tree_view only where &lt;literal&gt;event-&gt;window ==
gtk_tree_view_get_bin_window (&lt;!-- --&gt;)&lt;/literal&gt;. It is primarily for
things like popup menus. If @path is non-%NULL, then it will be filled
with the #GtkTreePath at that point.  This path should be freed with
gtk_tree_path_free().  If @column is non-%NULL, then it will be filled
with the column at that point.  @cell_x and @cell_y return the coordinates
relative to the cell background (i.e. the @background_area passed to
gtk_cell_renderer_render()).  This function is only meaningful if
@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.

Since: 2.6

</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.

Since: 2.10

</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_rules_hint">
<description>
Gets the setting set by gtk_tree_view_set_rules_hint().


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if rules are useful for the user of this tree
</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.

Since: 2.10

</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_search_position_func">
<description>
Returns the positioning function currently in use.

Since: 2.10

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> the currently used function for positioning the search dialog.

</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.

Since: 2.12

</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.

Since: 2.12

</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.

Since: 2.12

</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_vadjustment">
<description>
Gets the #GtkAdjustment currently being used for the vertical aspect.

Deprecated: 3.0: Use gtk_scrollable_get_vadjustment()

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
</parameters>
<return> A #GtkAdjustment object, or %NULL
if none is currently being used.

</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.

Since: 2.8

</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
&quot;fixed_height&quot; mode enabled, then @column must have its &quot;sizing&quot; 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 &quot;fixed_height&quot; 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 &quot;fixed_height&quot; mode enabled, then the new column will have its
&quot;sizing&quot; property set to be GTK_TREE_VIEW_COLUMN_FIXED.


</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.  That is, @x and @y must come from an event on @tree_view
where &lt;literal&gt;event-&gt;window == gtk_tree_view_get_bin_window (&lt;!-- --&gt;)&lt;/literal&gt;.

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.

Since: 3.0

</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.

Since: 2.12

</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.

Since: 3.8

</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.

Since: 2.2

</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_destroy_count_func">
<description>
This function should almost never be used.  It is meant for private use by
ATK for determining the number of visible children that are removed when the
user collapses a row, or a row is deleted.

Deprecated: 3.4: Accessibility does not need the function anymore.

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> Function to be called when a view row is destroyed, or %NULL
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> User data to be passed 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_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 &quot;start-interactive-search&quot; 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.

Since: 2.10

</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.

Since: 2.6 

</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.

Since: 2.10

</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_hadjustment">
<description>
Sets the #GtkAdjustment for the current horizontal aspect.

Deprecated: 3.0: Use gtk_scrollable_set_hadjustment()

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> The #GtkAdjustment to set, or %NULL
</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.

Since: 2.6

</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.

Since: 2.6

</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.

Since: 2.12

</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 row_inserted and
row_deleted signals. The reordering is implemented by setting up
the tree view as a drag source and destination. Therefore, drag and
drop can not be used in a reorderable view for any other purpose.

This function does not give you any degree of control over the order -- any
reordering is allowed.  If more control is needed, you should probably
handle drag and drop manually.

</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.

Since: 2.6

</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.

Since: 2.10

</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_rules_hint">
<description>
This function tells GTK+ that the user interface for your
application requires users to read across tree rows and associate
cells with one another. By default, GTK+ will then render the tree
with alternating row colors. Do &lt;emphasis&gt;not&lt;/emphasis&gt; use it
just because you prefer the appearance of the ruled tree; that's a
question for the theme. Some themes will draw tree rows in
alternating colors even when rules are turned off, and users who
prefer that appearance all the time can choose those themes. You
should call this function only as a &lt;emphasis&gt;semantic&lt;/emphasis&gt;
hint to the theme engine that your tree makes alternating colors
useful from a functional standpoint (since it has lots of columns,
generally).


</description>
<parameters>
<parameter name="tree_view">
<parameter_description> a #GtkTreeView
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE if the tree requires reading across rows
</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 &quot;start-interactive-search&quot;
key binding to bring up search popup. The enable-search property controls
whether simply typing text will also start an interactive search.

Note that @column refers to a column of the current model. The search 
column is reset to -1 when the model is changed.

</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.

Since: 2.10

</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_search_position_func">
<description>
Sets the function to use when positioning the search dialog.

Since: 2.10

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> the function to use to position the search dialog, or %NULL
to use the default search position function
</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_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.

Since: 2.12

</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.

Since: 2.12

</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.

Since: 2.12

</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().

Since: 2.12

</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_set_vadjustment">
<description>
Sets the #GtkAdjustment for the current vertical aspect.

Deprecated: 3.0: Use gtk_scrollable_set_vadjustment()

</description>
<parameters>
<parameter name="tree_view">
<parameter_description> A #GtkTreeView
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> The #GtkAdjustment to set, or %NULL
</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_true">
<description>
All this function does it to return %TRUE.

This can be useful for example if you want to inhibit the deletion
of a window. Of course you should not do this as the user expects
a reaction from clicking the close icon of the window...

&lt;example&gt;
&lt;title&gt;A persistent window&lt;/title&gt;
&lt;programlisting&gt;
#include &lt;gtk/gtk.h&gt;&lt;

int
main (int argc, char **argv)
{
GtkWidget *win, *but;

gtk_init (&amp;argc, &amp;argv);

win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (win, &quot;delete-event&quot;,
G_CALLBACK (gtk_true), NULL);
g_signal_connect (win, &quot;destroy&quot;,
G_CALLBACK (gtk_main_quit), NULL);

but = gtk_button_new_with_label (&quot;Close yourself. I mean it!&quot;);
g_signal_connect_swapped (but, &quot;clicked&quot;,
G_CALLBACK (gtk_object_destroy), win);
gtk_container_add (GTK_CONTAINER (win), but);

gtk_widget_show_all (win);

gtk_main ();

return 0;
}
&lt;/programlisting&gt;
&lt;/example&gt;


</description>
<parameters>
</parameters>
<return> %TRUE
</return>
</function>

<function name="gtk_ui_manager_add_ui">
<description>
Adds a UI element to the current contents of @manager. 

If @type is %GTK_UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or 
separator if such an element can be inserted at the place determined by 
@path. Otherwise @type must indicate an element that can be inserted at 
the place determined by @path.

If @path points to a menuitem or toolitem, the new element will be inserted
before or after this item, depending on @top.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
<parameter name="merge_id">
<parameter_description> the merge id for the merged UI, see gtk_ui_manager_new_merge_id()
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a path
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name for the added UI element
</parameter_description>
</parameter>
<parameter name="action">
<parameter_description> the name of the action to be proxied, or %NULL to add a separator
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the type of UI element to add.
</parameter_description>
</parameter>
<parameter name="top">
<parameter_description> if %TRUE, the UI element is added before its siblings, otherwise it
is added after its siblings.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_ui_manager_add_ui_from_file">
<description>
Parses a file containing a &lt;link linkend=&quot;XML-UI&quot;&gt;UI definition&lt;/link&gt; and 
merges it with the current contents of @manager. 

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</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
</parameter_description>
</parameter>
</parameters>
<return> The merge id for the merged UI. The merge id can be used
to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred,
the return value is 0.

</return>
</function>

<function name="gtk_ui_manager_add_ui_from_resource">
<description>
Parses a resource file containing a &lt;link linkend=&quot;XML-UI&quot;&gt;UI definition&lt;/link&gt; and
merges it with the current contents of @manager.

Since: 3.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</parameter_description>
</parameter>
<parameter name="resource_path">
<parameter_description> the resource path of the file to parse
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> return location for an error
</parameter_description>
</parameter>
</parameters>
<return> The merge id for the merged UI. The merge id can be used
to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred,
the return value is 0.

</return>
</function>

<function name="gtk_ui_manager_add_ui_from_string">
<description>
Parses a string containing a &lt;link linkend=&quot;XML-UI&quot;&gt;UI definition&lt;/link&gt; and 
merges it with the current contents of @manager. An enclosing &lt;ui&gt; 
element is added if it is missing.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</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
</parameter_description>
</parameter>
</parameters>
<return> The merge id for the merged UI. The merge id can be used
to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred,
the return value is 0.

</return>
</function>

<function name="gtk_ui_manager_ensure_update">
<description>
Makes sure that all pending updates to the UI have been completed.

This may occasionally be necessary, since #GtkUIManager updates the 
UI in an idle function. A typical example where this function is
useful is to enforce that the menubar and toolbar have been added to 
the main window before showing it:
|[
gtk_container_add (GTK_CONTAINER (window), vbox); 
g_signal_connect (merge, &quot;add-widget&quot;, 
G_CALLBACK (add_widget), vbox);
gtk_ui_manager_add_ui_from_file (merge, &quot;my-menus&quot;);
gtk_ui_manager_add_ui_from_file (merge, &quot;my-toolbars&quot;);
gtk_ui_manager_ensure_update (merge);  
gtk_widget_show (window);
]|

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_ui_manager_get_accel_group">
<description>
Returns the #GtkAccelGroup associated with @manager.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</parameter_description>
</parameter>
</parameters>
<return> the #GtkAccelGroup.

</return>
</function>

<function name="gtk_ui_manager_get_action">
<description>
Looks up an action by following a path. See gtk_ui_manager_get_widget()
for more information about paths.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a path
</parameter_description>
</parameter>
</parameters>
<return> the action whose proxy widget is found by following the path, 
or %NULL if no widget was found.

</return>
</function>

<function name="gtk_ui_manager_get_action_groups">
<description>
Returns the list of action groups associated with @manager.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</parameter_description>
</parameter>
</parameters>
<return> a #GList of
action groups. The list is owned by GTK+
and should not be modified.

</return>
</function>

<function name="gtk_ui_manager_get_add_tearoffs">
<description>
Returns whether menus generated by this #GtkUIManager
will have tearoff menu items. 

Since: 2.4

Deprecated: 3.4: Tearoff menus are deprecated and should not
be used in newly written code.

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
</parameters>
<return> whether tearoff menu items are added

</return>
</function>

<function name="gtk_ui_manager_get_toplevels">
<description>
Obtains a list of all toplevel widgets of the requested types.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
<parameter name="types">
<parameter_description> specifies the types of toplevel widgets to include. Allowed
types are #GTK_UI_MANAGER_MENUBAR, #GTK_UI_MANAGER_TOOLBAR and
#GTK_UI_MANAGER_POPUP.
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #GSList of
all toplevel widgets of the requested types.  Free the returned list with g_slist_free().

</return>
</function>

<function name="gtk_ui_manager_get_ui">
<description>
Creates a &lt;link linkend=&quot;XML-UI&quot;&gt;UI definition&lt;/link&gt; of the merged UI.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated string containing an XML representation of 
the merged UI.

</return>
</function>

<function name="gtk_ui_manager_get_widget">
<description>
Looks up a widget by following a path. 
The path consists of the names specified in the XML description of the UI. 
separated by '/'. Elements which don't have a name or action attribute in 
the XML (e.g. &lt;popup&gt;) can be addressed by their XML element name 
(e.g. &quot;popup&quot;). The root element (&quot;/ui&quot;) can be omitted in the path.

Note that the widget found by following a path that ends in a &lt;menu&gt;
element is the menuitem to which the menu is attached, not the menu itmanager.

Also note that the widgets constructed by a ui manager are not tied to 
the lifecycle of the ui manager. If you add the widgets returned by this 
function to some container or explicitly ref them, they will survive the
destruction of the ui manager.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> a path
</parameter_description>
</parameter>
</parameters>
<return> the widget found by following the path, or %NULL if no widget
was found.

</return>
</function>

<function name="gtk_ui_manager_insert_action_group">
<description>
Inserts an action group into the list of action groups associated 
with @manager. Actions in earlier groups hide actions with the same 
name in later groups. 

If @pos is larger than the number of action groups in @manager, or
negative, @action_group will be inserted at the end of the internal
list.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</parameter_description>
</parameter>
<parameter name="action_group">
<parameter_description> the action group to be inserted
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> the position at which the group will be inserted.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_ui_manager_new">
<description>
Creates a new ui manager object.

Since: 2.4

</description>
<parameters>
</parameters>
<return> a new ui manager object.

</return>
</function>

<function name="gtk_ui_manager_new_merge_id">
<description>
Returns an unused merge id, suitable for use with 
gtk_ui_manager_add_ui().

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
</parameters>
<return> an unused merge id.

</return>
</function>

<function name="gtk_ui_manager_remove_action_group">
<description>
Removes an action group from the list of action groups associated 
with @manager.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</parameter_description>
</parameter>
<parameter name="action_group">
<parameter_description> the action group to be removed
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_ui_manager_remove_ui">
<description>
Unmerges the part of @manager&lt;!-- --&gt;s content identified by @merge_id.

Since: 2.4

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager object
</parameter_description>
</parameter>
<parameter name="merge_id">
<parameter_description> a merge id as returned by gtk_ui_manager_add_ui_from_string()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_ui_manager_set_add_tearoffs">
<description>
Sets the &quot;add_tearoffs&quot; property, which controls whether menus 
generated by this #GtkUIManager will have tearoff menu items. 

Note that this only affects regular menus. Generated popup 
menus never have tearoff menu items.

Since: 2.4

Deprecated: 3.4: Tearoff menus are deprecated and should not
be used in newly written code.

</description>
<parameters>
<parameter name="manager">
<parameter_description> a #GtkUIManager
</parameter_description>
</parameter>
<parameter name="add_tearoffs">
<parameter_description> whether tearoff menu items are added
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_vbox_new">
<description>
Creates a new #GtkVBox.

Deprecated: 3.2: You can use gtk_box_new() with %GTK_ORIENTATION_VERTICAL instead,
which is a quick and easy change. But the recommendation is to switch to
#GtkGrid, since #GtkBox is going to go away eventually.
See &lt;xref linkend=&quot;gtk-migrating-GtkGrid&quot;/&gt;.

</description>
<parameters>
<parameter name="homogeneous">
<parameter_description> %TRUE if all children are to be given equal space allotments.
</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 #GtkVBox.

</return>
</function>

<function name="gtk_vbutton_box_new">
<description>
Creates a new vertical button box.

Deprecated: 3.2: Use gtk_button_box_new() with %GTK_ORIENTATION_VERTICAL instead

</description>
<parameters>
</parameters>
<return> a new button box #GtkWidget.

</return>
</function>

<function name="gtk_viewport_get_bin_window">
<description>
Gets the bin window of the #GtkViewport.

Since: 2.20

</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport
</parameter_description>
</parameter>
</parameters>
<return> a #GdkWindow

</return>
</function>

<function name="gtk_viewport_get_hadjustment">
<description>
Returns the horizontal adjustment of the viewport.

Deprecated: 3.0: Use gtk_scrollable_get_hadjustment()

</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport.
</parameter_description>
</parameter>
</parameters>
<return> the horizontal adjustment of @viewport.

</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_get_vadjustment">
<description>
Returns the vertical adjustment of the viewport.

Deprecated: 3.0: Use gtk_scrollable_get_vadjustment()

</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport.
</parameter_description>
</parameter>
</parameters>
<return> the vertical adjustment of @viewport.

</return>
</function>

<function name="gtk_viewport_get_view_window">
<description>
Gets the view window of the #GtkViewport.

Since: 2.22

</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport
</parameter_description>
</parameter>
</parameters>
<return> a #GdkWindow

</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_hadjustment">
<description>
Sets the horizontal adjustment of the viewport.

Deprecated: 3.0: Use gtk_scrollable_set_hadjustment()

</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport.
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment.
</parameter_description>
</parameter>
</parameters>
<return></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_viewport_set_vadjustment">
<description>
Sets the vertical adjustment of the viewport.

Deprecated: 3.0: Use gtk_scrollable_set_vadjustment()

</description>
<parameters>
<parameter name="viewport">
<parameter_description> a #GtkViewport.
</parameter_description>
</parameter>
<parameter name="adjustment">
<parameter_description> a #GtkAdjustment.
</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.

Since: 2.12

</description>
<parameters>
</parameters>
<return> a new #GtkVolumeButton

</return>
</function>

<function name="gtk_vpaned_new">
<description>
Create a new #GtkVPaned

Deprecated: 3.2: Use gtk_paned_new() with %GTK_ORIENTATION_VERTICAL instead

</description>
<parameters>
</parameters>
<return> the new #GtkVPaned

</return>
</function>

<function name="gtk_vscale_new">
<description>
Creates a new #GtkVScale.

Deprecated: 3.2: Use gtk_scale_new() with %GTK_ORIENTATION_VERTICAL instead

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> the #GtkAdjustment which sets the range of the scale.
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkVScale.

</return>
</function>

<function name="gtk_vscale_new_with_range">
<description>
Creates a new vertical scale widget that lets the user input a
number between @min and @max (including @min and @max) with the
increment @step.  @step must be nonzero; it'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.

Deprecated: 3.2: Use gtk_scale_new_with_range() with %GTK_ORIENTATION_VERTICAL instead

</description>
<parameters>
<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 #GtkVScale

</return>
</function>

<function name="gtk_vscrollbar_new">
<description>
Creates a new vertical scrollbar.

Deprecated: 3.2: Use gtk_scrollbar_new() with %GTK_ORIENTATION_VERTICAL instead

</description>
<parameters>
<parameter name="adjustment">
<parameter_description> the #GtkAdjustment to use, or %NULL to create a new adjustment
</parameter_description>
</parameter>
</parameters>
<return> the new #GtkVScrollbar

</return>
</function>

<function name="gtk_vseparator_new">
<description>
Creates a new #GtkVSeparator.

Deprecated: 3.2: Use gtk_separator_new() with %GTK_ORIENTATION_VERTICAL instead

</description>
<parameters>
</parameters>
<return> a new #GtkVSeparator.

</return>
</function>

<function name="gtk_widget_activate">
<description>
For widgets that can be &quot;activated&quot; (buttons, menu items, etc.)
this function activates them. Activation is what happens when you
press Enter on a widget during key navigation. If @widget isn'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_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_device_events">
<description>
Adds the device events in the bitfield @events to the event mask for
@widget. See gtk_widget_set_device_events() for details.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
<parameter name="events">
<parameter_description> an event mask, see #GdkEventMask
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_add_events">
<description>
Adds the events in the bitfield @events to the event mask for
@widget. See gtk_widget_set_events() for details.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="events">
<parameter_description> an event mask, see #GdkEventMask
</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.

Since: 2.4

</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_tick_callback">
<description>
Queues a 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 an 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_area() 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.

Since: 3.8

</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 it to gtk_widget_remove_tick_callback()

</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.

Since: 2.4

</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, and gtk_container_set_focus_chain() to
change the focus tab order. So you may want to investigate those
functions instead.

gtk_widget_child_focus() is called by containers as the user moves
around the window using keyboard shortcuts. @direction indicates
what kind of motion is taking place (up, down, left, right, tab
forward, tab backward). gtk_widget_child_focus() emits the
#GtkWidget::focus signal; widgets override the default handler
for this signal in order to implement appropriate focus behavior.

The default ::focus handler for a widget should return %TRUE if
moving in @direction left the focus on a focusable location inside
that widget, and %FALSE if moving in @direction moved the focus
outside the widget. If returning %TRUE, widgets normally
call gtk_widget_grab_focus() to place the focus accordingly;
if returning %FALSE, they don'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_child_notify">
<description>
Emits a #GtkWidget::child-notify signal for the
&lt;link linkend=&quot;child-properties&quot;&gt;child property&lt;/link&gt; @child_property
on @widget.

This is the analogue of g_object_notify() for child properties.

Also see gtk_container_child_notify().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="child_property">
<parameter_description> the name of a child property installed on the
class of @widget&lt;!-- --&gt;'s parent
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_find_style_property">
<description>
Finds a style property of a widget class by name.

Since: 2.2

</description>
<parameters>
<parameter name="klass">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of the style property to find
</parameter_description>
</parameter>
</parameters>
<return> the #GParamSpec of the style property or
%NULL if @class has no style property with that name.

</return>
</function>

<function name="gtk_widget_class_install_style_property">
<description>
Installs a style property on a widget class. The parser for the
style property is determined by the value type of @pspec.

</description>
<parameters>
<parameter name="klass">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_install_style_property_parser">
<description>
Installs a style property on a widget class.

</description>
<parameters>
<parameter name="klass">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="pspec">
<parameter_description> the #GParamSpec for the style property
</parameter_description>
</parameter>
<parameter name="parser">
<parameter_description> the parser for the style property
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_class_list_style_properties">
<description>
Returns all style properties of a widget class.

Since: 2.2

</description>
<parameters>
<parameter name="klass">
<parameter_description> a #GtkWidgetClass
</parameter_description>
</parameter>
<parameter name="n_properties">
<parameter_description> location to return the number of style properties found
</parameter_description>
</parameter>
</parameters>
<return> a
newly allocated array of #GParamSpec*. The array must be
freed with g_free().

</return>
</function>

<function name="gtk_widget_class_path">
<description>
Same as gtk_widget_path(), but always uses the name of a widget's type,
never uses a custom name set with gtk_widget_set_name().

Deprecated:3.0: Use gtk_widget_get_path() instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="path_length">
<parameter_description> location to store the length of the
class path, or %NULL
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> location to store the class path as an
allocated string, or %NULL
</parameter_description>
</parameter>
<parameter name="path_reversed">
<parameter_description> location to store the reverse
class path as an allocated string, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></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.

Since: 3.2

</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.

Since: 3.2

</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_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_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_create_pango_context">
<description>
Creates a new #PangoContext with the appropriate font map,
font description, and base direction for drawing text for
this widget. See also gtk_widget_get_pango_context().


</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::screen-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, it will break any references it holds to other objects.
If the widget is inside a container, the widget will be removed
from the container. If the widget is a toplevel (derived from
#GtkWindow), it will be removed from the list of toplevels, and the
reference GTK+ holds to it will be removed. Removing a
widget from its container or the list of toplevels results in the
widget being finalized, unless you've added additional references
to the widget with g_object_ref().

In most cases, only toplevel widgets (windows) require explicit
destruction, because when you destroy a toplevel its children will
be destroyed as well.

</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
&quot;destroy&quot; signal of a widget. You connect gtk_widget_destroyed()
as a signal handler, and pass the address of your widget variable
as user data. Then when the widget is destroyed, the variable will
be set to %NULL. Useful for example to avoid multiple copies
of the same dialog.

</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().

Since: 3.0

</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_draw">
<description>
Draws @widget to @cr. The top left corner of the widget will be
drawn to the currently set origin point of @cr.

You should pass a cairo context as @cr argument that is in an
original state. Otherwise the resulting drawing is undefined. For
example changing the operator using cairo_set_operator() or the
line width using cairo_set_line_width() might have unwanted side
effects.
You may however change the context's transform matrix - like with
cairo_scale(), cairo_translate() or cairo_set_matrix() and clip
region with cairo_clip() prior to calling this function. Also, it
is fine to modify the context with cairo_save() and
cairo_push_group() prior to calling this function.

&lt;note&gt;&lt;para&gt;Special purpose widgets may contain special code for
rendering to the screen and might appear differently on screen
and when rendered using gtk_widget_draw().&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> the widget to draw. It must be drawable (see
gtk_widget_is_drawable()) and a size must have been allocated.
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a cairo context to draw to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_ensure_style">
<description>
Ensures that @widget has a style (@widget-&gt;style).

Not a very useful function; most of the time, if you
want the style, the widget is realized, and realized
widgets are guaranteed to have a style already.

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></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_window_beep(), otherwise it does nothing.

Note that the effect of gdk_window_beep() can be configured in many
ways, depending on the windowing backend and the desktop environment
or window manager that is used.

Since: 2.12

</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. Don't synthesize expose events; instead,
use gdk_window_invalidate_rect() to invalidate a region of the
window.


</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_freeze_child_notify">
<description>
Stops emission of #GtkWidget::child-notify signals on @widget. The
signals are queued until gtk_widget_thaw_child_notify() is called
on @widget.

This is the analogue of g_object_freeze_notify() for child properties.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></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
&lt;ulink url=&quot;http://developer.gnome.org/atk/stable/&quot;&gt;ATK&lt;/ulink&gt;
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_height">
<description>
Returns the height that has currently been allocated to @widget.
This function is intended to be used when implementing handlers
for the #GtkWidget::draw function.


</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.
This function is intended to be used when implementing handlers
for the #GtkWidget::draw function.


</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 &quot;adjusted&quot; 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.
There is no way to get the original allocation assigned by
gtk_widget_size_allocate(), since it isn't stored; if a container
implementation needs that information it will have to track it itself.

Since: 2.18

</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,
&lt;literal&gt;gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)&lt;/literal&gt; gets
the first #GtkBox that's an ancestor of @widget. No reference will be
added to the returned widget; it should not be unreferenced. See note
about checking for a toplevel #GtkWindow in the docs for
gtk_widget_get_toplevel().

Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor()
considers @widget to be an ancestor of itself.


</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_app_paintable">
<description>
Determines whether the application intends to draw on the widget in
an #GtkWidget::draw handler.

See gtk_widget_set_app_paintable()

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is app paintable

</return>
</function>

<function name="gtk_widget_get_can_default">
<description>
Determines whether @widget can be a default widget. See
gtk_widget_set_can_default().

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget can be a default widget, %FALSE otherwise

</return>
</function>

<function name="gtk_widget_get_can_focus">
<description>
Determines whether @widget can own the input focus. See
gtk_widget_set_can_focus().

Since: 2.18

</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_child_requisition">
<description>
This function is only for use in widget implementations. Obtains
@widget-&gt;requisition, unless someone has forced a particular
geometry on the widget (e.g. with gtk_widget_set_size_request()),
in which case it returns that geometry instead of the widget's
requisition.

This function differs from gtk_widget_size_request() in that
it retrieves the last size request value from @widget-&gt;requisition,
while gtk_widget_size_request() actually calls the &quot;size_request&quot; method
on @widget to compute the size request and fill in @widget-&gt;requisition,
and only then returns @widget-&gt;requisition.

Because this function does not call the &quot;size_request&quot; method, it
can only be used when you know that @widget-&gt;requisition is
up-to-date, that is, gtk_widget_size_request() has been called
since the last time a resize was queued. In general, only container
implementations have this information; applications should use
gtk_widget_size_request().


Deprecated: 3.0: Use gtk_widget_get_preferred_size() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="requisition">
<parameter_description> a #GtkRequisition to be filled in
</parameter_description>
</parameter>
</parameters>
<return></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>
Returns the clipboard object for the given selection to
be used with @widget. @widget must have a #GdkDisplay
associated with it, so must be attached to a toplevel
window.

Since: 2.2

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="selection">
<parameter_description> a #GdkAtom which identifies the clipboard
to use. %GDK_SELECTION_CLIPBOARD gives the
default clipboard. Another common value
is %GDK_SELECTION_PRIMARY, which gives
the primary X selection.
</parameter_description>
</parameter>
</parameters>
<return> the appropriate clipboard object. If no
clipboard already exists, a new one will
be created. Once a clipboard object has
been created, it is persistent for all time.

</return>
</function>

<function name="gtk_widget_get_composite_name">
<description>
Obtains the composite name of a widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the composite name of @widget, or %NULL if @widget is not
a composite child. The string should be freed when it is no
longer needed.
</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_default_style">
<description>
Returns the default style used by all widgets initially.

Deprecated:3.0: Use #GtkStyleContext instead, and
gtk_css_provider_get_default() to obtain a #GtkStyleProvider
with the default widget style information.

</description>
<parameters>
</parameters>
<return> the default style. This #GtkStyle
object is owned by GTK+ and should not be modified or freed.

</return>
</function>

<function name="gtk_widget_get_device_enabled">
<description>
Returns whether @device can interact with @widget and its
children. See gtk_widget_set_device_enabled().

Since: 3.0

</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 is @device is enabled for @widget

</return>
</function>

<function name="gtk_widget_get_device_events">
<description>
Returns the events mask for the widget corresponding to an specific device. These
are the events that the widget will receive when @device operates on it.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
</parameters>
<return> device event mask for @widget

</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.

Since: 2.2

</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_double_buffered">
<description>
Determines whether the widget is double buffered.

See gtk_widget_set_double_buffered()

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget is double buffered

</return>
</function>

<function name="gtk_widget_get_events">
<description>
Returns the event mask for the widget (a bitfield containing flags
from the #GdkEventMask enumeration). These are the events that the widget
will receive.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> event mask for @widget
</return>
</function>

<function name="gtk_widget_get_frame_clock">
<description>
Obtains the frame clock for a widget. The frame clock is a global
&quot;ticker&quot; 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.

Since: 3.0

</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.


</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.

Since: 2.12

</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_has_window">
<description>
Determines whether @widget has a #GdkWindow of its own. See
gtk_widget_set_has_window().

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget has a window, %FALSE otherwise

</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_mapped">
<description>
Whether the widget is mapped.

Since: 2.20

</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.

Since: 3.0

</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_left">
<description>
Gets the value of the #GtkWidget:margin-left property.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The left margin of @widget

</return>
</function>

<function name="gtk_widget_get_margin_right">
<description>
Gets the value of the #GtkWidget:margin-right property.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The right margin of @widget

</return>
</function>

<function name="gtk_widget_get_margin_top">
<description>
Gets the value of the #GtkWidget:margin-top property.

Since: 3.0

</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().

Since: 3.4

</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_modifier_style">
<description>
Returns the current modifier style for the widget. (As set by
gtk_widget_modify_style().) If no style has previously set, a new
#GtkRcStyle will be created with all values unset, and set as the
modifier style for the widget. If you make changes to this rc
style, you must call gtk_widget_modify_style(), passing in the
returned rc style, to make sure that your changes take effect.

Caution: passing the style back to gtk_widget_modify_style() will
normally end up destroying it, because gtk_widget_modify_style() copies
the passed-in style and sets the copy as the new modifier style,
thus dropping any reference to the old modifier style. Add a reference
to the modifier style if you want to keep it alive.

Deprecated:3.0: Use #GtkStyleContext with a custom #GtkStyleProvider instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the modifier style for the widget.
This rc style is owned by the widget. If you want to keep a
pointer to value this around, you must add a refcount using
g_object_ref().

</return>
</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_no_show_all">
<description>
Returns the current value of the #GtkWidget:no-show-all property,
which determines whether calls to gtk_widget_show_all()
will affect this widget.

Since: 2.4

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the current value of the &quot;no-show-all&quot; property.

</return>
</function>

<function name="gtk_widget_get_opacity">
<description>
Fetches the requested opacity for this widget. See
gtk_widget_set_opacity().

Since: 3.8

</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_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::screen-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 container of @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the parent container of @widget, or %NULL
</return>
</function>

<function name="gtk_widget_get_parent_window">
<description>
Gets @widget's parent window.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget.
</parameter_description>
</parameter>
</parameters>
<return> the parent window of @widget.
</return>
</function>

<function name="gtk_widget_get_path">
<description>
Returns the #GtkWidgetPath representing @widget, if the widget
is not connected to a toplevel widget, a partial path will be
created.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The #GtkWidgetPath representing @widget
</return>
</function>

<function name="gtk_widget_get_pointer">
<description>
Obtains the location of the mouse pointer in widget coordinates.
Widget coordinates are a bit odd; for historical reasons, they are
defined as @widget-&gt;window coordinates for widgets that are not
#GTK_NO_WINDOW widgets, and are relative to @widget-&gt;allocation.x,
@widget-&gt;allocation.y for widgets that are #GTK_NO_WINDOW widgets.

Deprecated: 3.4: Use gdk_window_get_device_position() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> return location for the X coordinate, or %NULL
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> return location for the Y coordinate, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_get_preferred_height">
<description>
Retrieves a widget's initial minimum and natural height.

&lt;note&gt;&lt;para&gt;This call is specific to width-for-height requests.&lt;/para&gt;&lt;/note&gt;

The returned request will be modified by the
GtkWidgetClass::adjust_size_request virtual method and by any
#GtkSizeGroup&lt;!-- --&gt;s that have been applied. That is, the returned request
is the one that should be used for layout, not necessarily the one
returned by the widget itself.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget instance
</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_widget_get_preferred_height_for_width">
<description>
Retrieves a widget's minimum and natural height if it would be given
the specified @width.

The returned request will be modified by the
GtkWidgetClass::adjust_size_request virtual method and by any
#GtkSizeGroup&lt;!-- --&gt;s that have been applied. That is, the returned request
is the one that should be used for layout, not necessarily the one
returned by the widget itself.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget instance
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the width which is available for allocation
</parameter_description>
</parameter>
<parameter name="minimum_height">
<parameter_description> location for storing the minimum height, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_height">
<parameter_description> location for storing the natural height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></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.

&lt;note&gt;&lt;para&gt;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.&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</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_preferred_width">
<description>
Retrieves a widget's initial minimum and natural width.

&lt;note&gt;&lt;para&gt;This call is specific to height-for-width
requests.&lt;/para&gt;&lt;/note&gt;

The returned request will be modified by the
GtkWidgetClass::adjust_size_request virtual method and by any
#GtkSizeGroup&lt;!-- --&gt;s that have been applied. That is, the returned request
is the one that should be used for layout, not necessarily the one
returned by the widget itself.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget instance
</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_widget_get_preferred_width_for_height">
<description>
Retrieves a widget's minimum and natural width if it would be given
the specified @height.

The returned request will be modified by the
GtkWidgetClass::adjust_size_request virtual method and by any
#GtkSizeGroup&lt;!-- --&gt;s that have been applied. That is, the returned request
is the one that should be used for layout, not necessarily the one
returned by the widget itself.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget instance
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> the height which is available for allocation
</parameter_description>
</parameter>
<parameter name="minimum_width">
<parameter_description> location for storing the minimum width, or %NULL
</parameter_description>
</parameter>
<parameter name="natural_width">
<parameter_description> location for storing the natural width, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_get_realized">
<description>
Determines whether @widget is realized.

Since: 2.20

</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 alyways treated as default widget
withing its toplevel when it has the focus, even if another widget
is the default.

See gtk_widget_set_receives_default().

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget acts as default widget when focussed,
%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.

&lt;note&gt;&lt;para&gt;#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.&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</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_requisition">
<description>
Retrieves the widget's requisition.

This function should only be used by widget implementations in
order to figure whether the widget's requisition has actually
changed after some internal state change (so that they can call
gtk_widget_queue_resize() instead of gtk_widget_queue_draw()).

Normally, gtk_widget_size_request() should be used.

Since: 2.20

Deprecated: 3.0: The #GtkRequisition cache on the widget was
removed, If you need to cache sizes across requests and allocations,
add an explicit cache to the widget in question instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="requisition">
<parameter_description> a pointer to a #GtkRequisition to copy to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_get_root_window">
<description>
Get the root window where this widget is located. This function can
only be called after the widget has been added to a widget
hierarchy with #GtkWindow at the top.

The root window is useful for such purposes as creating a popup
#GdkWindow associated with the window. In general, you should only
create display specific resources when a widget has been realized,
and you should free those resources when the widget is unrealized.

Since: 2.2

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the #GdkWindow root window for the toplevel for this widget.

</return>
</function>

<function name="gtk_widget_get_screen">
<description>
Get the #GdkScreen from the toplevel window associated with
this widget. This function can only be called after the widget
has been added to a widget hierarchy with a #GtkWindow
at the top.

In general, you should only create screen specific
resources when a widget has been realized, and you should
free those resources when the widget is unrealized.

Since: 2.2

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the #GdkScreen for the toplevel for this 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().

Since: 2.18

</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 #GdkScreen.


</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 intead. See
gtk_widget_set_size_request(). To get the size a widget will
actually request, call gtk_widget_get_preferred_size() 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">
<description>
Returns the widget's state. See gtk_widget_set_state().

Since: 2.18

Deprecated: 3.0. Use gtk_widget_get_state_flags() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the state of @widget.

</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.

Since: 3.0

</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">
<description>
Simply an accessor function that returns @widget-&gt;style.

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the widget's #GtkStyle

</return>
</function>

<function name="gtk_widget_get_style_context">
<description>
Returns the style context associated to @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_tooltip_markup">
<description>
Gets the contents of the tooltip for @widget.

Since: 2.12

</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.

Since: 2.12

</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_window">
<description>
Returns the #GtkWindow of the current tooltip. This can be the
GtkWindow created by default, or the custom tooltip window set
using gtk_widget_set_tooltip_window().

Since: 2.12

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The #GtkWindow of the current tooltip.

</return>
</function>

<function name="gtk_widget_get_toplevel">
<description>
This function returns the topmost widget in the container hierarchy
@widget is a part of. If @widget has no parent widgets, it will be
returned as the topmost widget. No reference will be added to the
returned widget; it should not be unreferenced.

Note the difference in behavior vs. gtk_widget_get_ancestor();
&lt;literal&gt;gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)&lt;/literal&gt;
would return
%NULL if @widget wasn't inside a toplevel window, and if the
window was inside a #GtkWindow&lt;!-- --&gt;-derived widget which was in turn
inside the toplevel #GtkWindow. While the second case may
seem unlikely, it actually happens when a #GtkPlug is embedded
inside a #GtkSocket within the same application.

To reliably find the toplevel #GtkWindow, use
gtk_widget_get_toplevel() and check if the %TOPLEVEL flags
is set on the result.
|[
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
if (gtk_widget_is_toplevel (toplevel))
{
/ * Perform action on toplevel. * /
}
]|


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the topmost ancestor of @widget, or @widget itself
if there's no ancestor.
</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().

Since: 2.18

</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_visual">
<description>
Gets the visual that will be used to render @widget.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> the visual for @widget
</return>
</function>

<function name="gtk_widget_get_window">
<description>
Returns the widget's window if it is realized, %NULL otherwise

Since: 2.14

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> @widget's window.

</return>
</function>

<function name="gtk_widget_grab_default">
<description>
Causes @widget to become the default widget. @widget must be able to be
a default widget; typically you would ensure this yourself
by calling gtk_widget_set_can_default() with a %TRUE value.
The default widget is activated when
the user presses Enter in a window. Default widgets must be
activatable, that is, gtk_widget_activate() should affect them. Note
that #GtkEntry widgets require the &quot;activates-default&quot; property
set to %TRUE before they activate the default widget when Enter
is pressed and the #GtkEntry is focused.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_grab_focus">
<description>
Causes @widget to have the keyboard focus for the #GtkWindow it's
inside. @widget must be a focusable widget, such as a #GtkEntry;
something like #GtkFrame won't work.

More precisely, it must have the %GTK_CAN_FOCUS flag set. Use
gtk_widget_set_can_focus() to modify that flag.

The widget also needs to be realized and mapped. This is indicated by the
related signals. Grabbing the focus immediately after creating the widget
will likely fail and cause critical warnings.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_has_default">
<description>
Determines whether @widget is the current default widget within its
toplevel. See gtk_widget_set_can_default().

Since: 2.18

</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.

Since: 2.18

</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().

Since: 2.18

</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_rc_style">
<description>
Determines if the widget style has been looked up through the rc mechanism.

Since: 2.20

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget has been looked up through the rc
mechanism, %FALSE otherwise.

</return>
</function>

<function name="gtk_widget_has_screen">
<description>
Checks whether there is a #GdkScreen is associated with
this widget. All toplevel widgets have an associated
screen, and all widgets added into a hierarchy with a toplevel
window at the top.

Since: 2.2

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there is a #GdkScreen associcated
with the widget.

</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().

Since: 3.2

</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_hide_on_delete">
<description>
Utility function; intended to be connected to the #GtkWidget::delete-event
signal on a #GtkWindow. The function calls gtk_widget_hide() on its
argument, then returns %TRUE. If connected to ::delete-event, the
result is that clicking the close button for a window (on the
window frame, top right corner usually) will hide but not destroy
the window. By default, GTK+ destroys windows when ::delete-event
is received.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE
</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_input_shape_combine_region">
<description>
Sets an input shape for this widget's GDK window. This allows for
windows which react to mouse click in a nonrectangular region, see
gdk_window_input_shape_combine_region() for more information.

Since: 3.0

</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.&lt;replaceable&gt;action-name&lt;/replaceable&gt;.

Since: 3.6

</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
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_intersect">
<description>
Computes the intersection of a @widget's area and @area, storing
the intersection in @intersection, and returns %TRUE if there was
an intersection.  @intersection may be %NULL if you're only
interested in whether there was an intersection.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="area">
<parameter_description> a rectangle
</parameter_description>
</parameter>
<parameter name="intersection">
<parameter_description> rectangle to store intersection of @widget and @area
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if there was an intersection
</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_composited">
<description>
Whether @widget can rely on having its alpha channel
drawn correctly. On X11 this function returns whether a
compositing manager is running for @widget's screen.

Please note that the semantics of this call will change
in the future if used on a widget that has a composited
window in its hierarchy (as set by gdk_window_set_composited()).

Since: 2.10

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget can rely on its alpha
channel being drawn correctly.

</return>
</function>

<function name="gtk_widget_is_drawable">
<description>
Determines whether @widget can be drawn to. A widget can be drawn
to if it is mapped and visible.

Since: 2.18

</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 %HAS_FOCUS flag is
necessarily set; %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

Since: 2.18

</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_toplevel">
<description>
Determines whether @widget is a toplevel widget.

Currently only #GtkWindow and #GtkInvisible (and out-of-process
#GtkPlugs) are toplevel widgets. Toplevel widgets have no parent
widget.

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @widget is a toplevel, %FALSE otherwise

</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()

Since: 3.8

</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 %TRUE for
%GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other
values of #GtkDirectionType, it looks at the
#GtkSettings:gtk-keynav-cursor-only setting and returns %FALSE
if the setting is %TRUE. This way the entire user interface
becomes cursor-navigatable on input devices such as mobile phones
which only have cursor keys but no tab key.

Whenever the default handler returns %TRUE, it also calls
gtk_widget_error_bell() to notify the user of the failed keyboard
navigation.

A use case for providing an own implementation of ::keynav-failed
(either by connecting to it or by overriding it) would be a row of
#GtkEntry widgets where the user should be able to navigate the
entire row with the cursor keys, as e.g. known from user interfaces
that require entering license keys.

Since: 2.12

</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
&lt;emphasis&gt;must&lt;/emphasis&gt; call &lt;literal&gt;g_list_foreach (result,
(GFunc)g_object_ref, NULL)&lt;/literal&gt; first, and then unref all the
widgets afterwards.

Since: 2.4

</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_mnemonic_activate">
<description>
Emits the #GtkWidget::mnemonic-activate signal.

The default handler for this signal activates the @widget if
@group_cycling is %FALSE, and just grabs the focus if @group_cycling
is %TRUE.


</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_modify_base">
<description>
Sets the base color for a widget in a particular state.
All other style values are left untouched. The base color
is the background color used along with the text color
(see gtk_widget_modify_text()) for widgets such as #GtkEntry
and #GtkTextView. See also gtk_widget_modify_style().

&lt;note&gt;&lt;para&gt;
Note that &quot;no window&quot; widgets (which have the %GTK_NO_WINDOW
flag set) draw on their parent container's window and thus may
not draw any background themselves. This is the case for e.g.
#GtkLabel.
&lt;/para&gt;&lt;para&gt;
To modify the background of such widgets, you have to set the
base color on their parent; if you want to set the background
of a rectangular area around a label, try placing the label in
a #GtkEventBox widget and setting the base color on that.
&lt;/para&gt;&lt;/note&gt;

Deprecated:3.0: Use gtk_widget_override_background_color() instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the state for which to set the base color
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color to assign (does not need to
be allocated), or %NULL to undo the effect of previous
calls to of gtk_widget_modify_base().
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_modify_bg">
<description>
Sets the background color for a widget in a particular state.

All other style values are left untouched.
See also gtk_widget_modify_style().

&lt;note&gt;&lt;para&gt;
Note that &quot;no window&quot; widgets (which have the %GTK_NO_WINDOW
flag set) draw on their parent container's window and thus may
not draw any background themselves. This is the case for e.g.
#GtkLabel.
&lt;/para&gt;&lt;para&gt;
To modify the background of such widgets, you have to set the
background color on their parent; if you want to set the background
of a rectangular area around a label, try placing the label in
a #GtkEventBox widget and setting the background color on that.
&lt;/para&gt;&lt;/note&gt;

Deprecated:3.0: Use gtk_widget_override_background_color() instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the state for which to set the background color
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color to assign (does not need
to be allocated), or %NULL to undo the effect of previous
calls to of gtk_widget_modify_bg().
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_modify_cursor">
<description>
Sets the cursor color to use in a widget, overriding the
#GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color
style properties.

All other style values are left untouched.
See also gtk_widget_modify_style().

Since: 2.12

Deprecated: 3.0. Use gtk_widget_override_cursor() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="primary">
<parameter_description> the color to use for primary cursor (does not need to be
allocated), or %NULL to undo the effect of previous calls to
of gtk_widget_modify_cursor().
</parameter_description>
</parameter>
<parameter name="secondary">
<parameter_description> the color to use for secondary cursor (does not need to be
allocated), or %NULL to undo the effect of previous calls to
of gtk_widget_modify_cursor().
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_modify_fg">
<description>
Sets the foreground color for a widget in a particular state.

All other style values are left untouched.
See also gtk_widget_modify_style().

Deprecated:3.0: Use gtk_widget_override_color() instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the state for which to set the foreground color
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color to assign (does not need to be allocated),
or %NULL to undo the effect of previous calls to
of gtk_widget_modify_fg().
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_modify_font">
<description>
Sets the font to use for a widget.

All other style values are left untouched.
See also gtk_widget_modify_style().

Deprecated:3.0: Use gtk_widget_override_font() instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="font_desc">
<parameter_description> the font description to use, or %NULL
to undo the effect of previous calls to gtk_widget_modify_font()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_modify_style">
<description>
Modifies style values on the widget.

Modifications made using this technique take precedence over
style values set via an RC file, however, they will be overridden
if a style is explicitely set on the widget using gtk_widget_set_style().
The #GtkRcStyle structure is designed so each field can either be
set or unset, so it is possible, using this function, to modify some
style values and leave the others unchanged.

Note that modifications made with this function are not cumulative
with previous calls to gtk_widget_modify_style() or with such
functions as gtk_widget_modify_fg(). If you wish to retain
previous values, you must first call gtk_widget_get_modifier_style(),
make your modifications to the returned style, then call
gtk_widget_modify_style() with that style. On the other hand,
if you first call gtk_widget_modify_style(), subsequent calls
to such functions gtk_widget_modify_fg() will have a cumulative
effect with the initial modifications.

Deprecated:3.0: Use #GtkStyleContext with a custom #GtkStyleProvider instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> the #GtkRcStyle holding the style modifications
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_modify_text">
<description>
Sets the text color for a widget in a particular state.

All other style values are left untouched.
The text color is the foreground color used along with the
base color (see gtk_widget_modify_base()) for widgets such
as #GtkEntry and #GtkTextView.
See also gtk_widget_modify_style().

Deprecated:3.0: Use gtk_widget_override_color() instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the state for which to set the text color
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color to assign (does not need to
be allocated), or %NULL to undo the effect of previous
calls to of gtk_widget_modify_text().
</parameter_description>
</parameter>
</parameters>
<return></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:
&lt;literal&gt;gtk_widget_new (GTK_TYPE_LABEL, &quot;label&quot;, &quot;Hello World&quot;, &quot;xalign&quot;,
0.0, NULL)&lt;/literal&gt; to create a left-aligned label. Equivalent to
g_object_new(), but returns a widget so you don'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_override_background_color">
<description>
Sets the background color to use for a widget.

All other style values are left untouched.
See gtk_widget_override_color().

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the state for which to set the background color
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color to assign, or %NULL to undo the effect
of previous calls to gtk_widget_override_background_color()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_override_color">
<description>
Sets the color to use for a widget.

All other style values are left untouched.

&lt;note&gt;&lt;para&gt;
This API is mostly meant as a quick way for applications to
change a widget appearance. If you are developing a widgets
library and intend this change to be themeable, it is better
done by setting meaningful CSS classes and regions in your
widget/container implementation through gtk_style_context_add_class()
and gtk_style_context_add_region().
&lt;/para&gt;&lt;para&gt;
This way, your widget library can install a #GtkCssProvider
with the %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK priority in order
to provide a default styling for those widgets that need so, and
this theming may fully overridden by the user's theme.
&lt;/para&gt;&lt;/note&gt;
&lt;note&gt;&lt;para&gt;
Note that for complex widgets this may bring in undesired
results (such as uniform background color everywhere), in
these cases it is better to fully style such widgets through a
#GtkCssProvider with the %GTK_STYLE_PROVIDER_PRIORITY_APPLICATION
priority.
&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> the state for which to set the color
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color to assign, or %NULL to undo the effect
of previous calls to gtk_widget_override_color()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_override_cursor">
<description>
Sets the cursor color to use in a widget, overriding the
#GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color
style properties. All other style values are left untouched.
See also gtk_widget_modify_style().

Note that the underlying properties have the #GdkColor type,
so the alpha value in @primary and @secondary will be ignored.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="cursor">
<parameter_description> the color to use for primary cursor (does not need to be
allocated), or %NULL to undo the effect of previous calls to
of gtk_widget_override_cursor().
</parameter_description>
</parameter>
<parameter name="secondary_cursor">
<parameter_description> the color to use for secondary cursor (does not
need to be allocated), or %NULL to undo the effect of previous
calls to of gtk_widget_override_cursor().
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_override_font">
<description>
Sets the font to use for a widget. All other style values are
left untouched. See gtk_widget_override_color().

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="font_desc">
<parameter_description> the font descriptiong to use, or %NULL to undo
the effect of previous calls to gtk_widget_override_font()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_override_symbolic_color">
<description>
Sets a symbolic color for a widget.

All other style values are left untouched.
See gtk_widget_override_color() for overriding the foreground
or background color.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name of the symbolic color to modify
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the color to assign (does not need
to be allocated), or %NULL to undo the effect of previous
calls to gtk_widget_override_symbolic_color()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path">
<description>
Obtains the full path to @widget. The path is simply the name of a
widget and all its parents in the container hierarchy, separated by
periods. The name of a widget comes from
gtk_widget_get_name(). Paths are used to apply styles to a widget
in gtkrc configuration files. Widget names are the type of the
widget by default (e.g. &quot;GtkButton&quot;) or can be set to an
application-specific value with gtk_widget_set_name(). By setting
the name of a widget, you allow users or theme authors to apply
styles to that specific widget in their gtkrc
file. @path_reversed_p fills in the path in reverse order,
i.e. starting with @widget's name instead of starting with the name
of @widget's outermost ancestor.

Deprecated:3.0: Use gtk_widget_get_path() instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="path_length">
<parameter_description> location to store length of the path,
or %NULL
</parameter_description>
</parameter>
<parameter name="path">
<parameter_description> location to store allocated path string,
or %NULL
</parameter_description>
</parameter>
<parameter name="path_reversed">
<parameter_description> location to store allocated reverse
path string, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_append_for_widget">
<description>
Appends the data from @widget to the widget hierarchy represented
by @path. This function is a shortcut for adding information from
@widget to the given @path. This includes setting the name or
adding the style classes from @widget.

Since: 3.2

</description>
<parameters>
<parameter name="path">
<parameter_description> a widget path
</parameter_description>
</parameter>
<parameter name="widget">
<parameter_description> the widget to append to the widget path
</parameter_description>
</parameter>
</parameters>
<return> the position where the data was inserted

</return>
</function>

<function name="gtk_widget_path_append_type">
<description>
Appends a widget type to the widget hierarchy represented by @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> widget type to append
</parameter_description>
</parameter>
</parameters>
<return> the position where the element was inserted

</return>
</function>

<function name="gtk_widget_path_append_with_siblings">
<description>
Appends a widget type with all its siblings to the widget hierarchy
represented by @path. Using this function instead of
gtk_widget_path_append_type() will allow the CSS theming to use
sibling matches in selectors and apply :nth-child() pseudo classes.
In turn, it requires a lot more care in widget implementations as
widgets need to make sure to call gtk_widget_reset_style() on all
involved widgets when the @siblings path changes.

Since: 3.2

</description>
<parameters>
<parameter name="path">
<parameter_description> the widget path to append to
</parameter_description>
</parameter>
<parameter name="siblings">
<parameter_description> a widget path describing a list of siblings. This path
may not contain any siblings itself and it must not be modified
afterwards.
</parameter_description>
</parameter>
<parameter name="sibling_index">
<parameter_description> index into @siblings for where the added element is
positioned.
</parameter_description>
</parameter>
</parameters>
<return> the position where the element was inserted.

</return>
</function>

<function name="gtk_widget_path_copy">
<description>
Returns a copy of @path

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
</parameters>
<return> a copy of @path

</return>
</function>

<function name="gtk_widget_path_free">
<description>
Decrements the reference count on @path, freeing the structure
if the reference count reaches 0.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_get_object_type">
<description>
Returns the topmost object type, that is, the object type this path
is representing.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return> The object type

</return>
</function>

<function name="gtk_widget_path_has_parent">
<description>
Returns %TRUE if any of the parents of the widget represented
in @path is of type @type, or any subtype of it.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> widget type to check in parents
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if any parent is of type @type

</return>
</function>

<function name="gtk_widget_path_is_type">
<description>
Returns %TRUE if the widget type represented by this path
is @type, or a subtype of it.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> widget type to match
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget represented by @path is of type @type

</return>
</function>

<function name="gtk_widget_path_iter_add_class">
<description>
Adds the class @name to the widget at position @pos in
the hierarchy defined in @path. See
gtk_style_context_add_class().

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> a class name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_iter_add_region">
<description>
Adds the region @name to the widget at position @pos in
the hierarchy defined in @path. See
gtk_style_context_add_region().

&lt;note&gt;&lt;para&gt;Region names must only contain lowercase letters
and '-', starting always with a lowercase letter.&lt;/para&gt;&lt;/note&gt;

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> region name
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> flags affecting the region
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_iter_clear_classes">
<description>
Removes all classes from the widget at position @pos in the
hierarchy defined in @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_iter_clear_regions">
<description>
Removes all regions from the widget at position @pos in the
hierarchy defined in @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_iter_get_name">
<description>
Returns the name corresponding to the widget found at
the position @pos in the widget hierarchy defined by
@path


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to get the widget name for, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return> The widget name, or %NULL if none was set.
</return>
</function>

<function name="gtk_widget_path_iter_get_object_type">
<description>
Returns the object #GType that is at position @pos in the widget
hierarchy defined in @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to get the object type for, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return> a widget type

</return>
</function>

<function name="gtk_widget_path_iter_get_sibling_index">
<description>
Returns the index into the list of siblings for the element at @pos as
returned by gtk_widget_path_iter_get_siblings(). If that function would
return %NULL because the element at @pos has no siblings, this function
will return 0.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to get the sibling index for, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return> 0 or the index into the list of siblings for the element at @pos.
</return>
</function>

<function name="gtk_widget_path_iter_get_siblings">
<description>
Returns the list of siblings for the element at @pos. If the element
was not added with siblings, %NULL is returned.


</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to get the siblings for, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return> %NULL or the list of siblings for the element at @pos.
</return>
</function>

<function name="gtk_widget_path_iter_has_class">
<description>
Returns %TRUE if the widget at position @pos has the class @name
defined, %FALSE otherwise.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> class name
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the class @name is defined for the widget at @pos

</return>
</function>

<function name="gtk_widget_path_iter_has_name">
<description>
Returns %TRUE if the widget at position @pos has the name @name,
%FALSE otherwise.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> a widget name
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget at @pos has this name

</return>
</function>

<function name="gtk_widget_path_iter_has_qclass">
<description>
See gtk_widget_path_iter_has_class(). This is a version that operates
with GQuark&lt;!-- --&gt;s.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
<parameter name="qname">
<parameter_description> class name as a #GQuark
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget at @pos has the class defined.

</return>
</function>

<function name="gtk_widget_path_iter_has_qname">
<description>
See gtk_widget_path_iter_has_name(). This is a version
that operates on #GQuark&lt;!-- --&gt;s.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
<parameter name="qname">
<parameter_description> widget name as a #GQuark
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget at @pos has this name

</return>
</function>

<function name="gtk_widget_path_iter_has_qregion">
<description>
See gtk_widget_path_iter_has_region(). This is a version that operates
with GQuark&lt;!-- --&gt;s.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
<parameter name="qname">
<parameter_description> region name as a #GQuark
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> return location for the region flags
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the widget at @pos has the region defined.

</return>
</function>

<function name="gtk_widget_path_iter_has_region">
<description>
Returns %TRUE if the widget at position @pos has the class @name
defined, %FALSE otherwise.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> region name
</parameter_description>
</parameter>
<parameter name="flags">
<parameter_description> return location for the region flags
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the class @name is defined for the widget at @pos

</return>
</function>

<function name="gtk_widget_path_iter_list_classes">
<description>
Returns a list with all the class names defined for the widget
at position @pos in the hierarchy defined in @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return> The list of
classes, This is a list of strings, the #GSList contents
are owned by GTK+, but you should use g_slist_free() to
free the list itself.

</return>
</function>

<function name="gtk_widget_path_iter_list_regions">
<description>
Returns a list with all the region names defined for the widget
at position @pos in the hierarchy defined in @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to query, -1 for the path head
</parameter_description>
</parameter>
</parameters>
<return> The list of
regions, This is a list of strings, the #GSList contents
are owned by GTK+, but you should use g_slist_free() to
free the list itself.

</return>
</function>

<function name="gtk_widget_path_iter_remove_class">
<description>
Removes the class @name from the widget at position @pos in
the hierarchy defined in @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> class name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_iter_remove_region">
<description>
Removes the region @name from the widget at position @pos in
the hierarchy defined in @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> region name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_iter_set_name">
<description>
Sets the widget name for the widget found at position @pos
in the widget hierarchy defined by @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> widget name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_iter_set_object_type">
<description>
Sets the object type for a given position in the widget hierarchy
defined by @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> position to modify, -1 for the path head
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> object type to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_length">
<description>
Returns the number of #GtkWidget #GTypes between the represented
widget and its topmost container.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
</parameters>
<return> the number of elements in the path

</return>
</function>

<function name="gtk_widget_path_new">
<description>
Returns an empty widget path.

Since: 3.0

</description>
<parameters>
</parameters>
<return> A newly created, empty, #GtkWidgetPath

</return>
</function>

<function name="gtk_widget_path_prepend_type">
<description>
Prepends a widget type to the widget hierachy represented by @path.

Since: 3.0

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> widget type to prepend
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_path_ref">
<description>
Increments the reference count on @path.

Since: 3.2

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
</parameters>
<return> @path itself.

</return>
</function>

<function name="gtk_widget_path_to_string">
<description>
Dumps the widget path into a string representation. It tries to match
the CSS style as closely as possible (Note that there might be paths
that cannot be represented in CSS).

The main use of this code is for debugging purposes, so that you can
g_print() the path or dump it in a gdb session.

Since: 3.2

</description>
<parameters>
<parameter name="path">
<parameter_description> the path
</parameter_description>
</parameter>
</parameters>
<return> A new string describing @path.

</return>
</function>

<function name="gtk_widget_path_unref">
<description>
Decrements the reference count on @path, freeing the structure
if the reference count reaches 0.

Since: 3.2

</description>
<parameters>
<parameter name="path">
<parameter_description> a #GtkWidgetPath
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_pop_composite_child">
<description>
Cancels the effect of a previous call to gtk_widget_push_composite_child().

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="gtk_widget_push_composite_child">
<description>
Makes all newly-created widgets as composite children until
the corresponding gtk_widget_pop_composite_child() call.

A composite child is a child that's an implementation detail of the
container it's inside and should not be visible to people using the
container. Composite children aren't treated differently by GTK (but
see gtk_container_foreach() vs. gtk_container_forall()), but e.g. GUI
builders might want to treat them in a different way.

Here is a simple example:
|[
gtk_widget_push_composite_child ();
scrolled_window-&gt;hscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadjustment);
gtk_widget_set_composite_name (scrolled_window-&gt;hscrollbar, &quot;hscrollbar&quot;);
gtk_widget_pop_composite_child ();
gtk_widget_set_parent (scrolled_window-&gt;hscrollbar,
GTK_WIDGET (scrolled_window));
g_object_ref (scrolled_window-&gt;hscrollbar);
]|

</description>
<parameters>
</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>
Equivalent to calling gtk_widget_queue_draw_area() for the
entire area of a widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_queue_draw_area">
<description>
Convenience function that calls gtk_widget_queue_draw_region() on
the region created from the given coordinates.

The region here is specified in widget coordinates.
Widget coordinates are a bit odd; for historical reasons, they are
defined as @widget-&gt;window coordinates for widgets that are not
#GTK_NO_WINDOW widgets, and are relative to @widget-&gt;allocation.x,
@widget-&gt;allocation.y for widgets that are #GTK_NO_WINDOW widgets.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x coordinate of upper-left corner of rectangle to redraw
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y coordinate of upper-left corner of rectangle to redraw
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width of region to draw
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height of region to draw
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_queue_draw_region">
<description>
Invalidates the rectangular area of @widget defined by @region by
calling gdk_window_invalidate_region() on the widget's window and
all its child windows. Once the main loop becomes idle (after the
current batch of events has been processed, roughly), the window
will receive expose events for the union of all regions that have
been invalidated.

Normally you would only use this function in widget
implementations. You might also use it to schedule a redraw of a
#GtkDrawingArea or some portion thereof.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="region">
<parameter_description> region to draw
</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.

&lt;note&gt;&lt;para&gt;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.&lt;/para&gt;&lt;/note&gt;

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_queue_resize_no_redraw">
<description>
This function works like gtk_widget_queue_resize(),
except that the widget is not invalidated.

Since: 2.4

</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;window will be created when a widget
is realized.  Normally realization happens implicitly; if you show
a widget and all its parent containers, then the widget will be
realized and mapped automatically.

Realizing a widget requires all
the widget'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::draw. Or simply g_signal_connect () to the
#GtkWidget::realize signal.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_region_intersect">
<description>
Computes the intersection of a @widget's area and @region, returning
the intersection. The result may be empty, use cairo_region_is_empty() to
check.


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="region">
<parameter_description> a #cairo_region_t, in the same coordinate system as
@widget-&gt;allocation. That is, relative to @widget-&gt;window
for %NO_WINDOW widgets; relative to the parent window
of @widget-&gt;window for widgets with their own window.
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated region holding the intersection of @widget
and @region. The coordinates of the return value are relative to
@widget-&gt;window for %NO_WINDOW widgets, and relative to the parent
window of @widget-&gt;window for widgets with their own window.
</return>
</function>

<function name="gtk_widget_register_window">
<description>
Registers a #GdkWindow with the widget and sets it up so that
the widget recieves events for it. Call gtk_widget_unregister_window()
when destroying the window.

Before 3.8 you needed to call gdk_window_set_user_data() directly to set
this up. This is now deprecated and you should use gtk_widget_register_window()
instead. Old code will keep working as is, although some new features like
transparency might not work perfectly.

Since: 3.8

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow
</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_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().

Since: 2.4

</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 mnemnic label for
@widget with gtk_widget_add_mnemonic_label().
</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().

Since: 3.8

</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_render_icon">
<description>
A convenience function that uses the theme settings for @widget
to look up @stock_id and render it to a pixbuf. @stock_id should
be a stock icon ID such as #GTK_STOCK_OPEN or #GTK_STOCK_OK. @size
should be a size such as #GTK_ICON_SIZE_MENU. @detail should be a
string that identifies the widget or code doing the rendering, so
that theme engines can special-case rendering for that widget or
code.

The pixels in the returned #GdkPixbuf are shared with the rest of
the application and should not be modified. The pixbuf should be
freed after use with g_object_unref().

Deprecated: 3.0: Use gtk_widget_render_icon_pixbuf() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> a stock ID
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock size. A size of (GtkIconSize)-1 means
render at the size of the source and don't scale (if there are
multiple source sizes, GTK+ picks one of the available sizes).
</parameter_description>
</parameter>
<parameter name="detail">
<parameter_description> render detail to pass to theme engine
</parameter_description>
</parameter>
</parameters>
<return> a new pixbuf, or %NULL if the
stock ID wasn't known

</return>
</function>

<function name="gtk_widget_render_icon_pixbuf">
<description>
A convenience function that uses the theme engine and style
settings for @widget to look up @stock_id and render it to
a pixbuf. @stock_id should be a stock icon ID such as
#GTK_STOCK_OPEN or #GTK_STOCK_OK. @size should be a size
such as #GTK_ICON_SIZE_MENU.

The pixels in the returned #GdkPixbuf are shared with the rest of
the application and should not be modified. The pixbuf should be freed
after use with g_object_unref().

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="stock_id">
<parameter_description> a stock ID
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> a stock size. A size of (GtkIconSize)-1 means
render at the size of the source and don't scale (if there are
multiple source sizes, GTK+ picks one of the available sizes).
</parameter_description>
</parameter>
</parameters>
<return> a new pixbuf, or %NULL if the
stock ID wasn't known

</return>
</function>

<function name="gtk_widget_reparent">
<description>
Moves a widget from one #GtkContainer to another, handling reference
count issues to avoid destroying the widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="new_parent">
<parameter_description> a #GtkContainer to move the widget into
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_reset_rc_styles">
<description>
Reset the styles of @widget and all descendents, so when
they are looked up again, they get the correct values
for the currently loaded RC file settings.

This function is not useful for applications.

Deprecated:3.0: Use #GtkStyleContext instead, and gtk_widget_reset_style()

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_reset_style">
<description>
Updates the style context of @widget and all descendents
by updating its widget path. #GtkContainer&lt;!-- --&gt;s may want
to use this on a child when reordering it in a way that a different
style might apply to it. See also gtk_container_get_path_for_child().

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_send_expose">
<description>
Very rarely-used function. This function is used to emit
an expose event on a widget. This function is not normally used
directly. The only time it is used is when propagating an expose
event to a child %NO_WINDOW widget, and that is normally done
using gtk_container_propagate_draw().

If you want to force an area of a window to be redrawn,
use gdk_window_invalidate_rect() or gdk_window_invalidate_region().
To cause the redraw to be done immediately, follow that call
with a call to gdk_window_process_updates().


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> a expose #GdkEvent
</parameter_description>
</parameter>
</parameters>
<return> return from the event signal emission (%TRUE if
the event was handled)
</return>
</function>

<function name="gtk_widget_send_focus_change">
<description>
Sends the focus change @event to @widget

This function is not meant to be used by applications. The only time it
should be used is when it is necessary for a #GtkWidget to assign focus
to a widget that is semantically owned by the first widget even though
it's not a direct child - for instance, a search entry in a floating
window similar to the quick search in #GtkTreeView.

An example of its usage is:

|[
GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE);

fevent-&gt;focus_change.type = GDK_FOCUS_CHANGE;
fevent-&gt;focus_change.in = TRUE;
fevent-&gt;focus_change.window = gtk_widget_get_window (widget);
if (fevent-&gt;focus_change.window != NULL)
g_object_ref (fevent-&gt;focus_change.window);

gtk_widget_send_focus_change (widget, fevent);

gdk_event_free (event);
]|

Since: 2.20

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="event">
<parameter_description> a #GdkEvent of type GDK_FOCUS_CHANGE
</parameter_description>
</parameter>
</parameters>
<return> the return value from the event signal emission: %TRUE
if the event was handled, and %FALSE otherwise

</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 like #GtkUIManager. If you
use #GtkUIManager, setting up accelerator paths will be done
automatically.

Even when you you aren't using #GtkUIManager, if you only want to
set up accelerators on menu items gtk_menu_item_set_accel_path()
provides a somewhat more convenient interface.

Note that @accel_path string will be stored in a #GQuark. Therefore, if you
pass a static string, you can save some memory by interning it first with
g_intern_static_string().

</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_allocation">
<description>
Sets the widget's allocation.  This should not be used
directly, but from within a widget's size_allocate method.

The allocation set should be the &quot;adjusted&quot; or actual
allocation. If you're implementing a #GtkContainer, you want to use
gtk_widget_size_allocate() instead of gtk_widget_set_allocation().
The GtkWidgetClass::adjust_size_allocation virtual method adjusts the
allocation inside gtk_widget_size_allocate() to create an adjusted
allocation.

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="allocation">
<parameter_description> a pointer to a #GtkAllocation to copy from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_app_paintable">
<description>
Sets whether the application intends to draw on the widget in
an #GtkWidget::draw handler.

This is a hint to the widget and does not affect the behavior of
the GTK+ core; many widgets ignore this flag entirely. For widgets
that do pay attention to the flag, such as #GtkEventBox and #GtkWindow,
the effect is to suppress default themed drawing of the widget's
background. (Children of the widget will still be drawn.) The application
is then entirely responsible for drawing the widget background.

Note that the background is still drawn when the widget is mapped.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="app_paintable">
<parameter_description> %TRUE if the application will paint on the widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_can_default">
<description>
Specifies whether @widget can be a default widget. See
gtk_widget_grab_default() for details about the meaning of
&quot;default&quot;.

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="can_default">
<parameter_description> whether or not @widget can be a default widget.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_can_focus">
<description>
Specifies whether @widget can own the input focus. See
gtk_widget_grab_focus() for actually setting the input focus on a
widget.

Since: 2.18

</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_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="is_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_composite_name">
<description>
Sets a widgets composite name. The widget must be
a composite child of its parent; see gtk_widget_push_composite_child().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget.
</parameter_description>
</parameter>
<parameter name="name">
<parameter_description> the name to set
</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_device_enabled">
<description>
Enables or disables a #GdkDevice to interact with @widget
and all its children.

It does so by descending through the #GdkWindow hierarchy
and enabling the same mask that is has for core events
(i.e. the one that gdk_window_get_events() returns).

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
<parameter name="enabled">
<parameter_description> whether to enable the device
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_device_events">
<description>
Sets the device event mask (see #GdkEventMask) for a widget. The event
mask determines which events a widget will receive from @device. Keep
in mind that different widgets have different default event masks, and by
changing the event mask you may disrupt a widget's functionality,
so be careful. This function must be called while a widget is
unrealized. Consider gtk_widget_add_device_events() for widgets that are
already realized, or if you want to preserve the existing event
mask. This function can't be used with #GTK_NO_WINDOW widgets;
to get events on those widgets, place them inside a #GtkEventBox
and receive events on the event box.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="device">
<parameter_description> a #GdkDevice
</parameter_description>
</parameter>
<parameter name="events">
<parameter_description> event mask
</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 explicitely
visual rather than logical (such as buttons for text justification).

If the direction is set to %GTK_TEXT_DIR_NONE, then the value
set by gtk_widget_set_default_direction() will be used.

</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_double_buffered">
<description>
Widgets are double buffered by default; you can use this function
to turn off the buffering. &quot;Double buffered&quot; simply means that
gdk_window_begin_paint_region() and gdk_window_end_paint() are called
automatically around expose events sent to the
widget. gdk_window_begin_paint_region() diverts all drawing to a widget's
window to an offscreen buffer, and gdk_window_end_paint() draws the
buffer to the screen. The result is that users see the window
update in one smooth step, and don't see individual graphics
primitives being rendered.

In very simple terms, double buffered widgets don't flicker,
so you would only use this function to turn off double buffering
if you had special needs and really knew what you were doing.

Note: if you turn off double-buffering, you have to handle
expose events, since even the clearing to the background color or
pixmap will not happen automatically (as it is done in
gdk_window_begin_paint_region()).

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="double_buffered">
<parameter_description> %TRUE to double-buffer a widget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_events">
<description>
Sets the event mask (see #GdkEventMask) for a widget. The event
mask determines which events a widget will receive. Keep in mind
that different widgets have different default event masks, and by
changing the event mask you may disrupt a widget's functionality,
so be careful. This function must be called while a widget is
unrealized. Consider gtk_widget_add_events() for widgets that are
already realized, or if you want to preserve the existing event
mask. This function can't be used with #GTK_NO_WINDOW widgets;
to get events on those widgets, place them inside a #GtkEventBox
and receive events on the event box.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="events">
<parameter_description> event mask
</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.

Since: 2.12

</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_has_window">
<description>
Specifies whether @widget has a #GdkWindow of its own. Note that
all realized widgets have a non-%NULL &quot;window&quot; pointer
(gtk_widget_get_window() never returns a %NULL window when a widget
is realized), but for many of them it's actually the #GdkWindow of
one of its parent widgets. Widgets that do not create a %window for
themselves in #GtkWidget::realize must announce this by
calling this function with @has_window = %FALSE.

This function should only be called by widget implementations,
and they should call it in their init() function.

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="has_window">
<parameter_description> whether or not @widget has a window.
</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_mapped">
<description>
Marks the widget as being realized.

This function should only ever be called in a derived widget's
&quot;map&quot; or &quot;unmap&quot; implementation.

Since: 2.20

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="mapped">
<parameter_description> %TRUE to mark the widget as mapped
</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.

Since: 3.0

</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_left">
<description>
Sets the left margin of @widget.
See the #GtkWidget:margin-left property.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the left margin
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_margin_right">
<description>
Sets the right margin of @widget.
See the #GtkWidget:margin-right property.

Since: 3.0

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="margin">
<parameter_description> the right 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.

Since: 3.0

</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, &#35;, &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_no_show_all">
<description>
Sets the #GtkWidget:no-show-all property, which determines whether
calls to gtk_widget_show_all() will affect this widget.

This is mostly for use in constructing widget hierarchies with externally
controlled visibility, see #GtkUIManager.

Since: 2.4

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="no_show_all">
<parameter_description> the new value for the &quot;no-show-all&quot; property
</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 screens with a compositing manager
running. See gtk_widget_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, or
disables double buffering.

Since: 3.8

</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_parent">
<description>
This function is useful only when implementing subclasses of
#GtkContainer.
Sets the container as the parent of @widget, and takes care of
some details such as updating the state and style of the child
to reflect its new location. The opposite function is
gtk_widget_unparent().

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="parent">
<parameter_description> parent container
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_parent_window">
<description>
Sets a non default parent window for @widget.

For GtkWindow classes, setting a @parent_window effects whether
the window is a toplevel window or can be embedded into other
widgets.

&lt;note&gt;&lt;para&gt;
For GtkWindow classes, this needs to be called before the
window is realized.
&lt;/para&gt;&lt;/note&gt;


</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget.
</parameter_description>
</parameter>
<parameter name="parent_window">
<parameter_description> the new parent window.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_realized">
<description>
Marks the widget as being realized.

This function should only ever be called in a derived widget's
&quot;realize&quot; or &quot;unrealize&quot; implementation.

Since: 2.20

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="realized">
<parameter_description> %TRUE to mark the widget as realized
</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.

See gtk_widget_grab_default() for details about the meaning of
&quot;default&quot;.

Since: 2.18

</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_redraw_on_allocate">
<description>
Sets whether the entire widget is queued for drawing when its size
allocation changes. By default, this setting is %TRUE and
the entire widget is redrawn on every size change. If your widget
leaves the upper left unchanged when made bigger, turning this
setting off will improve performance.

Note that for %NO_WINDOW widgets setting this flag to %FALSE turns
off all allocation on resizing: the widget will not even redraw if
its position changes; this is to allow containers that don't draw
anything to avoid excess invalidations. If you set this flag on a
%NO_WINDOW widget that &lt;emphasis&gt;does&lt;/emphasis&gt; draw on @widget-&gt;window,
you are responsible for invalidating both the old and new allocation
of the widget when the widget is moved and responsible for invalidating
regions newly when the widget increases size.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="redraw_on_allocate">
<parameter_description> if %TRUE, the entire widget will be redrawn
when it is allocated to a new size. Otherwise, only the
new portion of the widget will be redrawn.
</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 &quot;grayed out&quot; and the
user can't interact with them. Insensitive widgets are known as
&quot;inactive&quot;, &quot;disabled&quot;, or &quot;ghosted&quot; 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 &quot;natural&quot; 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">
<description>
This function is for use in widget implementations. Sets the state
of a widget (insensitive, prelighted, etc.) Usually you should set
the state using wrapper functions such as gtk_widget_set_sensitive().

Deprecated: 3.0. Use gtk_widget_set_state_flags() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="state">
<parameter_description> new state for @widget
</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.).

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.

Since: 3.0

</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_style">
<description>
Used to set the #GtkStyle for a widget (@widget-&gt;style). Since
GTK 3, this function does nothing, the passed in style is ignored.

Deprecated:3.0: Use #GtkStyleContext instead

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #GtkStyle, or %NULL to remove the effect
of a previous call to gtk_widget_set_style() and go back to
the default style
</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 #GdkWindow&lt;!-- --&gt;s are created in #GtkWidget::realize,
gdk_window_set_support_multidevice() will have to be called manually on them.

Since: 3.0

</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 &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;Pango text markup language&lt;/link&gt;.

This function will take care of setting #GtkWidget:has-tooltip to %TRUE
and of the default handler for the #GtkWidget::query-tooltip signal.

See also the #GtkWidget:tooltip-markup property and
gtk_tooltip_set_markup().

Since: 2.12

</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().

Since: 2.12

</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_tooltip_window">
<description>
Replaces the default, usually yellow, window used for displaying
tooltips with @custom_window. GTK+ will take care of showing and
hiding @custom_window at the right moment, to behave likewise as
the default tooltip window. If @custom_window is %NULL, the default
tooltip window will be used.

If the custom window should have the default theming it needs to
have the name &quot;gtk-tooltip&quot;, see gtk_widget_set_name().

Since: 2.12

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="custom_window">
<parameter_description> a #GtkWindow, or %NULL
</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.

Since: 2.18

</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_set_visual">
<description>
Sets the visual that should be used for by widget and its children for
creating #GdkWindows. The visual must be on the same #GdkScreen as
returned by gtk_widget_get_screen(), so handling the
#GtkWidget::screen-changed signal is necessary.

Setting a new @visual will not cause @widget to recreate its windows,
so you should call this function before @widget is realized.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="visual">
<parameter_description> visual to be used or %NULL to unset a previous one
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_set_window">
<description>
Sets a widget's window. This function should only be used in a
widget's #GtkWidget::realize implementation. The %window passed is
usually either new window created with gdk_window_new(), or the
window of its parent widget as returned by
gtk_widget_get_parent_window().

Widgets must indicate whether they will create their own #GdkWindow
by calling gtk_widget_set_has_window(). This is usually done in the
widget's init() function.

&lt;note&gt;&lt;para&gt;This function does not add any reference to @window.&lt;/para&gt;&lt;/note&gt;

Since: 2.18

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_shape_combine_region">
<description>
Sets a shape for this widget's GDK window. This allows for
transparent windows etc., see gdk_window_shape_combine_region()
for more information.

Since: 3.0

</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_show">
<description>
Flags a widget to be displayed. Any widget that isn't shown will
not appear on the screen. If you want to show all the widgets in a
container, it's easier to call gtk_widget_show_all() on the
container, instead of individually showing the widgets.

Remember that you have to show the containers containing a widget,
in addition to the widget itself, before it will appear onscreen.

When a toplevel container is shown, it is immediately realized and
mapped; other shown widgets are realized and mapped when their
toplevel container is realized and mapped.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_show_all">
<description>
Recursively shows a widget, and any child widgets (if the widget is
a container).

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_show_now">
<description>
Shows a widget. If the widget is an unmapped toplevel widget
(i.e. a #GtkWindow that has not yet been shown), enter the main
loop and wait for the window to actually be mapped. Be careful;
because the main loop is running, anything can happen during
this function.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_size_allocate">
<description>
This function is only used by #GtkContainer subclasses, to assign a size
and position to their child widgets.

In this function, the allocation may be adjusted. It will be forced
to a 1x1 minimum size, and the adjust_size_allocation virtual
method on the child will be used to adjust the allocation. Standard
adjustments include removing the widget's margins, and applying the
widget's #GtkWidget:halign and #GtkWidget:valign properties.

</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>
</parameters>
<return></return>
</function>

<function name="gtk_widget_size_request">
<description>
This function is typically used when implementing a #GtkContainer
subclass.  Obtains the preferred size of a widget. The container
uses this information to arrange its child widgets and decide what
size allocations to give them with gtk_widget_size_allocate().

You can also call this function from an application, with some
caveats. Most notably, getting a size request requires the widget
to be associated with a screen, because font information may be
needed. Multihead-aware applications should keep this in mind.

Also remember that the size request is not necessarily the size
a widget will actually be allocated.

Deprecated: 3.0: Use gtk_widget_get_preferred_size() instead.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="requisition">
<parameter_description> a #GtkRequisition to be filled in
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_style_attach">
<description>
This function attaches the widget's #GtkStyle to the widget's
#GdkWindow. It is a replacement for

&lt;programlisting&gt;
widget-&gt;style = gtk_style_attach (widget-&gt;style, widget-&gt;window);
&lt;/programlisting&gt;

and should only ever be called in a derived widget's &quot;realize&quot;
implementation which does not chain up to its parent class'
&quot;realize&quot; implementation, because one of the parent classes
(finally #GtkWidget) would attach the style itself.

Since: 2.20

Deprecated: 3.0. This step is unnecessary with #GtkStyleContext.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_style_get">
<description>
Gets the values of a multiple style properties of @widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="first_property_name">
<parameter_description> the name of the first property to get
</parameter_description>
</parameter>
<parameter name="Varargs">
<parameter_description> pairs of property names and locations to return the
property values, starting with the location for
@first_property_name, terminated by %NULL.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_style_get_property">
<description>
Gets the value of a style property of @widget.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="property_name">
<parameter_description> the name of a style property
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> location to return the property value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_style_get_valist">
<description>
Non-vararg variant of gtk_widget_style_get(). Used primarily by language
bindings.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</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> a &lt;type&gt;va_list&lt;/type&gt; of pairs of property names and
locations to return the property values, starting with the location
for @first_property_name.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_thaw_child_notify">
<description>
Reverts the effect of a previous call to gtk_widget_freeze_child_notify().
This causes all queued #GtkWidget::child-notify signals on @widget to be
emitted.

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</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 widgets must be realized, and 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 either widget was not realized, or there
was no common ancestor. In this case, nothing 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.

Since: 2.12

</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 implementations of the remove method
on #GtkContainer, to dissociate a child from the container.

</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;window).

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_widget_unregister_window">
<description>
Unregisters a #GdkWindow from the widget that was previously set up with
gtk_widget_register_window(). You need to call this when the window is
no longer used by the widget, such as when you destroy it.

Since: 3.8

</description>
<parameters>
<parameter name="widget">
<parameter_description> a #GtkWidget
</parameter_description>
</parameter>
<parameter name="window">
<parameter_description> a #GdkWindow
</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().

Since: 3.0

</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_default">
<description>
Activates the default widget for the window, unless the current 
focused widget has been configured to receive the default action 
(see gtk_widget_set_receives_default()), in which case the
focused widget is activated. 


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a widget got activated.
</return>
</function>

<function name="gtk_window_activate_focus">
<description>
Activates the current focused widget within the window.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a widget got activated.
</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.

Since: 2.4

</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. When GDK can support it, the window movement
will be done using the standard mechanism for the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; or windowing
system. Otherwise, GDK will try to emulate window movement,
potentially not all that well, depending on the windowing system.


</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="root_x">
<parameter_description> X position where the user clicked to initiate the drag, in root window coordinates
</parameter_description>
</parameter>
<parameter name="root_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. When GDK can support it, the resize
will be done using the standard mechanism for the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; or windowing
system. Otherwise, GDK will try to emulate window resizing,
potentially not all that well, depending on the windowing system.


</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="root_x">
<parameter_description> X position where the user clicked to initiate the drag, in root window coordinates
</parameter_description>
</parameter>
<parameter name="root_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_deiconify">
<description>
Asks to deiconify (i.e. unminimize) the specified @window. Note
that you shouldn't assume the window is definitely deiconified
afterward, because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could iconify it
again before your code which assumes deiconification gets to run.

You can track iconification via the &quot;window-state-event&quot; signal
on #GtkWidget.

</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 &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could unfullscreen it
again, and not all window managers honor requests to fullscreen
windows. But normally the window will end up fullscreen. Just
don't write code that crashes if not.

You can track the fullscreen state via the &quot;window-state-event&quot; signal
on #GtkWidget.

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</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().

Since: 2.4

</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).

Since: 3.0

</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().

Since: 3.4

</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_list">
<description>
Gets the value set by gtk_window_set_default_icon_list().
The list is a copy and should be freed with g_list_free(),
but the pixbufs in the list have not had their reference count
incremented.


</description>
<parameters>
</parameters>
<return> copy of default icon list 
</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().

Since: 2.16

</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 &quot;natural&quot; 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.

Since: 2.14

</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().

Since: 2.10

</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  &lt;literal&gt;gtk_widget_has_focus (widget)&lt;/literal&gt; 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().

Since: 2.6

</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.

Since: 3.2

</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_gravity">
<description>
Gets the value set by gtk_window_set_gravity().


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> window gravity
</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.

Since: 2.10

</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_has_resize_grip">
<description>
Determines whether the window may have a resize grip.

Since: 3.0

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window has a resize grip

</return>
</function>

<function name="gtk_window_get_hide_titlebar_when_maximized">
<description>
Returns whether the window has requested to have its titlebar hidden
when maximized. See gtk_window_set_hide_titlebar_when_maximized ().

Since: 3.4

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the window has requested to have its titlebar
hidden when maximized

</return>
</function>

<function name="gtk_window_get_icon">
<description>
Gets the value set by gtk_window_set_icon() (or if you've
called gtk_window_set_icon_list(), gets the first icon in
the icon list).


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> icon for window
</return>
</function>

<function name="gtk_window_get_icon_list">
<description>
Retrieves the list of icons set by gtk_window_set_icon_list().
The list is copied, but the reference count on each
member won't be incremented.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> copy of window's icon list
</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().

Since: 2.6

</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.

Since: 2.20

</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_opacity">
<description>
Fetches the requested opacity for this window. See
gtk_window_set_opacity().

Since: 2.12
Deprecated: 3.8: Use gtk_widget_get_opacity instead.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the requested opacity for this window.

</return>
</function>

<function name="gtk_window_get_position">
<description>
This function returns the position you need to pass to
gtk_window_move() to keep @window in its current position.
This means that the meaning of the returned value varies with
window gravity. See gtk_window_move() for more details.

If you haven't changed the window gravity, its gravity will be
#GDK_GRAVITY_NORTH_WEST. This means that gtk_window_get_position()
gets the position of the top-left corner of the window manager
frame for the window. gtk_window_move() sets the position of this
same top-left corner.

gtk_window_get_position() is not 100% reliable because the X Window System
does not specify a way to obtain the geometry of the
decorations placed on a window by the window manager.
Thus GTK+ is using a &quot;best guess&quot; that works with most
window managers.

Moreover, nearly all window managers are historically broken with
respect to their handling of window gravity. So moving a window to
its current position as returned by gtk_window_get_position() tends
to result in moving the window slightly. Window managers are
slowly getting better over time.

If a window has gravity #GDK_GRAVITY_STATIC the window manager
frame is not relevant, and thus gtk_window_get_position() will
always produce accurate results. However you can't use static
gravity to do things like place a window in a corner of the screen,
because static gravity ignores the window manager decorations.

If you are saving and restoring your application's window
positions, you should know that it's impossible for applications to
do this without getting it somewhat wrong because applications do
not have sufficient knowledge of window manager state. The Correct
Mechanism is to support the session management protocol (see the
&quot;GnomeClient&quot; object in the GNOME libraries for example) and allow
the window manager to save your window sizes and positions.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="root_x">
<parameter_description> return location for X coordinate of
gravity-determined reference point, or %NULL
</parameter_description>
</parameter>
<parameter name="root_y">
<parameter_description> return location for Y coordinate of
gravity-determined reference point, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></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_resize_grip_area">
<description>
If a window has a resize grip, this will retrieve the grip
position, width and height into the specified #GdkRectangle.

Since: 3.0

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="rect">
<parameter_description> a pointer to a #GdkRectangle which we should store
the resize grip area
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the resize grip's area was retrieved

</return>
</function>

<function name="gtk_window_get_role">
<description>
Returns the role of the window. See gtk_window_set_role() for
further explanation.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> the role of the window if set, or %NULL. The
returned is owned by the widget and must not be modified
or freed.
</return>
</function>

<function name="gtk_window_get_screen">
<description>
Returns the #GdkScreen associated with @window.

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow.
</parameter_description>
</parameter>
</parameters>
<return> a #GdkScreen.

</return>
</function>

<function name="gtk_window_get_size">
<description>
Obtains the current size of @window. If @window is not onscreen,
it returns the size GTK+ will suggest to the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; for the initial window
size (but this is not reliably the same as the size the window
manager will actually select). The size obtained by
gtk_window_get_size() is the last size received in a
#GdkEventConfigure, that is, GTK+ uses its locally-stored size,
rather than querying the X server for the size. As a result, if you
call gtk_window_resize() then immediately call
gtk_window_get_size(), the size won't have taken effect yet. After
the window manager processes the resize request, GTK+ receives
notification that the size has changed via a configure event, and
the size of the window gets updated.

Note 1: Nearly any use of this function creates a race condition,
because the size of the window may change between the time that you
get the size and the time that you perform some action assuming
that size is the current size. To avoid race conditions, connect to
&quot;configure-event&quot; on the window and adjust your size-dependent
state to match the size delivered in the #GdkEventConfigure.

Note 2: The returned size does &lt;emphasis&gt;not&lt;/emphasis&gt; include the
size of the window manager decorations (aka the window frame or
border). Those are not drawn by GTK+ and GTK+ has no reliable
method of determining their size.

Note 3: If you are getting a window size in order to position
the window onscreen, there may be a better way. The preferred
way is to 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
things rather than doing it yourself, because all apps will
behave consistently and according to user prefs if the window
manager handles it. Also, the window manager can take the size
of the window decorations/border into account, while your
application cannot.

In any case, if you insist on application-specified window
positioning, there's &lt;emphasis&gt;still&lt;/emphasis&gt; a better way than
doing it yourself - gtk_window_set_position() will frequently
handle the details for you.


</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_skip_pager_hint">
<description>
Gets the value set by gtk_window_set_skip_pager_hint().

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if window shouldn't be in pager

</return>
</function>

<function name="gtk_window_get_skip_taskbar_hint">
<description>
Gets the value set by gtk_window_set_skip_taskbar_hint()

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if window shouldn't be in taskbar

</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 explicitely. The returned string is owned by the widget
and must not be modified or freed.
</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_urgency_hint">
<description>
Gets the value set by gtk_window_set_urgency_hint()

Since: 2.8

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if window is urgent

</return>
</function>

<function name="gtk_window_get_window_type">
<description>
Gets the type of the window. See #GtkWindowType.

Since: 2.20

</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.

Since: 3.0

</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().

Since: 2.22

</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.

Since: 2.14

</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.

Since 2.22

</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_has_toplevel_focus">
<description>
Returns whether the input focus is within this GtkWindow.
For real toplevel windows, this is identical to gtk_window_is_active(),
but for embedded windows, like #GtkPlug, the results will differ.

Since: 2.4

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the input focus is within this GtkWindow

</return>
</function>

<function name="gtk_window_iconify">
<description>
Asks to iconify (i.e. minimize) the specified @window. Note that
you shouldn't assume the window is definitely iconified afterward,
because other entities (e.g. the user or &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could deiconify it
again, or there may not be a window manager in which case
iconification isn't possible, etc. But normally the window will end
up iconified. 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 iconified before it ever appears
onscreen.

You can track iconification via the &quot;window-state-event&quot; signal
on #GtkWidget.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return></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, but also if it is, say, a #GtkPlug embedded in the active toplevel.
You might use this function if you wanted to draw a widget
differently in an active window from a widget in an inactive window.
See gtk_window_has_toplevel_focus()

Since: 2.4

</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_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 &lt;emphasis&gt;must&lt;/emphasis&gt; call
&lt;literal&gt;g_list_foreach (result, (GFunc)g_object_ref, NULL)&lt;/literal&gt; first, and
then unref all the widgets afterwards.


</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 &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could unmaximize it
again, and not all window managers support maximization. But
normally the window will end up maximized. Just don'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 maximization via the &quot;window-state-event&quot; signal
on #GtkWidget.


</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_move">
<description>
Asks the &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; to move
@window to the given position.  Window managers are free to ignore
this; most window managers ignore requests for initial window
positions (instead using a user-defined placement algorithm) and
honor requests after the window has already been shown.

Note: the position is the position of the gravity-determined
reference point for the window. The gravity determines two things:
first, the location of the reference point in root window
coordinates; and second, which point on the window is positioned at
the reference point.

By default the gravity is #GDK_GRAVITY_NORTH_WEST, so the reference
point is simply the @x, @y supplied to gtk_window_move(). The
top-left corner of the window decorations (aka window frame or
border) will be placed at @x, @y.  Therefore, to position a window
at the top left of the screen, you want to use the default gravity
(which is #GDK_GRAVITY_NORTH_WEST) and move the window to 0,0.

To position a window at the bottom right corner of the screen, you
would set #GDK_GRAVITY_SOUTH_EAST, which means that the reference
point is at @x + the window width and @y + the window height, and
the bottom-right corner of the window border will be placed at that
reference point. So, to place a window in the bottom right corner
you would first set gravity to south east, then write:
&lt;literal&gt;gtk_window_move (window, gdk_screen_width () - window_width,
gdk_screen_height () - window_height)&lt;/literal&gt; (note that this
example does not take multi-head scenarios into account).

The Extended Window Manager Hints specification at &lt;ulink
url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&gt;
http://www.freedesktop.org/Standards/wm-spec&lt;/ulink&gt; has a
nice table of gravities in the &quot;implementation notes&quot; section.

The gtk_window_get_position() documentation may also be relevant.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate to move window to
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate to move window to
</parameter_description>
</parameter>
</parameters>
<return></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 &quot;popups&quot;.
In GTK+, #GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip.
On X11, popup windows are not controlled by the &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;.

If you simply want an undecorated window (no window borders), use
gtk_window_set_decorated(), don't use #GTK_WINDOW_POPUP.


</description>
<parameters>
<parameter name="type">
<parameter_description> type of window
</parameter_description>
</parameter>
</parameters>
<return> a new #GtkWindow.
</return>
</function>

<function name="gtk_window_parse_geometry">
<description>
Parses a standard X Window System geometry string - see the
manual page for X (type 'man X') for details on this.
gtk_window_parse_geometry() does work on all GTK+ ports
including Win32 but is primarily intended for an X environment.

If either a size or a position can be extracted from the
geometry string, gtk_window_parse_geometry() returns %TRUE
and calls gtk_window_set_default_size() and/or gtk_window_move()
to resize/move the window.

If gtk_window_parse_geometry() returns %TRUE, it will also
set the #GDK_HINT_USER_POS and/or #GDK_HINT_USER_SIZE hints
indicating to the window manager that the size/position of
the window was user-specified. This causes most window
managers to honor the geometry.

Note that for gtk_window_parse_geometry() to work as expected, it has
to be called when the window has its &quot;final&quot; size, i.e. after calling
gtk_widget_show_all() on the contents and gtk_window_set_geometry_hints()
on the window.
|[
#include &lt;gtk/gtk.h&gt;

static void
fill_with_content (GtkWidget *vbox)
{
/ * fill with content... * /
}

int
main (int argc, char *argv[])
{
GtkWidget *window, *vbox;
GdkGeometry size_hints = {
100, 50, 0, 0, 100, 50, 10, 10, 0.0, 0.0, GDK_GRAVITY_NORTH_WEST  
};

gtk_init (&amp;argc, &amp;argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);

gtk_container_add (GTK_CONTAINER (window), vbox);
fill_with_content (vbox);
gtk_widget_show_all (vbox);

gtk_window_set_geometry_hints (GTK_WINDOW (window),
window,
&amp;size_hints,
GDK_HINT_MIN_SIZE | 
GDK_HINT_BASE_SIZE | 
GDK_HINT_RESIZE_INC);

if (argc &gt; 1)
{
if (!gtk_window_parse_geometry (GTK_WINDOW (window), argv[1]))
fprintf (stderr, &quot;Failed to parse '%s'\n&quot;, argv[1]);
}

gtk_widget_show_all (window);
gtk_main ();

return 0;
}
]|


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="geometry">
<parameter_description> geometry string
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if string was parsed successfully
</return>
</function>

<function name="gtk_window_present">
<description>
Presents a window to the user. This may mean raising the window
in the stacking order, deiconifying it, moving it to the current
desktop, and/or giving it the keyboard focus, possibly dependent
on the user'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.

If you are calling this function in response to a user interaction,
it is preferable to use gtk_window_present_with_time().


</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 in response to a user interaction.
If you need to present a window without a timestamp, use 
gtk_window_present(). See gtk_window_present() for details. 

Since: 2.8

</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.

Since: 2.4

</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_reshow_with_initial_size">
<description>
Hides @window, then reshows it, resetting the
default size and position of the window. Used
by GUI builders only.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</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.


</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_resize_grip_is_visible">
<description>
Determines whether a resize grip is visible for the specified window.

Since: 3.0

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a resize grip exists and is visible

</return>
</function>

<function name="gtk_window_resize_to_geometry">
<description>
Like gtk_window_resize(), but @width and @height are interpreted
in terms of the base size and increment set with
gtk_window_set_geometry_hints.

Since: 3.0

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width in resize increments to resize the window to
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height in resize increments 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.

Since: 2.4

</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 the window
is open.

Since: 3.0

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="application">
<parameter_description> a #GtkApplication, or %NULL
</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.

Since: 3.4

</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.

Since: 2.2

</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 &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
managers&lt;/link&gt; allow GTK+ to disable these decorations, creating a
borderless window. If you set the decorated property to %FALSE
using this function, GTK+ will do its best to convince the window
manager not to decorate the window. Depending on the system, this
function may not have any effect when called on a window that is
already visible, so you should call it before calling gtk_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">
<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 about. When setting
(rather than unsetting) the default widget it's generally easier to
call gtk_widget_grab_focus() on the widget. Before making a widget
the default widget, you must call gtk_widget_set_can_default() on the
widget you'd like to make the default.

</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_default_geometry">
<description>
Like gtk_window_set_default_size(), but @width and @height are interpreted
in terms of the base size and increment set with
gtk_window_set_geometry_hints.

Since: 3.0

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width in resize increments, or -1 to unset the default width
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height in resize increments, or -1 to unset the default height
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_default_icon">
<description>
Sets an icon to be used as fallback for windows that haven't
had gtk_window_set_icon() called on them from a pixbuf.

Since: 2.4

</description>
<parameters>
<parameter name="icon">
<parameter_description> the icon
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_default_icon_from_file">
<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 file
on disk. Warns on failure if @err is %NULL.

Since: 2.2

</description>
<parameters>
<parameter name="filename">
<parameter_description> location of icon file
</parameter_description>
</parameter>
<parameter name="err">
<parameter_description> location to store error, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if setting the icon succeeded.

</return>
</function>

<function name="gtk_window_set_default_icon_list">
<description>
Sets an icon list to be used as fallback for windows that haven't
had gtk_window_set_icon_list() called on them to set up a
window-specific icon list. This function allows you to set up the
icon for all windows in your app at once.

See gtk_window_set_icon_list() for more details.


</description>
<parameters>
<parameter name="list">
<parameter_description> a list of #GdkPixbuf
</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().

Since: 2.6

</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 &quot;natural&quot; size
(its size request) is larger than the default, the default will be
ignored. More generally, if the default size does not obey the
geometry hints for the window (gtk_window_set_geometry_hints() can
be used to set these explicitly), the default size will be clamped
to the nearest permitted size.

Unlike gtk_widget_set_size_request(), which sets a size request for
a widget and thus would keep users from shrinking the window, this
function only sets the initial size, just as if the user had
resized the window themselves. Users can still shrink the window
again as they normally would. Setting a default size of -1 means to
use the &quot;natural&quot; default size (the size request of the window).

For more control over a window's initial size and how resizing works,
investigate gtk_window_set_geometry_hints().

For some uses, gtk_window_resize() is a more appropriate function.
gtk_window_resize() changes the current size of the window, rather
than the size to be used on initial display. gtk_window_resize() always
affects the window itself, not the geometry widget.

The default size of a window only affects the first time a window is
shown; if a window is hidden and re-shown, it will remember the size
it had prior to hiding, rather than using the default size.

Windows can'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.

</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_deletable">
<description>
By default, windows have a close button in the window frame. Some 
&lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window managers&lt;/link&gt; allow GTK+ to 
disable this button. If you set the deletable property to %FALSE
using this function, GTK+ will do its best to convince the window
manager not to show a close button. Depending on the system, this
function may not have any effect when called on a window that is
already visible, so you should call it before calling gtk_widget_show().

On Windows, this function always works, since there's no window manager
policy involved.

Since: 2.10

</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_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.

Since: 2.6

</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.

Since: 3.2

</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_geometry_hints">
<description>
This function sets up hints about how a window can be resized by
the user.  You can set a minimum and maximum size; allowed resize
increments (e.g. for xterm, you can only resize by the size of a
character); aspect ratios; and more. See the #GdkGeometry struct.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="geometry_widget">
<parameter_description> widget the geometry hints will be applied to or %NULL
</parameter_description>
</parameter>
<parameter name="geometry">
<parameter_description> struct containing geometry information or %NULL
</parameter_description>
</parameter>
<parameter name="geom_mask">
<parameter_description> mask indicating which struct fields should be paid attention to
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_gravity">
<description>
Window gravity defines the meaning of coordinates passed to
gtk_window_move(). See gtk_window_move() and #GdkGravity for
more details.

The default window gravity is #GDK_GRAVITY_NORTH_WEST which will
typically &quot;do what you mean.&quot;


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="gravity">
<parameter_description> window gravity
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_has_resize_grip">
<description>
Sets whether @window has a corner resize grip.

Note that the resize grip is only shown if the window
is actually resizable and not maximized. Use
gtk_window_resize_grip_is_visible() to find out if the
resize grip is currently shown.

Since: 3.0

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="value">
<parameter_description> %TRUE to allow a resize grip
</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.

Since: 3.0

</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_titlebar_when_maximized">
<description>
If @setting is %TRUE, then @window will request that it's titlebar
should be hidden when maximized.
This is useful for windows that don't convey any information other
than the application name in the titlebar, to put the available
screen space to better use. If the underlying window system does not
support the request, the setting will not have any effect.

Since: 3.4

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> whether to hide the titlebar when @window is maximized
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_icon">
<description>
Sets up the icon representing a #GtkWindow. This icon is used when
the window is minimized (also known as iconified).  Some window
managers or desktop environments may also place it in the window
frame, or display it in other contexts.

The icon should be provided in whatever size it was naturally
drawn; that is, don't scale the image before passing it to
GTK+. Scaling is postponed until the last minute, when the desired
final size is known, to allow best quality.

If you have your icon hand-drawn in multiple sizes, use
gtk_window_set_icon_list(). Then the best size will be used.

This function is equivalent to calling gtk_window_set_icon_list()
with a 1-element list.

See also gtk_window_set_default_icon_list() to set the icon
for all windows in your application in one go.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="icon">
<parameter_description> icon image, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_icon_from_file">
<description>
Sets the icon for @window.  
Warns on failure if @err is %NULL.

This function is equivalent to calling gtk_window_set_icon()
with a pixbuf created by loading the image from @filename.

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="filename">
<parameter_description> location of icon file
</parameter_description>
</parameter>
<parameter name="err">
<parameter_description> location to store error, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if setting the icon succeeded.

</return>
</function>

<function name="gtk_window_set_icon_list">
<description>
Sets up the icon representing a #GtkWindow. The icon is used when
the window is minimized (also known as iconified).  Some window
managers or desktop environments may also place it in the window
frame, or display it in other contexts.

gtk_window_set_icon_list() allows you to pass in the same icon in
several hand-drawn sizes. The list should contain the natural sizes
your icon is available in; that is, don't scale the image before
passing it to GTK+. Scaling is postponed until the last minute,
when the desired final size is known, to allow best quality.

By passing several sizes, you may improve the final image quality
of the icon, by reducing or eliminating automatic image scaling.

Recommended sizes to provide: 16x16, 32x32, 48x48 at minimum, and
larger images (64x64, 128x128) if you have them.

See also gtk_window_set_default_icon_list() to set the icon
for all windows in your application in one go.

Note that transient windows (those who have been set transient for another
window using gtk_window_set_transient_for()) will inherit their
icon from their transient parent. So there's no need to explicitly
set the icon on transient windows.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="list">
<parameter_description> list of #GdkPixbuf
</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.

Note that this has nothing to do with the WM_ICON_NAME 
property which is mentioned in the ICCCM.

Since: 2.6

</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_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 &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could not keep it above,
and not all window managers support keeping windows above. But
normally the window will end kept above. Just don'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 the above state via the &quot;window-state-event&quot; signal
on #GtkWidget.

Note that, according to the &lt;ulink 
url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&gt;Extended Window 
Manager Hints&lt;/ulink&gt; specification, the above state is mainly meant 
for user preferences and should not be used by applications e.g. for 
drawing attention to their dialogs.

Since: 2.4

</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 &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could not keep it below,
and not all window managers support putting windows below. But
normally the window will be kept below. Just don'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 the below state via the &quot;window-state-event&quot; signal
on #GtkWidget.

Note that, according to the &lt;ulink 
url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&gt;Extended Window 
Manager Hints&lt;/ulink&gt; specification, the above state is mainly meant 
for user preferences and should not be used by applications e.g. for 
drawing attention to their dialogs.

Since: 2.4

</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.

Since: 2.20

</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 &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window managers&lt;/link&gt;
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_opacity">
<description>
Request the windowing system to make @window partially transparent,
with opacity 0 being fully transparent and 1 fully opaque. (Values
of the opacity parameter are clamped to the [0,1] range.) On X11
this has any effect only on X screens with a compositing manager
running. See gtk_widget_is_composited(). On Windows it should work
always.

Note that setting a window's opacity after the window has been
shown causes it to flicker once on Windows.

Since: 2.12
Deprecated: 3.8: Use gtk_widget_set_opacity instead.

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="opacity">
<parameter_description> desired opacity, between 0 and 1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_position">
<description>
Sets a position constraint for this window. If the old or new
constraint is %GTK_WIN_POS_CENTER_ALWAYS, this will also cause
the window to be repositioned to satisfy the new constraint. 

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow.
</parameter_description>
</parameter>
<parameter name="position">
<parameter_description> a position constraint.
</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_role">
<description>
This function is only useful on X11, not with other GTK+ targets.

In combination with the window title, the window role allows a
&lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt; to identify &quot;the
same&quot; window when an application is restarted. So for example you
might set the &quot;toolbox&quot; role on your app's toolbox window, so that
when the user restarts their session, the window manager can put
the toolbox back in the same place.

If a window already has a unique title, you don't need to set the
role, since the WM can use the title to identify the window when
restoring the session.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="role">
<parameter_description> unique identifier for the window to be used when restoring a session
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_screen">
<description>
Sets the #GdkScreen where the @window is displayed; if
the window is already mapped, it will be unmapped, and
then remapped on the new screen.

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow.
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> a #GdkScreen.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_skip_pager_hint">
<description>
Windows may set a hint asking the desktop environment not to display
the window in the pager. This function sets this hint.
(A &quot;pager&quot; is any desktop navigation tool such as a workspace
switcher that displays a thumbnail representation of the windows
on the screen.)

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow 
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to keep this window from appearing in the pager
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_skip_taskbar_hint">
<description>
Windows may set a hint asking the desktop environment not to display
the window in the task bar. This function sets this hint.

Since: 2.2

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow 
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to keep this window from appearing in the task bar
</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 GdkWindow. Normally, startup identifier is managed 
automatically and you should only use this function in special cases
like transferring focus from other processes. You should use this
function before calling gtk_window_present() or any equivalent
function generating a window map event.

This function is only useful on X11, not with other GTK+ targets.

Since: 2.12

</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 &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
manager&lt;/link&gt;, so exactly how the title appears to users may vary
according to a user'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_transient_for">
<description>
Dialog windows should be set transient for the main application
window they were spawned from. This allows &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window managers&lt;/link&gt; to e.g. keep the
dialog on top of the main window, or center the dialog over the
main window. gtk_dialog_new_with_buttons() and other convenience
functions in GTK+ will sometimes call
gtk_window_set_transient_for() on your behalf.

Passing %NULL for @parent unsets the current transient window.

On Windows, this function puts the child window on top of the parent,
much as the window manager would have done on X.

</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_set_urgency_hint">
<description>
Windows may set a hint asking the desktop environment to draw
the users attention to the window. This function sets this hint.

Since: 2.8

</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow 
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> %TRUE to mark this window as urgent
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="gtk_window_set_wmclass">
<description>
Don't use this function. It sets the X Window System &quot;class&quot; and
&quot;name&quot; hints for a window.  According to the ICCCM, you should
always set these to the same value for all windows in an
application, and GTK+ sets them to that value by default, so calling
this function is sort of pointless. However, you may want to call
gtk_window_set_role() on each window in your application, for the
benefit of the session manager. Setting the role allows the window
manager to restore window positions when loading a saved session.


</description>
<parameters>
<parameter name="window">
<parameter_description> a #GtkWindow
</parameter_description>
</parameter>
<parameter name="wmclass_name">
<parameter_description> window name hint
</parameter_description>
</parameter>
<parameter name="wmclass_class">
<parameter_description> window class hint
</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 &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could unstick it
again, and some window managers do not support sticking
windows. But normally the window will end up stuck. Just don't
write code that crashes if not.

It's permitted to call this function before showing a window.

You can track stickiness via the &quot;window-state-event&quot; signal
on #GtkWidget.


</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 &lt;link
linkend=&quot;gtk-X11-arch&quot;&gt;window manager&lt;/link&gt;) could fullscreen it
again, and not all window managers honor requests to unfullscreen
windows. But normally the window will end up restored to its normal
state. Just don't write code that crashes if not.

You can track the fullscreen state via the &quot;window-state-event&quot; signal
on #GtkWidget.

Since: 2.2

</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 &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
manager&lt;/link&gt;) could maximize it again, and not all window
managers honor requests to unmaximize. But normally the window will
end up unmaximized. Just don't write code that crashes if not.

You can track maximization via the &quot;window-state-event&quot; signal
on #GtkWidget.


</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 &lt;link linkend=&quot;gtk-X11-arch&quot;&gt;window
manager&lt;/link&gt;) could stick it again. But normally the window will
end up stuck. Just don't write code that crashes if not.

You can track stickiness via the &quot;window-state-event&quot; signal
on #GtkWidget.


</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="safe_fclose">
<description>
Unix defaults for data preservation after system crash
are unspecified, and many systems will eat your data
in this situation unless you explicitly fsync().


</description>
<parameters>
<parameter name="f">
<parameter_description> A FILE* stream, must have underlying fd
</parameter_description>
</parameter>
</parameters>
<return> %TRUE on success, %FALSE on failure, and will set errno()
</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>
