1
<refentry id="GtkWidget">
3
<refentrytitle role="top_of_page">GtkWidget</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>GTK Library</refmiscinfo>
9
<refname>GtkWidget</refname>
10
<refpurpose>Base class for all widgets</refpurpose>
11
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
14
<refsynopsisdiv role="synopsis">
15
<title role="synopsis.title">Synopsis</title>
19
#include <gtk/gtk.h>
22
<link linkend="GtkWidget-struct">GtkWidget</link>;
23
<link linkend="GtkWidgetClass">GtkWidgetClass</link>;
24
enum <link linkend="GtkWidgetFlags">GtkWidgetFlags</link>;
25
#define <link linkend="GTK-WIDGET-TYPE:CAPS">GTK_WIDGET_TYPE</link> (wid)
26
#define <link linkend="GTK-WIDGET-STATE:CAPS">GTK_WIDGET_STATE</link> (wid)
27
#define <link linkend="GTK-WIDGET-SAVED-STATE:CAPS">GTK_WIDGET_SAVED_STATE</link> (wid)
28
#define <link linkend="GTK-WIDGET-FLAGS:CAPS">GTK_WIDGET_FLAGS</link> (wid)
29
#define <link linkend="GTK-WIDGET-TOPLEVEL:CAPS">GTK_WIDGET_TOPLEVEL</link> (wid)
30
#define <link linkend="GTK-WIDGET-NO-WINDOW:CAPS">GTK_WIDGET_NO_WINDOW</link> (wid)
31
#define <link linkend="GTK-WIDGET-REALIZED:CAPS">GTK_WIDGET_REALIZED</link> (wid)
32
#define <link linkend="GTK-WIDGET-MAPPED:CAPS">GTK_WIDGET_MAPPED</link> (wid)
33
#define <link linkend="GTK-WIDGET-VISIBLE:CAPS">GTK_WIDGET_VISIBLE</link> (wid)
34
#define <link linkend="GTK-WIDGET-DRAWABLE:CAPS">GTK_WIDGET_DRAWABLE</link> (wid)
35
#define <link linkend="GTK-WIDGET-SENSITIVE:CAPS">GTK_WIDGET_SENSITIVE</link> (wid)
36
#define <link linkend="GTK-WIDGET-PARENT-SENSITIVE:CAPS">GTK_WIDGET_PARENT_SENSITIVE</link> (wid)
37
#define <link linkend="GTK-WIDGET-IS-SENSITIVE:CAPS">GTK_WIDGET_IS_SENSITIVE</link> (wid)
38
#define <link linkend="GTK-WIDGET-CAN-FOCUS:CAPS">GTK_WIDGET_CAN_FOCUS</link> (wid)
39
#define <link linkend="GTK-WIDGET-HAS-FOCUS:CAPS">GTK_WIDGET_HAS_FOCUS</link> (wid)
40
#define <link linkend="GTK-WIDGET-CAN-DEFAULT:CAPS">GTK_WIDGET_CAN_DEFAULT</link> (wid)
41
#define <link linkend="GTK-WIDGET-RECEIVES-DEFAULT:CAPS">GTK_WIDGET_RECEIVES_DEFAULT</link> (wid)
42
#define <link linkend="GTK-WIDGET-HAS-DEFAULT:CAPS">GTK_WIDGET_HAS_DEFAULT</link> (wid)
43
#define <link linkend="GTK-WIDGET-HAS-GRAB:CAPS">GTK_WIDGET_HAS_GRAB</link> (wid)
44
#define <link linkend="GTK-WIDGET-RC-STYLE:CAPS">GTK_WIDGET_RC_STYLE</link> (wid)
45
#define <link linkend="GTK-WIDGET-COMPOSITE-CHILD:CAPS">GTK_WIDGET_COMPOSITE_CHILD</link> (wid)
46
#define <link linkend="GTK-WIDGET-APP-PAINTABLE:CAPS">GTK_WIDGET_APP_PAINTABLE</link> (wid)
47
#define <link linkend="GTK-WIDGET-DOUBLE-BUFFERED:CAPS">GTK_WIDGET_DOUBLE_BUFFERED</link> (wid)
48
#define <link linkend="GTK-WIDGET-SET-FLAGS:CAPS">GTK_WIDGET_SET_FLAGS</link> (wid,flag)
49
#define <link linkend="GTK-WIDGET-UNSET-FLAGS:CAPS">GTK_WIDGET_UNSET_FLAGS</link> (wid,flag)
50
<link linkend="void">void</link> (<link linkend="GtkCallback">*GtkCallback</link>) (<link linkend="GtkWidget">GtkWidget</link> *widget,
51
<link linkend="gpointer">gpointer</link> data);
52
<link linkend="GtkRequisition">GtkRequisition</link>;
53
struct <link linkend="GtkAllocation">GtkAllocation</link>;
54
<link linkend="GtkSelectionData">GtkSelectionData</link>;
55
<link linkend="GtkWidgetAuxInfo">GtkWidgetAuxInfo</link>;
56
<link linkend="GtkWidgetShapeInfo">GtkWidgetShapeInfo</link>;
57
enum <link linkend="GtkWidgetHelpType">GtkWidgetHelpType</link>;
58
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gtk-widget-new">gtk_widget_new</link> (<link linkend="GType">GType</link> type,
59
const <link linkend="gchar">gchar</link> *first_property_name,
61
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gtk-widget-ref">gtk_widget_ref</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
62
<link linkend="void">void</link> <link linkend="gtk-widget-unref">gtk_widget_unref</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
63
<link linkend="void">void</link> <link linkend="gtk-widget-destroy">gtk_widget_destroy</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
64
<link linkend="void">void</link> <link linkend="gtk-widget-destroyed">gtk_widget_destroyed</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
65
<link linkend="GtkWidget">GtkWidget</link> **widget_pointer);
66
<link linkend="void">void</link> <link linkend="gtk-widget-set">gtk_widget_set</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
67
const <link linkend="gchar">gchar</link> *first_property_name,
69
<link linkend="void">void</link> <link linkend="gtk-widget-unparent">gtk_widget_unparent</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
70
<link linkend="void">void</link> <link linkend="gtk-widget-show">gtk_widget_show</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
71
<link linkend="void">void</link> <link linkend="gtk-widget-show-now">gtk_widget_show_now</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
72
<link linkend="void">void</link> <link linkend="gtk-widget-hide">gtk_widget_hide</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
73
<link linkend="void">void</link> <link linkend="gtk-widget-show-all">gtk_widget_show_all</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
74
<link linkend="void">void</link> <link linkend="gtk-widget-hide-all">gtk_widget_hide_all</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
75
<link linkend="void">void</link> <link linkend="gtk-widget-map">gtk_widget_map</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
76
<link linkend="void">void</link> <link linkend="gtk-widget-unmap">gtk_widget_unmap</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
77
<link linkend="void">void</link> <link linkend="gtk-widget-realize">gtk_widget_realize</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
78
<link linkend="void">void</link> <link linkend="gtk-widget-unrealize">gtk_widget_unrealize</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
79
<link linkend="void">void</link> <link linkend="gtk-widget-queue-draw">gtk_widget_queue_draw</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
80
<link linkend="void">void</link> <link linkend="gtk-widget-queue-resize">gtk_widget_queue_resize</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
81
<link linkend="void">void</link> <link linkend="gtk-widget-queue-resize-no-redraw">gtk_widget_queue_resize_no_redraw</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
82
<link linkend="void">void</link> <link linkend="gtk-widget-draw">gtk_widget_draw</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
83
<link linkend="GdkRectangle">GdkRectangle</link> *area);
84
<link linkend="void">void</link> <link linkend="gtk-widget-size-request">gtk_widget_size_request</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
85
<link linkend="GtkRequisition">GtkRequisition</link> *requisition);
86
<link linkend="void">void</link> <link linkend="gtk-widget-get-child-requisition">gtk_widget_get_child_requisition</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
87
<link linkend="GtkRequisition">GtkRequisition</link> *requisition);
88
<link linkend="void">void</link> <link linkend="gtk-widget-size-allocate">gtk_widget_size_allocate</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
89
<link linkend="GtkAllocation">GtkAllocation</link> *allocation);
90
<link linkend="void">void</link> <link linkend="gtk-widget-add-accelerator">gtk_widget_add_accelerator</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
91
const <link linkend="gchar">gchar</link> *accel_signal,
92
<link linkend="GtkAccelGroup">GtkAccelGroup</link> *accel_group,
93
<link linkend="guint">guint</link> accel_key,
94
<link linkend="GdkModifierType">GdkModifierType</link> accel_mods,
95
<link linkend="GtkAccelFlags">GtkAccelFlags</link> accel_flags);
96
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-remove-accelerator">gtk_widget_remove_accelerator</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
97
<link linkend="GtkAccelGroup">GtkAccelGroup</link> *accel_group,
98
<link linkend="guint">guint</link> accel_key,
99
<link linkend="GdkModifierType">GdkModifierType</link> accel_mods);
100
<link linkend="void">void</link> <link linkend="gtk-widget-set-accel-path">gtk_widget_set_accel_path</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
101
const <link linkend="gchar">gchar</link> *accel_path,
102
<link linkend="GtkAccelGroup">GtkAccelGroup</link> *accel_group);
103
<link linkend="GList">GList</link>* <link linkend="gtk-widget-list-accel-closures">gtk_widget_list_accel_closures</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
104
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-can-activate-accel">gtk_widget_can_activate_accel</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
105
<link linkend="guint">guint</link> signal_id);
106
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-event">gtk_widget_event</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
107
<link linkend="GdkEvent">GdkEvent</link> *event);
108
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-activate">gtk_widget_activate</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
109
<link linkend="void">void</link> <link linkend="gtk-widget-reparent">gtk_widget_reparent</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
110
<link linkend="GtkWidget">GtkWidget</link> *new_parent);
111
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-intersect">gtk_widget_intersect</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
112
<link linkend="GdkRectangle">GdkRectangle</link> *area,
113
<link linkend="GdkRectangle">GdkRectangle</link> *intersection);
114
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-is-focus">gtk_widget_is_focus</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
115
<link linkend="void">void</link> <link linkend="gtk-widget-grab-focus">gtk_widget_grab_focus</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
116
<link linkend="void">void</link> <link linkend="gtk-widget-grab-default">gtk_widget_grab_default</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
117
<link linkend="void">void</link> <link linkend="gtk-widget-set-name">gtk_widget_set_name</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
118
const <link linkend="gchar">gchar</link> *name);
119
const <link linkend="gchar">gchar</link>* <link linkend="gtk-widget-get-name">gtk_widget_get_name</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
120
<link linkend="void">void</link> <link linkend="gtk-widget-set-state">gtk_widget_set_state</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
121
<link linkend="GtkStateType">GtkStateType</link> state);
122
<link linkend="void">void</link> <link linkend="gtk-widget-set-sensitive">gtk_widget_set_sensitive</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
123
<link linkend="gboolean">gboolean</link> sensitive);
124
<link linkend="void">void</link> <link linkend="gtk-widget-set-parent">gtk_widget_set_parent</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
125
<link linkend="GtkWidget">GtkWidget</link> *parent);
126
<link linkend="void">void</link> <link linkend="gtk-widget-set-parent-window">gtk_widget_set_parent_window</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
127
<link linkend="GdkWindow">GdkWindow</link> *parent_window);
128
<link linkend="GdkWindow">GdkWindow</link>* <link linkend="gtk-widget-get-parent-window">gtk_widget_get_parent_window</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
129
<link linkend="void">void</link> <link linkend="gtk-widget-set-uposition">gtk_widget_set_uposition</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
130
<link linkend="gint">gint</link> x,
131
<link linkend="gint">gint</link> y);
132
<link linkend="void">void</link> <link linkend="gtk-widget-set-usize">gtk_widget_set_usize</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
133
<link linkend="gint">gint</link> width,
134
<link linkend="gint">gint</link> height);
135
<link linkend="void">void</link> <link linkend="gtk-widget-set-events">gtk_widget_set_events</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
136
<link linkend="gint">gint</link> events);
137
<link linkend="void">void</link> <link linkend="gtk-widget-add-events">gtk_widget_add_events</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
138
<link linkend="gint">gint</link> events);
139
<link linkend="void">void</link> <link linkend="gtk-widget-set-extension-events">gtk_widget_set_extension_events</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
140
<link linkend="GdkExtensionMode">GdkExtensionMode</link> mode);
141
<link linkend="GdkExtensionMode">GdkExtensionMode</link> <link linkend="gtk-widget-get-extension-events">gtk_widget_get_extension_events</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
142
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gtk-widget-get-toplevel">gtk_widget_get_toplevel</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
143
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gtk-widget-get-ancestor">gtk_widget_get_ancestor</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
144
<link linkend="GType">GType</link> widget_type);
145
<link linkend="GdkColormap">GdkColormap</link>* <link linkend="gtk-widget-get-colormap">gtk_widget_get_colormap</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
146
<link linkend="void">void</link> <link linkend="gtk-widget-set-colormap">gtk_widget_set_colormap</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
147
<link linkend="GdkColormap">GdkColormap</link> *colormap);
148
<link linkend="GdkVisual">GdkVisual</link>* <link linkend="gtk-widget-get-visual">gtk_widget_get_visual</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
149
<link linkend="gint">gint</link> <link linkend="gtk-widget-get-events">gtk_widget_get_events</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
150
<link linkend="void">void</link> <link linkend="gtk-widget-get-pointer">gtk_widget_get_pointer</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
151
<link linkend="gint">gint</link> *x,
152
<link linkend="gint">gint</link> *y);
153
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-is-ancestor">gtk_widget_is_ancestor</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
154
<link linkend="GtkWidget">GtkWidget</link> *ancestor);
155
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-translate-coordinates">gtk_widget_translate_coordinates</link> (<link linkend="GtkWidget">GtkWidget</link> *src_widget,
156
<link linkend="GtkWidget">GtkWidget</link> *dest_widget,
157
<link linkend="gint">gint</link> src_x,
158
<link linkend="gint">gint</link> src_y,
159
<link linkend="gint">gint</link> *dest_x,
160
<link linkend="gint">gint</link> *dest_y);
161
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-hide-on-delete">gtk_widget_hide_on_delete</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
162
<link linkend="void">void</link> <link linkend="gtk-widget-set-style">gtk_widget_set_style</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
163
<link linkend="GtkStyle">GtkStyle</link> *style);
164
#define <link linkend="gtk-widget-set-rc-style">gtk_widget_set_rc_style</link> (widget)
165
<link linkend="void">void</link> <link linkend="gtk-widget-ensure-style">gtk_widget_ensure_style</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
166
<link linkend="GtkStyle">GtkStyle</link>* <link linkend="gtk-widget-get-style">gtk_widget_get_style</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
167
#define <link linkend="gtk-widget-restore-default-style">gtk_widget_restore_default_style</link> (widget)
168
<link linkend="void">void</link> <link linkend="gtk-widget-reset-rc-styles">gtk_widget_reset_rc_styles</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
169
<link linkend="void">void</link> <link linkend="gtk-widget-push-colormap">gtk_widget_push_colormap</link> (<link linkend="GdkColormap">GdkColormap</link> *cmap);
170
<link linkend="void">void</link> <link linkend="gtk-widget-pop-colormap">gtk_widget_pop_colormap</link> (void);
171
<link linkend="void">void</link> <link linkend="gtk-widget-set-default-colormap">gtk_widget_set_default_colormap</link> (<link linkend="GdkColormap">GdkColormap</link> *colormap);
172
<link linkend="GtkStyle">GtkStyle</link>* <link linkend="gtk-widget-get-default-style">gtk_widget_get_default_style</link> (void);
173
<link linkend="GdkColormap">GdkColormap</link>* <link linkend="gtk-widget-get-default-colormap">gtk_widget_get_default_colormap</link> (void);
174
<link linkend="GdkVisual">GdkVisual</link>* <link linkend="gtk-widget-get-default-visual">gtk_widget_get_default_visual</link> (void);
175
<link linkend="void">void</link> <link linkend="gtk-widget-set-direction">gtk_widget_set_direction</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
176
<link linkend="GtkTextDirection">GtkTextDirection</link> dir);
177
enum <link linkend="GtkTextDirection">GtkTextDirection</link>;
178
<link linkend="GtkTextDirection">GtkTextDirection</link> <link linkend="gtk-widget-get-direction">gtk_widget_get_direction</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
179
<link linkend="void">void</link> <link linkend="gtk-widget-set-default-direction">gtk_widget_set_default_direction</link> (<link linkend="GtkTextDirection">GtkTextDirection</link> dir);
180
<link linkend="GtkTextDirection">GtkTextDirection</link> <link linkend="gtk-widget-get-default-direction">gtk_widget_get_default_direction</link> (void);
181
<link linkend="void">void</link> <link linkend="gtk-widget-shape-combine-mask">gtk_widget_shape_combine_mask</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
182
<link linkend="GdkBitmap">GdkBitmap</link> *shape_mask,
183
<link linkend="gint">gint</link> offset_x,
184
<link linkend="gint">gint</link> offset_y);
185
<link linkend="void">void</link> <link linkend="gtk-widget-input-shape-combine-mask">gtk_widget_input_shape_combine_mask</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
186
<link linkend="GdkBitmap">GdkBitmap</link> *shape_mask,
187
<link linkend="gint">gint</link> offset_x,
188
<link linkend="gint">gint</link> offset_y);
189
<link linkend="void">void</link> <link linkend="gtk-widget-path">gtk_widget_path</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
190
<link linkend="guint">guint</link> *path_length,
191
<link linkend="gchar">gchar</link> **path,
192
<link linkend="gchar">gchar</link> **path_reversed);
193
<link linkend="void">void</link> <link linkend="gtk-widget-class-path">gtk_widget_class_path</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
194
<link linkend="guint">guint</link> *path_length,
195
<link linkend="gchar">gchar</link> **path,
196
<link linkend="gchar">gchar</link> **path_reversed);
197
<link linkend="gchar">gchar</link>* <link linkend="gtk-widget-get-composite-name">gtk_widget_get_composite_name</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
198
<link linkend="void">void</link> <link linkend="gtk-widget-modify-style">gtk_widget_modify_style</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
199
<link linkend="GtkRcStyle">GtkRcStyle</link> *style);
200
<link linkend="GtkRcStyle">GtkRcStyle</link>* <link linkend="gtk-widget-get-modifier-style">gtk_widget_get_modifier_style</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
201
<link linkend="void">void</link> <link linkend="gtk-widget-modify-fg">gtk_widget_modify_fg</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
202
<link linkend="GtkStateType">GtkStateType</link> state,
203
const <link linkend="GdkColor">GdkColor</link> *color);
204
<link linkend="void">void</link> <link linkend="gtk-widget-modify-bg">gtk_widget_modify_bg</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
205
<link linkend="GtkStateType">GtkStateType</link> state,
206
const <link linkend="GdkColor">GdkColor</link> *color);
207
<link linkend="void">void</link> <link linkend="gtk-widget-modify-text">gtk_widget_modify_text</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
208
<link linkend="GtkStateType">GtkStateType</link> state,
209
const <link linkend="GdkColor">GdkColor</link> *color);
210
<link linkend="void">void</link> <link linkend="gtk-widget-modify-base">gtk_widget_modify_base</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
211
<link linkend="GtkStateType">GtkStateType</link> state,
212
const <link linkend="GdkColor">GdkColor</link> *color);
213
<link linkend="void">void</link> <link linkend="gtk-widget-modify-font">gtk_widget_modify_font</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
214
<link linkend="PangoFontDescription">PangoFontDescription</link> *font_desc);
215
<link linkend="PangoContext">PangoContext</link>* <link linkend="gtk-widget-create-pango-context">gtk_widget_create_pango_context</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
216
<link linkend="PangoContext">PangoContext</link>* <link linkend="gtk-widget-get-pango-context">gtk_widget_get_pango_context</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
217
<link linkend="PangoLayout">PangoLayout</link>* <link linkend="gtk-widget-create-pango-layout">gtk_widget_create_pango_layout</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
218
const <link linkend="gchar">gchar</link> *text);
219
<link linkend="GdkPixbuf">GdkPixbuf</link>* <link linkend="gtk-widget-render-icon">gtk_widget_render_icon</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
220
const <link linkend="gchar">gchar</link> *stock_id,
221
<link linkend="GtkIconSize">GtkIconSize</link> size,
222
const <link linkend="gchar">gchar</link> *detail);
223
<link linkend="void">void</link> <link linkend="gtk-widget-pop-composite-child">gtk_widget_pop_composite_child</link> (void);
224
<link linkend="void">void</link> <link linkend="gtk-widget-push-composite-child">gtk_widget_push_composite_child</link> (void);
225
<link linkend="void">void</link> <link linkend="gtk-widget-queue-clear">gtk_widget_queue_clear</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
226
<link linkend="void">void</link> <link linkend="gtk-widget-queue-clear-area">gtk_widget_queue_clear_area</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
227
<link linkend="gint">gint</link> x,
228
<link linkend="gint">gint</link> y,
229
<link linkend="gint">gint</link> width,
230
<link linkend="gint">gint</link> height);
231
<link linkend="void">void</link> <link linkend="gtk-widget-queue-draw-area">gtk_widget_queue_draw_area</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
232
<link linkend="gint">gint</link> x,
233
<link linkend="gint">gint</link> y,
234
<link linkend="gint">gint</link> width,
235
<link linkend="gint">gint</link> height);
236
<link linkend="void">void</link> <link linkend="gtk-widget-reset-shapes">gtk_widget_reset_shapes</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
237
<link linkend="void">void</link> <link linkend="gtk-widget-set-app-paintable">gtk_widget_set_app_paintable</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
238
<link linkend="gboolean">gboolean</link> app_paintable);
239
<link linkend="void">void</link> <link linkend="gtk-widget-set-double-buffered">gtk_widget_set_double_buffered</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
240
<link linkend="gboolean">gboolean</link> double_buffered);
241
<link linkend="void">void</link> <link linkend="gtk-widget-set-redraw-on-allocate">gtk_widget_set_redraw_on_allocate</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
242
<link linkend="gboolean">gboolean</link> redraw_on_allocate);
243
<link linkend="void">void</link> <link linkend="gtk-widget-set-composite-name">gtk_widget_set_composite_name</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
244
const <link linkend="gchar">gchar</link> *name);
245
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-set-scroll-adjustments">gtk_widget_set_scroll_adjustments</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
246
<link linkend="GtkAdjustment">GtkAdjustment</link> *hadjustment,
247
<link linkend="GtkAdjustment">GtkAdjustment</link> *vadjustment);
248
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-mnemonic-activate">gtk_widget_mnemonic_activate</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
249
<link linkend="gboolean">gboolean</link> group_cycling);
250
<link linkend="void">void</link> <link linkend="gtk-widget-class-install-style-property">gtk_widget_class_install_style_property</link>
251
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
252
<link linkend="GParamSpec">GParamSpec</link> *pspec);
253
<link linkend="void">void</link> <link linkend="gtk-widget-class-install-style-property-parser">gtk_widget_class_install_style_property_parser</link>
254
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
255
<link linkend="GParamSpec">GParamSpec</link> *pspec,
256
<link linkend="GtkRcPropertyParser">GtkRcPropertyParser</link> parser);
257
<link linkend="GParamSpec">GParamSpec</link>* <link linkend="gtk-widget-class-find-style-property">gtk_widget_class_find_style_property</link>
258
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
259
const <link linkend="gchar">gchar</link> *property_name);
260
<link linkend="GParamSpec">GParamSpec</link>** <link linkend="gtk-widget-class-list-style-properties">gtk_widget_class_list_style_properties</link>
261
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
262
<link linkend="guint">guint</link> *n_properties);
263
<link linkend="GdkRegion">GdkRegion</link>* <link linkend="gtk-widget-region-intersect">gtk_widget_region_intersect</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
264
<link linkend="GdkRegion">GdkRegion</link> *region);
265
<link linkend="gint">gint</link> <link linkend="gtk-widget-send-expose">gtk_widget_send_expose</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
266
<link linkend="GdkEvent">GdkEvent</link> *event);
267
<link linkend="void">void</link> <link linkend="gtk-widget-style-get">gtk_widget_style_get</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
268
const <link linkend="gchar">gchar</link> *first_property_name,
270
<link linkend="void">void</link> <link linkend="gtk-widget-style-get-property">gtk_widget_style_get_property</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
271
const <link linkend="gchar">gchar</link> *property_name,
272
<link linkend="GValue">GValue</link> *value);
273
<link linkend="void">void</link> <link linkend="gtk-widget-style-get-valist">gtk_widget_style_get_valist</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
274
const <link linkend="gchar">gchar</link> *first_property_name,
275
<link linkend="va-list">va_list</link> var_args);
276
<link linkend="AtkObject">AtkObject</link>* <link linkend="gtk-widget-get-accessible">gtk_widget_get_accessible</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
277
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-child-focus">gtk_widget_child_focus</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
278
<link linkend="GtkDirectionType">GtkDirectionType</link> direction);
279
<link linkend="void">void</link> <link linkend="gtk-widget-child-notify">gtk_widget_child_notify</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
280
const <link linkend="gchar">gchar</link> *child_property);
281
<link linkend="void">void</link> <link linkend="gtk-widget-freeze-child-notify">gtk_widget_freeze_child_notify</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
282
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-get-child-visible">gtk_widget_get_child_visible</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
283
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gtk-widget-get-parent">gtk_widget_get_parent</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
284
<link linkend="GtkSettings">GtkSettings</link>* <link linkend="gtk-widget-get-settings">gtk_widget_get_settings</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
285
<link linkend="GtkClipboard">GtkClipboard</link>* <link linkend="gtk-widget-get-clipboard">gtk_widget_get_clipboard</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
286
<link linkend="GdkAtom">GdkAtom</link> selection);
287
<link linkend="GdkDisplay">GdkDisplay</link>* <link linkend="gtk-widget-get-display">gtk_widget_get_display</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
288
<link linkend="GdkWindow">GdkWindow</link>* <link linkend="gtk-widget-get-root-window">gtk_widget_get_root_window</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
289
<link linkend="GdkScreen">GdkScreen</link>* <link linkend="gtk-widget-get-screen">gtk_widget_get_screen</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
290
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-has-screen">gtk_widget_has_screen</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
291
<link linkend="void">void</link> <link linkend="gtk-widget-get-size-request">gtk_widget_get_size_request</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
292
<link linkend="gint">gint</link> *width,
293
<link linkend="gint">gint</link> *height);
294
#define <link linkend="gtk-widget-pop-visual">gtk_widget_pop_visual</link> ()
295
#define <link linkend="gtk-widget-push-visual">gtk_widget_push_visual</link> (visual)
296
<link linkend="void">void</link> <link linkend="gtk-widget-set-child-visible">gtk_widget_set_child_visible</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
297
<link linkend="gboolean">gboolean</link> is_visible);
298
#define <link linkend="gtk-widget-set-default-visual">gtk_widget_set_default_visual</link> (visual)
299
<link linkend="void">void</link> <link linkend="gtk-widget-set-size-request">gtk_widget_set_size_request</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
300
<link linkend="gint">gint</link> width,
301
<link linkend="gint">gint</link> height);
302
#define <link linkend="gtk-widget-set-visual">gtk_widget_set_visual</link> (widget,visual)
303
<link linkend="void">void</link> <link linkend="gtk-widget-thaw-child-notify">gtk_widget_thaw_child_notify</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
304
<link linkend="void">void</link> <link linkend="gtk-widget-set-no-show-all">gtk_widget_set_no_show_all</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
305
<link linkend="gboolean">gboolean</link> no_show_all);
306
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-get-no-show-all">gtk_widget_get_no_show_all</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
307
<link linkend="GList">GList</link>* <link linkend="gtk-widget-list-mnemonic-labels">gtk_widget_list_mnemonic_labels</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
308
<link linkend="void">void</link> <link linkend="gtk-widget-add-mnemonic-label">gtk_widget_add_mnemonic_label</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
309
<link linkend="GtkWidget">GtkWidget</link> *label);
310
<link linkend="void">void</link> <link linkend="gtk-widget-remove-mnemonic-label">gtk_widget_remove_mnemonic_label</link> (<link linkend="GtkWidget">GtkWidget</link> *widget,
311
<link linkend="GtkWidget">GtkWidget</link> *label);
312
<link linkend="GtkAction">GtkAction</link>* <link linkend="gtk-widget-get-action">gtk_widget_get_action</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
313
<link linkend="gboolean">gboolean</link> <link linkend="gtk-widget-is-composited">gtk_widget_is_composited</link> (<link linkend="GtkWidget">GtkWidget</link> *widget);
315
<link linkend="GtkRequisition">GtkRequisition</link>* <link linkend="gtk-requisition-copy">gtk_requisition_copy</link> (const <link linkend="GtkRequisition">GtkRequisition</link> *requisition);
316
<link linkend="void">void</link> <link linkend="gtk-requisition-free">gtk_requisition_free</link> (<link linkend="GtkRequisition">GtkRequisition</link> *requisition);
322
<refsect1 role="object_hierarchy">
323
<title role="object_hierarchy.title">Object Hierarchy</title>
326
<link linkend="GObject">GObject</link>
327
+----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
328
+----<link linkend="GtkObject">GtkObject</link>
330
+----<link linkend="GtkContainer">GtkContainer</link>
331
+----<link linkend="GtkMisc">GtkMisc</link>
332
+----<link linkend="GtkCalendar">GtkCalendar</link>
333
+----<link linkend="GtkCellView">GtkCellView</link>
334
+----<link linkend="GtkDrawingArea">GtkDrawingArea</link>
335
+----<link linkend="GtkEntry">GtkEntry</link>
336
+----<link linkend="GtkRuler">GtkRuler</link>
337
+----<link linkend="GtkRange">GtkRange</link>
338
+----<link linkend="GtkSeparator">GtkSeparator</link>
339
+----<link linkend="GtkInvisible">GtkInvisible</link>
340
+----<link linkend="GtkOldEditable">GtkOldEditable</link>
341
+----<link linkend="GtkPreview">GtkPreview</link>
342
+----<link linkend="GtkProgress">GtkProgress</link>
348
<refsect1 role="derived_interfaces">
349
<title role="derived_interfaces.title">Known Derived Interfaces</title>
351
GtkWidget is required by
352
<link linkend="GtkFileChooser">GtkFileChooser</link> and <link linkend="GtkCellEditable">GtkCellEditable</link>.</para>
356
<refsect1 role="impl_interfaces">
357
<title role="impl_interfaces.title">Implemented Interfaces</title>
360
<link linkend="AtkImplementorIface">AtkImplementorIface</link>.</para>
365
<refsect1 role="properties">
366
<title role="properties.title">Properties</title>
369
"<link linkend="GtkWidget--app-paintable">app-paintable</link>" <link linkend="gboolean">gboolean</link> : Read / Write
370
"<link linkend="GtkWidget--can-default">can-default</link>" <link linkend="gboolean">gboolean</link> : Read / Write
371
"<link linkend="GtkWidget--can-focus">can-focus</link>" <link linkend="gboolean">gboolean</link> : Read / Write
372
"<link linkend="GtkWidget--composite-child">composite-child</link>" <link linkend="gboolean">gboolean</link> : Read
373
"<link linkend="GtkWidget--events">events</link>" <link linkend="GdkEventMask">GdkEventMask</link> : Read / Write
374
"<link linkend="GtkWidget--extension-events">extension-events</link>" <link linkend="GdkExtensionMode">GdkExtensionMode</link> : Read / Write
375
"<link linkend="GtkWidget--has-default">has-default</link>" <link linkend="gboolean">gboolean</link> : Read / Write
376
"<link linkend="GtkWidget--has-focus">has-focus</link>" <link linkend="gboolean">gboolean</link> : Read / Write
377
"<link linkend="GtkWidget--height-request">height-request</link>" <link linkend="gint">gint</link> : Read / Write
378
"<link linkend="GtkWidget--is-focus">is-focus</link>" <link linkend="gboolean">gboolean</link> : Read / Write
379
"<link linkend="GtkWidget--name">name</link>" <link linkend="gchararray">gchararray</link> : Read / Write
380
"<link linkend="GtkWidget--no-show-all">no-show-all</link>" <link linkend="gboolean">gboolean</link> : Read / Write
381
"<link linkend="GtkWidget--parent">parent</link>" <link linkend="GtkContainer">GtkContainer</link> : Read / Write
382
"<link linkend="GtkWidget--receives-default">receives-default</link>" <link linkend="gboolean">gboolean</link> : Read / Write
383
"<link linkend="GtkWidget--sensitive">sensitive</link>" <link linkend="gboolean">gboolean</link> : Read / Write
384
"<link linkend="GtkWidget--style">style</link>" <link linkend="GtkStyle">GtkStyle</link> : Read / Write
385
"<link linkend="GtkWidget--visible">visible</link>" <link linkend="gboolean">gboolean</link> : Read / Write
386
"<link linkend="GtkWidget--width-request">width-request</link>" <link linkend="gint">gint</link> : Read / Write
389
<refsect1 role="style_properties">
390
<title role="style_properties.title">Style Properties</title>
393
"<link linkend="GtkWidget--cursor-aspect-ratio">cursor-aspect-ratio</link>" <link linkend="gfloat">gfloat</link> : Read
394
"<link linkend="GtkWidget--cursor-color">cursor-color</link>" <link linkend="GdkColor">GdkColor</link> : Read
395
"<link linkend="GtkWidget--draw-border">draw-border</link>" <link linkend="GtkBorder">GtkBorder</link> : Read
396
"<link linkend="GtkWidget--focus-line-pattern">focus-line-pattern</link>" <link linkend="gchararray">gchararray</link> : Read
397
"<link linkend="GtkWidget--focus-line-width">focus-line-width</link>" <link linkend="gint">gint</link> : Read
398
"<link linkend="GtkWidget--focus-padding">focus-padding</link>" <link linkend="gint">gint</link> : Read
399
"<link linkend="GtkWidget--interior-focus">interior-focus</link>" <link linkend="gboolean">gboolean</link> : Read
400
"<link linkend="GtkWidget--link-color">link-color</link>" <link linkend="GdkColor">GdkColor</link> : Read
401
"<link linkend="GtkWidget--scroll-arrow-hlength">scroll-arrow-hlength</link>" <link linkend="gint">gint</link> : Read
402
"<link linkend="GtkWidget--scroll-arrow-vlength">scroll-arrow-vlength</link>" <link linkend="gint">gint</link> : Read
403
"<link linkend="GtkWidget--secondary-cursor-color">secondary-cursor-color</link>" <link linkend="GdkColor">GdkColor</link> : Read
404
"<link linkend="GtkWidget--separator-height">separator-height</link>" <link linkend="gint">gint</link> : Read
405
"<link linkend="GtkWidget--separator-width">separator-width</link>" <link linkend="gint">gint</link> : Read
406
"<link linkend="GtkWidget--visited-link-color">visited-link-color</link>" <link linkend="GdkColor">GdkColor</link> : Read
407
"<link linkend="GtkWidget--wide-separators">wide-separators</link>" <link linkend="gboolean">gboolean</link> : Read
411
<refsect1 role="signal_proto">
412
<title role="signal_proto.title">Signals</title>
415
"<link linkend="GtkWidget-accel-closures-changed">accel-closures-changed</link>"
416
"<link linkend="GtkWidget-button-press-event">button-press-event</link>" : Run Last
417
"<link linkend="GtkWidget-button-release-event">button-release-event</link>" : Run Last
418
"<link linkend="GtkWidget-can-activate-accel">can-activate-accel</link>" : Run Last
419
"<link linkend="GtkWidget-child-notify">child-notify</link>" : Run First / No Recursion / Has Details / No Hooks
420
"<link linkend="GtkWidget-client-event">client-event</link>" : Run Last
421
"<link linkend="GtkWidget-composited-changed">composited-changed</link>" : Run Last / Action
422
"<link linkend="GtkWidget-configure-event">configure-event</link>" : Run Last
423
"<link linkend="GtkWidget-delete-event">delete-event</link>" : Run Last
424
"<link linkend="GtkWidget-destroy-event">destroy-event</link>" : Run Last
425
"<link linkend="GtkWidget-direction-changed">direction-changed</link>" : Run First
426
"<link linkend="GtkWidget-drag-begin">drag-begin</link>" : Run Last
427
"<link linkend="GtkWidget-drag-data-delete">drag-data-delete</link>" : Run Last
428
"<link linkend="GtkWidget-drag-data-get">drag-data-get</link>" : Run Last
429
"<link linkend="GtkWidget-drag-data-received">drag-data-received</link>" : Run Last
430
"<link linkend="GtkWidget-drag-drop">drag-drop</link>" : Run Last
431
"<link linkend="GtkWidget-drag-end">drag-end</link>" : Run Last
432
"<link linkend="GtkWidget-drag-leave">drag-leave</link>" : Run Last
433
"<link linkend="GtkWidget-drag-motion">drag-motion</link>" : Run Last
434
"<link linkend="GtkWidget-enter-notify-event">enter-notify-event</link>" : Run Last
435
"<link linkend="GtkWidget-event">event</link>" : Run Last
436
"<link linkend="GtkWidget-event-after">event-after</link>"
437
"<link linkend="GtkWidget-expose-event">expose-event</link>" : Run Last
438
"<link linkend="GtkWidget-focus">focus</link>" : Run Last
439
"<link linkend="GtkWidget-focus-in-event">focus-in-event</link>" : Run Last
440
"<link linkend="GtkWidget-focus-out-event">focus-out-event</link>" : Run Last
441
"<link linkend="GtkWidget-grab-broken-event">grab-broken-event</link>" : Run Last
442
"<link linkend="GtkWidget-grab-focus">grab-focus</link>" : Run Last / Action
443
"<link linkend="GtkWidget-grab-notify">grab-notify</link>" : Run First
444
"<link linkend="GtkWidget-hide">hide</link>" : Run First
445
"<link linkend="GtkWidget-hierarchy-changed">hierarchy-changed</link>" : Run Last
446
"<link linkend="GtkWidget-key-press-event">key-press-event</link>" : Run Last
447
"<link linkend="GtkWidget-key-release-event">key-release-event</link>" : Run Last
448
"<link linkend="GtkWidget-leave-notify-event">leave-notify-event</link>" : Run Last
449
"<link linkend="GtkWidget-map">map</link>" : Run First
450
"<link linkend="GtkWidget-map-event">map-event</link>" : Run Last
451
"<link linkend="GtkWidget-mnemonic-activate">mnemonic-activate</link>" : Run Last
452
"<link linkend="GtkWidget-motion-notify-event">motion-notify-event</link>" : Run Last
453
"<link linkend="GtkWidget-no-expose-event">no-expose-event</link>" : Run Last
454
"<link linkend="GtkWidget-parent-set">parent-set</link>" : Run First
455
"<link linkend="GtkWidget-popup-menu">popup-menu</link>" : Run Last / Action
456
"<link linkend="GtkWidget-property-notify-event">property-notify-event</link>" : Run Last
457
"<link linkend="GtkWidget-proximity-in-event">proximity-in-event</link>" : Run Last
458
"<link linkend="GtkWidget-proximity-out-event">proximity-out-event</link>" : Run Last
459
"<link linkend="GtkWidget-realize">realize</link>" : Run First
460
"<link linkend="GtkWidget-screen-changed">screen-changed</link>" : Run Last
461
"<link linkend="GtkWidget-scroll-event">scroll-event</link>" : Run Last
462
"<link linkend="GtkWidget-selection-clear-event">selection-clear-event</link>" : Run Last
463
"<link linkend="GtkWidget-selection-get">selection-get</link>" : Run Last
464
"<link linkend="GtkWidget-selection-notify-event">selection-notify-event</link>" : Run Last
465
"<link linkend="GtkWidget-selection-received">selection-received</link>" : Run Last
466
"<link linkend="GtkWidget-selection-request-event">selection-request-event</link>" : Run Last
467
"<link linkend="GtkWidget-show">show</link>" : Run First
468
"<link linkend="GtkWidget-show-help">show-help</link>" : Run Last / Action
469
"<link linkend="GtkWidget-size-allocate">size-allocate</link>" : Run First
470
"<link linkend="GtkWidget-size-request">size-request</link>" : Run First
471
"<link linkend="GtkWidget-state-changed">state-changed</link>" : Run First
472
"<link linkend="GtkWidget-style-set">style-set</link>" : Run First
473
"<link linkend="GtkWidget-unmap">unmap</link>" : Run First
474
"<link linkend="GtkWidget-unmap-event">unmap-event</link>" : Run Last
475
"<link linkend="GtkWidget-unrealize">unrealize</link>" : Run Last
476
"<link linkend="GtkWidget-visibility-notify-event">visibility-notify-event</link>" : Run Last
477
"<link linkend="GtkWidget-window-state-event">window-state-event</link>" : Run Last
482
<refsect1 role="desc">
483
<title role="desc.title">Description</title>
484
<para id="style-properties">
485
<structname>GtkWidget</structname> introduces <firstterm>style
486
properties</firstterm> - these are basically object properties that are stored
487
not on the object, but in the style object associated to the widget. Style
488
properties are set in <link linkend="gtk-Resource-Files">resource files</link>.
489
This mechanism is used for configuring such things as the location of the
490
scrollbar arrows through the theme, giving theme authors more control over the
491
look of applications without the need to write a theme engine in C.
494
Use <link linkend="gtk-widget-class-install-style-property"><function>gtk_widget_class_install_style_property()</function></link> to install style properties for
495
a widget class, <link linkend="gtk-widget-class-find-style-property"><function>gtk_widget_class_find_style_property()</function></link> or
496
<link linkend="gtk-widget-class-list-style-properties"><function>gtk_widget_class_list_style_properties()</function></link> to get information about existing
497
style properties and <link linkend="gtk-widget-style-get-property"><function>gtk_widget_style_get_property()</function></link>, <link linkend="gtk-widget-style-get"><function>gtk_widget_style_get()</function></link> or
498
<link linkend="gtk-widget-style-get-valist"><function>gtk_widget_style_get_valist()</function></link> to obtain the value of a style property.
502
<refsect1 role="details">
503
<title role="details.title">Details</title>
505
<title><anchor id="GtkWidget-struct" role="struct"/>GtkWidget</title>
506
<indexterm><primary>GtkWidget</primary></indexterm><programlisting>typedef struct {
507
/* The style for the widget. The style contains the
508
* colors the widget should be drawn in for each state
509
* along with graphics contexts used to draw with and
510
* the font to use for text.
514
/* The widget's desired size.
516
GtkRequisition requisition;
518
/* The widget's allocated size.
520
GtkAllocation allocation;
522
/* The widget's window or its parent window if it does
523
* not have a window. (Which will be indicated by the
524
* GTK_NO_WINDOW flag being set).
528
/* The widget's parent.
535
</para><variablelist role="struct">
537
<term><link linkend="GtkStyle">GtkStyle</link> *<structfield>style</structfield>;</term>
538
<listitem><simpara>The style for the widget. The style contains the colors the widget should be
539
drawn in for each state along with graphics contexts used to draw with and the font
541
</simpara></listitem>
544
<term><link linkend="GtkRequisition">GtkRequisition</link> <structfield>requisition</structfield>;</term>
545
<listitem><simpara>The widget's desired size.
546
</simpara></listitem>
549
<term><link linkend="GtkAllocation">GtkAllocation</link> <structfield>allocation</structfield>;</term>
550
<listitem><simpara>The widget's allocated size.
551
</simpara></listitem>
554
<term><link linkend="GdkWindow">GdkWindow</link> *<structfield>window</structfield>;</term>
555
<listitem><simpara>The widget's window or its parent window if it does not have a window. (Which
556
will be indicated by the <link linkend="GTK-NO-WINDOW:CAPS"><type>GTK_NO_WINDOW</type></link> flag being set).
557
</simpara></listitem>
560
<term><link linkend="GtkWidget">GtkWidget</link> *<structfield>parent</structfield>;</term>
563
</simpara></listitem>
565
</variablelist></refsect2>
567
<title><anchor id="GtkWidgetClass" role="struct"/>GtkWidgetClass</title>
568
<indexterm><primary>GtkWidgetClass</primary></indexterm><programlisting>typedef struct {
569
/* The object class structure needs to be the first
570
* element in the widget class structure in order for
571
* the class mechanism to work correctly. This allows a
572
* GtkWidgetClass pointer to be cast to a GtkObjectClass
575
GtkObjectClass parent_class;
578
guint activate_signal;
580
guint set_scroll_adjustments_signal;
584
<structfield>activate_signal</structfield>
585
The signal to emit when a widget of this class is activated,
586
<link linkend="gtk-widget-activate"><function>gtk_widget_activate()</function></link> handles the emission. Implementation of this
591
<structfield>set_scroll_adjustment_signal</structfield>
592
This signal is emitted when a widget of this class is added
593
to a scrolling aware parent, <link linkend="gtk-widget-set-scroll-adjustments"><function>gtk_widget_set_scroll_adjustments()</function></link>
594
handles the emission.
595
Implementation of this signal is optional.
598
<title><anchor id="GtkWidgetFlags" role="enum"/>enum GtkWidgetFlags</title>
599
<indexterm><primary>GtkWidgetFlags</primary></indexterm><programlisting>typedef enum
601
GTK_TOPLEVEL = 1 << 4,
602
GTK_NO_WINDOW = 1 << 5,
603
GTK_REALIZED = 1 << 6,
604
GTK_MAPPED = 1 << 7,
605
GTK_VISIBLE = 1 << 8,
606
GTK_SENSITIVE = 1 << 9,
607
GTK_PARENT_SENSITIVE = 1 << 10,
608
GTK_CAN_FOCUS = 1 << 11,
609
GTK_HAS_FOCUS = 1 << 12,
611
/* widget is allowed to receive the default via gtk_widget_grab_default
612
* and will reserve space to draw the default if possible
614
GTK_CAN_DEFAULT = 1 << 13,
616
/* the widget currently is receiving the default action and should be drawn
617
* appropriately if possible
619
GTK_HAS_DEFAULT = 1 << 14,
621
GTK_HAS_GRAB = 1 << 15,
622
GTK_RC_STYLE = 1 << 16,
623
GTK_COMPOSITE_CHILD = 1 << 17,
624
GTK_NO_REPARENT = 1 << 18,
625
GTK_APP_PAINTABLE = 1 << 19,
627
/* the widget when focused will receive the default action and have
628
* HAS_DEFAULT set even if there is a different widget set as default
630
GTK_RECEIVES_DEFAULT = 1 << 20,
632
GTK_DOUBLE_BUFFERED = 1 << 21,
633
GTK_NO_SHOW_ALL = 1 << 22
637
Tells about certain properties of the widget.
638
</para><variablelist role="enum">
640
<term><anchor id="GTK-TOPLEVEL:CAPS" role="constant"/><literal>GTK_TOPLEVEL</literal></term>
642
widgets without a real parent, as there are <link linkend="GtkWindow"><type>GtkWindow</type></link><!-- -->s and
643
<link linkend="GtkMenu"><type>GtkMenu</type></link><!-- -->s have this flag set throughout their lifetime.
644
Toplevel widgets always contain their own <link linkend="GdkWindow"><type>GdkWindow</type></link>.
645
</simpara></listitem>
648
<term><anchor id="GTK-NO-WINDOW:CAPS" role="constant"/><literal>GTK_NO_WINDOW</literal></term>
650
Indicative for a widget that does not provide its own <link linkend="GdkWindow"><type>GdkWindow</type></link>.
651
Visible action (e.g. drawing) is performed on the parent's <link linkend="GdkWindow"><type>GdkWindow</type></link>.
652
</simpara></listitem>
655
<term><anchor id="GTK-REALIZED:CAPS" role="constant"/><literal>GTK_REALIZED</literal></term>
657
Set by <link linkend="gtk-widget-realize"><function>gtk_widget_realize()</function></link>, unset by <link linkend="gtk-widget-unrealize"><function>gtk_widget_unrealize()</function></link>.
658
A realized widget has an associated <link linkend="GdkWindow"><type>GdkWindow</type></link>.
659
</simpara></listitem>
662
<term><anchor id="GTK-MAPPED:CAPS" role="constant"/><literal>GTK_MAPPED</literal></term>
664
Set by <link linkend="gtk-widget-map"><function>gtk_widget_map()</function></link>, unset by <link linkend="gtk-widget-unmap"><function>gtk_widget_unmap()</function></link>.
665
Only realized widgets can be mapped. It means that <link linkend="gdk-window-show"><function>gdk_window_show()</function></link>
666
has been called on the widgets window(s).
667
</simpara></listitem>
670
<term><anchor id="GTK-VISIBLE:CAPS" role="constant"/><literal>GTK_VISIBLE</literal></term>
672
Set by <link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link>, unset by <link linkend="gtk-widget-hide"><function>gtk_widget_hide()</function></link>. Implies that a
673
widget will be mapped as soon as its parent is mapped.
674
</simpara></listitem>
677
<term><anchor id="GTK-SENSITIVE:CAPS" role="constant"/><literal>GTK_SENSITIVE</literal></term>
679
Set and unset by <link linkend="gtk-widget-set-sensitive"><function>gtk_widget_set_sensitive()</function></link>.
680
The sensitivity of a widget determines whether it will receive
681
certain events (e.g. button or key presses). One premise for
682
the widget's sensitivity is to have this flag set.
683
</simpara></listitem>
686
<term><anchor id="GTK-PARENT-SENSITIVE:CAPS" role="constant"/><literal>GTK_PARENT_SENSITIVE</literal></term>
688
Set and unset by <link linkend="gtk-widget-set-sensitive"><function>gtk_widget_set_sensitive()</function></link> operations on the
689
parents of the widget.
690
This is the second premise for the widget's sensitivity. Once
691
it has <link linkend="GTK-SENSITIVE:CAPS"><literal>GTK_SENSITIVE</literal></link> and <link linkend="GTK-PARENT-SENSITIVE:CAPS"><literal>GTK_PARENT_SENSITIVE</literal></link> set, its state is
692
effectively sensitive. This is expressed (and can be examined) by
693
the <link linkend="GTK-WIDGET-IS-SENSITIVE:CAPS"><type>GTK_WIDGET_IS_SENSITIVE</type></link> macro.
694
</simpara></listitem>
697
<term><anchor id="GTK-CAN-FOCUS:CAPS" role="constant"/><literal>GTK_CAN_FOCUS</literal></term>
699
Determines whether a widget is able to handle focus grabs.
700
</simpara></listitem>
703
<term><anchor id="GTK-HAS-FOCUS:CAPS" role="constant"/><literal>GTK_HAS_FOCUS</literal></term>
705
Set by <link linkend="gtk-widget-grab-focus"><function>gtk_widget_grab_focus()</function></link> for widgets that also
706
have <link linkend="GTK-CAN-FOCUS:CAPS"><literal>GTK_CAN_FOCUS</literal></link> set. The flag will be unset once another widget
708
</simpara></listitem>
711
<term><anchor id="GTK-CAN-DEFAULT:CAPS" role="constant"/><literal>GTK_CAN_DEFAULT</literal></term>
713
The widget is allowed to receive the default action via
714
<link linkend="gtk-widget-grab-default"><function>gtk_widget_grab_default()</function></link>.
715
</simpara></listitem>
718
<term><anchor id="GTK-HAS-DEFAULT:CAPS" role="constant"/><literal>GTK_HAS_DEFAULT</literal></term>
720
The widget currently is receiving the default action.
721
</simpara></listitem>
724
<term><anchor id="GTK-HAS-GRAB:CAPS" role="constant"/><literal>GTK_HAS_GRAB</literal></term>
726
Set by <link linkend="gtk-grab-add"><function>gtk_grab_add()</function></link>, unset by <link linkend="gtk-grab-remove"><function>gtk_grab_remove()</function></link>. It means that the
727
widget is in the grab_widgets stack, and will be the preferred one for
728
receiving events other than ones of cosmetic value.
729
</simpara></listitem>
732
<term><anchor id="GTK-RC-STYLE:CAPS" role="constant"/><literal>GTK_RC_STYLE</literal></term>
734
Indicates that the widget's style has been looked up through the rc
735
mechanism. It does not imply that the widget actually had a style
736
defined through the rc mechanism.
737
</simpara></listitem>
740
<term><anchor id="GTK-COMPOSITE-CHILD:CAPS" role="constant"/><literal>GTK_COMPOSITE_CHILD</literal></term>
742
Indicates that the widget is a composite child of its parent; see
743
<link linkend="gtk-widget-push-composite-child"><function>gtk_widget_push_composite_child()</function></link>, <link linkend="gtk-widget-pop-composite-child"><function>gtk_widget_pop_composite_child()</function></link>.
744
</simpara></listitem>
747
<term><anchor id="GTK-NO-REPARENT:CAPS" role="constant"/><literal>GTK_NO_REPARENT</literal></term>
749
Unused since before GTK+ 1.2, will be removed in a future version.
750
</simpara></listitem>
753
<term><anchor id="GTK-APP-PAINTABLE:CAPS" role="constant"/><literal>GTK_APP_PAINTABLE</literal></term>
755
Set and unset by <link linkend="gtk-widget-set-app-paintable"><function>gtk_widget_set_app_paintable()</function></link>.
756
Must be set on widgets whose window the application directly draws on,
757
in order to keep GTK+ from overwriting the drawn stuff.
758
</simpara></listitem>
761
<term><anchor id="GTK-RECEIVES-DEFAULT:CAPS" role="constant"/><literal>GTK_RECEIVES_DEFAULT</literal></term>
763
The widget when focused will receive the default action and have
764
<link linkend="GTK-HAS-DEFAULT:CAPS"><literal>GTK_HAS_DEFAULT</literal></link> set even if there is a different widget set as default.
765
</simpara></listitem>
768
<term><anchor id="GTK-DOUBLE-BUFFERED:CAPS" role="constant"/><literal>GTK_DOUBLE_BUFFERED</literal></term>
770
Set and unset by <link linkend="gtk-widget-set-double-buffered"><function>gtk_widget_set_double_buffered()</function></link>.
771
Indicates that exposes done on the widget should be double-buffered.
772
</simpara></listitem>
775
<term><anchor id="GTK-NO-SHOW-ALL:CAPS" role="constant"/><literal>GTK_NO_SHOW_ALL</literal></term>
778
</simpara></listitem>
780
</variablelist></refsect2>
782
<title><anchor id="GTK-WIDGET-TYPE:CAPS" role="macro"/>GTK_WIDGET_TYPE()</title>
783
<indexterm><primary>GTK_WIDGET_TYPE</primary></indexterm><programlisting>#define GTK_WIDGET_TYPE(wid) (GTK_OBJECT_TYPE (wid))
786
Gets the type of a widget.
787
</para><variablelist role="params">
788
<varlistentry><term><parameter>wid</parameter> :</term>
789
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
792
</simpara></listitem></varlistentry>
793
</variablelist></refsect2>
795
<title><anchor id="GTK-WIDGET-STATE:CAPS" role="macro"/>GTK_WIDGET_STATE()</title>
796
<indexterm><primary>GTK_WIDGET_STATE</primary></indexterm><programlisting>#define GTK_WIDGET_STATE(wid) (GTK_WIDGET (wid)->state)
799
Returns the current state of the widget, as a <link linkend="GtkStateType"><type>GtkStateType</type></link>.
800
</para><variablelist role="params">
801
<varlistentry><term><parameter>wid</parameter> :</term>
802
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
805
</simpara></listitem></varlistentry>
806
</variablelist></refsect2>
808
<title><anchor id="GTK-WIDGET-SAVED-STATE:CAPS" role="macro"/>GTK_WIDGET_SAVED_STATE()</title>
809
<indexterm><primary>GTK_WIDGET_SAVED_STATE</primary></indexterm><programlisting>#define GTK_WIDGET_SAVED_STATE(wid) (GTK_WIDGET (wid)->saved_state)
812
Returns the saved state of the widget, as a <link linkend="GtkStateType"><type>GtkStateType</type></link>.
815
The saved state will be restored when a widget gets sensitive
816
again, after it has been made insensitive with <link linkend="gtk-widget-set-state"><function>gtk_widget_set_state()</function></link>
817
or <link linkend="gtk-widget-set-sensitive"><function>gtk_widget_set_sensitive()</function></link>.
818
</para><variablelist role="params">
819
<varlistentry><term><parameter>wid</parameter> :</term>
820
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
823
</simpara></listitem></varlistentry>
824
</variablelist></refsect2>
826
<title><anchor id="GTK-WIDGET-FLAGS:CAPS" role="macro"/>GTK_WIDGET_FLAGS()</title>
827
<indexterm><primary>GTK_WIDGET_FLAGS</primary></indexterm><programlisting>#define GTK_WIDGET_FLAGS(wid) (GTK_OBJECT_FLAGS (wid))
830
Returns the widget flags from <parameter>wid</parameter>.
831
</para><variablelist role="params">
832
<varlistentry><term><parameter>wid</parameter> :</term>
833
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
836
</simpara></listitem></varlistentry>
837
</variablelist></refsect2>
839
<title><anchor id="GTK-WIDGET-TOPLEVEL:CAPS" role="macro"/>GTK_WIDGET_TOPLEVEL()</title>
840
<indexterm><primary>GTK_WIDGET_TOPLEVEL</primary></indexterm><programlisting>#define GTK_WIDGET_TOPLEVEL(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_TOPLEVEL) != 0)
843
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is a toplevel widget.
844
</para><variablelist role="params">
845
<varlistentry><term><parameter>wid</parameter> :</term>
846
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
849
</simpara></listitem></varlistentry>
850
</variablelist></refsect2>
852
<title><anchor id="GTK-WIDGET-NO-WINDOW:CAPS" role="macro"/>GTK_WIDGET_NO_WINDOW()</title>
853
<indexterm><primary>GTK_WIDGET_NO_WINDOW</primary></indexterm><programlisting>#define GTK_WIDGET_NO_WINDOW(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_NO_WINDOW) != 0)
856
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget doesn't have an own <link linkend="GdkWindow"><type>GdkWindow</type></link>.
857
</para><variablelist role="params">
858
<varlistentry><term><parameter>wid</parameter> :</term>
859
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
862
</simpara></listitem></varlistentry>
863
</variablelist></refsect2>
865
<title><anchor id="GTK-WIDGET-REALIZED:CAPS" role="macro"/>GTK_WIDGET_REALIZED()</title>
866
<indexterm><primary>GTK_WIDGET_REALIZED</primary></indexterm><programlisting>#define GTK_WIDGET_REALIZED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_REALIZED) != 0)
869
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is realized.
870
</para><variablelist role="params">
871
<varlistentry><term><parameter>wid</parameter> :</term>
872
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
875
</simpara></listitem></varlistentry>
876
</variablelist></refsect2>
878
<title><anchor id="GTK-WIDGET-MAPPED:CAPS" role="macro"/>GTK_WIDGET_MAPPED()</title>
879
<indexterm><primary>GTK_WIDGET_MAPPED</primary></indexterm><programlisting>#define GTK_WIDGET_MAPPED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_MAPPED) != 0)
882
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is mapped.
883
</para><variablelist role="params">
884
<varlistentry><term><parameter>wid</parameter> :</term>
885
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
888
</simpara></listitem></varlistentry>
889
</variablelist></refsect2>
891
<title><anchor id="GTK-WIDGET-VISIBLE:CAPS" role="macro"/>GTK_WIDGET_VISIBLE()</title>
892
<indexterm><primary>GTK_WIDGET_VISIBLE</primary></indexterm><programlisting>#define GTK_WIDGET_VISIBLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_VISIBLE) != 0)
895
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is visible.
896
</para><variablelist role="params">
897
<varlistentry><term><parameter>wid</parameter> :</term>
898
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
901
</simpara></listitem></varlistentry>
902
</variablelist></refsect2>
904
<title><anchor id="GTK-WIDGET-DRAWABLE:CAPS" role="macro"/>GTK_WIDGET_DRAWABLE()</title>
905
<indexterm><primary>GTK_WIDGET_DRAWABLE</primary></indexterm><programlisting>#define GTK_WIDGET_DRAWABLE(wid) (GTK_WIDGET_VISIBLE (wid) && GTK_WIDGET_MAPPED (wid))
908
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is mapped and visible.
909
</para><variablelist role="params">
910
<varlistentry><term><parameter>wid</parameter> :</term>
911
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
914
</simpara></listitem></varlistentry>
915
</variablelist></refsect2>
917
<title><anchor id="GTK-WIDGET-SENSITIVE:CAPS" role="macro"/>GTK_WIDGET_SENSITIVE()</title>
918
<indexterm><primary>GTK_WIDGET_SENSITIVE</primary></indexterm><programlisting>#define GTK_WIDGET_SENSITIVE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_SENSITIVE) != 0)
921
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the <link linkend="GTK-SENSITIVE:CAPS"><type>GTK_SENSITIVE</type></link> flag has be set on the widget.
922
</para><variablelist role="params">
923
<varlistentry><term><parameter>wid</parameter> :</term>
924
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
927
</simpara></listitem></varlistentry>
928
</variablelist></refsect2>
930
<title><anchor id="GTK-WIDGET-PARENT-SENSITIVE:CAPS" role="macro"/>GTK_WIDGET_PARENT_SENSITIVE()</title>
931
<indexterm><primary>GTK_WIDGET_PARENT_SENSITIVE</primary></indexterm><programlisting>#define GTK_WIDGET_PARENT_SENSITIVE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_PARENT_SENSITIVE) != 0)
934
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the <link linkend="GTK-PARENT-SENSITIVE:CAPS"><type>GTK_PARENT_SENSITIVE</type></link> flag has be set on the widget.
935
</para><variablelist role="params">
936
<varlistentry><term><parameter>wid</parameter> :</term>
937
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
940
</simpara></listitem></varlistentry>
941
</variablelist></refsect2>
943
<title><anchor id="GTK-WIDGET-IS-SENSITIVE:CAPS" role="macro"/>GTK_WIDGET_IS_SENSITIVE()</title>
944
<indexterm><primary>GTK_WIDGET_IS_SENSITIVE</primary></indexterm><programlisting>#define GTK_WIDGET_IS_SENSITIVE(wid)</programlisting>
946
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is effectively sensitive.
947
</para><variablelist role="params">
948
<varlistentry><term><parameter>wid</parameter> :</term>
949
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
952
</simpara></listitem></varlistentry>
953
</variablelist></refsect2>
955
<title><anchor id="GTK-WIDGET-CAN-FOCUS:CAPS" role="macro"/>GTK_WIDGET_CAN_FOCUS()</title>
956
<indexterm><primary>GTK_WIDGET_CAN_FOCUS</primary></indexterm><programlisting>#define GTK_WIDGET_CAN_FOCUS(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_FOCUS) != 0)
959
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is able to handle focus grabs.
960
</para><variablelist role="params">
961
<varlistentry><term><parameter>wid</parameter> :</term>
962
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
965
</simpara></listitem></varlistentry>
966
</variablelist></refsect2>
968
<title><anchor id="GTK-WIDGET-HAS-FOCUS:CAPS" role="macro"/>GTK_WIDGET_HAS_FOCUS()</title>
969
<indexterm><primary>GTK_WIDGET_HAS_FOCUS</primary></indexterm><programlisting>#define GTK_WIDGET_HAS_FOCUS(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_FOCUS) != 0)
972
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget has grabbed the focus and no other
973
widget has done so more recently.
974
</para><variablelist role="params">
975
<varlistentry><term><parameter>wid</parameter> :</term>
976
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
979
</simpara></listitem></varlistentry>
980
</variablelist></refsect2>
982
<title><anchor id="GTK-WIDGET-CAN-DEFAULT:CAPS" role="macro"/>GTK_WIDGET_CAN_DEFAULT()</title>
983
<indexterm><primary>GTK_WIDGET_CAN_DEFAULT</primary></indexterm><programlisting>#define GTK_WIDGET_CAN_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_DEFAULT) != 0)
986
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is allowed to receive the default action
987
via <link linkend="gtk-widget-grab-default"><function>gtk_widget_grab_default()</function></link>.
988
</para><variablelist role="params">
989
<varlistentry><term><parameter>wid</parameter> :</term>
990
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
993
</simpara></listitem></varlistentry>
994
</variablelist></refsect2>
996
<title><anchor id="GTK-WIDGET-RECEIVES-DEFAULT:CAPS" role="macro"/>GTK_WIDGET_RECEIVES_DEFAULT()</title>
997
<indexterm><primary>GTK_WIDGET_RECEIVES_DEFAULT</primary></indexterm><programlisting>#define GTK_WIDGET_RECEIVES_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_RECEIVES_DEFAULT) != 0)
1000
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget when focused will receive the default action
1001
even if there is a different widget set as default.
1002
</para><variablelist role="params">
1003
<varlistentry><term><parameter>wid</parameter> :</term>
1004
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1007
</simpara></listitem></varlistentry>
1008
</variablelist></refsect2>
1010
<title><anchor id="GTK-WIDGET-HAS-DEFAULT:CAPS" role="macro"/>GTK_WIDGET_HAS_DEFAULT()</title>
1011
<indexterm><primary>GTK_WIDGET_HAS_DEFAULT</primary></indexterm><programlisting>#define GTK_WIDGET_HAS_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_DEFAULT) != 0)
1014
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget currently is receiving the default action.
1015
</para><variablelist role="params">
1016
<varlistentry><term><parameter>wid</parameter> :</term>
1017
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1020
</simpara></listitem></varlistentry>
1021
</variablelist></refsect2>
1023
<title><anchor id="GTK-WIDGET-HAS-GRAB:CAPS" role="macro"/>GTK_WIDGET_HAS_GRAB()</title>
1024
<indexterm><primary>GTK_WIDGET_HAS_GRAB</primary></indexterm><programlisting>#define GTK_WIDGET_HAS_GRAB(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_GRAB) != 0)
1027
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is in the grab_widgets stack, and will be
1028
the preferred one for receiving events other than ones of cosmetic value.
1029
</para><variablelist role="params">
1030
<varlistentry><term><parameter>wid</parameter> :</term>
1031
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1034
</simpara></listitem></varlistentry>
1035
</variablelist></refsect2>
1037
<title><anchor id="GTK-WIDGET-RC-STYLE:CAPS" role="macro"/>GTK_WIDGET_RC_STYLE()</title>
1038
<indexterm><primary>GTK_WIDGET_RC_STYLE</primary></indexterm><programlisting>#define GTK_WIDGET_RC_STYLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_RC_STYLE) != 0)
1041
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget's style has been looked up through the rc
1043
</para><variablelist role="params">
1044
<varlistentry><term><parameter>wid</parameter> :</term>
1045
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1048
</simpara></listitem></varlistentry>
1049
</variablelist></refsect2>
1051
<title><anchor id="GTK-WIDGET-COMPOSITE-CHILD:CAPS" role="macro"/>GTK_WIDGET_COMPOSITE_CHILD()</title>
1052
<indexterm><primary>GTK_WIDGET_COMPOSITE_CHILD</primary></indexterm><programlisting>#define GTK_WIDGET_COMPOSITE_CHILD(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_COMPOSITE_CHILD) != 0)
1055
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is a composite child of its parent.
1056
</para><variablelist role="params">
1057
<varlistentry><term><parameter>wid</parameter> :</term>
1058
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1061
</simpara></listitem></varlistentry>
1062
</variablelist></refsect2>
1064
<title><anchor id="GTK-WIDGET-APP-PAINTABLE:CAPS" role="macro"/>GTK_WIDGET_APP_PAINTABLE()</title>
1065
<indexterm><primary>GTK_WIDGET_APP_PAINTABLE</primary></indexterm><programlisting>#define GTK_WIDGET_APP_PAINTABLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_APP_PAINTABLE) != 0)
1068
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the <link linkend="GTK-APP-PAINTABLE:CAPS"><type>GTK_APP_PAINTABLE</type></link> flag has been set on the widget.
1069
</para><variablelist role="params">
1070
<varlistentry><term><parameter>wid</parameter> :</term>
1071
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1074
</simpara></listitem></varlistentry>
1075
</variablelist></refsect2>
1077
<title><anchor id="GTK-WIDGET-DOUBLE-BUFFERED:CAPS" role="macro"/>GTK_WIDGET_DOUBLE_BUFFERED()</title>
1078
<indexterm><primary>GTK_WIDGET_DOUBLE_BUFFERED</primary></indexterm><programlisting>#define GTK_WIDGET_DOUBLE_BUFFERED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_DOUBLE_BUFFERED) != 0)
1081
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the <link linkend="GTK-DOUBLE-BUFFERED:CAPS"><type>GTK_DOUBLE_BUFFERED</type></link> flag has been set on the widget.
1082
</para><variablelist role="params">
1083
<varlistentry><term><parameter>wid</parameter> :</term>
1084
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1087
</simpara></listitem></varlistentry>
1088
</variablelist></refsect2>
1090
<title><anchor id="GTK-WIDGET-SET-FLAGS:CAPS" role="macro"/>GTK_WIDGET_SET_FLAGS()</title>
1091
<indexterm><primary>GTK_WIDGET_SET_FLAGS</primary></indexterm><programlisting>#define GTK_WIDGET_SET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) |= (flag)); }G_STMT_END
1094
Turns on certain widget flags.
1095
</para><variablelist role="params">
1096
<varlistentry><term><parameter>wid</parameter> :</term>
1097
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1098
</simpara></listitem></varlistentry>
1099
<varlistentry><term><parameter>flag</parameter> :</term>
1100
<listitem><simpara>the flags to set.
1103
</simpara></listitem></varlistentry>
1104
</variablelist></refsect2>
1106
<title><anchor id="GTK-WIDGET-UNSET-FLAGS:CAPS" role="macro"/>GTK_WIDGET_UNSET_FLAGS()</title>
1107
<indexterm><primary>GTK_WIDGET_UNSET_FLAGS</primary></indexterm><programlisting>#define GTK_WIDGET_UNSET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) &= ~(flag)); }G_STMT_END
1110
Turns off certain widget flags.
1111
</para><variablelist role="params">
1112
<varlistentry><term><parameter>wid</parameter> :</term>
1113
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
1114
</simpara></listitem></varlistentry>
1115
<varlistentry><term><parameter>flag</parameter> :</term>
1116
<listitem><simpara>the flags to unset.
1119
</simpara></listitem></varlistentry>
1120
</variablelist></refsect2>
1122
<title><anchor id="GtkCallback" role="function"/>GtkCallback ()</title>
1123
<indexterm><primary>GtkCallback</primary></indexterm><programlisting><link linkend="void">void</link> (*GtkCallback) (<link linkend="GtkWidget">GtkWidget</link> *widget,
1124
<link linkend="gpointer">gpointer</link> data);</programlisting>
1126
The type of the callback functions used for e.g. iterating over
1127
the children of a container, see <link linkend="gtk-container-foreach"><function>gtk_container_foreach()</function></link>.
1128
</para><variablelist role="params">
1129
<varlistentry><term><parameter>widget</parameter> :</term>
1130
<listitem><simpara>the widget to operate on
1131
</simpara></listitem></varlistentry>
1132
<varlistentry><term><parameter>data</parameter> :</term>
1133
<listitem><simpara>user-supplied data
1136
</simpara></listitem></varlistentry>
1137
</variablelist></refsect2>
1139
<title><anchor id="GtkRequisition" role="struct"/>GtkRequisition</title>
1140
<indexterm><primary>GtkRequisition</primary></indexterm><programlisting>typedef struct {
1146
A <structname>GtkRequisition</structname> represents the desired size of a widget. See
1147
<xref linkend="size-requisition"/> for more information.
1148
</para><variablelist role="struct">
1150
<term><link linkend="gint">gint</link> <structfield>width</structfield>;</term>
1151
<listitem><simpara>the widget's desired width
1152
</simpara></listitem>
1155
<term><link linkend="gint">gint</link> <structfield>height</structfield>;</term>
1156
<listitem><simpara>the widget's desired height
1158
</simpara></listitem>
1160
</variablelist></refsect2>
1162
<title><anchor id="GtkAllocation" role="struct"/>struct GtkAllocation</title>
1163
<indexterm><primary>GtkAllocation</primary></indexterm><programlisting>struct GtkAllocation {
1171
A <structname>GtkAllocation</structname> of a widget represents region which has been allocated to the
1172
widget by its parent. It is a subregion of its parents allocation. See
1173
<xref linkend="size-allocation"/> for more information.
1174
</para><variablelist role="struct">
1176
<term><link linkend="gint">gint</link> <structfield>x</structfield>;</term>
1177
<listitem><simpara>the X position of the widget's area relative to its parents allocation.
1178
</simpara></listitem>
1181
<term><link linkend="gint">gint</link> <structfield>y</structfield>;</term>
1182
<listitem><simpara>the Y position of the widget's area relative to its parents allocation.
1183
</simpara></listitem>
1186
<term><link linkend="gint">gint</link> <structfield>width</structfield>;</term>
1187
<listitem><simpara>the width of the widget's allocated area.
1188
</simpara></listitem>
1191
<term><link linkend="gint">gint</link> <structfield>height</structfield>;</term>
1192
<listitem><simpara>the height of the widget's allocated area.
1194
</simpara></listitem>
1196
</variablelist></refsect2>
1198
<title><anchor id="GtkSelectionData" role="struct"/>GtkSelectionData</title>
1199
<indexterm><primary>GtkSelectionData</primary></indexterm><programlisting>typedef struct {
1206
GdkDisplay *display;
1213
<title><anchor id="GtkWidgetAuxInfo" role="struct"/>GtkWidgetAuxInfo</title>
1214
<indexterm><primary>GtkWidgetAuxInfo</primary></indexterm><programlisting>typedef struct {
1227
<title><anchor id="GtkWidgetShapeInfo" role="struct"/>GtkWidgetShapeInfo</title>
1228
<indexterm><primary>GtkWidgetShapeInfo</primary></indexterm><programlisting>typedef struct {
1231
GdkBitmap *shape_mask;
1232
} GtkWidgetShapeInfo;
1238
<title><anchor id="GtkWidgetHelpType" role="enum"/>enum GtkWidgetHelpType</title>
1239
<indexterm><primary>GtkWidgetHelpType</primary></indexterm><programlisting>typedef enum
1241
GTK_WIDGET_HELP_TOOLTIP,
1242
GTK_WIDGET_HELP_WHATS_THIS
1243
} GtkWidgetHelpType;
1249
<title><anchor id="gtk-widget-new" role="function"/>gtk_widget_new ()</title>
1250
<indexterm><primary>gtk_widget_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gtk_widget_new (<link linkend="GType">GType</link> type,
1251
const <link linkend="gchar">gchar</link> *first_property_name,
1252
...);</programlisting>
1254
This is a convenience function for creating a widget and setting
1255
its properties in one go. For example you might write:
1256
<literal>gtk_widget_new (GTK_TYPE_LABEL, "label", "Hello World", "xalign",
1257
0.0, NULL)</literal> to create a left-aligned label. Equivalent to
1258
<link linkend="g-object-new"><function>g_object_new()</function></link>, but returns a widget so you don't have to
1259
cast the object yourself.</para>
1262
</para><variablelist role="params">
1263
<varlistentry><term><parameter>type</parameter> :</term>
1264
<listitem><simpara> type ID of the widget to create
1265
</simpara></listitem></varlistentry>
1266
<varlistentry><term><parameter>first_property_name</parameter> :</term>
1267
<listitem><simpara> name of first property to set
1268
</simpara></listitem></varlistentry>
1269
<varlistentry><term><parameter>...</parameter> :</term>
1270
<listitem><simpara> value of first property, followed by more properties, <link linkend="NULL:CAPS"><literal>NULL</literal></link>-terminated
1271
</simpara></listitem></varlistentry>
1272
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GtkWidget"><type>GtkWidget</type></link> of type <parameter>widget_type</parameter>
1273
</simpara></listitem></varlistentry>
1274
</variablelist></refsect2>
1276
<title><anchor id="gtk-widget-ref" role="function"/>gtk_widget_ref ()</title>
1277
<indexterm><primary>gtk_widget_ref</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gtk_widget_ref (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1279
Adds a reference to a widget. This function is exactly the same
1280
as calling <link linkend="g-object-ref"><function>g_object_ref()</function></link>, and exists mostly for historical
1281
reasons. It can still be convenient to avoid casting a widget
1282
to a <link linkend="GObject"><type>GObject</type></link>, it saves a small amount of typing.</para>
1285
</para><variablelist role="params">
1286
<varlistentry><term><parameter>widget</parameter> :</term>
1287
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1288
</simpara></listitem></varlistentry>
1289
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the widget that was referenced
1290
</simpara></listitem></varlistentry>
1291
</variablelist></refsect2>
1293
<title><anchor id="gtk-widget-unref" role="function"/>gtk_widget_unref ()</title>
1294
<indexterm><primary>gtk_widget_unref</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_unref (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1296
Inverse of <link linkend="gtk-widget-ref"><function>gtk_widget_ref()</function></link>. Equivalent to <link linkend="g-object-unref"><function>g_object_unref()</function></link>.</para>
1299
</para><variablelist role="params">
1300
<varlistentry><term><parameter>widget</parameter> :</term>
1301
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1302
</simpara></listitem></varlistentry>
1303
</variablelist></refsect2>
1305
<title><anchor id="gtk-widget-destroy" role="function"/>gtk_widget_destroy ()</title>
1306
<indexterm><primary>gtk_widget_destroy</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_destroy (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1308
Destroys a widget. Equivalent to <link linkend="gtk-object-destroy"><function>gtk_object_destroy()</function></link>, except that
1309
you don't have to cast the widget to <link linkend="GtkObject"><type>GtkObject</type></link>. When a widget is
1310
destroyed, it will break any references it holds to other objects.
1311
If the widget is inside a container, the widget will be removed
1312
from the container. If the widget is a toplevel (derived from
1313
<link linkend="GtkWindow"><type>GtkWindow</type></link>), it will be removed from the list of toplevels, and the
1314
reference GTK+ holds to it will be removed. Removing a
1315
widget from its container or the list of toplevels results in the
1316
widget being finalized, unless you've added additional references
1317
to the widget with <link linkend="g-object-ref"><function>g_object_ref()</function></link>.
1320
In most cases, only toplevel widgets (windows) require explicit
1321
destruction, because when you destroy a toplevel its children will
1322
be destroyed as well.</para>
1325
</para><variablelist role="params">
1326
<varlistentry><term><parameter>widget</parameter> :</term>
1327
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1328
</simpara></listitem></varlistentry>
1329
</variablelist></refsect2>
1331
<title><anchor id="gtk-widget-destroyed" role="function"/>gtk_widget_destroyed ()</title>
1332
<indexterm><primary>gtk_widget_destroyed</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_destroyed (<link linkend="GtkWidget">GtkWidget</link> *widget,
1333
<link linkend="GtkWidget">GtkWidget</link> **widget_pointer);</programlisting>
1335
This function sets *<parameter>widget_pointer</parameter> to <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>widget_pointer</parameter> !=
1336
<link linkend="NULL:CAPS"><literal>NULL</literal></link>. It's intended to be used as a callback connected to the
1337
"destroy" signal of a widget. You connect <link linkend="gtk-widget-destroyed"><function>gtk_widget_destroyed()</function></link>
1338
as a signal handler, and pass the address of your widget variable
1339
as user data. Then when the widget is destroyed, the variable will
1340
be set to <link linkend="NULL:CAPS"><literal>NULL</literal></link>. Useful for example to avoid multiple copies
1341
of the same dialog.</para>
1344
</para><variablelist role="params">
1345
<varlistentry><term><parameter>widget</parameter> :</term>
1346
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1347
</simpara></listitem></varlistentry>
1348
<varlistentry><term><parameter>widget_pointer</parameter> :</term>
1349
<listitem><simpara> address of a variable that contains <parameter>widget</parameter>
1350
</simpara></listitem></varlistentry>
1351
</variablelist></refsect2>
1353
<title><anchor id="gtk-widget-set" role="function" condition="deprecated:"/>gtk_widget_set ()</title>
1354
<indexterm role="deprecated"><primary>gtk_widget_set</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set (<link linkend="GtkWidget">GtkWidget</link> *widget,
1355
const <link linkend="gchar">gchar</link> *first_property_name,
1356
...);</programlisting>
1357
<warning><para><literal>gtk_widget_set</literal> is deprecated and should not be used in newly-written code.</para></warning>
1359
Like <link linkend="g-object-set"><function>g_object_set()</function></link> - there's no reason to use this instead of
1360
<link linkend="g-object-set"><function>g_object_set()</function></link>.</para>
1363
</para><variablelist role="params">
1364
<varlistentry><term><parameter>widget</parameter> :</term>
1365
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1366
</simpara></listitem></varlistentry>
1367
<varlistentry><term><parameter>first_property_name</parameter> :</term>
1368
<listitem><simpara> name of first property to set
1369
</simpara></listitem></varlistentry>
1370
<varlistentry><term><parameter>...</parameter> :</term>
1371
<listitem><simpara> value of first property, followed by more properties, <link linkend="NULL:CAPS"><literal>NULL</literal></link>-terminated
1372
</simpara></listitem></varlistentry>
1373
</variablelist></refsect2>
1375
<title><anchor id="gtk-widget-unparent" role="function"/>gtk_widget_unparent ()</title>
1376
<indexterm><primary>gtk_widget_unparent</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_unparent (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1378
This function is only for use in widget implementations.
1379
Should be called by implementations of the remove method
1380
on <link linkend="GtkContainer"><type>GtkContainer</type></link>, to dissociate a child from the container.</para>
1383
</para><variablelist role="params">
1384
<varlistentry><term><parameter>widget</parameter> :</term>
1385
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1386
</simpara></listitem></varlistentry>
1387
</variablelist></refsect2>
1389
<title><anchor id="gtk-widget-show" role="function"/>gtk_widget_show ()</title>
1390
<indexterm><primary>gtk_widget_show</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_show (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1392
Flags a widget to be displayed. Any widget that isn't shown will
1393
not appear on the screen. If you want to show all the widgets in a
1394
container, it's easier to call <link linkend="gtk-widget-show-all"><function>gtk_widget_show_all()</function></link> on the
1395
container, instead of individually showing the widgets.
1398
Remember that you have to show the containers containing a widget,
1399
in addition to the widget itself, before it will appear onscreen.
1402
When a toplevel container is shown, it is immediately realized and
1403
mapped; other shown widgets are realized and mapped when their
1404
toplevel container is realized and mapped.</para>
1407
</para><variablelist role="params">
1408
<varlistentry><term><parameter>widget</parameter> :</term>
1409
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1410
</simpara></listitem></varlistentry>
1411
</variablelist></refsect2>
1413
<title><anchor id="gtk-widget-show-now" role="function"/>gtk_widget_show_now ()</title>
1414
<indexterm><primary>gtk_widget_show_now</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_show_now (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1416
Shows a widget. If the widget is an unmapped toplevel widget
1417
(i.e. a <link linkend="GtkWindow"><type>GtkWindow</type></link> that has not yet been shown), enter the main
1418
loop and wait for the window to actually be mapped. Be careful;
1419
because the main loop is running, anything can happen during
1420
this function.</para>
1423
</para><variablelist role="params">
1424
<varlistentry><term><parameter>widget</parameter> :</term>
1425
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1426
</simpara></listitem></varlistentry>
1427
</variablelist></refsect2>
1429
<title><anchor id="gtk-widget-hide" role="function"/>gtk_widget_hide ()</title>
1430
<indexterm><primary>gtk_widget_hide</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_hide (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1432
Reverses the effects of <link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link>, causing the widget to be
1433
hidden (invisible to the user).</para>
1436
</para><variablelist role="params">
1437
<varlistentry><term><parameter>widget</parameter> :</term>
1438
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1439
</simpara></listitem></varlistentry>
1440
</variablelist></refsect2>
1442
<title><anchor id="gtk-widget-show-all" role="function"/>gtk_widget_show_all ()</title>
1443
<indexterm><primary>gtk_widget_show_all</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_show_all (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1445
Recursively shows a widget, and any child widgets (if the widget is
1446
a container).</para>
1449
</para><variablelist role="params">
1450
<varlistentry><term><parameter>widget</parameter> :</term>
1451
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1452
</simpara></listitem></varlistentry>
1453
</variablelist></refsect2>
1455
<title><anchor id="gtk-widget-hide-all" role="function"/>gtk_widget_hide_all ()</title>
1456
<indexterm><primary>gtk_widget_hide_all</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_hide_all (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1458
Recursively hides a widget and any child widgets.</para>
1461
</para><variablelist role="params">
1462
<varlistentry><term><parameter>widget</parameter> :</term>
1463
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1464
</simpara></listitem></varlistentry>
1465
</variablelist></refsect2>
1467
<title><anchor id="gtk-widget-map" role="function"/>gtk_widget_map ()</title>
1468
<indexterm><primary>gtk_widget_map</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_map (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1470
This function is only for use in widget implementations. Causes
1471
a widget to be mapped if it isn't already.</para>
1474
</para><variablelist role="params">
1475
<varlistentry><term><parameter>widget</parameter> :</term>
1476
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1477
</simpara></listitem></varlistentry>
1478
</variablelist></refsect2>
1480
<title><anchor id="gtk-widget-unmap" role="function"/>gtk_widget_unmap ()</title>
1481
<indexterm><primary>gtk_widget_unmap</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_unmap (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1483
This function is only for use in widget implementations. Causes
1484
a widget to be unmapped if it's currently mapped.</para>
1487
</para><variablelist role="params">
1488
<varlistentry><term><parameter>widget</parameter> :</term>
1489
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1490
</simpara></listitem></varlistentry>
1491
</variablelist></refsect2>
1493
<title><anchor id="gtk-widget-realize" role="function"/>gtk_widget_realize ()</title>
1494
<indexterm><primary>gtk_widget_realize</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_realize (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1496
Creates the GDK (windowing system) resources associated with a
1497
widget. For example, <parameter>widget->window</parameter> will be created when a widget
1498
is realized. Normally realization happens implicitly; if you show
1499
a widget and all its parent containers, then the widget will be
1500
realized and mapped automatically.
1503
Realizing a widget requires all
1504
the widget's parent widgets to be realized; calling
1505
<link linkend="gtk-widget-realize"><function>gtk_widget_realize()</function></link> realizes the widget's parents in addition to
1506
<parameter>widget</parameter> itself. If a widget is not yet inside a toplevel window
1507
when you realize it, bad things will happen.
1510
This function is primarily used in widget implementations, and
1511
isn't very useful otherwise. Many times when you think you might
1512
need it, a better approach is to connect to a signal that will be
1513
called after the widget is realized automatically, such as
1514
"expose_event". Or simply <link linkend="g-signal-connect-after"><function>g_signal_connect_after()</function></link> to the
1515
"realize" signal.</para>
1518
</para><variablelist role="params">
1519
<varlistentry><term><parameter>widget</parameter> :</term>
1520
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1521
</simpara></listitem></varlistentry>
1522
</variablelist></refsect2>
1524
<title><anchor id="gtk-widget-unrealize" role="function"/>gtk_widget_unrealize ()</title>
1525
<indexterm><primary>gtk_widget_unrealize</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_unrealize (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1527
This function is only useful in widget implementations.
1528
Causes a widget to be unrealized (frees all GDK resources
1529
associated with the widget, such as <parameter>widget->window</parameter>).</para>
1532
</para><variablelist role="params">
1533
<varlistentry><term><parameter>widget</parameter> :</term>
1534
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1535
</simpara></listitem></varlistentry>
1536
</variablelist></refsect2>
1538
<title><anchor id="gtk-widget-queue-draw" role="function"/>gtk_widget_queue_draw ()</title>
1539
<indexterm><primary>gtk_widget_queue_draw</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_queue_draw (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1541
Equivalent to calling <link linkend="gtk-widget-queue-draw-area"><function>gtk_widget_queue_draw_area()</function></link> for the
1542
entire area of a widget.</para>
1545
</para><variablelist role="params">
1546
<varlistentry><term><parameter>widget</parameter> :</term>
1547
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1548
</simpara></listitem></varlistentry>
1549
</variablelist></refsect2>
1551
<title><anchor id="gtk-widget-queue-resize" role="function"/>gtk_widget_queue_resize ()</title>
1552
<indexterm><primary>gtk_widget_queue_resize</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_queue_resize (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1554
This function is only for use in widget implementations.
1555
Flags a widget to have its size renegotiated; should
1556
be called when a widget for some reason has a new size request.
1557
For example, when you change the text in a <link linkend="GtkLabel"><type>GtkLabel</type></link>, <link linkend="GtkLabel"><type>GtkLabel</type></link>
1558
queues a resize to ensure there's enough space for the new text.</para>
1561
</para><variablelist role="params">
1562
<varlistentry><term><parameter>widget</parameter> :</term>
1563
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1564
</simpara></listitem></varlistentry>
1565
</variablelist></refsect2>
1567
<title><anchor id="gtk-widget-queue-resize-no-redraw" role="function" condition="since:2.4"/>gtk_widget_queue_resize_no_redraw ()</title>
1568
<indexterm role="2.4"><primary>gtk_widget_queue_resize_no_redraw</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_queue_resize_no_redraw (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1570
This function works like <link linkend="gtk-widget-queue-resize"><function>gtk_widget_queue_resize()</function></link>, except that the
1571
widget is not invalidated.</para>
1574
</para><variablelist role="params">
1575
<varlistentry><term><parameter>widget</parameter> :</term>
1576
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1577
</simpara></listitem></varlistentry>
1578
</variablelist><para role="since">Since 2.4
1581
<title><anchor id="gtk-widget-draw" role="function" condition="deprecated:"/>gtk_widget_draw ()</title>
1582
<indexterm role="deprecated"><primary>gtk_widget_draw</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_draw (<link linkend="GtkWidget">GtkWidget</link> *widget,
1583
<link linkend="GdkRectangle">GdkRectangle</link> *area);</programlisting>
1584
<warning><para><literal>gtk_widget_draw</literal> is deprecated and should not be used in newly-written code.</para></warning>
1586
In GTK+ 1.2, this function would immediately render the
1587
region <parameter>area</parameter> of a widget, by invoking the virtual draw method of a
1588
widget. In GTK+ 2.0, the draw method is gone, and instead
1589
<link linkend="gtk-widget-draw"><function>gtk_widget_draw()</function></link> simply invalidates the specified region of the
1590
widget, then updates the invalid region of the widget immediately.
1591
Usually you don't want to update the region immediately for
1592
performance reasons, so in general <link linkend="gtk-widget-queue-draw-area"><function>gtk_widget_queue_draw_area()</function></link> is
1593
a better choice if you want to draw a region of a widget.</para>
1596
</para><variablelist role="params">
1597
<varlistentry><term><parameter>widget</parameter> :</term>
1598
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1599
</simpara></listitem></varlistentry>
1600
<varlistentry><term><parameter>area</parameter> :</term>
1601
<listitem><simpara> area to draw
1602
</simpara></listitem></varlistentry>
1603
</variablelist></refsect2>
1605
<title><anchor id="gtk-widget-size-request" role="function"/>gtk_widget_size_request ()</title>
1606
<indexterm><primary>gtk_widget_size_request</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_size_request (<link linkend="GtkWidget">GtkWidget</link> *widget,
1607
<link linkend="GtkRequisition">GtkRequisition</link> *requisition);</programlisting>
1609
This function is typically used when implementing a <link linkend="GtkContainer"><type>GtkContainer</type></link>
1610
subclass. Obtains the preferred size of a widget. The container
1611
uses this information to arrange its child widgets and decide what
1612
size allocations to give them with <link linkend="gtk-widget-size-allocate"><function>gtk_widget_size_allocate()</function></link>.
1615
You can also call this function from an application, with some
1616
caveats. Most notably, getting a size request requires the widget
1617
to be associated with a screen, because font information may be
1618
needed. Multihead-aware applications should keep this in mind.
1621
Also remember that the size request is not necessarily the size
1622
a widget will actually be allocated.
1625
See also <link linkend="gtk-widget-get-child-requisition"><function>gtk_widget_get_child_requisition()</function></link>.</para>
1628
</para><variablelist role="params">
1629
<varlistentry><term><parameter>widget</parameter> :</term>
1630
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1631
</simpara></listitem></varlistentry>
1632
<varlistentry><term><parameter>requisition</parameter> :</term>
1633
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link> to be filled in
1634
</simpara></listitem></varlistentry>
1635
</variablelist></refsect2>
1637
<title><anchor id="gtk-widget-get-child-requisition" role="function"/>gtk_widget_get_child_requisition ()</title>
1638
<indexterm><primary>gtk_widget_get_child_requisition</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_get_child_requisition (<link linkend="GtkWidget">GtkWidget</link> *widget,
1639
<link linkend="GtkRequisition">GtkRequisition</link> *requisition);</programlisting>
1641
This function is only for use in widget implementations. Obtains
1642
<parameter>widget->requisition</parameter>, unless someone has forced a particular
1643
geometry on the widget (e.g. with <link linkend="gtk-widget-set-usize"><function>gtk_widget_set_usize()</function></link>), in which
1644
case it returns that geometry instead of the widget's requisition.
1647
This function differs from <link linkend="gtk-widget-size-request"><function>gtk_widget_size_request()</function></link> in that
1648
it retrieves the last size request value from <parameter>widget->requisition</parameter>,
1649
while <link linkend="gtk-widget-size-request"><function>gtk_widget_size_request()</function></link> actually calls the "size_request" method
1650
on <parameter>widget</parameter> to compute the size request and fill in <parameter>widget->requisition</parameter>,
1651
and only then returns <parameter>widget->requisition</parameter>.
1654
Because this function does not call the "size_request" method, it
1655
can only be used when you know that <parameter>widget->requisition</parameter> is
1656
up-to-date, that is, <link linkend="gtk-widget-size-request"><function>gtk_widget_size_request()</function></link> has been called
1657
since the last time a resize was queued. In general, only container
1658
implementations have this information; applications should use
1659
<link linkend="gtk-widget-size-request"><function>gtk_widget_size_request()</function></link>.</para>
1662
</para><variablelist role="params">
1663
<varlistentry><term><parameter>widget</parameter> :</term>
1664
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1665
</simpara></listitem></varlistentry>
1666
<varlistentry><term><parameter>requisition</parameter> :</term>
1667
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link> to be filled in
1668
</simpara></listitem></varlistentry>
1669
</variablelist></refsect2>
1671
<title><anchor id="gtk-widget-size-allocate" role="function"/>gtk_widget_size_allocate ()</title>
1672
<indexterm><primary>gtk_widget_size_allocate</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_size_allocate (<link linkend="GtkWidget">GtkWidget</link> *widget,
1673
<link linkend="GtkAllocation">GtkAllocation</link> *allocation);</programlisting>
1675
This function is only used by <link linkend="GtkContainer"><type>GtkContainer</type></link> subclasses, to assign a size
1676
and position to their child widgets.</para>
1679
</para><variablelist role="params">
1680
<varlistentry><term><parameter>widget</parameter> :</term>
1681
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1682
</simpara></listitem></varlistentry>
1683
<varlistentry><term><parameter>allocation</parameter> :</term>
1684
<listitem><simpara> position and size to be allocated to <parameter>widget</parameter>
1685
</simpara></listitem></varlistentry>
1686
</variablelist></refsect2>
1688
<title><anchor id="gtk-widget-add-accelerator" role="function"/>gtk_widget_add_accelerator ()</title>
1689
<indexterm><primary>gtk_widget_add_accelerator</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_add_accelerator (<link linkend="GtkWidget">GtkWidget</link> *widget,
1690
const <link linkend="gchar">gchar</link> *accel_signal,
1691
<link linkend="GtkAccelGroup">GtkAccelGroup</link> *accel_group,
1692
<link linkend="guint">guint</link> accel_key,
1693
<link linkend="GdkModifierType">GdkModifierType</link> accel_mods,
1694
<link linkend="GtkAccelFlags">GtkAccelFlags</link> accel_flags);</programlisting>
1696
Installs an accelerator for this <parameter>widget</parameter> in <parameter>accel_group</parameter> that causes
1697
<parameter>accel_signal</parameter> to be emitted if the accelerator is activated.
1698
The <parameter>accel_group</parameter> needs to be added to the widget's toplevel via
1699
<link linkend="gtk-window-add-accel-group"><function>gtk_window_add_accel_group()</function></link>, and the signal must be of type <link linkend="G-RUN-ACTION:CAPS"><literal>G_RUN_ACTION</literal></link>.
1700
Accelerators added through this function are not user changeable during
1701
runtime. If you want to support accelerators that can be changed by the
1702
user, use <link linkend="gtk-accel-map-add-entry"><function>gtk_accel_map_add_entry()</function></link> and <link linkend="gtk-widget-set-accel-path"><function>gtk_widget_set_accel_path()</function></link> or
1703
<link linkend="gtk-menu-item-set-accel-path"><function>gtk_menu_item_set_accel_path()</function></link> instead.</para>
1706
</para><variablelist role="params">
1707
<varlistentry><term><parameter>widget</parameter> :</term>
1708
<listitem><simpara> widget to install an accelerator on
1709
</simpara></listitem></varlistentry>
1710
<varlistentry><term><parameter>accel_signal</parameter> :</term>
1711
<listitem><simpara> widget signal to emit on accelerator activation
1712
</simpara></listitem></varlistentry>
1713
<varlistentry><term><parameter>accel_group</parameter> :</term>
1714
<listitem><simpara> accel group for this widget, added to its toplevel
1715
</simpara></listitem></varlistentry>
1716
<varlistentry><term><parameter>accel_key</parameter> :</term>
1717
<listitem><simpara> GDK keyval of the accelerator
1718
</simpara></listitem></varlistentry>
1719
<varlistentry><term><parameter>accel_mods</parameter> :</term>
1720
<listitem><simpara> modifier key combination of the accelerator
1721
</simpara></listitem></varlistentry>
1722
<varlistentry><term><parameter>accel_flags</parameter> :</term>
1723
<listitem><simpara> flag accelerators, e.g. <link linkend="GTK-ACCEL-VISIBLE:CAPS"><literal>GTK_ACCEL_VISIBLE</literal></link>
1724
</simpara></listitem></varlistentry>
1725
</variablelist></refsect2>
1727
<title><anchor id="gtk-widget-remove-accelerator" role="function"/>gtk_widget_remove_accelerator ()</title>
1728
<indexterm><primary>gtk_widget_remove_accelerator</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_remove_accelerator (<link linkend="GtkWidget">GtkWidget</link> *widget,
1729
<link linkend="GtkAccelGroup">GtkAccelGroup</link> *accel_group,
1730
<link linkend="guint">guint</link> accel_key,
1731
<link linkend="GdkModifierType">GdkModifierType</link> accel_mods);</programlisting>
1733
Removes an accelerator from <parameter>widget</parameter>, previously installed with
1734
<link linkend="gtk-widget-add-accelerator"><function>gtk_widget_add_accelerator()</function></link>.</para>
1737
</para><variablelist role="params">
1738
<varlistentry><term><parameter>widget</parameter> :</term>
1739
<listitem><simpara> widget to install an accelerator on
1740
</simpara></listitem></varlistentry>
1741
<varlistentry><term><parameter>accel_group</parameter> :</term>
1742
<listitem><simpara> accel group for this widget
1743
</simpara></listitem></varlistentry>
1744
<varlistentry><term><parameter>accel_key</parameter> :</term>
1745
<listitem><simpara> GDK keyval of the accelerator
1746
</simpara></listitem></varlistentry>
1747
<varlistentry><term><parameter>accel_mods</parameter> :</term>
1748
<listitem><simpara> modifier key combination of the accelerator
1749
</simpara></listitem></varlistentry>
1750
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> whether an accelerator was installed and could be removed
1751
</simpara></listitem></varlistentry>
1752
</variablelist></refsect2>
1754
<title><anchor id="gtk-widget-set-accel-path" role="function"/>gtk_widget_set_accel_path ()</title>
1755
<indexterm><primary>gtk_widget_set_accel_path</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_accel_path (<link linkend="GtkWidget">GtkWidget</link> *widget,
1756
const <link linkend="gchar">gchar</link> *accel_path,
1757
<link linkend="GtkAccelGroup">GtkAccelGroup</link> *accel_group);</programlisting>
1759
Given an accelerator group, <parameter>accel_group</parameter>, and an accelerator path,
1760
<parameter>accel_path</parameter>, sets up an accelerator in <parameter>accel_group</parameter> so whenever the
1761
key binding that is defined for <parameter>accel_path</parameter> is pressed, <parameter>widget</parameter>
1762
will be activated. This removes any accelerators (for any
1763
accelerator group) installed by previous calls to
1764
<link linkend="gtk-widget-set-accel-path"><function>gtk_widget_set_accel_path()</function></link>. Associating accelerators with
1765
paths allows them to be modified by the user and the modifications
1766
to be saved for future use. (See <link linkend="gtk-accel-map-save"><function>gtk_accel_map_save()</function></link>.)
1769
This function is a low level function that would most likely
1770
be used by a menu creation system like <link linkend="GtkItemFactory"><type>GtkItemFactory</type></link>. If you
1771
use <link linkend="GtkItemFactory"><type>GtkItemFactory</type></link>, setting up accelerator paths will be done
1775
Even when you you aren't using <link linkend="GtkItemFactory"><type>GtkItemFactory</type></link>, if you only want to
1776
set up accelerators on menu items <link linkend="gtk-menu-item-set-accel-path"><function>gtk_menu_item_set_accel_path()</function></link>
1777
provides a somewhat more convenient interface.</para>
1780
</para><variablelist role="params">
1781
<varlistentry><term><parameter>widget</parameter> :</term>
1782
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1783
</simpara></listitem></varlistentry>
1784
<varlistentry><term><parameter>accel_path</parameter> :</term>
1785
<listitem><simpara> path used to look up the accelerator
1786
</simpara></listitem></varlistentry>
1787
<varlistentry><term><parameter>accel_group</parameter> :</term>
1788
<listitem><simpara> a <link linkend="GtkAccelGroup"><type>GtkAccelGroup</type></link>.
1789
</simpara></listitem></varlistentry>
1790
</variablelist></refsect2>
1792
<title><anchor id="gtk-widget-list-accel-closures" role="function"/>gtk_widget_list_accel_closures ()</title>
1793
<indexterm><primary>gtk_widget_list_accel_closures</primary></indexterm><programlisting><link linkend="GList">GList</link>* gtk_widget_list_accel_closures (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1795
Lists the closures used by <parameter>widget</parameter> for accelerator group connections
1796
with <link linkend="gtk-accel-group-connect-by-path"><function>gtk_accel_group_connect_by_path()</function></link> or <link linkend="gtk-accel-group-connect"><function>gtk_accel_group_connect()</function></link>.
1797
The closures can be used to monitor accelerator changes on <parameter>widget</parameter>,
1798
by connecting to the ::accel_changed signal of the <link linkend="GtkAccelGroup"><type>GtkAccelGroup</type></link> of a
1799
closure which can be found out with <link linkend="gtk-accel-group-from-accel-closure"><function>gtk_accel_group_from_accel_closure()</function></link>.</para>
1802
</para><variablelist role="params">
1803
<varlistentry><term><parameter>widget</parameter> :</term>
1804
<listitem><simpara> widget to list accelerator closures for
1805
</simpara></listitem></varlistentry>
1806
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly allocated <link linkend="GList"><type>GList</type></link> of closures
1807
</simpara></listitem></varlistentry>
1808
</variablelist></refsect2>
1810
<title><anchor id="gtk-widget-can-activate-accel" role="function" condition="since:2.4"/>gtk_widget_can_activate_accel ()</title>
1811
<indexterm role="2.4"><primary>gtk_widget_can_activate_accel</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_can_activate_accel (<link linkend="GtkWidget">GtkWidget</link> *widget,
1812
<link linkend="guint">guint</link> signal_id);</programlisting>
1814
Determines whether an accelerator that activates the signal
1815
identified by <parameter>signal_id</parameter> can currently be activated.
1816
This is done by emitting the GtkWidget::can-activate-accel
1817
signal on <parameter>widget</parameter>; if the signal isn't overridden by a
1818
handler or in a derived widget, then the default check is
1819
that the widget must be sensitive, and the widget and all
1820
its ancestors mapped.</para>
1823
</para><variablelist role="params">
1824
<varlistentry><term><parameter>widget</parameter> :</term>
1825
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1826
</simpara></listitem></varlistentry>
1827
<varlistentry><term><parameter>signal_id</parameter> :</term>
1828
<listitem><simpara> the ID of a signal installed on <parameter>widget</parameter>
1829
</simpara></listitem></varlistentry>
1830
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the accelerator can be activated.
1832
</simpara></listitem></varlistentry>
1833
</variablelist><para role="since">Since 2.4
1836
<title><anchor id="gtk-widget-event" role="function"/>gtk_widget_event ()</title>
1837
<indexterm><primary>gtk_widget_event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_event (<link linkend="GtkWidget">GtkWidget</link> *widget,
1838
<link linkend="GdkEvent">GdkEvent</link> *event);</programlisting>
1840
Rarely-used function. This function is used to emit
1841
the event signals on a widget (those signals should never
1842
be emitted without using this function to do so).
1843
If you want to synthesize an event though, don't use this function;
1844
instead, use <link linkend="gtk-main-do-event"><function>gtk_main_do_event()</function></link> so the event will behave as if
1845
it were in the event queue. Don't synthesize expose events; instead,
1846
use <link linkend="gdk-window-invalidate-rect"><function>gdk_window_invalidate_rect()</function></link> to invalidate a region of the
1850
</para><variablelist role="params">
1851
<varlistentry><term><parameter>widget</parameter> :</term>
1852
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1853
</simpara></listitem></varlistentry>
1854
<varlistentry><term><parameter>event</parameter> :</term>
1855
<listitem><simpara> a <link linkend="GdkEvent"><type>GdkEvent</type></link>
1856
</simpara></listitem></varlistentry>
1857
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> return from the event signal emission (<link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event was handled)
1858
</simpara></listitem></varlistentry>
1859
</variablelist></refsect2>
1861
<title><anchor id="gtk-widget-activate" role="function"/>gtk_widget_activate ()</title>
1862
<indexterm><primary>gtk_widget_activate</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_activate (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1864
For widgets that can be "activated" (buttons, menu items, etc.)
1865
this function activates them. Activation is what happens when you
1866
press Enter on a widget during key navigation. If <parameter>widget</parameter> isn't
1867
activatable, the function returns <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
1870
</para><variablelist role="params">
1871
<varlistentry><term><parameter>widget</parameter> :</term>
1872
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> that's activatable
1873
</simpara></listitem></varlistentry>
1874
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget was activatable
1875
</simpara></listitem></varlistentry>
1876
</variablelist></refsect2>
1878
<title><anchor id="gtk-widget-reparent" role="function"/>gtk_widget_reparent ()</title>
1879
<indexterm><primary>gtk_widget_reparent</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_reparent (<link linkend="GtkWidget">GtkWidget</link> *widget,
1880
<link linkend="GtkWidget">GtkWidget</link> *new_parent);</programlisting>
1882
Moves a widget from one <link linkend="GtkContainer"><type>GtkContainer</type></link> to another, handling reference
1883
count issues to avoid destroying the widget.</para>
1886
</para><variablelist role="params">
1887
<varlistentry><term><parameter>widget</parameter> :</term>
1888
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1889
</simpara></listitem></varlistentry>
1890
<varlistentry><term><parameter>new_parent</parameter> :</term>
1891
<listitem><simpara> a <link linkend="GtkContainer"><type>GtkContainer</type></link> to move the widget into
1892
</simpara></listitem></varlistentry>
1893
</variablelist></refsect2>
1895
<title><anchor id="gtk-widget-intersect" role="function"/>gtk_widget_intersect ()</title>
1896
<indexterm><primary>gtk_widget_intersect</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_intersect (<link linkend="GtkWidget">GtkWidget</link> *widget,
1897
<link linkend="GdkRectangle">GdkRectangle</link> *area,
1898
<link linkend="GdkRectangle">GdkRectangle</link> *intersection);</programlisting>
1900
Computes the intersection of a <parameter>widget</parameter>'s area and <parameter>area</parameter>, storing
1901
the intersection in <parameter>intersection</parameter>, and returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if there was
1902
an intersection. <parameter>intersection</parameter> may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if you're only
1903
interested in whether there was an intersection.</para>
1906
</para><variablelist role="params">
1907
<varlistentry><term><parameter>widget</parameter> :</term>
1908
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1909
</simpara></listitem></varlistentry>
1910
<varlistentry><term><parameter>area</parameter> :</term>
1911
<listitem><simpara> a rectangle
1912
</simpara></listitem></varlistentry>
1913
<varlistentry><term><parameter>intersection</parameter> :</term>
1914
<listitem><simpara> rectangle to store intersection of <parameter>widget</parameter> and <parameter>area</parameter>
1915
</simpara></listitem></varlistentry>
1916
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if there was an intersection
1917
</simpara></listitem></varlistentry>
1918
</variablelist></refsect2>
1920
<title><anchor id="gtk-widget-is-focus" role="function"/>gtk_widget_is_focus ()</title>
1921
<indexterm><primary>gtk_widget_is_focus</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_is_focus (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1923
Determines if the widget is the focus widget within its
1924
toplevel. (This does not mean that the <link linkend="HAS-FOCUS:CAPS"><literal>HAS_FOCUS</literal></link> flag is
1925
necessarily set; <link linkend="HAS-FOCUS:CAPS"><literal>HAS_FOCUS</literal></link> will only be set if the
1926
toplevel widget additionally has the global input focus.)</para>
1929
</para><variablelist role="params">
1930
<varlistentry><term><parameter>widget</parameter> :</term>
1931
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1932
</simpara></listitem></varlistentry>
1933
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is the focus widget.
1934
</simpara></listitem></varlistentry>
1935
</variablelist></refsect2>
1937
<title><anchor id="gtk-widget-grab-focus" role="function"/>gtk_widget_grab_focus ()</title>
1938
<indexterm><primary>gtk_widget_grab_focus</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_grab_focus (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1940
Causes <parameter>widget</parameter> to have the keyboard focus for the <link linkend="GtkWindow"><type>GtkWindow</type></link> it's
1941
inside. <parameter>widget</parameter> must be a focusable widget, such as a <link linkend="GtkEntry"><type>GtkEntry</type></link>;
1942
something like <link linkend="GtkFrame"><type>GtkFrame</type></link> won't work. (More precisely, it must have the
1943
<link linkend="GTK-CAN-FOCUS:CAPS"><literal>GTK_CAN_FOCUS</literal></link> flag set.)</para>
1946
</para><variablelist role="params">
1947
<varlistentry><term><parameter>widget</parameter> :</term>
1948
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1949
</simpara></listitem></varlistentry>
1950
</variablelist></refsect2>
1952
<title><anchor id="gtk-widget-grab-default" role="function"/>gtk_widget_grab_default ()</title>
1953
<indexterm><primary>gtk_widget_grab_default</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_grab_default (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1955
Causes <parameter>widget</parameter> to become the default widget. <parameter>widget</parameter> must have the
1956
<link linkend="GTK-CAN-DEFAULT:CAPS"><literal>GTK_CAN_DEFAULT</literal></link> flag set; typically you have to set this flag
1957
yourself by calling <literal>GTK_WIDGET_SET_FLAGS (<parameter>widget</parameter>,
1958
GTK_CAN_DEFAULT)</literal>. The default widget is activated when the user
1959
presses Enter in a window. Default widgets must be activatable,
1960
that is, <link linkend="gtk-widget-activate"><function>gtk_widget_activate()</function></link> should affect them.</para>
1963
</para><variablelist role="params">
1964
<varlistentry><term><parameter>widget</parameter> :</term>
1965
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1966
</simpara></listitem></varlistentry>
1967
</variablelist></refsect2>
1969
<title><anchor id="gtk-widget-set-name" role="function"/>gtk_widget_set_name ()</title>
1970
<indexterm><primary>gtk_widget_set_name</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_name (<link linkend="GtkWidget">GtkWidget</link> *widget,
1971
const <link linkend="gchar">gchar</link> *name);</programlisting>
1973
Widgets can be named, which allows you to refer to them from a
1974
gtkrc file. You can apply a style to widgets with a particular name
1975
in the gtkrc file. See the documentation for gtkrc files (on the
1976
same page as the docs for <link linkend="GtkRcStyle"><type>GtkRcStyle</type></link>).
1979
Note that widget names are separated by periods in paths (see
1980
<link linkend="gtk-widget-path"><function>gtk_widget_path()</function></link>), so names with embedded periods may cause confusion.</para>
1983
</para><variablelist role="params">
1984
<varlistentry><term><parameter>widget</parameter> :</term>
1985
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
1986
</simpara></listitem></varlistentry>
1987
<varlistentry><term><parameter>name</parameter> :</term>
1988
<listitem><simpara> name for the widget
1989
</simpara></listitem></varlistentry>
1990
</variablelist></refsect2>
1992
<title><anchor id="gtk-widget-get-name" role="function"/>gtk_widget_get_name ()</title>
1993
<indexterm><primary>gtk_widget_get_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>* gtk_widget_get_name (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
1995
Retrieves the name of a widget. See <link linkend="gtk-widget-set-name"><function>gtk_widget_set_name()</function></link> for the
1996
significance of widget names.</para>
1999
</para><variablelist role="params">
2000
<varlistentry><term><parameter>widget</parameter> :</term>
2001
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2002
</simpara></listitem></varlistentry>
2003
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> name of the widget. This string is owned by GTK+ and
2004
should not be modified or freed
2005
</simpara></listitem></varlistentry>
2006
</variablelist></refsect2>
2008
<title><anchor id="gtk-widget-set-state" role="function"/>gtk_widget_set_state ()</title>
2009
<indexterm><primary>gtk_widget_set_state</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_state (<link linkend="GtkWidget">GtkWidget</link> *widget,
2010
<link linkend="GtkStateType">GtkStateType</link> state);</programlisting>
2012
This function is for use in widget implementations. Sets the state
2013
of a widget (insensitive, prelighted, etc.) Usually you should set
2014
the state using wrapper functions such as <link linkend="gtk-widget-set-sensitive"><function>gtk_widget_set_sensitive()</function></link>.</para>
2017
</para><variablelist role="params">
2018
<varlistentry><term><parameter>widget</parameter> :</term>
2019
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2020
</simpara></listitem></varlistentry>
2021
<varlistentry><term><parameter>state</parameter> :</term>
2022
<listitem><simpara> new state for <parameter>widget</parameter>
2023
</simpara></listitem></varlistentry>
2024
</variablelist></refsect2>
2026
<title><anchor id="gtk-widget-set-sensitive" role="function"/>gtk_widget_set_sensitive ()</title>
2027
<indexterm><primary>gtk_widget_set_sensitive</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_sensitive (<link linkend="GtkWidget">GtkWidget</link> *widget,
2028
<link linkend="gboolean">gboolean</link> sensitive);</programlisting>
2030
Sets the sensitivity of a widget. A widget is sensitive if the user
2031
can interact with it. Insensitive widgets are "grayed out" and the
2032
user can't interact with them. Insensitive widgets are known as
2033
"inactive", "disabled", or "ghosted" in some other toolkits.</para>
2036
</para><variablelist role="params">
2037
<varlistentry><term><parameter>widget</parameter> :</term>
2038
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2039
</simpara></listitem></varlistentry>
2040
<varlistentry><term><parameter>sensitive</parameter> :</term>
2041
<listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to make the widget sensitive
2042
</simpara></listitem></varlistentry>
2043
</variablelist></refsect2>
2045
<title><anchor id="gtk-widget-set-parent" role="function"/>gtk_widget_set_parent ()</title>
2046
<indexterm><primary>gtk_widget_set_parent</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_parent (<link linkend="GtkWidget">GtkWidget</link> *widget,
2047
<link linkend="GtkWidget">GtkWidget</link> *parent);</programlisting>
2049
This function is useful only when implementing subclasses of <link linkend="GtkContainer"><type>GtkContainer</type></link>.
2050
Sets the container as the parent of <parameter>widget</parameter>, and takes care of
2051
some details such as updating the state and style of the child
2052
to reflect its new location. The opposite function is
2053
<link linkend="gtk-widget-unparent"><function>gtk_widget_unparent()</function></link>.</para>
2056
</para><variablelist role="params">
2057
<varlistentry><term><parameter>widget</parameter> :</term>
2058
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2059
</simpara></listitem></varlistentry>
2060
<varlistentry><term><parameter>parent</parameter> :</term>
2061
<listitem><simpara> parent container
2062
</simpara></listitem></varlistentry>
2063
</variablelist></refsect2>
2065
<title><anchor id="gtk-widget-set-parent-window" role="function"/>gtk_widget_set_parent_window ()</title>
2066
<indexterm><primary>gtk_widget_set_parent_window</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_parent_window (<link linkend="GtkWidget">GtkWidget</link> *widget,
2067
<link linkend="GdkWindow">GdkWindow</link> *parent_window);</programlisting>
2069
Sets a non default parent window for <parameter>widget</parameter>.</para>
2072
</para><variablelist role="params">
2073
<varlistentry><term><parameter>widget</parameter> :</term>
2074
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2075
</simpara></listitem></varlistentry>
2076
<varlistentry><term><parameter>parent_window</parameter> :</term>
2077
<listitem><simpara> the new parent window.
2078
</simpara></listitem></varlistentry>
2079
</variablelist></refsect2>
2081
<title><anchor id="gtk-widget-get-parent-window" role="function"/>gtk_widget_get_parent_window ()</title>
2082
<indexterm><primary>gtk_widget_get_parent_window</primary></indexterm><programlisting><link linkend="GdkWindow">GdkWindow</link>* gtk_widget_get_parent_window (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2084
Gets <parameter>widget</parameter>'s parent window.</para>
2087
</para><variablelist role="params">
2088
<varlistentry><term><parameter>widget</parameter> :</term>
2089
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2090
</simpara></listitem></varlistentry>
2091
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the parent window of <parameter>widget</parameter>.
2092
</simpara></listitem></varlistentry>
2093
</variablelist></refsect2>
2095
<title><anchor id="gtk-widget-set-uposition" role="function" condition="deprecated:"/>gtk_widget_set_uposition ()</title>
2096
<indexterm role="deprecated"><primary>gtk_widget_set_uposition</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_uposition (<link linkend="GtkWidget">GtkWidget</link> *widget,
2097
<link linkend="gint">gint</link> x,
2098
<link linkend="gint">gint</link> y);</programlisting>
2099
<warning><para><literal>gtk_widget_set_uposition</literal> is deprecated and should not be used in newly-written code.</para></warning>
2101
Sets the position of a widget. The funny "u" in the name comes from
2102
the "user position" hint specified by the X Window System, and
2103
exists for legacy reasons. This function doesn't work if a widget
2104
is inside a container; it's only really useful on <link linkend="GtkWindow"><type>GtkWindow</type></link>.
2107
Don't use this function to center dialogs over the main application
2108
window; most window managers will do the centering on your behalf
2109
if you call <link linkend="gtk-window-set-transient-for"><function>gtk_window_set_transient_for()</function></link>, and it's really not
2110
possible to get the centering to work correctly in all cases from
2111
application code. But if you insist, use <link linkend="gtk-window-set-position"><function>gtk_window_set_position()</function></link>
2112
to set <link linkend="GTK-WIN-POS-CENTER-ON-PARENT:CAPS"><type>GTK_WIN_POS_CENTER_ON_PARENT</type></link>, don't do the centering
2116
Note that although <parameter>x</parameter> and <parameter>y</parameter> can be individually unset, the position
2117
is not honoured unless both <parameter>x</parameter> and <parameter>y</parameter> are set.</para>
2120
</para><variablelist role="params">
2121
<varlistentry><term><parameter>widget</parameter> :</term>
2122
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2123
</simpara></listitem></varlistentry>
2124
<varlistentry><term><parameter>x</parameter> :</term>
2125
<listitem><simpara> x position; -1 to unset x; -2 to leave x unchanged
2126
</simpara></listitem></varlistentry>
2127
<varlistentry><term><parameter>y</parameter> :</term>
2128
<listitem><simpara> y position; -1 to unset y; -2 to leave y unchanged
2129
</simpara></listitem></varlistentry>
2130
</variablelist></refsect2>
2132
<title><anchor id="gtk-widget-set-usize" role="function" condition="deprecated:"/>gtk_widget_set_usize ()</title>
2133
<indexterm role="deprecated"><primary>gtk_widget_set_usize</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_usize (<link linkend="GtkWidget">GtkWidget</link> *widget,
2134
<link linkend="gint">gint</link> width,
2135
<link linkend="gint">gint</link> height);</programlisting>
2136
<warning><para><literal>gtk_widget_set_usize</literal> is deprecated and should not be used in newly-written code.</para></warning>
2138
Sets the minimum size of a widget; that is, the widget's size
2139
request will be <parameter>width</parameter> by <parameter>height</parameter>. You can use this function to
2140
force a widget to be either larger or smaller than it is. The
2141
strange "usize" name dates from the early days of GTK+, and derives
2142
from X Window System terminology. In many cases,
2143
<link linkend="gtk-window-set-default-size"><function>gtk_window_set_default_size()</function></link> is a better choice for toplevel
2144
windows than this function; setting the default size will still
2145
allow users to shrink the window. Setting the usize will force them
2146
to leave the window at least as large as the usize. When dealing
2147
with window sizes, <link linkend="gtk-window-set-geometry-hints"><function>gtk_window_set_geometry_hints()</function></link> can be a useful
2151
Note the inherent danger of setting any fixed size - themes,
2152
translations into other languages, different fonts, and user action
2153
can all change the appropriate size for a given widget. So, it's
2154
basically impossible to hardcode a size that will always be
2158
<parameter>Deprecated</parameter>: Use <link linkend="gtk-widget-set-size-request"><function>gtk_widget_set_size_request()</function></link> instead.</para>
2161
</para><variablelist role="params">
2162
<varlistentry><term><parameter>widget</parameter> :</term>
2163
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2164
</simpara></listitem></varlistentry>
2165
<varlistentry><term><parameter>width</parameter> :</term>
2166
<listitem><simpara> minimum width, or -1 to unset
2167
</simpara></listitem></varlistentry>
2168
<varlistentry><term><parameter>height</parameter> :</term>
2169
<listitem><simpara> minimum height, or -1 to unset
2170
</simpara></listitem></varlistentry>
2171
</variablelist></refsect2>
2173
<title><anchor id="gtk-widget-set-events" role="function"/>gtk_widget_set_events ()</title>
2174
<indexterm><primary>gtk_widget_set_events</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_events (<link linkend="GtkWidget">GtkWidget</link> *widget,
2175
<link linkend="gint">gint</link> events);</programlisting>
2177
Sets the event mask (see <link linkend="GdkEventMask"><type>GdkEventMask</type></link>) for a widget. The event
2178
mask determines which events a widget will receive. Keep in mind
2179
that different widgets have different default event masks, and by
2180
changing the event mask you may disrupt a widget's functionality,
2181
so be careful. This function must be called while a widget is
2182
unrealized. Consider <link linkend="gtk-widget-add-events"><function>gtk_widget_add_events()</function></link> for widgets that are
2183
already realized, or if you want to preserve the existing event
2184
mask. This function can't be used with <link linkend="GTK-NO-WINDOW:CAPS"><type>GTK_NO_WINDOW</type></link> widgets;
2185
to get events on those widgets, place them inside a <link linkend="GtkEventBox"><type>GtkEventBox</type></link>
2186
and receive events on the event box.</para>
2189
</para><variablelist role="params">
2190
<varlistentry><term><parameter>widget</parameter> :</term>
2191
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2192
</simpara></listitem></varlistentry>
2193
<varlistentry><term><parameter>events</parameter> :</term>
2194
<listitem><simpara> event mask
2195
</simpara></listitem></varlistentry>
2196
</variablelist></refsect2>
2198
<title><anchor id="gtk-widget-add-events" role="function"/>gtk_widget_add_events ()</title>
2199
<indexterm><primary>gtk_widget_add_events</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_add_events (<link linkend="GtkWidget">GtkWidget</link> *widget,
2200
<link linkend="gint">gint</link> events);</programlisting>
2202
Adds the events in the bitfield <parameter>events</parameter> to the event mask for
2203
<parameter>widget</parameter>. See <link linkend="gtk-widget-set-events"><function>gtk_widget_set_events()</function></link> for details.</para>
2206
</para><variablelist role="params">
2207
<varlistentry><term><parameter>widget</parameter> :</term>
2208
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2209
</simpara></listitem></varlistentry>
2210
<varlistentry><term><parameter>events</parameter> :</term>
2211
<listitem><simpara> an event mask, see <link linkend="GdkEventMask"><type>GdkEventMask</type></link>
2212
</simpara></listitem></varlistentry>
2213
</variablelist></refsect2>
2215
<title><anchor id="gtk-widget-set-extension-events" role="function"/>gtk_widget_set_extension_events ()</title>
2216
<indexterm><primary>gtk_widget_set_extension_events</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_extension_events (<link linkend="GtkWidget">GtkWidget</link> *widget,
2217
<link linkend="GdkExtensionMode">GdkExtensionMode</link> mode);</programlisting>
2219
Sets the extension events mask to <parameter>mode</parameter>. See <link linkend="GdkExtensionMode"><type>GdkExtensionMode</type></link>
2220
and <link linkend="gdk-input-set-extension-events"><function>gdk_input_set_extension_events()</function></link>.</para>
2223
</para><variablelist role="params">
2224
<varlistentry><term><parameter>widget</parameter> :</term>
2225
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2226
</simpara></listitem></varlistentry>
2227
<varlistentry><term><parameter>mode</parameter> :</term>
2228
<listitem><simpara> bitfield of extension events to receive
2229
</simpara></listitem></varlistentry>
2230
</variablelist></refsect2>
2232
<title><anchor id="gtk-widget-get-extension-events" role="function"/>gtk_widget_get_extension_events ()</title>
2233
<indexterm><primary>gtk_widget_get_extension_events</primary></indexterm><programlisting><link linkend="GdkExtensionMode">GdkExtensionMode</link> gtk_widget_get_extension_events (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2235
Retrieves the extension events the widget will receive; see
2236
<link linkend="gdk-input-set-extension-events"><function>gdk_input_set_extension_events()</function></link>.</para>
2239
</para><variablelist role="params">
2240
<varlistentry><term><parameter>widget</parameter> :</term>
2241
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2242
</simpara></listitem></varlistentry>
2243
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> extension events for <parameter>widget</parameter>
2244
</simpara></listitem></varlistentry>
2245
</variablelist></refsect2>
2247
<title><anchor id="gtk-widget-get-toplevel" role="function"/>gtk_widget_get_toplevel ()</title>
2248
<indexterm><primary>gtk_widget_get_toplevel</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gtk_widget_get_toplevel (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2250
This function returns the topmost widget in the container hierarchy
2251
<parameter>widget</parameter> is a part of. If <parameter>widget</parameter> has no parent widgets, it will be
2252
returned as the topmost widget. No reference will be added to the
2253
returned widget; it should not be unreferenced.
2256
Note the difference in behavior vs. <link linkend="gtk-widget-get-ancestor"><function>gtk_widget_get_ancestor()</function></link>;
2257
<literal>gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)</literal>
2259
<link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>widget</parameter> wasn't inside a toplevel window, and if the
2260
window was inside a <link linkend="GtkWindow-derived"><type>GtkWindow-derived</type></link> widget which was in turn
2261
inside the toplevel <link linkend="GtkWindow"><type>GtkWindow</type></link>. While the second case may
2262
seem unlikely, it actually happens when a <link linkend="GtkPlug"><type>GtkPlug</type></link> is embedded
2263
inside a <link linkend="GtkSocket"><type>GtkSocket</type></link> within the same application.
2266
To reliably find the toplevel <link linkend="GtkWindow"><type>GtkWindow</type></link>, use
2267
<link linkend="gtk-widget-get-toplevel"><function>gtk_widget_get_toplevel()</function></link> and check if the <link linkend="TOPLEVEL:CAPS"><literal>TOPLEVEL</literal></link> flags
2268
is set on the result.
2269
<informalexample><programlisting>
2270
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
2271
if (GTK_WIDGET_TOPLEVEL (toplevel))
2273
[ Perform action on toplevel. ]
2275
</programlisting></informalexample></para>
2278
</para><variablelist role="params">
2279
<varlistentry><term><parameter>widget</parameter> :</term>
2280
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2281
</simpara></listitem></varlistentry>
2282
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the topmost ancestor of <parameter>widget</parameter>, or <parameter>widget</parameter> itself if there's no ancestor.
2283
</simpara></listitem></varlistentry>
2284
</variablelist></refsect2>
2286
<title><anchor id="gtk-widget-get-ancestor" role="function"/>gtk_widget_get_ancestor ()</title>
2287
<indexterm><primary>gtk_widget_get_ancestor</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gtk_widget_get_ancestor (<link linkend="GtkWidget">GtkWidget</link> *widget,
2288
<link linkend="GType">GType</link> widget_type);</programlisting>
2290
Gets the first ancestor of <parameter>widget</parameter> with type <parameter>widget_type</parameter>. For example,
2291
<literal>gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</literal> gets the
2292
first <link linkend="GtkBox"><type>GtkBox</type></link> that's
2293
an ancestor of <parameter>widget</parameter>. No reference will be added to the returned widget;
2294
it should not be unreferenced. See note about checking for a toplevel
2295
<link linkend="GtkWindow"><type>GtkWindow</type></link> in the docs for <link linkend="gtk-widget-get-toplevel"><function>gtk_widget_get_toplevel()</function></link>.
2298
Note that unlike <link linkend="gtk-widget-is-ancestor"><function>gtk_widget_is_ancestor()</function></link>, <link linkend="gtk-widget-get-ancestor"><function>gtk_widget_get_ancestor()</function></link>
2299
considers <parameter>widget</parameter> to be an ancestor of itself.</para>
2302
</para><variablelist role="params">
2303
<varlistentry><term><parameter>widget</parameter> :</term>
2304
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2305
</simpara></listitem></varlistentry>
2306
<varlistentry><term><parameter>widget_type</parameter> :</term>
2307
<listitem><simpara> ancestor type
2308
</simpara></listitem></varlistentry>
2309
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the ancestor widget, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if not found
2310
</simpara></listitem></varlistentry>
2311
</variablelist></refsect2>
2313
<title><anchor id="gtk-widget-get-colormap" role="function"/>gtk_widget_get_colormap ()</title>
2314
<indexterm><primary>gtk_widget_get_colormap</primary></indexterm><programlisting><link linkend="GdkColormap">GdkColormap</link>* gtk_widget_get_colormap (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2316
Gets the colormap that will be used to render <parameter>widget</parameter>. No reference will
2317
be added to the returned colormap; it should not be unreferenced.</para>
2320
</para><variablelist role="params">
2321
<varlistentry><term><parameter>widget</parameter> :</term>
2322
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2323
</simpara></listitem></varlistentry>
2324
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the colormap used by <parameter>widget</parameter>
2325
</simpara></listitem></varlistentry>
2326
</variablelist></refsect2>
2328
<title><anchor id="gtk-widget-set-colormap" role="function"/>gtk_widget_set_colormap ()</title>
2329
<indexterm><primary>gtk_widget_set_colormap</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_colormap (<link linkend="GtkWidget">GtkWidget</link> *widget,
2330
<link linkend="GdkColormap">GdkColormap</link> *colormap);</programlisting>
2332
Sets the colormap for the widget to the given value. Widget must not
2333
have been previously realized. This probably should only be used
2334
from an <function><link linkend="init"><function>init()</function></link></function> function (i.e. from the constructor
2335
for the widget).</para>
2338
</para><variablelist role="params">
2339
<varlistentry><term><parameter>widget</parameter> :</term>
2340
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2341
</simpara></listitem></varlistentry>
2342
<varlistentry><term><parameter>colormap</parameter> :</term>
2343
<listitem><simpara> a colormap
2344
</simpara></listitem></varlistentry>
2345
</variablelist></refsect2>
2347
<title><anchor id="gtk-widget-get-visual" role="function"/>gtk_widget_get_visual ()</title>
2348
<indexterm><primary>gtk_widget_get_visual</primary></indexterm><programlisting><link linkend="GdkVisual">GdkVisual</link>* gtk_widget_get_visual (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2350
Gets the visual that will be used to render <parameter>widget</parameter>.</para>
2353
</para><variablelist role="params">
2354
<varlistentry><term><parameter>widget</parameter> :</term>
2355
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2356
</simpara></listitem></varlistentry>
2357
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the visual for <parameter>widget</parameter>
2358
</simpara></listitem></varlistentry>
2359
</variablelist></refsect2>
2361
<title><anchor id="gtk-widget-get-events" role="function"/>gtk_widget_get_events ()</title>
2362
<indexterm><primary>gtk_widget_get_events</primary></indexterm><programlisting><link linkend="gint">gint</link> gtk_widget_get_events (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2364
Returns the event mask for the widget (a bitfield containing flags
2365
from the <link linkend="GdkEventMask"><type>GdkEventMask</type></link> enumeration). These are the events that the widget
2366
will receive.</para>
2369
</para><variablelist role="params">
2370
<varlistentry><term><parameter>widget</parameter> :</term>
2371
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2372
</simpara></listitem></varlistentry>
2373
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> event mask for <parameter>widget</parameter>
2374
</simpara></listitem></varlistentry>
2375
</variablelist></refsect2>
2377
<title><anchor id="gtk-widget-get-pointer" role="function"/>gtk_widget_get_pointer ()</title>
2378
<indexterm><primary>gtk_widget_get_pointer</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_get_pointer (<link linkend="GtkWidget">GtkWidget</link> *widget,
2379
<link linkend="gint">gint</link> *x,
2380
<link linkend="gint">gint</link> *y);</programlisting>
2382
Obtains the location of the mouse pointer in widget coordinates.
2383
Widget coordinates are a bit odd; for historical reasons, they are
2384
defined as <parameter>widget->window</parameter> coordinates for widgets that are not
2385
<link linkend="GTK-NO-WINDOW:CAPS"><type>GTK_NO_WINDOW</type></link> widgets, and are relative to <parameter>widget->allocation.x</parameter>,
2386
<parameter>widget->allocation.y</parameter> for widgets that are <link linkend="GTK-NO-WINDOW:CAPS"><type>GTK_NO_WINDOW</type></link> widgets.</para>
2389
</para><variablelist role="params">
2390
<varlistentry><term><parameter>widget</parameter> :</term>
2391
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2392
</simpara></listitem></varlistentry>
2393
<varlistentry><term><parameter>x</parameter> :</term>
2394
<listitem><simpara> return location for the X coordinate, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2395
</simpara></listitem></varlistentry>
2396
<varlistentry><term><parameter>y</parameter> :</term>
2397
<listitem><simpara> return location for the Y coordinate, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2398
</simpara></listitem></varlistentry>
2399
</variablelist></refsect2>
2401
<title><anchor id="gtk-widget-is-ancestor" role="function"/>gtk_widget_is_ancestor ()</title>
2402
<indexterm><primary>gtk_widget_is_ancestor</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_is_ancestor (<link linkend="GtkWidget">GtkWidget</link> *widget,
2403
<link linkend="GtkWidget">GtkWidget</link> *ancestor);</programlisting>
2405
Determines whether <parameter>widget</parameter> is somewhere inside <parameter>ancestor</parameter>, possibly with
2406
intermediate containers.</para>
2409
</para><variablelist role="params">
2410
<varlistentry><term><parameter>widget</parameter> :</term>
2411
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2412
</simpara></listitem></varlistentry>
2413
<varlistentry><term><parameter>ancestor</parameter> :</term>
2414
<listitem><simpara> another <link linkend="GtkWidget"><type>GtkWidget</type></link>
2415
</simpara></listitem></varlistentry>
2416
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>ancestor</parameter> contains <parameter>widget</parameter> as a child, grandchild, great grandchild, etc.
2417
</simpara></listitem></varlistentry>
2418
</variablelist></refsect2>
2420
<title><anchor id="gtk-widget-translate-coordinates" role="function"/>gtk_widget_translate_coordinates ()</title>
2421
<indexterm><primary>gtk_widget_translate_coordinates</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_translate_coordinates (<link linkend="GtkWidget">GtkWidget</link> *src_widget,
2422
<link linkend="GtkWidget">GtkWidget</link> *dest_widget,
2423
<link linkend="gint">gint</link> src_x,
2424
<link linkend="gint">gint</link> src_y,
2425
<link linkend="gint">gint</link> *dest_x,
2426
<link linkend="gint">gint</link> *dest_y);</programlisting>
2428
Translate coordinates relative to <parameter>src_widget</parameter>'s allocation to coordinates
2429
relative to <parameter>dest_widget</parameter>'s allocations. In order to perform this
2430
operation, both widgets must be realized, and must share a common
2434
</para><variablelist role="params">
2435
<varlistentry><term><parameter>src_widget</parameter> :</term>
2436
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2437
</simpara></listitem></varlistentry>
2438
<varlistentry><term><parameter>dest_widget</parameter> :</term>
2439
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2440
</simpara></listitem></varlistentry>
2441
<varlistentry><term><parameter>src_x</parameter> :</term>
2442
<listitem><simpara> X position relative to <parameter>src_widget</parameter>
2443
</simpara></listitem></varlistentry>
2444
<varlistentry><term><parameter>src_y</parameter> :</term>
2445
<listitem><simpara> Y position relative to <parameter>src_widget</parameter>
2446
</simpara></listitem></varlistentry>
2447
<varlistentry><term><parameter>dest_x</parameter> :</term>
2448
<listitem><simpara> location to store X position relative to <parameter>dest_widget</parameter>
2449
</simpara></listitem></varlistentry>
2450
<varlistentry><term><parameter>dest_y</parameter> :</term>
2451
<listitem><simpara> location to store Y position relative to <parameter>dest_widget</parameter>
2452
</simpara></listitem></varlistentry>
2453
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if either widget was not realized, or there
2454
was no common ancestor. In this case, nothing is stored in
2455
*<parameter>dest_x</parameter> and *<parameter>dest_y</parameter>. Otherwise <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>.
2456
</simpara></listitem></varlistentry>
2457
</variablelist></refsect2>
2459
<title><anchor id="gtk-widget-hide-on-delete" role="function"/>gtk_widget_hide_on_delete ()</title>
2460
<indexterm><primary>gtk_widget_hide_on_delete</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_hide_on_delete (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2462
Utility function; intended to be connected to the "delete_event"
2463
signal on a <link linkend="GtkWindow"><type>GtkWindow</type></link>. The function calls <link linkend="gtk-widget-hide"><function>gtk_widget_hide()</function></link> on its
2464
argument, then returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>. If connected to "delete_event", the
2465
result is that clicking the close button for a window (on the
2466
window frame, top right corner usually) will hide but not destroy
2467
the window. By default, GTK+ destroys windows when "delete_event"
2471
</para><variablelist role="params">
2472
<varlistentry><term><parameter>widget</parameter> :</term>
2473
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2474
</simpara></listitem></varlistentry>
2475
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>
2476
</simpara></listitem></varlistentry>
2477
</variablelist></refsect2>
2479
<title><anchor id="gtk-widget-set-style" role="function"/>gtk_widget_set_style ()</title>
2480
<indexterm><primary>gtk_widget_set_style</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_style (<link linkend="GtkWidget">GtkWidget</link> *widget,
2481
<link linkend="GtkStyle">GtkStyle</link> *style);</programlisting>
2483
Sets the <link linkend="GtkStyle"><type>GtkStyle</type></link> for a widget (<parameter>widget->style</parameter>). You probably don't
2484
want to use this function; it interacts badly with themes, because
2485
themes work by replacing the <link linkend="GtkStyle"><type>GtkStyle</type></link>. Instead, use
2486
<link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>.</para>
2489
</para><variablelist role="params">
2490
<varlistentry><term><parameter>widget</parameter> :</term>
2491
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2492
</simpara></listitem></varlistentry>
2493
<varlistentry><term><parameter>style</parameter> :</term>
2494
<listitem><simpara> a <link linkend="GtkStyle"><type>GtkStyle</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to remove the effect of a previous
2495
<link linkend="gtk-widget-set-style"><function>gtk_widget_set_style()</function></link> and go back to the default style
2496
</simpara></listitem></varlistentry>
2497
</variablelist></refsect2>
2499
<title><anchor id="gtk-widget-set-rc-style" role="macro" condition="deprecated:"/>gtk_widget_set_rc_style()</title>
2500
<indexterm role="deprecated"><primary>gtk_widget_set_rc_style</primary></indexterm><programlisting>#define gtk_widget_set_rc_style(widget) (gtk_widget_set_style (widget, NULL))
2502
<warning><para><literal>gtk_widget_set_rc_style</literal> is deprecated and should not be used in newly-written code.</para></warning>
2504
Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
2505
</para><variablelist role="params">
2506
<varlistentry><term><parameter>widget</parameter> :</term>
2507
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2510
</simpara></listitem></varlistentry>
2511
</variablelist></refsect2>
2513
<title><anchor id="gtk-widget-ensure-style" role="function"/>gtk_widget_ensure_style ()</title>
2514
<indexterm><primary>gtk_widget_ensure_style</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_ensure_style (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2516
Ensures that <parameter>widget</parameter> has a style (<parameter>widget->style</parameter>). Not a very useful
2517
function; most of the time, if you want the style, the widget is
2518
realized, and realized widgets are guaranteed to have a style
2522
</para><variablelist role="params">
2523
<varlistentry><term><parameter>widget</parameter> :</term>
2524
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2525
</simpara></listitem></varlistentry>
2526
</variablelist></refsect2>
2528
<title><anchor id="gtk-widget-get-style" role="function"/>gtk_widget_get_style ()</title>
2529
<indexterm><primary>gtk_widget_get_style</primary></indexterm><programlisting><link linkend="GtkStyle">GtkStyle</link>* gtk_widget_get_style (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2531
Simply an accessor function that returns <parameter>widget->style</parameter>.</para>
2534
</para><variablelist role="params">
2535
<varlistentry><term><parameter>widget</parameter> :</term>
2536
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2537
</simpara></listitem></varlistentry>
2538
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the widget's <link linkend="GtkStyle"><type>GtkStyle</type></link>
2539
</simpara></listitem></varlistentry>
2540
</variablelist></refsect2>
2542
<title><anchor id="gtk-widget-restore-default-style" role="macro" condition="deprecated:"/>gtk_widget_restore_default_style()</title>
2543
<indexterm role="deprecated"><primary>gtk_widget_restore_default_style</primary></indexterm><programlisting>#define gtk_widget_restore_default_style(widget) (gtk_widget_set_style (widget, NULL))
2545
<warning><para><literal>gtk_widget_restore_default_style</literal> is deprecated and should not be used in newly-written code.</para></warning>
2547
Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
2548
</para><variablelist role="params">
2549
<varlistentry><term><parameter>widget</parameter> :</term>
2550
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2553
</simpara></listitem></varlistentry>
2554
</variablelist></refsect2>
2556
<title><anchor id="gtk-widget-reset-rc-styles" role="function"/>gtk_widget_reset_rc_styles ()</title>
2557
<indexterm><primary>gtk_widget_reset_rc_styles</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_reset_rc_styles (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2559
Reset the styles of <parameter>widget</parameter> and all descendents, so when
2560
they are looked up again, they get the correct values
2561
for the currently loaded RC file settings.
2564
This function is not useful for applications.
2565
</para><variablelist role="params">
2566
<varlistentry><term><parameter>widget</parameter> :</term>
2567
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2570
</simpara></listitem></varlistentry>
2571
</variablelist></refsect2>
2573
<title><anchor id="gtk-widget-push-colormap" role="function"/>gtk_widget_push_colormap ()</title>
2574
<indexterm><primary>gtk_widget_push_colormap</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_push_colormap (<link linkend="GdkColormap">GdkColormap</link> *cmap);</programlisting>
2576
Pushes <parameter>cmap</parameter> onto a global stack of colormaps; the topmost
2577
colormap on the stack will be used to create all widgets.
2578
Remove <parameter>cmap</parameter> with <link linkend="gtk-widget-pop-colormap"><function>gtk_widget_pop_colormap()</function></link>. There's little
2579
reason to use this function.</para>
2582
</para><variablelist role="params">
2583
<varlistentry><term><parameter>cmap</parameter> :</term>
2584
<listitem><simpara> a <link linkend="GdkColormap"><type>GdkColormap</type></link>
2585
</simpara></listitem></varlistentry>
2586
</variablelist></refsect2>
2588
<title><anchor id="gtk-widget-pop-colormap" role="function"/>gtk_widget_pop_colormap ()</title>
2589
<indexterm><primary>gtk_widget_pop_colormap</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_pop_colormap (void);</programlisting>
2591
Removes a colormap pushed with <link linkend="gtk-widget-push-colormap"><function>gtk_widget_push_colormap()</function></link>.</para>
2596
<title><anchor id="gtk-widget-set-default-colormap" role="function"/>gtk_widget_set_default_colormap ()</title>
2597
<indexterm><primary>gtk_widget_set_default_colormap</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_default_colormap (<link linkend="GdkColormap">GdkColormap</link> *colormap);</programlisting>
2599
Sets the default colormap to use when creating widgets.
2600
<link linkend="gtk-widget-push-colormap"><function>gtk_widget_push_colormap()</function></link> is a better function to use if
2601
you only want to affect a few widgets, rather than all widgets.</para>
2604
</para><variablelist role="params">
2605
<varlistentry><term><parameter>colormap</parameter> :</term>
2606
<listitem><simpara> a <link linkend="GdkColormap"><type>GdkColormap</type></link>
2607
</simpara></listitem></varlistentry>
2608
</variablelist></refsect2>
2610
<title><anchor id="gtk-widget-get-default-style" role="function"/>gtk_widget_get_default_style ()</title>
2611
<indexterm><primary>gtk_widget_get_default_style</primary></indexterm><programlisting><link linkend="GtkStyle">GtkStyle</link>* gtk_widget_get_default_style (void);</programlisting>
2613
Returns the default style used by all widgets initially.</para>
2616
</para><variablelist role="params">
2617
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the default style. This <link linkend="GtkStyle"><type>GtkStyle</type></link> object is owned by GTK+ and
2618
should not be modified or freed.
2619
</simpara></listitem></varlistentry>
2620
</variablelist></refsect2>
2622
<title><anchor id="gtk-widget-get-default-colormap" role="function"/>gtk_widget_get_default_colormap ()</title>
2623
<indexterm><primary>gtk_widget_get_default_colormap</primary></indexterm><programlisting><link linkend="GdkColormap">GdkColormap</link>* gtk_widget_get_default_colormap (void);</programlisting>
2625
Obtains the default colormap used to create widgets.</para>
2628
</para><variablelist role="params">
2629
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> default widget colormap
2630
</simpara></listitem></varlistentry>
2631
</variablelist></refsect2>
2633
<title><anchor id="gtk-widget-get-default-visual" role="function"/>gtk_widget_get_default_visual ()</title>
2634
<indexterm><primary>gtk_widget_get_default_visual</primary></indexterm><programlisting><link linkend="GdkVisual">GdkVisual</link>* gtk_widget_get_default_visual (void);</programlisting>
2636
Obtains the visual of the default colormap. Not really useful;
2637
used to be useful before <link linkend="gdk-colormap-get-visual"><function>gdk_colormap_get_visual()</function></link> existed.</para>
2640
</para><variablelist role="params">
2641
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> visual of the default colormap
2642
</simpara></listitem></varlistentry>
2643
</variablelist></refsect2>
2645
<title><anchor id="gtk-widget-set-direction" role="function"/>gtk_widget_set_direction ()</title>
2646
<indexterm><primary>gtk_widget_set_direction</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_direction (<link linkend="GtkWidget">GtkWidget</link> *widget,
2647
<link linkend="GtkTextDirection">GtkTextDirection</link> dir);</programlisting>
2649
Sets the reading direction on a particular widget. This direction
2650
controls the primary direction for widgets containing text,
2651
and also the direction in which the children of a container are
2652
packed. The ability to set the direction is present in order
2653
so that correct localization into languages with right-to-left
2654
reading directions can be done. Generally, applications will
2655
let the default reading direction present, except for containers
2656
where the containers are arranged in an order that is explicitely
2657
visual rather than logical (such as buttons for text justification).
2660
If the direction is set to <link linkend="GTK-TEXT-DIR-NONE:CAPS"><literal>GTK_TEXT_DIR_NONE</literal></link>, then the value
2661
set by <link linkend="gtk-widget-set-default-direction"><function>gtk_widget_set_default_direction()</function></link> will be used.</para>
2664
</para><variablelist role="params">
2665
<varlistentry><term><parameter>widget</parameter> :</term>
2666
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2667
</simpara></listitem></varlistentry>
2668
<varlistentry><term><parameter>dir</parameter> :</term>
2669
<listitem><simpara> the new direction
2670
</simpara></listitem></varlistentry>
2671
</variablelist></refsect2>
2673
<title><anchor id="GtkTextDirection" role="enum"/>enum GtkTextDirection</title>
2674
<indexterm><primary>GtkTextDirection</primary></indexterm><programlisting>typedef enum
2685
<title><anchor id="gtk-widget-get-direction" role="function"/>gtk_widget_get_direction ()</title>
2686
<indexterm><primary>gtk_widget_get_direction</primary></indexterm><programlisting><link linkend="GtkTextDirection">GtkTextDirection</link> gtk_widget_get_direction (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2688
Gets the reading direction for a particular widget. See
2689
<link linkend="gtk-widget-set-direction"><function>gtk_widget_set_direction()</function></link>.</para>
2692
</para><variablelist role="params">
2693
<varlistentry><term><parameter>widget</parameter> :</term>
2694
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2695
</simpara></listitem></varlistentry>
2696
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the reading direction for the widget.
2697
</simpara></listitem></varlistentry>
2698
</variablelist></refsect2>
2700
<title><anchor id="gtk-widget-set-default-direction" role="function"/>gtk_widget_set_default_direction ()</title>
2701
<indexterm><primary>gtk_widget_set_default_direction</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_default_direction (<link linkend="GtkTextDirection">GtkTextDirection</link> dir);</programlisting>
2703
Sets the default reading direction for widgets where the
2704
direction has not been explicitly set by <link linkend="gtk-widget-set-direction"><function>gtk_widget_set_direction()</function></link>.</para>
2707
</para><variablelist role="params">
2708
<varlistentry><term><parameter>dir</parameter> :</term>
2709
<listitem><simpara> the new default direction. This cannot be
2710
<link linkend="GTK-TEXT-DIR-NONE:CAPS"><literal>GTK_TEXT_DIR_NONE</literal></link>.
2711
</simpara></listitem></varlistentry>
2712
</variablelist></refsect2>
2714
<title><anchor id="gtk-widget-get-default-direction" role="function"/>gtk_widget_get_default_direction ()</title>
2715
<indexterm><primary>gtk_widget_get_default_direction</primary></indexterm><programlisting><link linkend="GtkTextDirection">GtkTextDirection</link> gtk_widget_get_default_direction (void);</programlisting>
2717
Obtains the current default reading direction. See
2718
<link linkend="gtk-widget-set-default-direction"><function>gtk_widget_set_default_direction()</function></link>.</para>
2721
</para><variablelist role="params">
2722
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the current default direction.
2723
</simpara></listitem></varlistentry>
2724
</variablelist></refsect2>
2726
<title><anchor id="gtk-widget-shape-combine-mask" role="function"/>gtk_widget_shape_combine_mask ()</title>
2727
<indexterm><primary>gtk_widget_shape_combine_mask</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_shape_combine_mask (<link linkend="GtkWidget">GtkWidget</link> *widget,
2728
<link linkend="GdkBitmap">GdkBitmap</link> *shape_mask,
2729
<link linkend="gint">gint</link> offset_x,
2730
<link linkend="gint">gint</link> offset_y);</programlisting>
2732
Sets a shape for this widget's GDK window. This allows for
2733
transparent windows etc., see <link linkend="gdk-window-shape-combine-mask"><function>gdk_window_shape_combine_mask()</function></link>
2734
for more information.</para>
2737
</para><variablelist role="params">
2738
<varlistentry><term><parameter>widget</parameter> :</term>
2739
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2740
</simpara></listitem></varlistentry>
2741
<varlistentry><term><parameter>shape_mask</parameter> :</term>
2742
<listitem><simpara> shape to be added, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to remove an existing shape.
2743
</simpara></listitem></varlistentry>
2744
<varlistentry><term><parameter>offset_x</parameter> :</term>
2745
<listitem><simpara> X position of shape mask with respect to <parameter>window</parameter>.
2746
</simpara></listitem></varlistentry>
2747
<varlistentry><term><parameter>offset_y</parameter> :</term>
2748
<listitem><simpara> Y position of shape mask with respect to <parameter>window</parameter>.
2749
</simpara></listitem></varlistentry>
2750
</variablelist></refsect2>
2752
<title><anchor id="gtk-widget-input-shape-combine-mask" role="function" condition="since:2.10"/>gtk_widget_input_shape_combine_mask ()</title>
2753
<indexterm role="2.10"><primary>gtk_widget_input_shape_combine_mask</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_input_shape_combine_mask (<link linkend="GtkWidget">GtkWidget</link> *widget,
2754
<link linkend="GdkBitmap">GdkBitmap</link> *shape_mask,
2755
<link linkend="gint">gint</link> offset_x,
2756
<link linkend="gint">gint</link> offset_y);</programlisting>
2758
Sets an input shape for this widget's GDK window. This allows for
2759
windows which react to mouse click in a nonrectangular region, see
2760
<link linkend="gdk-window-input-shape-combine-mask"><function>gdk_window_input_shape_combine_mask()</function></link> for more information.</para>
2763
</para><variablelist role="params">
2764
<varlistentry><term><parameter>widget</parameter> :</term>
2765
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2766
</simpara></listitem></varlistentry>
2767
<varlistentry><term><parameter>shape_mask</parameter> :</term>
2768
<listitem><simpara> shape to be added, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to remove an existing shape.
2769
</simpara></listitem></varlistentry>
2770
<varlistentry><term><parameter>offset_x</parameter> :</term>
2771
<listitem><simpara> X position of shape mask with respect to <parameter>window</parameter>.
2772
</simpara></listitem></varlistentry>
2773
<varlistentry><term><parameter>offset_y</parameter> :</term>
2774
<listitem><simpara> Y position of shape mask with respect to <parameter>window</parameter>.
2775
</simpara></listitem></varlistentry>
2776
</variablelist><para role="since">Since 2.10
2779
<title><anchor id="gtk-widget-path" role="function"/>gtk_widget_path ()</title>
2780
<indexterm><primary>gtk_widget_path</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_path (<link linkend="GtkWidget">GtkWidget</link> *widget,
2781
<link linkend="guint">guint</link> *path_length,
2782
<link linkend="gchar">gchar</link> **path,
2783
<link linkend="gchar">gchar</link> **path_reversed);</programlisting>
2785
Obtains the full path to <parameter>widget</parameter>. The path is simply the name of a
2786
widget and all its parents in the container hierarchy, separated by
2787
periods. The name of a widget comes from
2788
<link linkend="gtk-widget-get-name"><function>gtk_widget_get_name()</function></link>. Paths are used to apply styles to a widget
2789
in gtkrc configuration files. Widget names are the type of the
2790
widget by default (e.g. "GtkButton") or can be set to an
2791
application-specific value with <link linkend="gtk-widget-set-name"><function>gtk_widget_set_name()</function></link>. By setting
2792
the name of a widget, you allow users or theme authors to apply
2793
styles to that specific widget in their gtkrc
2794
file. <parameter>path_reversed_p</parameter> fills in the path in reverse order,
2795
i.e. starting with <parameter>widget</parameter>'s name instead of starting with the name
2796
of <parameter>widget</parameter>'s outermost ancestor.</para>
2799
</para><variablelist role="params">
2800
<varlistentry><term><parameter>widget</parameter> :</term>
2801
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2802
</simpara></listitem></varlistentry>
2803
<varlistentry><term><parameter>path_length</parameter> :</term>
2804
<listitem><simpara> location to store length of the path, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2805
</simpara></listitem></varlistentry>
2806
<varlistentry><term><parameter>path</parameter> :</term>
2807
<listitem><simpara> location to store allocated path string, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2808
</simpara></listitem></varlistentry>
2809
<varlistentry><term><parameter>path_reversed</parameter> :</term>
2810
<listitem><simpara> location to store allocated reverse path string, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2811
</simpara></listitem></varlistentry>
2812
</variablelist></refsect2>
2814
<title><anchor id="gtk-widget-class-path" role="function"/>gtk_widget_class_path ()</title>
2815
<indexterm><primary>gtk_widget_class_path</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_class_path (<link linkend="GtkWidget">GtkWidget</link> *widget,
2816
<link linkend="guint">guint</link> *path_length,
2817
<link linkend="gchar">gchar</link> **path,
2818
<link linkend="gchar">gchar</link> **path_reversed);</programlisting>
2820
Same as <link linkend="gtk-widget-path"><function>gtk_widget_path()</function></link>, but always uses the name of a widget's type,
2821
never uses a custom name set with <link linkend="gtk-widget-set-name"><function>gtk_widget_set_name()</function></link>.</para>
2824
</para><variablelist role="params">
2825
<varlistentry><term><parameter>widget</parameter> :</term>
2826
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2827
</simpara></listitem></varlistentry>
2828
<varlistentry><term><parameter>path_length</parameter> :</term>
2829
<listitem><simpara> location to store the length of the class path, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2830
</simpara></listitem></varlistentry>
2831
<varlistentry><term><parameter>path</parameter> :</term>
2832
<listitem><simpara> location to store the class path as an allocated string, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2833
</simpara></listitem></varlistentry>
2834
<varlistentry><term><parameter>path_reversed</parameter> :</term>
2835
<listitem><simpara> location to store the reverse class path as an allocated string, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
2836
</simpara></listitem></varlistentry>
2837
</variablelist></refsect2>
2839
<title><anchor id="gtk-widget-get-composite-name" role="function"/>gtk_widget_get_composite_name ()</title>
2840
<indexterm><primary>gtk_widget_get_composite_name</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* gtk_widget_get_composite_name (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2842
Obtains the composite name of a widget.</para>
2845
</para><variablelist role="params">
2846
<varlistentry><term><parameter>widget</parameter> :</term>
2847
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2848
</simpara></listitem></varlistentry>
2849
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the composite name of <parameter>widget</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>widget</parameter> is not
2850
a composite child. The string should not be freed when it is no
2852
</simpara></listitem></varlistentry>
2853
</variablelist></refsect2>
2855
<title><anchor id="gtk-widget-modify-style" role="function"/>gtk_widget_modify_style ()</title>
2856
<indexterm><primary>gtk_widget_modify_style</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_modify_style (<link linkend="GtkWidget">GtkWidget</link> *widget,
2857
<link linkend="GtkRcStyle">GtkRcStyle</link> *style);</programlisting>
2859
Modifies style values on the widget. Modifications made using this
2860
technique take precedence over style values set via an RC file,
2861
however, they will be overriden if a style is explicitely set on
2862
the widget using <link linkend="gtk-widget-set-style"><function>gtk_widget_set_style()</function></link>. The <link linkend="GtkRcStyle"><type>GtkRcStyle</type></link> structure
2863
is designed so each field can either be set or unset, so it is
2864
possible, using this function, to modify some style values and
2865
leave the others unchanged.
2868
Note that modifications made with this function are not cumulative
2869
with previous calls to <link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link> or with such
2870
functions as <link linkend="gtk-widget-modify-fg"><function>gtk_widget_modify_fg()</function></link>. If you wish to retain
2871
previous values, you must first call <link linkend="gtk-widget-get-modifier-style"><function>gtk_widget_get_modifier_style()</function></link>,
2872
make your modifications to the returned style, then call
2873
<link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link> with that style. On the other hand,
2874
if you first call <link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>, subsequent calls
2875
to such functions <link linkend="gtk-widget-modify-fg"><function>gtk_widget_modify_fg()</function></link> will have a cumulative
2876
effect with the initial modifications.</para>
2879
</para><variablelist role="params">
2880
<varlistentry><term><parameter>widget</parameter> :</term>
2881
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2882
</simpara></listitem></varlistentry>
2883
<varlistentry><term><parameter>style</parameter> :</term>
2884
<listitem><simpara> the <link linkend="GtkRcStyle"><type>GtkRcStyle</type></link> holding the style modifications
2885
</simpara></listitem></varlistentry>
2886
</variablelist></refsect2>
2888
<title><anchor id="gtk-widget-get-modifier-style" role="function"/>gtk_widget_get_modifier_style ()</title>
2889
<indexterm><primary>gtk_widget_get_modifier_style</primary></indexterm><programlisting><link linkend="GtkRcStyle">GtkRcStyle</link>* gtk_widget_get_modifier_style (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
2891
Returns the current modifier style for the widget. (As set by
2892
<link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>.) If no style has previously set, a new
2893
<link linkend="GtkRcStyle"><type>GtkRcStyle</type></link> will be created with all values unset, and set as the
2894
modifier style for the widget. If you make changes to this rc
2895
style, you must call <link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>, passing in the
2896
returned rc style, to make sure that your changes take effect.
2899
Caution: passing the style back to <link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link> will
2900
normally end up destroying it, because <link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link> copies
2901
the passed-in style and sets the copy as the new modifier style,
2902
thus dropping any reference to the old modifier style. Add a reference
2903
to the modifier style if you want to keep it alive.</para>
2906
</para><variablelist role="params">
2907
<varlistentry><term><parameter>widget</parameter> :</term>
2908
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
2909
</simpara></listitem></varlistentry>
2910
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the modifier style for the widget. This rc style is
2911
owned by the widget. If you want to keep a pointer to value this
2912
around, you must add a refcount using <link linkend="g-object-ref"><function>g_object_ref()</function></link>.
2913
</simpara></listitem></varlistentry>
2914
</variablelist></refsect2>
2916
<title><anchor id="gtk-widget-modify-fg" role="function"/>gtk_widget_modify_fg ()</title>
2917
<indexterm><primary>gtk_widget_modify_fg</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_modify_fg (<link linkend="GtkWidget">GtkWidget</link> *widget,
2918
<link linkend="GtkStateType">GtkStateType</link> state,
2919
const <link linkend="GdkColor">GdkColor</link> *color);</programlisting>
2921
Sets the foreground color for a widget in a particular state. All
2922
other style values are left untouched. See also
2923
<link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>.</para>
2926
</para><variablelist role="params">
2927
<varlistentry><term><parameter>widget</parameter> :</term>
2928
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2929
</simpara></listitem></varlistentry>
2930
<varlistentry><term><parameter>state</parameter> :</term>
2931
<listitem><simpara> the state for which to set the foreground color.
2932
</simpara></listitem></varlistentry>
2933
<varlistentry><term><parameter>color</parameter> :</term>
2934
<listitem><simpara> the color to assign (does not need to be allocated),
2935
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to undo the effect of previous calls to
2936
of <link linkend="gtk-widget-modify-fg"><function>gtk_widget_modify_fg()</function></link>.
2937
</simpara></listitem></varlistentry>
2938
</variablelist></refsect2>
2940
<title><anchor id="gtk-widget-modify-bg" role="function"/>gtk_widget_modify_bg ()</title>
2941
<indexterm><primary>gtk_widget_modify_bg</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_modify_bg (<link linkend="GtkWidget">GtkWidget</link> *widget,
2942
<link linkend="GtkStateType">GtkStateType</link> state,
2943
const <link linkend="GdkColor">GdkColor</link> *color);</programlisting>
2945
Sets the background color for a widget in a particular state. All
2946
other style values are left untouched. See also
2947
<link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>.
2950
Note that "no window" widgets (which have the <link linkend="GTK-NO-WINDOW:CAPS"><literal>GTK_NO_WINDOW</literal></link> flag set)
2951
draw on their parent container's window and thus may not draw any background
2952
themselves. This is the case for e.g. <link linkend="GtkLabel"><type>GtkLabel</type></link>. To modify the background
2953
of such widgets, you have to set the background color on their parent; if you want
2954
to set the background of a rectangular area around a label, try placing the
2955
label in a <link linkend="GtkEventBox"><type>GtkEventBox</type></link> widget and setting the background color on that.</para>
2958
</para><variablelist role="params">
2959
<varlistentry><term><parameter>widget</parameter> :</term>
2960
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2961
</simpara></listitem></varlistentry>
2962
<varlistentry><term><parameter>state</parameter> :</term>
2963
<listitem><simpara> the state for which to set the background color.
2964
</simpara></listitem></varlistentry>
2965
<varlistentry><term><parameter>color</parameter> :</term>
2966
<listitem><simpara> the color to assign (does not need to be allocated),
2967
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to undo the effect of previous calls to
2968
of <link linkend="gtk-widget-modify-bg"><function>gtk_widget_modify_bg()</function></link>.
2969
</simpara></listitem></varlistentry>
2970
</variablelist></refsect2>
2972
<title><anchor id="gtk-widget-modify-text" role="function"/>gtk_widget_modify_text ()</title>
2973
<indexterm><primary>gtk_widget_modify_text</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_modify_text (<link linkend="GtkWidget">GtkWidget</link> *widget,
2974
<link linkend="GtkStateType">GtkStateType</link> state,
2975
const <link linkend="GdkColor">GdkColor</link> *color);</programlisting>
2977
Sets the text color for a widget in a particular state. All other
2978
style values are left untouched. The text color is the foreground
2979
color used along with the base color (see <link linkend="gtk-widget-modify-base"><function>gtk_widget_modify_base()</function></link>)
2980
for widgets such as <link linkend="GtkEntry"><type>GtkEntry</type></link> and <link linkend="GtkTextView"><type>GtkTextView</type></link>. See also
2981
<link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>.</para>
2984
</para><variablelist role="params">
2985
<varlistentry><term><parameter>widget</parameter> :</term>
2986
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
2987
</simpara></listitem></varlistentry>
2988
<varlistentry><term><parameter>state</parameter> :</term>
2989
<listitem><simpara> the state for which to set the text color.
2990
</simpara></listitem></varlistentry>
2991
<varlistentry><term><parameter>color</parameter> :</term>
2992
<listitem><simpara> the color to assign (does not need to be allocated),
2993
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to undo the effect of previous calls to
2994
of <link linkend="gtk-widget-modify-text"><function>gtk_widget_modify_text()</function></link>.
2995
</simpara></listitem></varlistentry>
2996
</variablelist></refsect2>
2998
<title><anchor id="gtk-widget-modify-base" role="function"/>gtk_widget_modify_base ()</title>
2999
<indexterm><primary>gtk_widget_modify_base</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_modify_base (<link linkend="GtkWidget">GtkWidget</link> *widget,
3000
<link linkend="GtkStateType">GtkStateType</link> state,
3001
const <link linkend="GdkColor">GdkColor</link> *color);</programlisting>
3003
Sets the base color for a widget in a particular state.
3004
All other style values are left untouched. The base color
3005
is the background color used along with the text color
3006
(see <link linkend="gtk-widget-modify-text"><function>gtk_widget_modify_text()</function></link>) for widgets such as <link linkend="GtkEntry"><type>GtkEntry</type></link>
3007
and <link linkend="GtkTextView"><type>GtkTextView</type></link>. See also <link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>.
3010
Note that "no window" widgets (which have the <link linkend="GTK-NO-WINDOW:CAPS"><literal>GTK_NO_WINDOW</literal></link> flag set)
3011
draw on their parent container's window and thus may not draw any background
3012
themselves. This is the case for e.g. <link linkend="GtkLabel"><type>GtkLabel</type></link>. To modify the background
3013
of such widgets, you have to set the base color on their parent; if you want
3014
to set the background of a rectangular area around a label, try placing the
3015
label in a <link linkend="GtkEventBox"><type>GtkEventBox</type></link> widget and setting the base color on that.</para>
3018
</para><variablelist role="params">
3019
<varlistentry><term><parameter>widget</parameter> :</term>
3020
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
3021
</simpara></listitem></varlistentry>
3022
<varlistentry><term><parameter>state</parameter> :</term>
3023
<listitem><simpara> the state for which to set the base color.
3024
</simpara></listitem></varlistentry>
3025
<varlistentry><term><parameter>color</parameter> :</term>
3026
<listitem><simpara> the color to assign (does not need to be allocated),
3027
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to undo the effect of previous calls to
3028
of <link linkend="gtk-widget-modify-base"><function>gtk_widget_modify_base()</function></link>.
3029
</simpara></listitem></varlistentry>
3030
</variablelist></refsect2>
3032
<title><anchor id="gtk-widget-modify-font" role="function"/>gtk_widget_modify_font ()</title>
3033
<indexterm><primary>gtk_widget_modify_font</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_modify_font (<link linkend="GtkWidget">GtkWidget</link> *widget,
3034
<link linkend="PangoFontDescription">PangoFontDescription</link> *font_desc);</programlisting>
3036
Sets the font to use for a widget. All other style values are left
3037
untouched. See also <link linkend="gtk-widget-modify-style"><function>gtk_widget_modify_style()</function></link>.</para>
3040
</para><variablelist role="params">
3041
<varlistentry><term><parameter>widget</parameter> :</term>
3042
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3043
</simpara></listitem></varlistentry>
3044
<varlistentry><term><parameter>font_desc</parameter> :</term>
3045
<listitem><simpara> the font description to use, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to undo
3046
the effect of previous calls to <link linkend="gtk-widget-modify-font"><function>gtk_widget_modify_font()</function></link>.
3047
</simpara></listitem></varlistentry>
3048
</variablelist></refsect2>
3050
<title><anchor id="gtk-widget-create-pango-context" role="function"/>gtk_widget_create_pango_context ()</title>
3051
<indexterm><primary>gtk_widget_create_pango_context</primary></indexterm><programlisting><link linkend="PangoContext">PangoContext</link>* gtk_widget_create_pango_context (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3053
Creates a new <link linkend="PangoContext"><type>PangoContext</type></link> with the appropriate font map,
3054
font description, and base direction for drawing text for
3055
this widget. See also <link linkend="gtk-widget-get-pango-context"><function>gtk_widget_get_pango_context()</function></link>.</para>
3058
</para><variablelist role="params">
3059
<varlistentry><term><parameter>widget</parameter> :</term>
3060
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3061
</simpara></listitem></varlistentry>
3062
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the new <link linkend="PangoContext"><type>PangoContext</type></link>
3063
</simpara></listitem></varlistentry>
3064
</variablelist></refsect2>
3066
<title><anchor id="gtk-widget-get-pango-context" role="function"/>gtk_widget_get_pango_context ()</title>
3067
<indexterm><primary>gtk_widget_get_pango_context</primary></indexterm><programlisting><link linkend="PangoContext">PangoContext</link>* gtk_widget_get_pango_context (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3069
Gets a <link linkend="PangoContext"><type>PangoContext</type></link> with the appropriate font map, font description,
3070
and base direction for this widget. Unlike the context returned
3071
by <link linkend="gtk-widget-create-pango-context"><function>gtk_widget_create_pango_context()</function></link>, this context is owned by
3072
the widget (it can be used until the screen for the widget changes
3073
or the widget is removed from its toplevel), and will be updated to
3074
match any changes to the widget's attributes.
3077
If you create and keep a <link linkend="PangoLayout"><type>PangoLayout</type></link> using this context, you must
3078
deal with changes to the context by calling <link linkend="pango-layout-context-changed"><function>pango_layout_context_changed()</function></link>
3079
on the layout in response to the ::style-set and ::direction-changed signals
3080
for the widget.</para>
3083
</para><variablelist role="params">
3084
<varlistentry><term><parameter>widget</parameter> :</term>
3085
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3086
</simpara></listitem></varlistentry>
3087
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="PangoContext"><type>PangoContext</type></link> for the widget.
3088
</simpara></listitem></varlistentry>
3089
</variablelist></refsect2>
3091
<title><anchor id="gtk-widget-create-pango-layout" role="function"/>gtk_widget_create_pango_layout ()</title>
3092
<indexterm><primary>gtk_widget_create_pango_layout</primary></indexterm><programlisting><link linkend="PangoLayout">PangoLayout</link>* gtk_widget_create_pango_layout (<link linkend="GtkWidget">GtkWidget</link> *widget,
3093
const <link linkend="gchar">gchar</link> *text);</programlisting>
3095
Creates a new <link linkend="PangoLayout"><type>PangoLayout</type></link> with the appropriate font map,
3096
font description, and base direction for drawing text for
3100
If you keep a <link linkend="PangoLayout"><type>PangoLayout</type></link> created in this way around, in order to
3101
notify the layout of changes to the base direction or font of this
3102
widget, you must call <link linkend="pango-layout-context-changed"><function>pango_layout_context_changed()</function></link> in response to
3103
the ::style-set and ::direction-changed signals for the widget.</para>
3106
</para><variablelist role="params">
3107
<varlistentry><term><parameter>widget</parameter> :</term>
3108
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3109
</simpara></listitem></varlistentry>
3110
<varlistentry><term><parameter>text</parameter> :</term>
3111
<listitem><simpara> text to set on the layout (can be <link linkend="NULL:CAPS"><literal>NULL</literal></link>)
3112
</simpara></listitem></varlistentry>
3113
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the new <link linkend="PangoLayout"><type>PangoLayout</type></link>
3114
</simpara></listitem></varlistentry>
3115
</variablelist></refsect2>
3117
<title><anchor id="gtk-widget-render-icon" role="function"/>gtk_widget_render_icon ()</title>
3118
<indexterm><primary>gtk_widget_render_icon</primary></indexterm><programlisting><link linkend="GdkPixbuf">GdkPixbuf</link>* gtk_widget_render_icon (<link linkend="GtkWidget">GtkWidget</link> *widget,
3119
const <link linkend="gchar">gchar</link> *stock_id,
3120
<link linkend="GtkIconSize">GtkIconSize</link> size,
3121
const <link linkend="gchar">gchar</link> *detail);</programlisting>
3123
A convenience function that uses the theme engine and RC file
3124
settings for <parameter>widget</parameter> to look up <parameter>stock_id</parameter> and render it to
3125
a pixbuf. <parameter>stock_id</parameter> should be a stock icon ID such as
3126
<link linkend="GTK-STOCK-OPEN:CAPS"><type>GTK_STOCK_OPEN</type></link> or <link linkend="GTK-STOCK-OK:CAPS"><type>GTK_STOCK_OK</type></link>. <parameter>size</parameter> should be a size
3127
such as <link linkend="GTK-ICON-SIZE-MENU:CAPS"><type>GTK_ICON_SIZE_MENU</type></link>. <parameter>detail</parameter> should be a string that
3128
identifies the widget or code doing the rendering, so that
3129
theme engines can special-case rendering for that widget or code.
3132
The pixels in the returned <link linkend="GdkPixbuf"><type>GdkPixbuf</type></link> are shared with the rest of
3133
the application and should not be modified. The pixbuf should be freed
3134
after use with <link linkend="g-object-unref"><function>g_object_unref()</function></link>.</para>
3137
</para><variablelist role="params">
3138
<varlistentry><term><parameter>widget</parameter> :</term>
3139
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3140
</simpara></listitem></varlistentry>
3141
<varlistentry><term><parameter>stock_id</parameter> :</term>
3142
<listitem><simpara> a stock ID
3143
</simpara></listitem></varlistentry>
3144
<varlistentry><term><parameter>size</parameter> :</term>
3145
<listitem><simpara> a stock size. A size of (GtkIconSize)-1 means render at
3146
the size of the source and don't scale (if there are multiple
3147
source sizes, GTK+ picks one of the available sizes).
3148
</simpara></listitem></varlistentry>
3149
<varlistentry><term><parameter>detail</parameter> :</term>
3150
<listitem><simpara> render detail to pass to theme engine
3151
</simpara></listitem></varlistentry>
3152
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new pixbuf, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the stock ID wasn't known
3153
</simpara></listitem></varlistentry>
3154
</variablelist></refsect2>
3156
<title><anchor id="gtk-widget-pop-composite-child" role="function"/>gtk_widget_pop_composite_child ()</title>
3157
<indexterm><primary>gtk_widget_pop_composite_child</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_pop_composite_child (void);</programlisting>
3159
Cancels the effect of a previous call to <link linkend="gtk-widget-push-composite-child"><function>gtk_widget_push_composite_child()</function></link>.</para>
3164
<title><anchor id="gtk-widget-push-composite-child" role="function"/>gtk_widget_push_composite_child ()</title>
3165
<indexterm><primary>gtk_widget_push_composite_child</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_push_composite_child (void);</programlisting>
3167
Makes all newly-created widgets as composite children until
3168
the corresponding <link linkend="gtk-widget-pop-composite-child"><function>gtk_widget_pop_composite_child()</function></link> call.
3171
A composite child is a child that's an implementation detail of the
3172
container it's inside and should not be visible to people using the
3173
container. Composite children aren't treated differently by GTK (but
3174
see <link linkend="gtk-container-foreach"><function>gtk_container_foreach()</function></link> vs. <link linkend="gtk-container-forall"><function>gtk_container_forall()</function></link>), but e.g. GUI
3175
builders might want to treat them in a different way.
3178
Here is a simple example:
3179
<informalexample><programlisting>
3180
gtk_widget_push_composite_child (<!-- -->);
3181
scrolled_window->hscrollbar = gtk_hscrollbar_new (hadjustment);
3182
gtk_widget_set_composite_name (scrolled_window->hscrollbar, "hscrollbar");
3183
gtk_widget_pop_composite_child (<!-- -->);
3184
gtk_widget_set_parent (scrolled_window->hscrollbar,
3185
GTK_WIDGET (scrolled_window));
3186
g_object_ref (scrolled_window->hscrollbar);
3187
</programlisting></informalexample></para>
3192
<title><anchor id="gtk-widget-queue-clear" role="function" condition="deprecated:"/>gtk_widget_queue_clear ()</title>
3193
<indexterm role="deprecated"><primary>gtk_widget_queue_clear</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_queue_clear (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3194
<warning><para><literal>gtk_widget_queue_clear</literal> is deprecated and should not be used in newly-written code.</para></warning>
3196
This function does the same as <link linkend="gtk-widget-queue-draw"><function>gtk_widget_queue_draw()</function></link>.
3199
<parameter>Deprecated</parameter>: Use <link linkend="gtk-widget-queue-draw"><function>gtk_widget_queue_draw()</function></link> instead.</para>
3202
</para><variablelist role="params">
3203
<varlistentry><term><parameter>widget</parameter> :</term>
3204
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3205
</simpara></listitem></varlistentry>
3206
</variablelist></refsect2>
3208
<title><anchor id="gtk-widget-queue-clear-area" role="function" condition="deprecated:"/>gtk_widget_queue_clear_area ()</title>
3209
<indexterm role="deprecated"><primary>gtk_widget_queue_clear_area</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_queue_clear_area (<link linkend="GtkWidget">GtkWidget</link> *widget,
3210
<link linkend="gint">gint</link> x,
3211
<link linkend="gint">gint</link> y,
3212
<link linkend="gint">gint</link> width,
3213
<link linkend="gint">gint</link> height);</programlisting>
3214
<warning><para><literal>gtk_widget_queue_clear_area</literal> is deprecated and should not be used in newly-written code.</para></warning>
3216
This function is no longer different from
3217
<link linkend="gtk-widget-queue-draw-area"><function>gtk_widget_queue_draw_area()</function></link>, though it once was. Now it just calls
3218
<link linkend="gtk-widget-queue-draw-area"><function>gtk_widget_queue_draw_area()</function></link>. Originally
3219
<link linkend="gtk-widget-queue-clear-area"><function>gtk_widget_queue_clear_area()</function></link> would force a redraw of the
3220
background for <link linkend="GTK-NO-WINDOW:CAPS"><literal>GTK_NO_WINDOW</literal></link> widgets, and
3221
<link linkend="gtk-widget-queue-draw-area"><function>gtk_widget_queue_draw_area()</function></link> would not. Now both functions ensure
3222
the background will be redrawn.
3225
<parameter>Deprecated</parameter>: Use <link linkend="gtk-widget-queue-draw-area"><function>gtk_widget_queue_draw_area()</function></link> instead.</para>
3228
</para><variablelist role="params">
3229
<varlistentry><term><parameter>widget</parameter> :</term>
3230
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3231
</simpara></listitem></varlistentry>
3232
<varlistentry><term><parameter>x</parameter> :</term>
3233
<listitem><simpara> x coordinate of upper-left corner of rectangle to redraw
3234
</simpara></listitem></varlistentry>
3235
<varlistentry><term><parameter>y</parameter> :</term>
3236
<listitem><simpara> y coordinate of upper-left corner of rectangle to redraw
3237
</simpara></listitem></varlistentry>
3238
<varlistentry><term><parameter>width</parameter> :</term>
3239
<listitem><simpara> width of region to draw
3240
</simpara></listitem></varlistentry>
3241
<varlistentry><term><parameter>height</parameter> :</term>
3242
<listitem><simpara> height of region to draw
3243
</simpara></listitem></varlistentry>
3244
</variablelist></refsect2>
3246
<title><anchor id="gtk-widget-queue-draw-area" role="function"/>gtk_widget_queue_draw_area ()</title>
3247
<indexterm><primary>gtk_widget_queue_draw_area</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_queue_draw_area (<link linkend="GtkWidget">GtkWidget</link> *widget,
3248
<link linkend="gint">gint</link> x,
3249
<link linkend="gint">gint</link> y,
3250
<link linkend="gint">gint</link> width,
3251
<link linkend="gint">gint</link> height);</programlisting>
3253
Invalidates the rectangular area of <parameter>widget</parameter> defined by <parameter>x</parameter>, <parameter>y</parameter>,
3254
<parameter>width</parameter> and <parameter>height</parameter> by calling <link linkend="gdk-window-invalidate-rect"><function>gdk_window_invalidate_rect()</function></link> on the
3255
widget's window and all its child windows. Once the main loop
3256
becomes idle (after the current batch of events has been processed,
3257
roughly), the window will receive expose events for the union of
3258
all regions that have been invalidated.
3261
Normally you would only use this function in widget
3262
implementations. You might also use it, or
3263
<link linkend="gdk-window-invalidate-rect"><function>gdk_window_invalidate_rect()</function></link> directly, to schedule a redraw of a
3264
<link linkend="GtkDrawingArea"><type>GtkDrawingArea</type></link> or some portion thereof.
3267
Frequently you can just call <link linkend="gdk-window-invalidate-rect"><function>gdk_window_invalidate_rect()</function></link> or
3268
<link linkend="gdk-window-invalidate-region"><function>gdk_window_invalidate_region()</function></link> instead of this function. Those
3269
functions will invalidate only a single window, instead of the
3270
widget and all its children.
3273
The advantage of adding to the invalidated region compared to
3274
simply drawing immediately is efficiency; using an invalid region
3275
ensures that you only have to redraw one time.</para>
3278
</para><variablelist role="params">
3279
<varlistentry><term><parameter>widget</parameter> :</term>
3280
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3281
</simpara></listitem></varlistentry>
3282
<varlistentry><term><parameter>x</parameter> :</term>
3283
<listitem><simpara> x coordinate of upper-left corner of rectangle to redraw
3284
</simpara></listitem></varlistentry>
3285
<varlistentry><term><parameter>y</parameter> :</term>
3286
<listitem><simpara> y coordinate of upper-left corner of rectangle to redraw
3287
</simpara></listitem></varlistentry>
3288
<varlistentry><term><parameter>width</parameter> :</term>
3289
<listitem><simpara> width of region to draw
3290
</simpara></listitem></varlistentry>
3291
<varlistentry><term><parameter>height</parameter> :</term>
3292
<listitem><simpara> height of region to draw
3293
</simpara></listitem></varlistentry>
3294
</variablelist></refsect2>
3296
<title><anchor id="gtk-widget-reset-shapes" role="function"/>gtk_widget_reset_shapes ()</title>
3297
<indexterm><primary>gtk_widget_reset_shapes</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_reset_shapes (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3299
Recursively resets the shape on this widget and its descendants.</para>
3302
</para><variablelist role="params">
3303
<varlistentry><term><parameter>widget</parameter> :</term>
3304
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
3305
</simpara></listitem></varlistentry>
3306
</variablelist></refsect2>
3308
<title><anchor id="gtk-widget-set-app-paintable" role="function"/>gtk_widget_set_app_paintable ()</title>
3309
<indexterm><primary>gtk_widget_set_app_paintable</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_app_paintable (<link linkend="GtkWidget">GtkWidget</link> *widget,
3310
<link linkend="gboolean">gboolean</link> app_paintable);</programlisting>
3312
Sets whether the application intends to draw on the widget in
3313
an ::expose-event handler.
3316
This is a hint to the widget and does not affect the behavior of
3317
the GTK+ core; many widgets ignore this flag entirely. For widgets
3318
that do pay attention to the flag, such as <link linkend="GtkEventBox"><type>GtkEventBox</type></link> and <link linkend="GtkWindow"><type>GtkWindow</type></link>,
3319
the effect is to suppress default themed drawing of the widget's
3320
background. (Children of the widget will still be drawn.) The application
3321
is then entirely responsible for drawing the widget background.
3324
Note that the background is still drawn when the widget is mapped.
3325
If this is not suitable (e.g. because you want to make a transparent
3326
window using an RGBA visual), you can work around this by doing:
3327
<informalexample><programlisting>
3328
gtk_widget_realize (window);
3329
gdk_window_set_back_pixmap (window->window, NULL, FALSE);
3330
gtk_widget_show (window);
3331
</programlisting></informalexample></para>
3334
</para><variablelist role="params">
3335
<varlistentry><term><parameter>widget</parameter> :</term>
3336
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3337
</simpara></listitem></varlistentry>
3338
<varlistentry><term><parameter>app_paintable</parameter> :</term>
3339
<listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the application will paint on the widget
3340
</simpara></listitem></varlistentry>
3341
</variablelist></refsect2>
3343
<title><anchor id="gtk-widget-set-double-buffered" role="function"/>gtk_widget_set_double_buffered ()</title>
3344
<indexterm><primary>gtk_widget_set_double_buffered</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_double_buffered (<link linkend="GtkWidget">GtkWidget</link> *widget,
3345
<link linkend="gboolean">gboolean</link> double_buffered);</programlisting>
3347
Widgets are double buffered by default; you can use this function
3348
to turn off the buffering. "Double buffered" simply means that
3349
<link linkend="gdk-window-begin-paint-region"><function>gdk_window_begin_paint_region()</function></link> and <link linkend="gdk-window-end-paint"><function>gdk_window_end_paint()</function></link> are called
3350
automatically around expose events sent to the
3351
widget. <link linkend="gdk-window-begin-paint"><function>gdk_window_begin_paint()</function></link> diverts all drawing to a widget's
3352
window to an offscreen buffer, and <link linkend="gdk-window-end-paint"><function>gdk_window_end_paint()</function></link> draws the
3353
buffer to the screen. The result is that users see the window
3354
update in one smooth step, and don't see individual graphics
3355
primitives being rendered.
3358
In very simple terms, double buffered widgets don't flicker,
3359
so you would only use this function to turn off double buffering
3360
if you had special needs and really knew what you were doing.
3363
Note: if you turn off double-buffering, you have to handle
3364
expose events, since even the clearing to the background color or
3365
pixmap will not happen automatically (as it is done in
3366
<link linkend="gdk-window-begin-paint"><function>gdk_window_begin_paint()</function></link>).</para>
3369
</para><variablelist role="params">
3370
<varlistentry><term><parameter>widget</parameter> :</term>
3371
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3372
</simpara></listitem></varlistentry>
3373
<varlistentry><term><parameter>double_buffered</parameter> :</term>
3374
<listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to double-buffer a widget
3375
</simpara></listitem></varlistentry>
3376
</variablelist></refsect2>
3378
<title><anchor id="gtk-widget-set-redraw-on-allocate" role="function"/>gtk_widget_set_redraw_on_allocate ()</title>
3379
<indexterm><primary>gtk_widget_set_redraw_on_allocate</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_redraw_on_allocate (<link linkend="GtkWidget">GtkWidget</link> *widget,
3380
<link linkend="gboolean">gboolean</link> redraw_on_allocate);</programlisting>
3382
Sets whether the entire widget is queued for drawing when its size
3383
allocation changes. By default, this setting is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> and
3384
the entire widget is redrawn on every size change. If your widget
3385
leaves the upper left unchanged when made bigger, turning this
3386
setting on will improve performance.
3389
Note that for <link linkend="NO-WINDOW:CAPS"><literal>NO_WINDOW</literal></link> widgets setting this flag to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> turns
3390
off all allocation on resizing: the widget will not even redraw if
3391
its position changes; this is to allow containers that don't draw
3392
anything to avoid excess invalidations. If you set this flag on a
3393
<link linkend="NO-WINDOW:CAPS"><literal>NO_WINDOW</literal></link> widget that <emphasis>does</emphasis> draw on <parameter>widget->window</parameter>,
3394
you are responsible for invalidating both the old and new allocation
3395
of the widget when the widget is moved and responsible for invalidating
3396
regions newly when the widget increases size.</para>
3399
</para><variablelist role="params">
3400
<varlistentry><term><parameter>widget</parameter> :</term>
3401
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3402
</simpara></listitem></varlistentry>
3403
<varlistentry><term><parameter>redraw_on_allocate</parameter> :</term>
3404
<listitem><simpara> if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, the entire widget will be redrawn
3405
when it is allocated to a new size. Otherwise, only the
3406
new portion of the widget will be redrawn.
3407
</simpara></listitem></varlistentry>
3408
</variablelist></refsect2>
3410
<title><anchor id="gtk-widget-set-composite-name" role="function"/>gtk_widget_set_composite_name ()</title>
3411
<indexterm><primary>gtk_widget_set_composite_name</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_composite_name (<link linkend="GtkWidget">GtkWidget</link> *widget,
3412
const <link linkend="gchar">gchar</link> *name);</programlisting>
3414
Sets a widgets composite name. The widget must be
3415
a composite child of its parent; see <link linkend="gtk-widget-push-composite-child"><function>gtk_widget_push_composite_child()</function></link>.</para>
3418
</para><variablelist role="params">
3419
<varlistentry><term><parameter>widget</parameter> :</term>
3420
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
3421
</simpara></listitem></varlistentry>
3422
<varlistentry><term><parameter>name</parameter> :</term>
3423
<listitem><simpara> the name to set.
3424
</simpara></listitem></varlistentry>
3425
</variablelist></refsect2>
3427
<title><anchor id="gtk-widget-set-scroll-adjustments" role="function"/>gtk_widget_set_scroll_adjustments ()</title>
3428
<indexterm><primary>gtk_widget_set_scroll_adjustments</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_set_scroll_adjustments (<link linkend="GtkWidget">GtkWidget</link> *widget,
3429
<link linkend="GtkAdjustment">GtkAdjustment</link> *hadjustment,
3430
<link linkend="GtkAdjustment">GtkAdjustment</link> *vadjustment);</programlisting>
3432
For widgets that support scrolling, sets the scroll adjustments and
3433
returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>. For widgets that don't support scrolling, does
3434
nothing and returns <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>. Widgets that don't support scrolling
3435
can be scrolled by placing them in a <link linkend="GtkViewport"><type>GtkViewport</type></link>, which does
3436
support scrolling.</para>
3439
</para><variablelist role="params">
3440
<varlistentry><term><parameter>widget</parameter> :</term>
3441
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3442
</simpara></listitem></varlistentry>
3443
<varlistentry><term><parameter>hadjustment</parameter> :</term>
3444
<listitem><simpara> an adjustment for horizontal scrolling, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
3445
</simpara></listitem></varlistentry>
3446
<varlistentry><term><parameter>vadjustment</parameter> :</term>
3447
<listitem><simpara> an adjustment for vertical scrolling, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
3448
</simpara></listitem></varlistentry>
3449
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget supports scrolling
3450
</simpara></listitem></varlistentry>
3451
</variablelist></refsect2>
3453
<title><anchor id="gtk-widget-mnemonic-activate" role="function"/>gtk_widget_mnemonic_activate ()</title>
3454
<indexterm><primary>gtk_widget_mnemonic_activate</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_mnemonic_activate (<link linkend="GtkWidget">GtkWidget</link> *widget,
3455
<link linkend="gboolean">gboolean</link> group_cycling);</programlisting>
3458
</para><variablelist role="params">
3459
<varlistentry><term><parameter>widget</parameter> :</term>
3461
</simpara></listitem></varlistentry>
3462
<varlistentry><term><parameter>group_cycling</parameter> :</term>
3464
</simpara></listitem></varlistentry>
3465
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
3468
</simpara></listitem></varlistentry>
3469
</variablelist></refsect2>
3471
<title><anchor id="gtk-widget-class-install-style-property" role="function"/>gtk_widget_class_install_style_property ()</title>
3472
<indexterm><primary>gtk_widget_class_install_style_property</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_class_install_style_property
3473
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
3474
<link linkend="GParamSpec">GParamSpec</link> *pspec);</programlisting>
3476
Installs a style property on a widget class. The parser for the
3477
style property is determined by the value type of <parameter>pspec</parameter>.</para>
3480
</para><variablelist role="params">
3481
<varlistentry><term><parameter>klass</parameter> :</term>
3482
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
3483
</simpara></listitem></varlistentry>
3484
<varlistentry><term><parameter>pspec</parameter> :</term>
3485
<listitem><simpara> the <link linkend="GParamSpec"><type>GParamSpec</type></link> for the property
3486
</simpara></listitem></varlistentry>
3487
</variablelist></refsect2>
3489
<title><anchor id="gtk-widget-class-install-style-property-parser" role="function"/>gtk_widget_class_install_style_property_parser ()</title>
3490
<indexterm><primary>gtk_widget_class_install_style_property_parser</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_class_install_style_property_parser
3491
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
3492
<link linkend="GParamSpec">GParamSpec</link> *pspec,
3493
<link linkend="GtkRcPropertyParser">GtkRcPropertyParser</link> parser);</programlisting>
3495
Installs a style property on a widget class.</para>
3498
</para><variablelist role="params">
3499
<varlistentry><term><parameter>klass</parameter> :</term>
3500
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
3501
</simpara></listitem></varlistentry>
3502
<varlistentry><term><parameter>pspec</parameter> :</term>
3503
<listitem><simpara> the <link linkend="GParamSpec"><type>GParamSpec</type></link> for the style property
3504
</simpara></listitem></varlistentry>
3505
<varlistentry><term><parameter>parser</parameter> :</term>
3506
<listitem><simpara> the parser for the style property
3507
</simpara></listitem></varlistentry>
3508
</variablelist></refsect2>
3510
<title><anchor id="gtk-widget-class-find-style-property" role="function" condition="since:2.2"/>gtk_widget_class_find_style_property ()</title>
3511
<indexterm role="2.2"><primary>gtk_widget_class_find_style_property</primary></indexterm><programlisting><link linkend="GParamSpec">GParamSpec</link>* gtk_widget_class_find_style_property
3512
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
3513
const <link linkend="gchar">gchar</link> *property_name);</programlisting>
3515
Finds a style property of a widget class by name.</para>
3518
</para><variablelist role="params">
3519
<varlistentry><term><parameter>klass</parameter> :</term>
3520
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
3521
</simpara></listitem></varlistentry>
3522
<varlistentry><term><parameter>property_name</parameter> :</term>
3523
<listitem><simpara> the name of the style property to find
3524
</simpara></listitem></varlistentry>
3525
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GParamSpec"><type>GParamSpec</type></link> of the style property or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>class</parameter> has no
3526
style property with that name.
3527
</simpara></listitem></varlistentry>
3528
</variablelist><para role="since">Since 2.2
3531
<title><anchor id="gtk-widget-class-list-style-properties" role="function" condition="since:2.2"/>gtk_widget_class_list_style_properties ()</title>
3532
<indexterm role="2.2"><primary>gtk_widget_class_list_style_properties</primary></indexterm><programlisting><link linkend="GParamSpec">GParamSpec</link>** gtk_widget_class_list_style_properties
3533
(<link linkend="GtkWidgetClass">GtkWidgetClass</link> *klass,
3534
<link linkend="guint">guint</link> *n_properties);</programlisting>
3536
Returns all style properties of a widget class.</para>
3539
</para><variablelist role="params">
3540
<varlistentry><term><parameter>klass</parameter> :</term>
3541
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
3542
</simpara></listitem></varlistentry>
3543
<varlistentry><term><parameter>n_properties</parameter> :</term>
3544
<listitem><simpara> location to return the number of style properties found
3545
</simpara></listitem></varlistentry>
3546
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> an newly allocated array of <link linkend="GParamSpec"><type>GParamSpec</type></link>*. The array must be freed with <link linkend="g-free"><function>g_free()</function></link>.
3547
</simpara></listitem></varlistentry>
3548
</variablelist><para role="since">Since 2.2
3551
<title><anchor id="gtk-widget-region-intersect" role="function"/>gtk_widget_region_intersect ()</title>
3552
<indexterm><primary>gtk_widget_region_intersect</primary></indexterm><programlisting><link linkend="GdkRegion">GdkRegion</link>* gtk_widget_region_intersect (<link linkend="GtkWidget">GtkWidget</link> *widget,
3553
<link linkend="GdkRegion">GdkRegion</link> *region);</programlisting>
3555
Computes the intersection of a <parameter>widget</parameter>'s area and <parameter>region</parameter>, returning
3556
the intersection. The result may be empty, use <link linkend="gdk-region-empty"><function>gdk_region_empty()</function></link> to
3560
</para><variablelist role="params">
3561
<varlistentry><term><parameter>widget</parameter> :</term>
3562
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3563
</simpara></listitem></varlistentry>
3564
<varlistentry><term><parameter>region</parameter> :</term>
3565
<listitem><simpara> a <link linkend="GdkRegion"><type>GdkRegion</type></link>, in the same coordinate system as
3566
<parameter>widget->allocation</parameter>. That is, relative to <parameter>widget->window</parameter>
3567
for <link linkend="NO-WINDOW:CAPS"><literal>NO_WINDOW</literal></link> widgets; relative to the parent window
3568
of <parameter>widget->window</parameter> for widgets with their own window.
3569
</simpara></listitem></varlistentry>
3570
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A newly allocated region holding the intersection of <parameter>widget</parameter>
3571
and <parameter>region</parameter>. The coordinates of the return value are
3572
relative to <parameter>widget->window</parameter> for <link linkend="NO-WINDOW:CAPS"><literal>NO_WINDOW</literal></link> widgets, and
3573
relative to the parent window of <parameter>widget->window</parameter> for
3574
widgets with their own window.
3575
</simpara></listitem></varlistentry>
3576
</variablelist></refsect2>
3578
<title><anchor id="gtk-widget-send-expose" role="function"/>gtk_widget_send_expose ()</title>
3579
<indexterm><primary>gtk_widget_send_expose</primary></indexterm><programlisting><link linkend="gint">gint</link> gtk_widget_send_expose (<link linkend="GtkWidget">GtkWidget</link> *widget,
3580
<link linkend="GdkEvent">GdkEvent</link> *event);</programlisting>
3582
Very rarely-used function. This function is used to emit
3583
an expose event signals on a widget. This function is not
3584
normally used directly. The only time it is used is when
3585
propagating an expose event to a child <link linkend="NO-WINDOW:CAPS"><literal>NO_WINDOW</literal></link> widget, and
3586
that is normally done using <link linkend="gtk-container-propagate-expose"><function>gtk_container_propagate_expose()</function></link>.
3589
If you want to force an area of a window to be redrawn,
3590
use <link linkend="gdk-window-invalidate-rect"><function>gdk_window_invalidate_rect()</function></link> or <link linkend="gdk-window-invalidate-region"><function>gdk_window_invalidate_region()</function></link>.
3591
To cause the redraw to be done immediately, follow that call
3592
with a call to <link linkend="gdk-window-process-updates"><function>gdk_window_process_updates()</function></link>.</para>
3595
</para><variablelist role="params">
3596
<varlistentry><term><parameter>widget</parameter> :</term>
3597
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3598
</simpara></listitem></varlistentry>
3599
<varlistentry><term><parameter>event</parameter> :</term>
3600
<listitem><simpara> a expose <link linkend="GdkEvent"><type>GdkEvent</type></link>
3601
</simpara></listitem></varlistentry>
3602
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> return from the event signal emission (<link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event was handled)
3603
</simpara></listitem></varlistentry>
3604
</variablelist></refsect2>
3606
<title><anchor id="gtk-widget-style-get" role="function"/>gtk_widget_style_get ()</title>
3607
<indexterm><primary>gtk_widget_style_get</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_style_get (<link linkend="GtkWidget">GtkWidget</link> *widget,
3608
const <link linkend="gchar">gchar</link> *first_property_name,
3609
...);</programlisting>
3611
Gets the values of a multiple style properties of <parameter>widget</parameter>.</para>
3614
</para><variablelist role="params">
3615
<varlistentry><term><parameter>widget</parameter> :</term>
3616
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3617
</simpara></listitem></varlistentry>
3618
<varlistentry><term><parameter>first_property_name</parameter> :</term>
3619
<listitem><simpara> the name of the first property to get
3620
</simpara></listitem></varlistentry>
3621
<varlistentry><term><parameter>...</parameter> :</term>
3622
<listitem><simpara> pairs of property names and locations to
3623
return the property values, starting with the location for
3624
<parameter>first_property_name</parameter>, terminated by <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
3625
</simpara></listitem></varlistentry>
3626
</variablelist></refsect2>
3628
<title><anchor id="gtk-widget-style-get-property" role="function"/>gtk_widget_style_get_property ()</title>
3629
<indexterm><primary>gtk_widget_style_get_property</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_style_get_property (<link linkend="GtkWidget">GtkWidget</link> *widget,
3630
const <link linkend="gchar">gchar</link> *property_name,
3631
<link linkend="GValue">GValue</link> *value);</programlisting>
3633
Gets the value of a style property of <parameter>widget</parameter>.</para>
3636
</para><variablelist role="params">
3637
<varlistentry><term><parameter>widget</parameter> :</term>
3638
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3639
</simpara></listitem></varlistentry>
3640
<varlistentry><term><parameter>property_name</parameter> :</term>
3641
<listitem><simpara> the name of a style property
3642
</simpara></listitem></varlistentry>
3643
<varlistentry><term><parameter>value</parameter> :</term>
3644
<listitem><simpara> location to return the property value
3645
</simpara></listitem></varlistentry>
3646
</variablelist></refsect2>
3648
<title><anchor id="gtk-widget-style-get-valist" role="function"/>gtk_widget_style_get_valist ()</title>
3649
<indexterm><primary>gtk_widget_style_get_valist</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_style_get_valist (<link linkend="GtkWidget">GtkWidget</link> *widget,
3650
const <link linkend="gchar">gchar</link> *first_property_name,
3651
<link linkend="va-list">va_list</link> var_args);</programlisting>
3653
Non-vararg variant of <link linkend="gtk-widget-style-get"><function>gtk_widget_style_get()</function></link>. Used primarily by language
3657
</para><variablelist role="params">
3658
<varlistentry><term><parameter>widget</parameter> :</term>
3659
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3660
</simpara></listitem></varlistentry>
3661
<varlistentry><term><parameter>first_property_name</parameter> :</term>
3662
<listitem><simpara> the name of the first property to get
3663
</simpara></listitem></varlistentry>
3664
<varlistentry><term><parameter>var_args</parameter> :</term>
3665
<listitem><simpara> a <type>va_list</type> of pairs of property names and
3666
locations to return the property values, starting with the location
3667
for <parameter>first_property_name</parameter>.
3668
</simpara></listitem></varlistentry>
3669
</variablelist></refsect2>
3671
<title><anchor id="gtk-widget-get-accessible" role="function"/>gtk_widget_get_accessible ()</title>
3672
<indexterm><primary>gtk_widget_get_accessible</primary></indexterm><programlisting><link linkend="AtkObject">AtkObject</link>* gtk_widget_get_accessible (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3674
Returns the accessible object that describes the widget to an
3675
assistive technology.
3678
If no accessibility library is loaded (i.e. no ATK implementation library is
3679
loaded via <envar>GTK_MODULES</envar> or via another application library,
3680
such as libgnome), then this <link linkend="AtkObject"><type>AtkObject</type></link> instance may be a no-op. Likewise,
3681
if no class-specific <link linkend="AtkObject"><type>AtkObject</type></link> implementation is available for the widget
3682
instance in question, it will inherit an <link linkend="AtkObject"><type>AtkObject</type></link> implementation from the
3683
first ancestor class for which such an implementation is defined.
3686
The documentation of the <ulink url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink>
3687
library contains more information about accessible objects and their uses.</para>
3690
</para><variablelist role="params">
3691
<varlistentry><term><parameter>widget</parameter> :</term>
3692
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3693
</simpara></listitem></varlistentry>
3694
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="AtkObject"><type>AtkObject</type></link> associated with <parameter>widget</parameter>
3695
</simpara></listitem></varlistentry>
3696
</variablelist></refsect2>
3698
<title><anchor id="gtk-widget-child-focus" role="function"/>gtk_widget_child_focus ()</title>
3699
<indexterm><primary>gtk_widget_child_focus</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_child_focus (<link linkend="GtkWidget">GtkWidget</link> *widget,
3700
<link linkend="GtkDirectionType">GtkDirectionType</link> direction);</programlisting>
3702
This function is used by custom widget implementations; if you're
3703
writing an app, you'd use <link linkend="gtk-widget-grab-focus"><function>gtk_widget_grab_focus()</function></link> to move the focus
3704
to a particular widget, and <link linkend="gtk-container-set-focus-chain"><function>gtk_container_set_focus_chain()</function></link> to
3705
change the focus tab order. So you may want to investigate those
3709
<link linkend="gtk-widget-child-focus"><function>gtk_widget_child_focus()</function></link> is called by containers as the user moves
3710
around the window using keyboard shortcuts. <parameter>direction</parameter> indicates
3711
what kind of motion is taking place (up, down, left, right, tab
3712
forward, tab backward). <link linkend="gtk-widget-child-focus"><function>gtk_widget_child_focus()</function></link> invokes the
3713
"focus" signal on <link linkend="GtkWidget"><type>GtkWidget</type></link>; widgets override the default handler
3714
for this signal in order to implement appropriate focus behavior.
3717
The "focus" default handler for a widget should return <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if
3718
moving in <parameter>direction</parameter> left the focus on a focusable location inside
3719
that widget, and <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if moving in <parameter>direction</parameter> moved the focus
3720
outside the widget. If returning <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, widgets normally
3721
call <link linkend="gtk-widget-grab-focus"><function>gtk_widget_grab_focus()</function></link> to place the focus accordingly;
3722
if returning <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, they don't modify the current focus location.
3725
This function replaces <link linkend="gtk-container-focus"><function>gtk_container_focus()</function></link> from GTK+ 1.2. It was
3726
necessary to check that the child was visible, sensitive, and
3727
focusable before calling
3728
<link linkend="gtk-container-focus"><function>gtk_container_focus()</function></link>. <link linkend="gtk-widget-child-focus"><function>gtk_widget_child_focus()</function></link> returns <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if
3729
the widget is not currently in a focusable state, so there's no
3730
need for those checks.</para>
3733
</para><variablelist role="params">
3734
<varlistentry><term><parameter>widget</parameter> :</term>
3735
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3736
</simpara></listitem></varlistentry>
3737
<varlistentry><term><parameter>direction</parameter> :</term>
3738
<listitem><simpara> direction of focus movement
3739
</simpara></listitem></varlistentry>
3740
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if focus ended up inside <parameter>widget</parameter>
3741
</simpara></listitem></varlistentry>
3742
</variablelist></refsect2>
3744
<title><anchor id="gtk-widget-child-notify" role="function"/>gtk_widget_child_notify ()</title>
3745
<indexterm><primary>gtk_widget_child_notify</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_child_notify (<link linkend="GtkWidget">GtkWidget</link> *widget,
3746
const <link linkend="gchar">gchar</link> *child_property);</programlisting>
3748
Emits a "child-notify" signal for the
3749
<link linkend="child-properties">child property</link> <parameter>child_property</parameter>
3750
on <parameter>widget</parameter>.
3753
This is the analogue of <link linkend="g-object-notify"><function>g_object_notify()</function></link> for child properties.</para>
3756
</para><variablelist role="params">
3757
<varlistentry><term><parameter>widget</parameter> :</term>
3758
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3759
</simpara></listitem></varlistentry>
3760
<varlistentry><term><parameter>child_property</parameter> :</term>
3761
<listitem><simpara> the name of a child property installed on the
3762
class of <parameter>widget</parameter><!-- -->'s parent.
3763
</simpara></listitem></varlistentry>
3764
</variablelist></refsect2>
3766
<title><anchor id="gtk-widget-freeze-child-notify" role="function"/>gtk_widget_freeze_child_notify ()</title>
3767
<indexterm><primary>gtk_widget_freeze_child_notify</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_freeze_child_notify (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3769
Stops emission of "child-notify" signals on <parameter>widget</parameter>. The signals are
3770
queued until <link linkend="gtk-widget-thaw-child-notify"><function>gtk_widget_thaw_child_notify()</function></link> is called on <parameter>widget</parameter>.
3773
This is the analogue of <link linkend="g-object-freeze-notify"><function>g_object_freeze_notify()</function></link> for child properties.</para>
3776
</para><variablelist role="params">
3777
<varlistentry><term><parameter>widget</parameter> :</term>
3778
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3779
</simpara></listitem></varlistentry>
3780
</variablelist></refsect2>
3782
<title><anchor id="gtk-widget-get-child-visible" role="function"/>gtk_widget_get_child_visible ()</title>
3783
<indexterm><primary>gtk_widget_get_child_visible</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_get_child_visible (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3785
Gets the value set with <link linkend="gtk-widget-set-child-visible"><function>gtk_widget_set_child_visible()</function></link>.
3786
If you feel a need to use this function, your code probably
3787
needs reorganization.
3790
This function is only useful for container implementations and
3791
never should be called by an application.</para>
3794
</para><variablelist role="params">
3795
<varlistentry><term><parameter>widget</parameter> :</term>
3796
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3797
</simpara></listitem></varlistentry>
3798
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget is mapped with the parent.
3799
</simpara></listitem></varlistentry>
3800
</variablelist></refsect2>
3802
<title><anchor id="gtk-widget-get-parent" role="function"/>gtk_widget_get_parent ()</title>
3803
<indexterm><primary>gtk_widget_get_parent</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gtk_widget_get_parent (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3805
Returns the parent container of <parameter>widget</parameter>.</para>
3808
</para><variablelist role="params">
3809
<varlistentry><term><parameter>widget</parameter> :</term>
3810
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3811
</simpara></listitem></varlistentry>
3812
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the parent container of <parameter>widget</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
3813
</simpara></listitem></varlistentry>
3814
</variablelist></refsect2>
3816
<title><anchor id="gtk-widget-get-settings" role="function"/>gtk_widget_get_settings ()</title>
3817
<indexterm><primary>gtk_widget_get_settings</primary></indexterm><programlisting><link linkend="GtkSettings">GtkSettings</link>* gtk_widget_get_settings (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3819
Gets the settings object holding the settings (global property
3820
settings, RC file information, etc) used for this widget.
3823
Note that this function can only be called when the <link linkend="GtkWidget"><type>GtkWidget</type></link>
3824
is attached to a toplevel, since the settings object is specific
3825
to a particular <link linkend="GdkScreen"><type>GdkScreen</type></link>.</para>
3828
</para><variablelist role="params">
3829
<varlistentry><term><parameter>widget</parameter> :</term>
3830
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3831
</simpara></listitem></varlistentry>
3832
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the relevant <link linkend="GtkSettings"><type>GtkSettings</type></link> object
3833
</simpara></listitem></varlistentry>
3834
</variablelist></refsect2>
3836
<title><anchor id="gtk-widget-get-clipboard" role="function" condition="since:2.2"/>gtk_widget_get_clipboard ()</title>
3837
<indexterm role="2.2"><primary>gtk_widget_get_clipboard</primary></indexterm><programlisting><link linkend="GtkClipboard">GtkClipboard</link>* gtk_widget_get_clipboard (<link linkend="GtkWidget">GtkWidget</link> *widget,
3838
<link linkend="GdkAtom">GdkAtom</link> selection);</programlisting>
3840
Returns the clipboard object for the given selection to
3841
be used with <parameter>widget</parameter>. <parameter>widget</parameter> must have a <link linkend="GdkDisplay"><type>GdkDisplay</type></link>
3842
associated with it, so must be attached to a toplevel
3846
</para><variablelist role="params">
3847
<varlistentry><term><parameter>widget</parameter> :</term>
3848
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3849
</simpara></listitem></varlistentry>
3850
<varlistentry><term><parameter>selection</parameter> :</term>
3851
<listitem><simpara> a <link linkend="GdkAtom"><type>GdkAtom</type></link> which identifies the clipboard
3852
to use. <link linkend="GDK-SELECTION-CLIPBOARD:CAPS"><literal>GDK_SELECTION_CLIPBOARD</literal></link> gives the
3853
default clipboard. Another common value
3854
is <link linkend="GDK-SELECTION-PRIMARY:CAPS"><literal>GDK_SELECTION_PRIMARY</literal></link>, which gives
3855
the primary X selection.
3856
</simpara></listitem></varlistentry>
3857
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the appropriate clipboard object. If no
3858
clipboard already exists, a new one will
3859
be created. Once a clipboard object has
3860
been created, it is persistent for all time.
3862
</simpara></listitem></varlistentry>
3863
</variablelist><para role="since">Since 2.2
3866
<title><anchor id="gtk-widget-get-display" role="function" condition="since:2.2"/>gtk_widget_get_display ()</title>
3867
<indexterm role="2.2"><primary>gtk_widget_get_display</primary></indexterm><programlisting><link linkend="GdkDisplay">GdkDisplay</link>* gtk_widget_get_display (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3869
Get the <link linkend="GdkDisplay"><type>GdkDisplay</type></link> for the toplevel window associated with
3870
this widget. This function can only be called after the widget
3871
has been added to a widget hierarchy with a <link linkend="GtkWindow"><type>GtkWindow</type></link> at the top.
3874
In general, you should only create display specific
3875
resources when a widget has been realized, and you should
3876
free those resources when the widget is unrealized.</para>
3879
</para><variablelist role="params">
3880
<varlistentry><term><parameter>widget</parameter> :</term>
3881
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3882
</simpara></listitem></varlistentry>
3883
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GdkDisplay"><type>GdkDisplay</type></link> for the toplevel for this widget.
3885
</simpara></listitem></varlistentry>
3886
</variablelist><para role="since">Since 2.2
3889
<title><anchor id="gtk-widget-get-root-window" role="function" condition="since:2.2"/>gtk_widget_get_root_window ()</title>
3890
<indexterm role="2.2"><primary>gtk_widget_get_root_window</primary></indexterm><programlisting><link linkend="GdkWindow">GdkWindow</link>* gtk_widget_get_root_window (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3892
Get the root window where this widget is located. This function can
3893
only be called after the widget has been added to a widget
3894
heirarchy with <link linkend="GtkWindow"><type>GtkWindow</type></link> at the top.
3897
The root window is useful for such purposes as creating a popup
3898
<link linkend="GdkWindow"><type>GdkWindow</type></link> associated with the window. In general, you should only
3899
create display specific resources when a widget has been realized,
3900
and you should free those resources when the widget is unrealized.</para>
3903
</para><variablelist role="params">
3904
<varlistentry><term><parameter>widget</parameter> :</term>
3905
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3906
</simpara></listitem></varlistentry>
3907
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GdkWindow"><type>GdkWindow</type></link> root window for the toplevel for this widget.
3909
</simpara></listitem></varlistentry>
3910
</variablelist><para role="since">Since 2.2
3913
<title><anchor id="gtk-widget-get-screen" role="function" condition="since:2.2"/>gtk_widget_get_screen ()</title>
3914
<indexterm role="2.2"><primary>gtk_widget_get_screen</primary></indexterm><programlisting><link linkend="GdkScreen">GdkScreen</link>* gtk_widget_get_screen (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3916
Get the <link linkend="GdkScreen"><type>GdkScreen</type></link> from the toplevel window associated with
3917
this widget. This function can only be called after the widget
3918
has been added to a widget hierarchy with a <link linkend="GtkWindow"><type>GtkWindow</type></link>
3922
In general, you should only create screen specific
3923
resources when a widget has been realized, and you should
3924
free those resources when the widget is unrealized.</para>
3927
</para><variablelist role="params">
3928
<varlistentry><term><parameter>widget</parameter> :</term>
3929
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3930
</simpara></listitem></varlistentry>
3931
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GdkScreen"><type>GdkScreen</type></link> for the toplevel for this widget.
3933
</simpara></listitem></varlistentry>
3934
</variablelist><para role="since">Since 2.2
3937
<title><anchor id="gtk-widget-has-screen" role="function" condition="since:2.2"/>gtk_widget_has_screen ()</title>
3938
<indexterm role="2.2"><primary>gtk_widget_has_screen</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_has_screen (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
3940
Checks whether there is a <link linkend="GdkScreen"><type>GdkScreen</type></link> is associated with
3941
this widget. All toplevel widgets have an associated
3942
screen, and all widgets added into a heirarchy with a toplevel
3943
window at the top.</para>
3946
</para><variablelist role="params">
3947
<varlistentry><term><parameter>widget</parameter> :</term>
3948
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3949
</simpara></listitem></varlistentry>
3950
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if there is a <link linkend="GdkScreen"><type>GdkScreen</type></link> associcated
3953
</simpara></listitem></varlistentry>
3954
</variablelist><para role="since">Since 2.2
3957
<title><anchor id="gtk-widget-get-size-request" role="function"/>gtk_widget_get_size_request ()</title>
3958
<indexterm><primary>gtk_widget_get_size_request</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_get_size_request (<link linkend="GtkWidget">GtkWidget</link> *widget,
3959
<link linkend="gint">gint</link> *width,
3960
<link linkend="gint">gint</link> *height);</programlisting>
3962
Gets the size request that was explicitly set for the widget using
3963
<link linkend="gtk-widget-set-size-request"><function>gtk_widget_set_size_request()</function></link>. A value of -1 stored in <parameter>width</parameter> or
3964
<parameter>height</parameter> indicates that that dimension has not been set explicitly
3965
and the natural requisition of the widget will be used intead. See
3966
<link linkend="gtk-widget-set-size-request"><function>gtk_widget_set_size_request()</function></link>. To get the size a widget will
3967
actually use, call <link linkend="gtk-widget-size-request"><function>gtk_widget_size_request()</function></link> instead of
3968
this function.</para>
3971
</para><variablelist role="params">
3972
<varlistentry><term><parameter>widget</parameter> :</term>
3973
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
3974
</simpara></listitem></varlistentry>
3975
<varlistentry><term><parameter>width</parameter> :</term>
3976
<listitem><simpara> return location for width, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
3977
</simpara></listitem></varlistentry>
3978
<varlistentry><term><parameter>height</parameter> :</term>
3979
<listitem><simpara> return location for height, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
3980
</simpara></listitem></varlistentry>
3981
</variablelist></refsect2>
3983
<title><anchor id="gtk-widget-pop-visual" role="macro" condition="deprecated:"/>gtk_widget_pop_visual()</title>
3984
<indexterm role="deprecated"><primary>gtk_widget_pop_visual</primary></indexterm><programlisting>#define gtk_widget_pop_visual() ((void) 0)
3986
<warning><para><literal>gtk_widget_pop_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
3988
This function is deprecated; it does nothing.
3991
<title><anchor id="gtk-widget-push-visual" role="macro" condition="deprecated:"/>gtk_widget_push_visual()</title>
3992
<indexterm role="deprecated"><primary>gtk_widget_push_visual</primary></indexterm><programlisting>#define gtk_widget_push_visual(visual) ((void) 0)
3994
<warning><para><literal>gtk_widget_push_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
3996
This function is deprecated; it does nothing.
3997
</para><variablelist role="params">
3998
<varlistentry><term><parameter>visual</parameter> :</term>
4002
</simpara></listitem></varlistentry>
4003
</variablelist></refsect2>
4005
<title><anchor id="gtk-widget-set-child-visible" role="function"/>gtk_widget_set_child_visible ()</title>
4006
<indexterm><primary>gtk_widget_set_child_visible</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_child_visible (<link linkend="GtkWidget">GtkWidget</link> *widget,
4007
<link linkend="gboolean">gboolean</link> is_visible);</programlisting>
4009
Sets whether <parameter>widget</parameter> should be mapped along with its when its parent
4010
is mapped and <parameter>widget</parameter> has been shown with <link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link>.
4013
The child visibility can be set for widget before it is added to
4014
a container with <link linkend="gtk-widget-set-parent"><function>gtk_widget_set_parent()</function></link>, to avoid mapping
4015
children unnecessary before immediately unmapping them. However
4016
it will be reset to its default state of <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> when the widget
4017
is removed from a container.
4020
Note that changing the child visibility of a widget does not
4021
queue a resize on the widget. Most of the time, the size of
4022
a widget is computed from all visible children, whether or
4023
not they are mapped. If this is not the case, the container
4024
can queue a resize itself.
4027
This function is only useful for container implementations and
4028
never should be called by an application.</para>
4031
</para><variablelist role="params">
4032
<varlistentry><term><parameter>widget</parameter> :</term>
4033
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4034
</simpara></listitem></varlistentry>
4035
<varlistentry><term><parameter>is_visible</parameter> :</term>
4036
<listitem><simpara> if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, <parameter>widget</parameter> should be mapped along with its parent.
4037
</simpara></listitem></varlistentry>
4038
</variablelist></refsect2>
4040
<title><anchor id="gtk-widget-set-default-visual" role="macro" condition="deprecated:"/>gtk_widget_set_default_visual()</title>
4041
<indexterm role="deprecated"><primary>gtk_widget_set_default_visual</primary></indexterm><programlisting>#define gtk_widget_set_default_visual(visual) ((void) 0)
4043
<warning><para><literal>gtk_widget_set_default_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
4045
This function is deprecated; it does nothing.
4046
</para><variablelist role="params">
4047
<varlistentry><term><parameter>visual</parameter> :</term>
4051
</simpara></listitem></varlistentry>
4052
</variablelist></refsect2>
4054
<title><anchor id="gtk-widget-set-size-request" role="function"/>gtk_widget_set_size_request ()</title>
4055
<indexterm><primary>gtk_widget_set_size_request</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_size_request (<link linkend="GtkWidget">GtkWidget</link> *widget,
4056
<link linkend="gint">gint</link> width,
4057
<link linkend="gint">gint</link> height);</programlisting>
4059
Sets the minimum size of a widget; that is, the widget's size
4060
request will be <parameter>width</parameter> by <parameter>height</parameter>. You can use this function to
4061
force a widget to be either larger or smaller than it normally
4065
In most cases, <link linkend="gtk-window-set-default-size"><function>gtk_window_set_default_size()</function></link> is a better choice for
4066
toplevel windows than this function; setting the default size will
4067
still allow users to shrink the window. Setting the size request
4068
will force them to leave the window at least as large as the size
4069
request. When dealing with window sizes,
4070
<link linkend="gtk-window-set-geometry-hints"><function>gtk_window_set_geometry_hints()</function></link> can be a useful function as well.
4073
Note the inherent danger of setting any fixed size - themes,
4074
translations into other languages, different fonts, and user action
4075
can all change the appropriate size for a given widget. So, it's
4076
basically impossible to hardcode a size that will always be
4080
The size request of a widget is the smallest size a widget can
4081
accept while still functioning well and drawing itself correctly.
4082
However in some strange cases a widget may be allocated less than
4083
its requested size, and in many cases a widget may be allocated more
4084
space than it requested.
4087
If the size request in a given direction is -1 (unset), then
4088
the "natural" size request of the widget will be used instead.
4091
Widgets can't actually be allocated a size less than 1 by 1, but
4092
you can pass 0,0 to this function to mean "as small as possible."</para>
4095
</para><variablelist role="params">
4096
<varlistentry><term><parameter>widget</parameter> :</term>
4097
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4098
</simpara></listitem></varlistentry>
4099
<varlistentry><term><parameter>width</parameter> :</term>
4100
<listitem><simpara> width <parameter>widget</parameter> should request, or -1 to unset
4101
</simpara></listitem></varlistentry>
4102
<varlistentry><term><parameter>height</parameter> :</term>
4103
<listitem><simpara> height <parameter>widget</parameter> should request, or -1 to unset
4104
</simpara></listitem></varlistentry>
4105
</variablelist></refsect2>
4107
<title><anchor id="gtk-widget-set-visual" role="macro" condition="deprecated:"/>gtk_widget_set_visual()</title>
4108
<indexterm role="deprecated"><primary>gtk_widget_set_visual</primary></indexterm><programlisting>#define gtk_widget_set_visual(widget,visual) ((void) 0)
4110
<warning><para><literal>gtk_widget_set_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
4112
This function is deprecated; it does nothing.
4113
</para><variablelist role="params">
4114
<varlistentry><term><parameter>widget</parameter> :</term>
4116
</simpara></listitem></varlistentry>
4117
<varlistentry><term><parameter>visual</parameter> :</term>
4121
</simpara></listitem></varlistentry>
4122
</variablelist></refsect2>
4124
<title><anchor id="gtk-widget-thaw-child-notify" role="function"/>gtk_widget_thaw_child_notify ()</title>
4125
<indexterm><primary>gtk_widget_thaw_child_notify</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_thaw_child_notify (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
4127
Reverts the effect of a previous call to <link linkend="gtk-widget-freeze-child-notify"><function>gtk_widget_freeze_child_notify()</function></link>.
4128
This causes all queued "child-notify" signals on <parameter>widget</parameter> to be emitted.</para>
4131
</para><variablelist role="params">
4132
<varlistentry><term><parameter>widget</parameter> :</term>
4133
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4134
</simpara></listitem></varlistentry>
4135
</variablelist></refsect2>
4137
<title><anchor id="gtk-widget-set-no-show-all" role="function" condition="since:2.4"/>gtk_widget_set_no_show_all ()</title>
4138
<indexterm role="2.4"><primary>gtk_widget_set_no_show_all</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_set_no_show_all (<link linkend="GtkWidget">GtkWidget</link> *widget,
4139
<link linkend="gboolean">gboolean</link> no_show_all);</programlisting>
4141
Sets the "no_show_all" property, which determines whether calls to
4142
<link linkend="gtk-widget-show-all"><function>gtk_widget_show_all()</function></link> and <link linkend="gtk-widget-hide-all"><function>gtk_widget_hide_all()</function></link> will affect this widget.
4145
This is mostly for use in constructing widget hierarchies with externally
4146
controlled visibility, see <link linkend="GtkUIManager"><type>GtkUIManager</type></link>.</para>
4149
</para><variablelist role="params">
4150
<varlistentry><term><parameter>widget</parameter> :</term>
4151
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4152
</simpara></listitem></varlistentry>
4153
<varlistentry><term><parameter>no_show_all</parameter> :</term>
4154
<listitem><simpara> the new value for the "no_show_all" property
4155
</simpara></listitem></varlistentry>
4156
</variablelist><para role="since">Since 2.4
4159
<title><anchor id="gtk-widget-get-no-show-all" role="function" condition="since:2.4"/>gtk_widget_get_no_show_all ()</title>
4160
<indexterm role="2.4"><primary>gtk_widget_get_no_show_all</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_get_no_show_all (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
4162
Returns the current value of the "no_show_all" property, which determines
4163
whether calls to <link linkend="gtk-widget-show-all"><function>gtk_widget_show_all()</function></link> and <link linkend="gtk-widget-hide-all"><function>gtk_widget_hide_all()</function></link>
4164
will affect this widget.</para>
4167
</para><variablelist role="params">
4168
<varlistentry><term><parameter>widget</parameter> :</term>
4169
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4170
</simpara></listitem></varlistentry>
4171
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the current value of the "no_show_all" property.
4173
</simpara></listitem></varlistentry>
4174
</variablelist><para role="since">Since 2.4
4177
<title><anchor id="gtk-widget-list-mnemonic-labels" role="function" condition="since:2.4"/>gtk_widget_list_mnemonic_labels ()</title>
4178
<indexterm role="2.4"><primary>gtk_widget_list_mnemonic_labels</primary></indexterm><programlisting><link linkend="GList">GList</link>* gtk_widget_list_mnemonic_labels (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
4180
Returns a newly allocated list of the widgets, normally labels, for
4181
which this widget is a the target of a mnemonic (see for example,
4182
<link linkend="gtk-label-set-mnemonic-widget"><function>gtk_label_set_mnemonic_widget()</function></link>).
4185
The widgets in the list are not individually referenced. If you
4186
want to iterate through the list and perform actions involving
4187
callbacks that might destroy the widgets, you
4188
<emphasis>must</emphasis> call <literal>g_list_foreach (result,
4189
(GFunc)g_object_ref, NULL)</literal> first, and then unref all the
4190
widgets afterwards.</para>
4193
</para><variablelist role="params">
4194
<varlistentry><term><parameter>widget</parameter> :</term>
4195
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4196
</simpara></listitem></varlistentry>
4197
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the list of mnemonic labels; free this list
4198
with <link linkend="g-list-free"><function>g_list_free()</function></link> when you are done with it.
4200
</simpara></listitem></varlistentry>
4201
</variablelist><para role="since">Since 2.4
4204
<title><anchor id="gtk-widget-add-mnemonic-label" role="function" condition="since:2.4"/>gtk_widget_add_mnemonic_label ()</title>
4205
<indexterm role="2.4"><primary>gtk_widget_add_mnemonic_label</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_add_mnemonic_label (<link linkend="GtkWidget">GtkWidget</link> *widget,
4206
<link linkend="GtkWidget">GtkWidget</link> *label);</programlisting>
4208
Adds a widget to the list of mnemonic labels for
4209
this widget. (See <link linkend="gtk-widget-list-mnemonic-labels"><function>gtk_widget_list_mnemonic_labels()</function></link>). Note the
4210
list of mnemonic labels for the widget is cleared when the
4211
widget is destroyed, so the caller must make sure to update
4212
its internal state at this point as well, by using a connection
4213
to the ::destroy signal or a weak notifier.</para>
4216
</para><variablelist role="params">
4217
<varlistentry><term><parameter>widget</parameter> :</term>
4218
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4219
</simpara></listitem></varlistentry>
4220
<varlistentry><term><parameter>label</parameter> :</term>
4221
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> that acts as a mnemonic label for <parameter>widget</parameter>.
4222
</simpara></listitem></varlistentry>
4223
</variablelist><para role="since">Since 2.4
4226
<title><anchor id="gtk-widget-remove-mnemonic-label" role="function" condition="since:2.4"/>gtk_widget_remove_mnemonic_label ()</title>
4227
<indexterm role="2.4"><primary>gtk_widget_remove_mnemonic_label</primary></indexterm><programlisting><link linkend="void">void</link> gtk_widget_remove_mnemonic_label (<link linkend="GtkWidget">GtkWidget</link> *widget,
4228
<link linkend="GtkWidget">GtkWidget</link> *label);</programlisting>
4230
Removes a widget from the list of mnemonic labels for
4231
this widget. (See <link linkend="gtk-widget-list-mnemonic-labels"><function>gtk_widget_list_mnemonic_labels()</function></link>). The widget
4232
must have previously been added to the list with
4233
<link linkend="gtk-widget-add-mnemonic-label"><function>gtk_widget_add_mnemonic_label()</function></link>.</para>
4236
</para><variablelist role="params">
4237
<varlistentry><term><parameter>widget</parameter> :</term>
4238
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4239
</simpara></listitem></varlistentry>
4240
<varlistentry><term><parameter>label</parameter> :</term>
4241
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> that was previously set as a mnemnic label for
4242
<parameter>widget</parameter> with <link linkend="gtk-widget-add-mnemonic-label"><function>gtk_widget_add_mnemonic_label()</function></link>.
4243
</simpara></listitem></varlistentry>
4244
</variablelist><para role="since">Since 2.4
4247
<title><anchor id="gtk-widget-get-action" role="function" condition="since:2.10"/>gtk_widget_get_action ()</title>
4248
<indexterm role="2.10"><primary>gtk_widget_get_action</primary></indexterm><programlisting><link linkend="GtkAction">GtkAction</link>* gtk_widget_get_action (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
4250
Returns the <link linkend="GtkAction"><type>GtkAction</type></link> that <parameter>widget</parameter> is a proxy for.
4251
See also <link linkend="gtk-action-get-proxies"><function>gtk_action_get_proxies()</function></link>.</para>
4254
</para><variablelist role="params">
4255
<varlistentry><term><parameter>widget</parameter> :</term>
4256
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4257
</simpara></listitem></varlistentry>
4258
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the action that a widget is a proxy for, or
4259
<link linkend="NULL:CAPS"><literal>NULL</literal></link>, if it is not attached to an action.
4261
</simpara></listitem></varlistentry>
4262
</variablelist><para role="since">Since 2.10
4265
<title><anchor id="gtk-widget-is-composited" role="function" condition="since:2.10"/>gtk_widget_is_composited ()</title>
4266
<indexterm role="2.10"><primary>gtk_widget_is_composited</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_widget_is_composited (<link linkend="GtkWidget">GtkWidget</link> *widget);</programlisting>
4268
Whether <parameter>widget</parameter> can rely on having its alpha channel
4269
drawn correctly. On X11 this function returns whether a
4270
compositing manager is running for <parameter>widget</parameter>'s screen</para>
4273
</para><variablelist role="params">
4274
<varlistentry><term><parameter>widget</parameter> :</term>
4275
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
4276
</simpara></listitem></varlistentry>
4277
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget can rely on its alpha
4278
channel being drawn correctly.
4280
</simpara></listitem></varlistentry>
4281
</variablelist><para role="since">Since 2.10
4284
<title><anchor id="gtk-requisition-copy" role="function"/>gtk_requisition_copy ()</title>
4285
<indexterm><primary>gtk_requisition_copy</primary></indexterm><programlisting><link linkend="GtkRequisition">GtkRequisition</link>* gtk_requisition_copy (const <link linkend="GtkRequisition">GtkRequisition</link> *requisition);</programlisting>
4287
Copies a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.</para>
4290
</para><variablelist role="params">
4291
<varlistentry><term><parameter>requisition</parameter> :</term>
4292
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.
4293
</simpara></listitem></varlistentry>
4294
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a copy of <parameter>requisition</parameter>.
4295
</simpara></listitem></varlistentry>
4296
</variablelist></refsect2>
4298
<title><anchor id="gtk-requisition-free" role="function"/>gtk_requisition_free ()</title>
4299
<indexterm><primary>gtk_requisition_free</primary></indexterm><programlisting><link linkend="void">void</link> gtk_requisition_free (<link linkend="GtkRequisition">GtkRequisition</link> *requisition);</programlisting>
4301
Frees a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.</para>
4304
</para><variablelist role="params">
4305
<varlistentry><term><parameter>requisition</parameter> :</term>
4306
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.
4307
</simpara></listitem></varlistentry>
4308
</variablelist></refsect2>
4311
<refsect1 role="property_details">
4312
<title role="property_details.title">Property Details</title>
4313
<refsect2><title><anchor id="GtkWidget--app-paintable"/>The "<literal>app-paintable</literal>" property</title>
4314
<indexterm><primary>GtkWidget:app-paintable</primary></indexterm><programlisting> "app-paintable" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4315
<para>Whether the application will paint directly on the widget.</para><para>Default value: FALSE</para>
4317
<refsect2><title><anchor id="GtkWidget--can-default"/>The "<literal>can-default</literal>" property</title>
4318
<indexterm><primary>GtkWidget:can-default</primary></indexterm><programlisting> "can-default" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4319
<para>Whether the widget can be the default widget.</para><para>Default value: FALSE</para>
4321
<refsect2><title><anchor id="GtkWidget--can-focus"/>The "<literal>can-focus</literal>" property</title>
4322
<indexterm><primary>GtkWidget:can-focus</primary></indexterm><programlisting> "can-focus" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4323
<para>Whether the widget can accept the input focus.</para><para>Default value: FALSE</para>
4325
<refsect2><title><anchor id="GtkWidget--composite-child"/>The "<literal>composite-child</literal>" property</title>
4326
<indexterm><primary>GtkWidget:composite-child</primary></indexterm><programlisting> "composite-child" <link linkend="gboolean">gboolean</link> : Read</programlisting>
4327
<para>Whether the widget is part of a composite widget.</para><para>Default value: FALSE</para>
4329
<refsect2><title><anchor id="GtkWidget--events"/>The "<literal>events</literal>" property</title>
4330
<indexterm><primary>GtkWidget:events</primary></indexterm><programlisting> "events" <link linkend="GdkEventMask">GdkEventMask</link> : Read / Write</programlisting>
4331
<para>The event mask that decides what kind of GdkEvents this widget gets.</para><para>Default value: GDK_STRUCTURE_MASK</para>
4333
<refsect2><title><anchor id="GtkWidget--extension-events"/>The "<literal>extension-events</literal>" property</title>
4334
<indexterm><primary>GtkWidget:extension-events</primary></indexterm><programlisting> "extension-events" <link linkend="GdkExtensionMode">GdkExtensionMode</link> : Read / Write</programlisting>
4335
<para>The mask that decides what kind of extension events this widget gets.</para><para>Default value: GDK_EXTENSION_EVENTS_NONE</para>
4337
<refsect2><title><anchor id="GtkWidget--has-default"/>The "<literal>has-default</literal>" property</title>
4338
<indexterm><primary>GtkWidget:has-default</primary></indexterm><programlisting> "has-default" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4339
<para>Whether the widget is the default widget.</para><para>Default value: FALSE</para>
4341
<refsect2><title><anchor id="GtkWidget--has-focus"/>The "<literal>has-focus</literal>" property</title>
4342
<indexterm><primary>GtkWidget:has-focus</primary></indexterm><programlisting> "has-focus" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4343
<para>Whether the widget has the input focus.</para><para>Default value: FALSE</para>
4345
<refsect2><title><anchor id="GtkWidget--height-request"/>The "<literal>height-request</literal>" property</title>
4346
<indexterm><primary>GtkWidget:height-request</primary></indexterm><programlisting> "height-request" <link linkend="gint">gint</link> : Read / Write</programlisting>
4347
<para>Override for height request of the widget, or -1 if natural request should be used.</para><para>Allowed values: >= -1</para>
4348
<para>Default value: -1</para>
4350
<refsect2><title><anchor id="GtkWidget--is-focus"/>The "<literal>is-focus</literal>" property</title>
4351
<indexterm><primary>GtkWidget:is-focus</primary></indexterm><programlisting> "is-focus" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4352
<para>Whether the widget is the focus widget within the toplevel.</para><para>Default value: FALSE</para>
4354
<refsect2><title><anchor id="GtkWidget--name"/>The "<literal>name</literal>" property</title>
4355
<indexterm><primary>GtkWidget:name</primary></indexterm><programlisting> "name" <link linkend="gchararray">gchararray</link> : Read / Write</programlisting>
4356
<para>The name of the widget.</para><para>Default value: NULL</para>
4358
<refsect2><title><anchor id="GtkWidget--no-show-all"/>The "<literal>no-show-all</literal>" property</title>
4359
<indexterm><primary>GtkWidget:no-show-all</primary></indexterm><programlisting> "no-show-all" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4360
<para>Whether gtk_widget_show_all() should not affect this widget.</para><para>Default value: FALSE</para>
4362
<refsect2><title><anchor id="GtkWidget--parent"/>The "<literal>parent</literal>" property</title>
4363
<indexterm><primary>GtkWidget:parent</primary></indexterm><programlisting> "parent" <link linkend="GtkContainer">GtkContainer</link> : Read / Write</programlisting>
4364
<para>The parent widget of this widget. Must be a Container widget.</para></refsect2>
4365
<refsect2><title><anchor id="GtkWidget--receives-default"/>The "<literal>receives-default</literal>" property</title>
4366
<indexterm><primary>GtkWidget:receives-default</primary></indexterm><programlisting> "receives-default" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4367
<para>If TRUE, the widget will receive the default action when it is focused.</para><para>Default value: FALSE</para>
4369
<refsect2><title><anchor id="GtkWidget--sensitive"/>The "<literal>sensitive</literal>" property</title>
4370
<indexterm><primary>GtkWidget:sensitive</primary></indexterm><programlisting> "sensitive" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4371
<para>Whether the widget responds to input.</para><para>Default value: TRUE</para>
4373
<refsect2><title><anchor id="GtkWidget--style"/>The "<literal>style</literal>" property</title>
4374
<indexterm><primary>GtkWidget:style</primary></indexterm><programlisting> "style" <link linkend="GtkStyle">GtkStyle</link> : Read / Write</programlisting>
4375
<para>The style of the widget, which contains information about how it will look (colors etc).</para></refsect2>
4376
<refsect2><title><anchor id="GtkWidget--visible"/>The "<literal>visible</literal>" property</title>
4377
<indexterm><primary>GtkWidget:visible</primary></indexterm><programlisting> "visible" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
4378
<para>Whether the widget is visible.</para><para>Default value: FALSE</para>
4380
<refsect2><title><anchor id="GtkWidget--width-request"/>The "<literal>width-request</literal>" property</title>
4381
<indexterm><primary>GtkWidget:width-request</primary></indexterm><programlisting> "width-request" <link linkend="gint">gint</link> : Read / Write</programlisting>
4382
<para>Override for width request of the widget, or -1 if natural request should be used.</para><para>Allowed values: >= -1</para>
4383
<para>Default value: -1</para>
4387
<refsect1 role="style_properties_details">
4388
<title role="style_properties_details.title">Style Property Details</title>
4389
<refsect2><title><anchor id="GtkWidget--cursor-aspect-ratio"/>The "<literal>cursor-aspect-ratio</literal>" style property</title>
4390
<indexterm><primary>GtkWidget:cursor-aspect-ratio</primary></indexterm><programlisting> "cursor-aspect-ratio" <link linkend="gfloat">gfloat</link> : Read</programlisting>
4391
<para>Aspect ratio with which to draw insertion cursor.</para><para>Allowed values: [0,1]</para>
4392
<para>Default value: 0.04</para>
4394
<refsect2><title><anchor id="GtkWidget--cursor-color"/>The "<literal>cursor-color</literal>" style property</title>
4395
<indexterm><primary>GtkWidget:cursor-color</primary></indexterm><programlisting> "cursor-color" <link linkend="GdkColor">GdkColor</link> : Read</programlisting>
4396
<para>Color with which to draw insertion cursor.</para></refsect2>
4397
<refsect2><title><anchor id="GtkWidget--draw-border"/>The "<literal>draw-border</literal>" style property</title>
4398
<indexterm role="2.8"><primary>GtkWidget:draw-border</primary></indexterm><programlisting> "draw-border" <link linkend="GtkBorder">GtkBorder</link> : Read</programlisting>
4400
The "draw-border" property defines the size of areas outside
4401
the widget's allocation to draw.</para>
4404
</para><para>Since 2.8
4407
<refsect2><title><anchor id="GtkWidget--focus-line-pattern"/>The "<literal>focus-line-pattern</literal>" style property</title>
4408
<indexterm><primary>GtkWidget:focus-line-pattern</primary></indexterm><programlisting> "focus-line-pattern" <link linkend="gchararray">gchararray</link> : Read</programlisting>
4409
<para>Dash pattern used to draw the focus indicator.</para><para>Default value: "\001\001"</para>
4411
<refsect2><title><anchor id="GtkWidget--focus-line-width"/>The "<literal>focus-line-width</literal>" style property</title>
4412
<indexterm><primary>GtkWidget:focus-line-width</primary></indexterm><programlisting> "focus-line-width" <link linkend="gint">gint</link> : Read</programlisting>
4413
<para>Width, in pixels, of the focus indicator line.</para><para>Allowed values: >= 0</para>
4414
<para>Default value: 1</para>
4416
<refsect2><title><anchor id="GtkWidget--focus-padding"/>The "<literal>focus-padding</literal>" style property</title>
4417
<indexterm><primary>GtkWidget:focus-padding</primary></indexterm><programlisting> "focus-padding" <link linkend="gint">gint</link> : Read</programlisting>
4418
<para>Width, in pixels, between focus indicator and the widget 'box'.</para><para>Allowed values: >= 0</para>
4419
<para>Default value: 1</para>
4421
<refsect2><title><anchor id="GtkWidget--interior-focus"/>The "<literal>interior-focus</literal>" style property</title>
4422
<indexterm><primary>GtkWidget:interior-focus</primary></indexterm><programlisting> "interior-focus" <link linkend="gboolean">gboolean</link> : Read</programlisting>
4423
<para>Whether to draw the focus indicator inside widgets.</para><para>Default value: TRUE</para>
4425
<refsect2><title><anchor id="GtkWidget--link-color"/>The "<literal>link-color</literal>" style property</title>
4426
<indexterm role="2.10"><primary>GtkWidget:link-color</primary></indexterm><programlisting> "link-color" <link linkend="GdkColor">GdkColor</link> : Read</programlisting>
4428
The "link-color" property defines the color of unvisited links.</para>
4431
</para><para>Since 2.10
4434
<refsect2><title><anchor id="GtkWidget--scroll-arrow-hlength"/>The "<literal>scroll-arrow-hlength</literal>" style property</title>
4435
<indexterm role="2.10"><primary>GtkWidget:scroll-arrow-hlength</primary></indexterm><programlisting> "scroll-arrow-hlength" <link linkend="gint">gint</link> : Read</programlisting>
4437
The "scroll-arrow-hlength" property defines the length of
4438
horizontal scroll arrows.</para>
4441
</para><para>Allowed values: >= 1</para>
4442
<para>Default value: 16</para>
4446
<refsect2><title><anchor id="GtkWidget--scroll-arrow-vlength"/>The "<literal>scroll-arrow-vlength</literal>" style property</title>
4447
<indexterm role="2.10"><primary>GtkWidget:scroll-arrow-vlength</primary></indexterm><programlisting> "scroll-arrow-vlength" <link linkend="gint">gint</link> : Read</programlisting>
4449
The "scroll-arrow-vlength" property defines the length of
4450
vertical scroll arrows.</para>
4453
</para><para>Allowed values: >= 1</para>
4454
<para>Default value: 16</para>
4458
<refsect2><title><anchor id="GtkWidget--secondary-cursor-color"/>The "<literal>secondary-cursor-color</literal>" style property</title>
4459
<indexterm><primary>GtkWidget:secondary-cursor-color</primary></indexterm><programlisting> "secondary-cursor-color" <link linkend="GdkColor">GdkColor</link> : Read</programlisting>
4460
<para>Color with which to draw the secondary insertion cursor when editing mixed right-to-left and left-to-right text.</para></refsect2>
4461
<refsect2><title><anchor id="GtkWidget--separator-height"/>The "<literal>separator-height</literal>" style property</title>
4462
<indexterm role="2.10"><primary>GtkWidget:separator-height</primary></indexterm><programlisting> "separator-height" <link linkend="gint">gint</link> : Read</programlisting>
4464
The "separator-height" property defines the height of separators.
4465
This property only takes effect if "wide-separators" is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>.</para>
4468
</para><para>Allowed values: >= 0</para>
4469
<para>Default value: 0</para>
4473
<refsect2><title><anchor id="GtkWidget--separator-width"/>The "<literal>separator-width</literal>" style property</title>
4474
<indexterm role="2.10"><primary>GtkWidget:separator-width</primary></indexterm><programlisting> "separator-width" <link linkend="gint">gint</link> : Read</programlisting>
4476
The "separator-width" property defines the width of separators.
4477
This property only takes effect if "wide-separators" is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>.</para>
4480
</para><para>Allowed values: >= 0</para>
4481
<para>Default value: 0</para>
4485
<refsect2><title><anchor id="GtkWidget--visited-link-color"/>The "<literal>visited-link-color</literal>" style property</title>
4486
<indexterm role="2.10"><primary>GtkWidget:visited-link-color</primary></indexterm><programlisting> "visited-link-color" <link linkend="GdkColor">GdkColor</link> : Read</programlisting>
4488
The "visited-link-color" property defines the color of visited links.</para>
4491
</para><para>Since 2.10
4494
<refsect2><title><anchor id="GtkWidget--wide-separators"/>The "<literal>wide-separators</literal>" style property</title>
4495
<indexterm role="2.10"><primary>GtkWidget:wide-separators</primary></indexterm><programlisting> "wide-separators" <link linkend="gboolean">gboolean</link> : Read</programlisting>
4497
The "wide-separators" property defines whether separators have
4498
configurable width and should be drawn using a box instead of a line.</para>
4501
</para><para>Default value: FALSE</para>
4508
<refsect1 role="signals">
4509
<title role="signals.title">Signal Details</title>
4510
<refsect2><title><anchor id="GtkWidget-accel-closures-changed"/>The "accel-closures-changed" signal</title>
4511
<indexterm><primary>GtkWidget::accel-closures-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4512
<link linkend="gpointer">gpointer</link> user_data)</programlisting>
4515
</para><variablelist role="params">
4516
<varlistentry><term><parameter>widget</parameter> :</term>
4517
<listitem><simpara>the object which received the signal.
4519
</simpara></listitem></varlistentry>
4520
<varlistentry><term><parameter>user_data</parameter> :</term>
4521
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4522
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-button-press-event"/>The "button-press-event" signal</title>
4523
<indexterm><primary>GtkWidget::button-press-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4524
<link linkend="GdkEventButton">GdkEventButton</link> *event,
4525
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4528
</para><variablelist role="params">
4529
<varlistentry><term><parameter>widget</parameter> :</term>
4530
<listitem><simpara>the object which received the signal.
4531
</simpara></listitem></varlistentry>
4532
<varlistentry><term><parameter>event</parameter> :</term>
4534
</simpara></listitem></varlistentry>
4535
<varlistentry><term><parameter>user_data</parameter> :</term>
4536
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4537
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
4539
</simpara></listitem></varlistentry>
4540
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-button-release-event"/>The "button-release-event" signal</title>
4541
<indexterm><primary>GtkWidget::button-release-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4542
<link linkend="GdkEventButton">GdkEventButton</link> *event,
4543
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4546
</para><variablelist role="params">
4547
<varlistentry><term><parameter>widget</parameter> :</term>
4548
<listitem><simpara>the object which received the signal.
4549
</simpara></listitem></varlistentry>
4550
<varlistentry><term><parameter>event</parameter> :</term>
4552
</simpara></listitem></varlistentry>
4553
<varlistentry><term><parameter>user_data</parameter> :</term>
4554
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4555
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
4557
</simpara></listitem></varlistentry>
4558
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-can-activate-accel"/>The "can-activate-accel" signal</title>
4559
<indexterm><primary>GtkWidget::can-activate-accel</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4560
<link linkend="guint">guint</link> signal_id,
4561
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4563
Determines whether an accelerator that activates the signal
4564
identified by <parameter>signal_id</parameter> can currently be activated.
4565
This signal is present to allow applications and derived
4566
widgets to override the default <link linkend="GtkWidget"><type>GtkWidget</type></link> handling
4567
for determining whether an accelerator can be activated.</para>
4570
</para><variablelist role="params">
4571
<varlistentry><term><parameter>widget</parameter> :</term>
4572
<listitem><simpara> the object which received the signal
4573
</simpara></listitem></varlistentry>
4574
<varlistentry><term><parameter>signal_id</parameter> :</term>
4575
<listitem><simpara> the ID of a signal installed on <parameter>widget</parameter>
4576
</simpara></listitem></varlistentry>
4577
<varlistentry><term><parameter>returns</parameter> :</term>
4578
<listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal can be activated.
4579
</simpara></listitem></varlistentry>
4580
<varlistentry><term><parameter>user_data</parameter> :</term>
4581
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4582
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-child-notify"/>The "child-notify" signal</title>
4583
<indexterm><primary>GtkWidget::child-notify</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4584
<link linkend="GParamSpec">GParamSpec</link> *pspec,
4585
<link linkend="gpointer">gpointer</link> user_data) : Run First / No Recursion / Has Details / No Hooks</programlisting>
4587
The ::child-notify signal is emitted for each child property that has
4588
changed on an object. The signal's detail holds the property name.</para>
4591
</para><variablelist role="params">
4592
<varlistentry><term><parameter>widget</parameter> :</term>
4593
<listitem><simpara> the object which received the signal.
4594
</simpara></listitem></varlistentry>
4595
<varlistentry><term><parameter>pspec</parameter> :</term>
4596
<listitem><simpara> the <link linkend="GParamSpec"><type>GParamSpec</type></link> of the changed child property.
4597
</simpara></listitem></varlistentry>
4598
<varlistentry><term><parameter>user_data</parameter> :</term>
4599
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4600
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-client-event"/>The "client-event" signal</title>
4601
<indexterm><primary>GtkWidget::client-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4602
<link linkend="GdkEventClient">GdkEventClient</link> *event,
4603
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4606
</para><variablelist role="params">
4607
<varlistentry><term><parameter>widget</parameter> :</term>
4608
<listitem><simpara>the object which received the signal.
4609
</simpara></listitem></varlistentry>
4610
<varlistentry><term><parameter>event</parameter> :</term>
4612
</simpara></listitem></varlistentry>
4613
<varlistentry><term><parameter>user_data</parameter> :</term>
4614
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4615
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
4617
</simpara></listitem></varlistentry>
4618
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-composited-changed"/>The "composited-changed" signal</title>
4619
<indexterm><primary>GtkWidget::composited-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4620
<link linkend="gpointer">gpointer</link> user_data) : Run Last / Action</programlisting>
4623
</para><variablelist role="params">
4624
<varlistentry><term><parameter>widget</parameter> :</term>
4625
<listitem><simpara>the object which received the signal.
4627
</simpara></listitem></varlistentry>
4628
<varlistentry><term><parameter>user_data</parameter> :</term>
4629
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4630
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-configure-event"/>The "configure-event" signal</title>
4631
<indexterm><primary>GtkWidget::configure-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4632
<link linkend="GdkEventConfigure">GdkEventConfigure</link> *event,
4633
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4636
</para><variablelist role="params">
4637
<varlistentry><term><parameter>widget</parameter> :</term>
4638
<listitem><simpara>the object which received the signal.
4639
</simpara></listitem></varlistentry>
4640
<varlistentry><term><parameter>event</parameter> :</term>
4642
</simpara></listitem></varlistentry>
4643
<varlistentry><term><parameter>user_data</parameter> :</term>
4644
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4645
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
4647
</simpara></listitem></varlistentry>
4648
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-delete-event"/>The "delete-event" signal</title>
4649
<indexterm><primary>GtkWidget::delete-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4650
<link linkend="GdkEvent">GdkEvent</link> *event,
4651
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4653
The ::delete-event signal is emitted if a user requests that
4654
a toplevel window is closed. The default handler for this signal
4655
destroys the window. Connecting <link linkend="gtk-widget-hide-on-delete"><function>gtk_widget_hide_on_delete()</function></link> to
4656
this signal will cause the window to be hidden instead, so that
4657
it can later be shown again without reconstructing it.</para>
4660
</para><variablelist role="params">
4661
<varlistentry><term><parameter>widget</parameter> :</term>
4662
<listitem><simpara> the object which received the signal.
4663
</simpara></listitem></varlistentry>
4664
<varlistentry><term><parameter>event</parameter> :</term>
4665
<listitem><simpara> the event which triggered this signal
4666
</simpara></listitem></varlistentry>
4667
<varlistentry><term><parameter>user_data</parameter> :</term>
4668
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4669
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event.
4670
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
4671
</simpara></listitem></varlistentry>
4672
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-destroy-event"/>The "destroy-event" signal</title>
4673
<indexterm><primary>GtkWidget::destroy-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4674
<link linkend="GdkEvent">GdkEvent</link> *event,
4675
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4677
The ::destroy-event signal is emitted when a <link linkend="GdkWindow"><type>GdkWindow</type></link> is destroyed.
4678
You rarely get this signal, because most widgets disconnect themselves
4679
from their window before they destroy it, so no widget owns the
4680
window at destroy time.</para>
4683
</para><variablelist role="params">
4684
<varlistentry><term><parameter>widget</parameter> :</term>
4685
<listitem><simpara> the object which received the signal.
4686
</simpara></listitem></varlistentry>
4687
<varlistentry><term><parameter>event</parameter> :</term>
4688
<listitem><simpara> the event which triggered this signal
4689
</simpara></listitem></varlistentry>
4690
<varlistentry><term><parameter>user_data</parameter> :</term>
4691
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4692
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event.
4693
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
4694
</simpara></listitem></varlistentry>
4695
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-direction-changed"/>The "direction-changed" signal</title>
4696
<indexterm><primary>GtkWidget::direction-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4697
<link linkend="GtkTextDirection">GtkTextDirection</link> arg1,
4698
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
4701
</para><variablelist role="params">
4702
<varlistentry><term><parameter>widget</parameter> :</term>
4703
<listitem><simpara>the object which received the signal.
4704
</simpara></listitem></varlistentry>
4705
<varlistentry><term><parameter>arg1</parameter> :</term>
4708
</simpara></listitem></varlistentry>
4709
<varlistentry><term><parameter>user_data</parameter> :</term>
4710
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4711
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-begin"/>The "drag-begin" signal</title>
4712
<indexterm><primary>GtkWidget::drag-begin</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4713
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4714
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4716
The ::drag-begin signal is emitted on the drag source when a drag is started.
4717
A typical reason to connect to this signal is to set up a custom drag icon with
4718
<link linkend="gtk-drag-source-set-icon"><function>gtk_drag_source_set_icon()</function></link>.</para>
4721
</para><variablelist role="params">
4722
<varlistentry><term><parameter>widget</parameter> :</term>
4723
<listitem><simpara> the object which received the signal.
4724
</simpara></listitem></varlistentry>
4725
<varlistentry><term><parameter>drag_context</parameter> :</term>
4726
<listitem><simpara> the drag context
4727
</simpara></listitem></varlistentry>
4728
<varlistentry><term><parameter>user_data</parameter> :</term>
4729
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4730
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-data-delete"/>The "drag-data-delete" signal</title>
4731
<indexterm><primary>GtkWidget::drag-data-delete</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4732
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4733
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4735
The ::drag-data-delete signal is emitted on the drag source when a drag
4736
with the action <link linkend="GDK-ACTION-MOVE:CAPS"><literal>GDK_ACTION_MOVE</literal></link> is successfully completed. The signal
4737
handler is responsible for deleting the data that has been dropped. What
4738
"delete" means, depends on the context of the drag operation.</para>
4741
</para><variablelist role="params">
4742
<varlistentry><term><parameter>widget</parameter> :</term>
4743
<listitem><simpara> the object which received the signal.
4744
</simpara></listitem></varlistentry>
4745
<varlistentry><term><parameter>drag_context</parameter> :</term>
4746
<listitem><simpara> the drag context
4747
</simpara></listitem></varlistentry>
4748
<varlistentry><term><parameter>user_data</parameter> :</term>
4749
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4750
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-data-get"/>The "drag-data-get" signal</title>
4751
<indexterm><primary>GtkWidget::drag-data-get</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4752
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4753
<link linkend="GtkSelectionData">GtkSelectionData</link> *data,
4754
<link linkend="guint">guint</link> info,
4755
<link linkend="guint">guint</link> time,
4756
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4758
The ::drag-data-get signal is emitted on the drag source when the drop site
4759
requests the data which is dragged. It is the responsibility of the signal
4760
handler to fill <parameter>data</parameter> with the data in the format which is indicated by <parameter>info</parameter>.
4761
See <link linkend="gtk-selection-data-set"><function>gtk_selection_data_set()</function></link> and <link linkend="gtk-selection-data-set-text"><function>gtk_selection_data_set_text()</function></link>.</para>
4764
</para><variablelist role="params">
4765
<varlistentry><term><parameter>widget</parameter> :</term>
4766
<listitem><simpara> the object which received the signal.
4767
</simpara></listitem></varlistentry>
4768
<varlistentry><term><parameter>drag_context</parameter> :</term>
4769
<listitem><simpara> the drag context
4770
</simpara></listitem></varlistentry>
4771
<varlistentry><term><parameter>data</parameter> :</term>
4772
<listitem><simpara> the <link linkend="GtkSelectionData"><type>GtkSelectionData</type></link> to be filled with the dragged data
4773
</simpara></listitem></varlistentry>
4774
<varlistentry><term><parameter>info</parameter> :</term>
4775
<listitem><simpara> the info that has been registered with the target in the <link linkend="GtkTargetList"><type>GtkTargetList</type></link>.
4776
</simpara></listitem></varlistentry>
4777
<varlistentry><term><parameter>time</parameter> :</term>
4778
<listitem><simpara> the timestamp at which the data was requested
4779
</simpara></listitem></varlistentry>
4780
<varlistentry><term><parameter>user_data</parameter> :</term>
4781
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4782
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-data-received"/>The "drag-data-received" signal</title>
4783
<indexterm><primary>GtkWidget::drag-data-received</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4784
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4785
<link linkend="gint">gint</link> x,
4786
<link linkend="gint">gint</link> y,
4787
<link linkend="GtkSelectionData">GtkSelectionData</link> *data,
4788
<link linkend="guint">guint</link> info,
4789
<link linkend="guint">guint</link> time,
4790
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4792
The ::drag-data-received signal is emitted on the drop site when the dragged
4793
data has been received. If the data was received in order to determine whether
4794
the drop will be accepted, the handler is expected to call <link linkend="gdk-drag-status"><function>gdk_drag_status()</function></link>
4795
and <emphasis>not</emphasis> finish the drag. If the data was received in
4796
response to a ::drag-drop signal (and this is the last target to be received),
4797
the handler for this signal is expected to process the received data and then
4798
call <link linkend="gtk-drag-finish"><function>gtk_drag_finish()</function></link>, setting the <parameter>success</parameter> parameter depending on whether
4799
the data was processed successfully.
4802
The handler may inspect and modify <parameter>drag_context->action</parameter> before calling
4803
<link linkend="gtk-drag-finish"><function>gtk_drag_finish()</function></link>, e.g. to implement <link linkend="GDK-ACTION-ASK:CAPS"><literal>GDK_ACTION_ASK</literal></link> as shown in the following
4805
<informalexample><programlisting>
4807
drag_data_received (GtkWidget *widget,
4808
GdkDragContext *drag_context,
4811
GtkSelectionData *data,
4815
if ((data->length >= 0) && (data->format == 8))
4817
if (drag_context->action == GDK_ACTION_ASK)
4822
dialog = gtk_message_dialog_new (NULL,
4824
GTK_DIALOG_DESTROY_WITH_PARENT,
4827
"Move the data ?\n");
4828
response = gtk_dialog_run (GTK_DIALOG (dialog));
4829
gtk_widget_destroy (dialog);
4831
if (response == GTK_RESPONSE_YES)
4832
drag_context->action = GDK_ACTION_MOVE;
4834
drag_context->action = GDK_ACTION_COPY;
4837
gtk_drag_finish (drag_context, TRUE, FALSE, time);
4841
gtk_drag_finish (drag_context, FALSE, FALSE, time);
4843
</programlisting></informalexample></para>
4846
</para><variablelist role="params">
4847
<varlistentry><term><parameter>widget</parameter> :</term>
4848
<listitem><simpara> the object which received the signal.
4849
</simpara></listitem></varlistentry>
4850
<varlistentry><term><parameter>drag_context</parameter> :</term>
4851
<listitem><simpara> the drag context
4852
</simpara></listitem></varlistentry>
4853
<varlistentry><term><parameter>x</parameter> :</term>
4854
<listitem><simpara> where the drop happened
4855
</simpara></listitem></varlistentry>
4856
<varlistentry><term><parameter>y</parameter> :</term>
4857
<listitem><simpara> where the drop happened
4858
</simpara></listitem></varlistentry>
4859
<varlistentry><term><parameter>data</parameter> :</term>
4860
<listitem><simpara> the received data
4861
</simpara></listitem></varlistentry>
4862
<varlistentry><term><parameter>info</parameter> :</term>
4863
<listitem><simpara> the info that has been registered with the target in the <link linkend="GtkTargetList"><type>GtkTargetList</type></link>.
4864
</simpara></listitem></varlistentry>
4865
<varlistentry><term><parameter>time</parameter> :</term>
4866
<listitem><simpara> the timestamp at which the data was received
4867
</simpara></listitem></varlistentry>
4868
<varlistentry><term><parameter>user_data</parameter> :</term>
4869
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4870
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-drop"/>The "drag-drop" signal</title>
4871
<indexterm><primary>GtkWidget::drag-drop</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4872
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4873
<link linkend="gint">gint</link> x,
4874
<link linkend="gint">gint</link> y,
4875
<link linkend="guint">guint</link> time,
4876
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4878
The ::drag-drop signal is emitted on the drop site when the user drops the
4879
data onto the widget. The signal handler must determine whether the cursor
4880
position is in a drop zone or not. If it is not in a drop zone, it returns
4881
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> and no further processing is necessary. Otherwise, the handler returns
4882
<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>. In this case, the handler must ensure that <link linkend="gtk-drag-finish"><function>gtk_drag_finish()</function></link> is called
4883
to let the source know that the drop is done. The call to <link linkend="gtk-drag-finish"><function>gtk_drag_finish()</function></link>
4884
can be done either directly or in a ::drag-data-received handler which gets
4885
triggered by calling <link linkend="gtk-drop-get-data"><function>gtk_drop_get_data()</function></link> to receive the data for one or more
4886
of the supported targets.</para>
4889
</para><variablelist role="params">
4890
<varlistentry><term><parameter>widget</parameter> :</term>
4891
<listitem><simpara> the object which received the signal.
4892
</simpara></listitem></varlistentry>
4893
<varlistentry><term><parameter>drag_context</parameter> :</term>
4894
<listitem><simpara> the drag context
4895
</simpara></listitem></varlistentry>
4896
<varlistentry><term><parameter>x</parameter> :</term>
4897
<listitem><simpara> the x coordinate of the current cursor position
4898
</simpara></listitem></varlistentry>
4899
<varlistentry><term><parameter>y</parameter> :</term>
4900
<listitem><simpara> the y coordinate of the current cursor position
4901
</simpara></listitem></varlistentry>
4902
<varlistentry><term><parameter>time</parameter> :</term>
4903
<listitem><simpara> the timestamp of the motion event
4904
</simpara></listitem></varlistentry>
4905
<varlistentry><term><parameter>returns</parameter> :</term>
4906
<listitem><simpara> whether the cursor position is in a drop zone
4907
</simpara></listitem></varlistentry>
4908
<varlistentry><term><parameter>user_data</parameter> :</term>
4909
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4910
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-end"/>The "drag-end" signal</title>
4911
<indexterm><primary>GtkWidget::drag-end</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4912
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4913
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4915
The ::drag-end signal is emitted on the drag source when a drag is finished.
4916
A typical reason to connect to this signal is to undo things done in ::drag-begin.</para>
4919
</para><variablelist role="params">
4920
<varlistentry><term><parameter>widget</parameter> :</term>
4921
<listitem><simpara> the object which received the signal.
4922
</simpara></listitem></varlistentry>
4923
<varlistentry><term><parameter>drag_context</parameter> :</term>
4924
<listitem><simpara> the drag context
4925
</simpara></listitem></varlistentry>
4926
<varlistentry><term><parameter>user_data</parameter> :</term>
4927
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4928
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-leave"/>The "drag-leave" signal</title>
4929
<indexterm><primary>GtkWidget::drag-leave</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4930
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4931
<link linkend="guint">guint</link> time,
4932
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4934
The ::drag-leave signal is emitted on the drop site when the cursor
4935
leaves the widget. A typical reason to connect to this signal is to
4936
undo things done in ::drag-motion, e.g. undo highlighting with
4937
<link linkend="gtk-drag-unhighlight"><function>gtk_drag_unhighlight()</function></link></para>
4940
</para><variablelist role="params">
4941
<varlistentry><term><parameter>widget</parameter> :</term>
4942
<listitem><simpara> the object which received the signal.
4943
</simpara></listitem></varlistentry>
4944
<varlistentry><term><parameter>drag_context</parameter> :</term>
4945
<listitem><simpara> the drag context
4946
</simpara></listitem></varlistentry>
4947
<varlistentry><term><parameter>time</parameter> :</term>
4948
<listitem><simpara> the timestamp of the motion event
4949
</simpara></listitem></varlistentry>
4950
<varlistentry><term><parameter>user_data</parameter> :</term>
4951
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
4952
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-drag-motion"/>The "drag-motion" signal</title>
4953
<indexterm><primary>GtkWidget::drag-motion</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
4954
<link linkend="GdkDragContext">GdkDragContext</link> *drag_context,
4955
<link linkend="gint">gint</link> x,
4956
<link linkend="gint">gint</link> y,
4957
<link linkend="guint">guint</link> time,
4958
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
4960
The ::drag-motion signal is emitted on the drop site when the user
4961
moves the cursor over the widget during a drag. The signal handler
4962
must determine whether the cursor position is in a drop zone or not.
4963
If it is not in a drop zone, it returns <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> and no further processing
4964
is necessary. Otherwise, the handler returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>. In this case, the
4965
handler is responsible for providing the necessary information for
4966
displaying feedback to the user, by calling <link linkend="gdk-drag-status"><function>gdk_drag_status()</function></link>. If the
4967
decision whether the drop will be accepted or rejected can't be made
4968
based solely on the cursor position and the type of the data, the handler
4969
may inspect the dragged data by calling <link linkend="gtk-drag-get-data"><function>gtk_drag_get_data()</function></link> and defer the
4970
<link linkend="gdk-drag-status"><function>gdk_drag_status()</function></link> call to the ::drag-data-received handler.
4973
Note that there is no ::drag-enter signal. The drag receiver has to keep
4974
track of whether he has received any ::drag-motion signals since the last
4975
::drag-leave and if not, treat the ::drag-motion signal as an "enter" signal.
4976
Upon an "enter", the handler will typically highlight the drop site with
4977
<link linkend="gtk-drag-highlight"><function>gtk_drag_highlight()</function></link>.
4980
<informalexample><programlisting>
4982
drag_motion (GtkWidget *widget,
4983
GdkDragContext *context,
4990
PrivateData *private_data = GET_PRIVATE_DATA (widget);
4992
if (!private_data->drag_highlight)
4994
private_data->drag_highlight = 1;
4995
gtk_drag_highlight (widget);
4998
target = gtk_drag_dest_find_target (widget, context, NULL);
4999
if (target == GDK_NONE)
5000
gdk_drag_status (context, 0, time);
5003
private_data->pending_status = context->suggested_action;
5004
gtk_drag_get_data (widget, context, target, time);
5011
drag_data_received (GtkWidget *widget,
5012
GdkDragContext *context,
5015
GtkSelectionData *selection_data,
5019
PrivateData *private_data = GET_PRIVATE_DATA (widget);
5021
if (private_data->suggested_action)
5023
private_data->suggested_action = 0;
5025
/<!-- -->* We are getting this data due to a request in drag_motion,
5026
* rather than due to a request in drag_drop, so we are just
5027
* supposed to call gdk_drag_status(<!-- -->), not actually paste in
5030
str = gtk_selection_data_get_text (selection_data);
5031
if (!data_is_acceptable (str))
5032
gdk_drag_status (context, 0, time);
5034
gdk_drag_status (context, private_data->suggested_action, time);
5038
/<!-- -->* accept the drop *<!-- -->/
5041
</programlisting></informalexample></para>
5044
</para><variablelist role="params">
5045
<varlistentry><term><parameter>widget</parameter> :</term>
5046
<listitem><simpara> the object which received the signal.
5047
</simpara></listitem></varlistentry>
5048
<varlistentry><term><parameter>drag_context</parameter> :</term>
5049
<listitem><simpara> the drag context
5050
</simpara></listitem></varlistentry>
5051
<varlistentry><term><parameter>x</parameter> :</term>
5052
<listitem><simpara> the x coordinate of the current cursor position
5053
</simpara></listitem></varlistentry>
5054
<varlistentry><term><parameter>y</parameter> :</term>
5055
<listitem><simpara> the y coordinate of the current cursor position
5056
</simpara></listitem></varlistentry>
5057
<varlistentry><term><parameter>time</parameter> :</term>
5058
<listitem><simpara> the timestamp of the motion event
5059
</simpara></listitem></varlistentry>
5060
<varlistentry><term><parameter>returns</parameter> :</term>
5061
<listitem><simpara> whether the cursor position is in a drop zone
5062
</simpara></listitem></varlistentry>
5063
<varlistentry><term><parameter>user_data</parameter> :</term>
5064
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5065
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-enter-notify-event"/>The "enter-notify-event" signal</title>
5066
<indexterm><primary>GtkWidget::enter-notify-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5067
<link linkend="GdkEventCrossing">GdkEventCrossing</link> *event,
5068
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5071
</para><variablelist role="params">
5072
<varlistentry><term><parameter>widget</parameter> :</term>
5073
<listitem><simpara>the object which received the signal.
5074
</simpara></listitem></varlistentry>
5075
<varlistentry><term><parameter>event</parameter> :</term>
5077
</simpara></listitem></varlistentry>
5078
<varlistentry><term><parameter>user_data</parameter> :</term>
5079
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5080
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5082
</simpara></listitem></varlistentry>
5083
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-event"/>The "event" signal</title>
5084
<indexterm><primary>GtkWidget::event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5085
<link linkend="GdkEvent">GdkEvent</link> *event,
5086
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5089
</para><variablelist role="params">
5090
<varlistentry><term><parameter>widget</parameter> :</term>
5091
<listitem><simpara>the object which received the signal.
5092
</simpara></listitem></varlistentry>
5093
<varlistentry><term><parameter>event</parameter> :</term>
5095
</simpara></listitem></varlistentry>
5096
<varlistentry><term><parameter>user_data</parameter> :</term>
5097
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5098
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5100
</simpara></listitem></varlistentry>
5101
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-event-after"/>The "event-after" signal</title>
5102
<indexterm><primary>GtkWidget::event-after</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5103
<link linkend="GdkEvent">GdkEvent</link> *event,
5104
<link linkend="gpointer">gpointer</link> user_data)</programlisting>
5107
</para><variablelist role="params">
5108
<varlistentry><term><parameter>widget</parameter> :</term>
5109
<listitem><simpara>the object which received the signal.
5110
</simpara></listitem></varlistentry>
5111
<varlistentry><term><parameter>event</parameter> :</term>
5114
</simpara></listitem></varlistentry>
5115
<varlistentry><term><parameter>user_data</parameter> :</term>
5116
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5117
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-expose-event"/>The "expose-event" signal</title>
5118
<indexterm><primary>GtkWidget::expose-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5119
<link linkend="GdkEventExpose">GdkEventExpose</link> *event,
5120
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5123
</para><variablelist role="params">
5124
<varlistentry><term><parameter>widget</parameter> :</term>
5125
<listitem><simpara>the object which received the signal.
5126
</simpara></listitem></varlistentry>
5127
<varlistentry><term><parameter>event</parameter> :</term>
5129
</simpara></listitem></varlistentry>
5130
<varlistentry><term><parameter>user_data</parameter> :</term>
5131
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5132
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5134
</simpara></listitem></varlistentry>
5135
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-focus"/>The "focus" signal</title>
5136
<indexterm><primary>GtkWidget::focus</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5137
<link linkend="GtkDirectionType">GtkDirectionType</link> arg1,
5138
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5141
</para><variablelist role="params">
5142
<varlistentry><term><parameter>widget</parameter> :</term>
5143
<listitem><simpara>the object which received the signal.
5144
</simpara></listitem></varlistentry>
5145
<varlistentry><term><parameter>arg1</parameter> :</term>
5147
</simpara></listitem></varlistentry>
5148
<varlistentry><term><parameter>user_data</parameter> :</term>
5149
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5150
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5152
</simpara></listitem></varlistentry>
5153
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-focus-in-event"/>The "focus-in-event" signal</title>
5154
<indexterm><primary>GtkWidget::focus-in-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5155
<link linkend="GdkEventFocus">GdkEventFocus</link> *event,
5156
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5159
</para><variablelist role="params">
5160
<varlistentry><term><parameter>widget</parameter> :</term>
5161
<listitem><simpara>the object which received the signal.
5162
</simpara></listitem></varlistentry>
5163
<varlistentry><term><parameter>event</parameter> :</term>
5165
</simpara></listitem></varlistentry>
5166
<varlistentry><term><parameter>user_data</parameter> :</term>
5167
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5168
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5170
</simpara></listitem></varlistentry>
5171
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-focus-out-event"/>The "focus-out-event" signal</title>
5172
<indexterm><primary>GtkWidget::focus-out-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5173
<link linkend="GdkEventFocus">GdkEventFocus</link> *event,
5174
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5177
</para><variablelist role="params">
5178
<varlistentry><term><parameter>widget</parameter> :</term>
5179
<listitem><simpara>the object which received the signal.
5180
</simpara></listitem></varlistentry>
5181
<varlistentry><term><parameter>event</parameter> :</term>
5183
</simpara></listitem></varlistentry>
5184
<varlistentry><term><parameter>user_data</parameter> :</term>
5185
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5186
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5188
</simpara></listitem></varlistentry>
5189
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-grab-broken-event"/>The "grab-broken-event" signal</title>
5190
<indexterm role="2.8"><primary>GtkWidget::grab-broken-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5191
<link linkend="GdkEvent">GdkEvent</link> *event,
5192
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5194
Emitted when a pointer or keyboard grab on a window belonging
5195
to <parameter>widget</parameter> gets broken.
5198
On X11, this happens when the grab window becomes unviewable
5199
(i.e. it or one of its ancestors is unmapped), or if the same
5200
application grabs the pointer or keyboard again.</para>
5203
</para><variablelist role="params">
5204
<varlistentry><term><parameter>widget</parameter> :</term>
5205
<listitem><simpara> the object which received the signal
5206
</simpara></listitem></varlistentry>
5207
<varlistentry><term><parameter>event</parameter> :</term>
5208
<listitem><simpara> the <link linkend="GdkEventGrabBroken"><type>GdkEventGrabBroken</type></link> event
5209
</simpara></listitem></varlistentry>
5210
<varlistentry><term><parameter>user_data</parameter> :</term>
5211
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5212
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event.
5213
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5215
</simpara></listitem></varlistentry>
5216
</variablelist><para>Since 2.8
5217
</para></refsect2><refsect2><title><anchor id="GtkWidget-grab-focus"/>The "grab-focus" signal</title>
5218
<indexterm><primary>GtkWidget::grab-focus</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5219
<link linkend="gpointer">gpointer</link> user_data) : Run Last / Action</programlisting>
5222
</para><variablelist role="params">
5223
<varlistentry><term><parameter>widget</parameter> :</term>
5224
<listitem><simpara>the object which received the signal.
5226
</simpara></listitem></varlistentry>
5227
<varlistentry><term><parameter>user_data</parameter> :</term>
5228
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5229
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-grab-notify"/>The "grab-notify" signal</title>
5230
<indexterm><primary>GtkWidget::grab-notify</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5231
<link linkend="gboolean">gboolean</link> was_grabbed,
5232
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5234
The ::grab-notify signal is emitted when a widget becomes
5235
shadowed by a GTK+ grab (not a pointer or keyboard grab) on
5236
another widget, or when it becomes unshadowed due to a grab
5240
A widget is shadowed by a <link linkend="gtk-grab-add"><function>gtk_grab_add()</function></link> when the topmost
5241
grab widget in the grab stack of its window group is not
5242
its ancestor.</para>
5245
</para><variablelist role="params">
5246
<varlistentry><term><parameter>widget</parameter> :</term>
5247
<listitem><simpara> the object which received the signal
5248
</simpara></listitem></varlistentry>
5249
<varlistentry><term><parameter>was_grabbed</parameter> :</term>
5250
<listitem><simpara> <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if the widget becomes shadowed, <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>
5251
if it becomes unshadowed
5252
</simpara></listitem></varlistentry>
5253
<varlistentry><term><parameter>user_data</parameter> :</term>
5254
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5255
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-hide"/>The "hide" signal</title>
5256
<indexterm><primary>GtkWidget::hide</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5257
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5260
</para><variablelist role="params">
5261
<varlistentry><term><parameter>widget</parameter> :</term>
5262
<listitem><simpara>the object which received the signal.
5264
</simpara></listitem></varlistentry>
5265
<varlistentry><term><parameter>user_data</parameter> :</term>
5266
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5267
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-hierarchy-changed"/>The "hierarchy-changed" signal</title>
5268
<indexterm><primary>GtkWidget::hierarchy-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5269
<link linkend="GtkWidget">GtkWidget</link> *widget2,
5270
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5272
Emitted when there is a chance in the hierarchy to
5273
which a widget belong. More precisely, a widget is
5274
<firstterm>anchored</firstterm> when its toplevel
5275
ancestor is a <link linkend="GtkWindow"><type>GtkWindow</type></link>. This signal is emitted when
5276
a widget changes from un-anchored to anchored or vice-versa.
5277
</para><variablelist role="params">
5278
<varlistentry><term><parameter>widget</parameter> :</term>
5279
<listitem><simpara>the object which received the signal.
5280
</simpara></listitem></varlistentry>
5281
<varlistentry><term><parameter>widget2</parameter> :</term>
5284
</simpara></listitem></varlistentry>
5285
<varlistentry><term><parameter>user_data</parameter> :</term>
5286
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5287
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-key-press-event"/>The "key-press-event" signal</title>
5288
<indexterm><primary>GtkWidget::key-press-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5289
<link linkend="GdkEventKey">GdkEventKey</link> *event,
5290
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5293
</para><variablelist role="params">
5294
<varlistentry><term><parameter>widget</parameter> :</term>
5295
<listitem><simpara>the object which received the signal.
5296
</simpara></listitem></varlistentry>
5297
<varlistentry><term><parameter>event</parameter> :</term>
5299
</simpara></listitem></varlistentry>
5300
<varlistentry><term><parameter>user_data</parameter> :</term>
5301
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5302
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5304
</simpara></listitem></varlistentry>
5305
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-key-release-event"/>The "key-release-event" signal</title>
5306
<indexterm><primary>GtkWidget::key-release-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5307
<link linkend="GdkEventKey">GdkEventKey</link> *event,
5308
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5311
</para><variablelist role="params">
5312
<varlistentry><term><parameter>widget</parameter> :</term>
5313
<listitem><simpara>the object which received the signal.
5314
</simpara></listitem></varlistentry>
5315
<varlistentry><term><parameter>event</parameter> :</term>
5317
</simpara></listitem></varlistentry>
5318
<varlistentry><term><parameter>user_data</parameter> :</term>
5319
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5320
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5322
</simpara></listitem></varlistentry>
5323
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-leave-notify-event"/>The "leave-notify-event" signal</title>
5324
<indexterm><primary>GtkWidget::leave-notify-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5325
<link linkend="GdkEventCrossing">GdkEventCrossing</link> *event,
5326
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5329
</para><variablelist role="params">
5330
<varlistentry><term><parameter>widget</parameter> :</term>
5331
<listitem><simpara>the object which received the signal.
5332
</simpara></listitem></varlistentry>
5333
<varlistentry><term><parameter>event</parameter> :</term>
5335
</simpara></listitem></varlistentry>
5336
<varlistentry><term><parameter>user_data</parameter> :</term>
5337
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5338
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5340
</simpara></listitem></varlistentry>
5341
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-map"/>The "map" signal</title>
5342
<indexterm><primary>GtkWidget::map</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5343
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5346
</para><variablelist role="params">
5347
<varlistentry><term><parameter>widget</parameter> :</term>
5348
<listitem><simpara>the object which received the signal.
5350
</simpara></listitem></varlistentry>
5351
<varlistentry><term><parameter>user_data</parameter> :</term>
5352
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5353
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-map-event"/>The "map-event" signal</title>
5354
<indexterm><primary>GtkWidget::map-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5355
<link linkend="GdkEvent">GdkEvent</link> *event,
5356
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5359
</para><variablelist role="params">
5360
<varlistentry><term><parameter>widget</parameter> :</term>
5361
<listitem><simpara>the object which received the signal.
5362
</simpara></listitem></varlistentry>
5363
<varlistentry><term><parameter>event</parameter> :</term>
5365
</simpara></listitem></varlistentry>
5366
<varlistentry><term><parameter>user_data</parameter> :</term>
5367
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5368
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5370
</simpara></listitem></varlistentry>
5371
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-mnemonic-activate"/>The "mnemonic-activate" signal</title>
5372
<indexterm><primary>GtkWidget::mnemonic-activate</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5373
<link linkend="gboolean">gboolean</link> arg1,
5374
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5377
</para><variablelist role="params">
5378
<varlistentry><term><parameter>widget</parameter> :</term>
5379
<listitem><simpara>the object which received the signal.
5380
</simpara></listitem></varlistentry>
5381
<varlistentry><term><parameter>arg1</parameter> :</term>
5383
</simpara></listitem></varlistentry>
5384
<varlistentry><term><parameter>user_data</parameter> :</term>
5385
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5386
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
5388
</simpara></listitem></varlistentry>
5389
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-motion-notify-event"/>The "motion-notify-event" signal</title>
5390
<indexterm><primary>GtkWidget::motion-notify-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5391
<link linkend="GdkEventMotion">GdkEventMotion</link> *event,
5392
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5395
</para><variablelist role="params">
5396
<varlistentry><term><parameter>widget</parameter> :</term>
5397
<listitem><simpara>the object which received the signal.
5398
</simpara></listitem></varlistentry>
5399
<varlistentry><term><parameter>event</parameter> :</term>
5401
</simpara></listitem></varlistentry>
5402
<varlistentry><term><parameter>user_data</parameter> :</term>
5403
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5404
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5406
</simpara></listitem></varlistentry>
5407
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-no-expose-event"/>The "no-expose-event" signal</title>
5408
<indexterm><primary>GtkWidget::no-expose-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5409
<link linkend="GdkEventNoExpose">GdkEventNoExpose</link> *event,
5410
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5413
</para><variablelist role="params">
5414
<varlistentry><term><parameter>widget</parameter> :</term>
5415
<listitem><simpara>the object which received the signal.
5416
</simpara></listitem></varlistentry>
5417
<varlistentry><term><parameter>event</parameter> :</term>
5419
</simpara></listitem></varlistentry>
5420
<varlistentry><term><parameter>user_data</parameter> :</term>
5421
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5422
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5424
</simpara></listitem></varlistentry>
5425
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-parent-set"/>The "parent-set" signal</title>
5426
<indexterm><primary>GtkWidget::parent-set</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5427
<link linkend="GtkObject">GtkObject</link> *old_parent,
5428
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5430
The parent-set signal is emitted when a new parent has been set
5434
</para><variablelist role="params">
5435
<varlistentry><term><parameter>widget</parameter> :</term>
5436
<listitem><simpara> the object on which the signal is emitted
5437
</simpara></listitem></varlistentry>
5438
<varlistentry><term><parameter>old_parent</parameter> :</term>
5439
<listitem><simpara> the previous parent, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the widget
5440
just got its initial parent.
5441
</simpara></listitem></varlistentry>
5442
<varlistentry><term><parameter>user_data</parameter> :</term>
5443
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5444
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-popup-menu"/>The "popup-menu" signal</title>
5445
<indexterm><primary>GtkWidget::popup-menu</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5446
<link linkend="gpointer">gpointer</link> user_data) : Run Last / Action</programlisting>
5448
This signal gets emitted whenever a widget should pop up a context-sensitive
5449
menu. This usually happens through the standard key binding mechanism; by
5450
pressing a certain key while a widget is focused, the user can cause the
5451
widget to pop up a menu. For example, the <link linkend="GtkEntry"><type>GtkEntry</type></link> widget creates a menu
5452
with clipboard commands. See <xref linkend="checklist-popup-menu"/> for an
5453
example of how to use this signal.</para>
5456
</para><variablelist role="params">
5457
<varlistentry><term><parameter>widget</parameter> :</term>
5458
<listitem><simpara> the object which received the signal
5459
</simpara></listitem></varlistentry>
5460
<varlistentry><term><parameter>returns</parameter> :</term>
5461
<listitem><simpara> TRUE if a menu was activated
5462
</simpara></listitem></varlistentry>
5463
<varlistentry><term><parameter>user_data</parameter> :</term>
5464
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5465
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-property-notify-event"/>The "property-notify-event" signal</title>
5466
<indexterm><primary>GtkWidget::property-notify-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5467
<link linkend="GdkEventProperty">GdkEventProperty</link> *event,
5468
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5471
</para><variablelist role="params">
5472
<varlistentry><term><parameter>widget</parameter> :</term>
5473
<listitem><simpara>the object which received the signal.
5474
</simpara></listitem></varlistentry>
5475
<varlistentry><term><parameter>event</parameter> :</term>
5477
</simpara></listitem></varlistentry>
5478
<varlistentry><term><parameter>user_data</parameter> :</term>
5479
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5480
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5482
</simpara></listitem></varlistentry>
5483
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-proximity-in-event"/>The "proximity-in-event" signal</title>
5484
<indexterm><primary>GtkWidget::proximity-in-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5485
<link linkend="GdkEventProximity">GdkEventProximity</link> *event,
5486
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5489
</para><variablelist role="params">
5490
<varlistentry><term><parameter>widget</parameter> :</term>
5491
<listitem><simpara>the object which received the signal.
5492
</simpara></listitem></varlistentry>
5493
<varlistentry><term><parameter>event</parameter> :</term>
5495
</simpara></listitem></varlistentry>
5496
<varlistentry><term><parameter>user_data</parameter> :</term>
5497
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5498
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5500
</simpara></listitem></varlistentry>
5501
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-proximity-out-event"/>The "proximity-out-event" signal</title>
5502
<indexterm><primary>GtkWidget::proximity-out-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5503
<link linkend="GdkEventProximity">GdkEventProximity</link> *event,
5504
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5507
</para><variablelist role="params">
5508
<varlistentry><term><parameter>widget</parameter> :</term>
5509
<listitem><simpara>the object which received the signal.
5510
</simpara></listitem></varlistentry>
5511
<varlistentry><term><parameter>event</parameter> :</term>
5513
</simpara></listitem></varlistentry>
5514
<varlistentry><term><parameter>user_data</parameter> :</term>
5515
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5516
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5518
</simpara></listitem></varlistentry>
5519
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-realize"/>The "realize" signal</title>
5520
<indexterm><primary>GtkWidget::realize</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5521
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5524
</para><variablelist role="params">
5525
<varlistentry><term><parameter>widget</parameter> :</term>
5526
<listitem><simpara>the object which received the signal.
5528
</simpara></listitem></varlistentry>
5529
<varlistentry><term><parameter>user_data</parameter> :</term>
5530
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5531
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-screen-changed"/>The "screen-changed" signal</title>
5532
<indexterm><primary>GtkWidget::screen-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5533
<link linkend="GdkScreen">GdkScreen</link> *arg1,
5534
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5537
</para><variablelist role="params">
5538
<varlistentry><term><parameter>widget</parameter> :</term>
5539
<listitem><simpara>the object which received the signal.
5540
</simpara></listitem></varlistentry>
5541
<varlistentry><term><parameter>arg1</parameter> :</term>
5544
</simpara></listitem></varlistentry>
5545
<varlistentry><term><parameter>user_data</parameter> :</term>
5546
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5547
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-scroll-event"/>The "scroll-event" signal</title>
5548
<indexterm><primary>GtkWidget::scroll-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5549
<link linkend="GdkEventScroll">GdkEventScroll</link> *event,
5550
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5553
</para><variablelist role="params">
5554
<varlistentry><term><parameter>widget</parameter> :</term>
5555
<listitem><simpara>the object which received the signal.
5556
</simpara></listitem></varlistentry>
5557
<varlistentry><term><parameter>event</parameter> :</term>
5559
</simpara></listitem></varlistentry>
5560
<varlistentry><term><parameter>user_data</parameter> :</term>
5561
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5562
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5564
</simpara></listitem></varlistentry>
5565
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-clear-event"/>The "selection-clear-event" signal</title>
5566
<indexterm><primary>GtkWidget::selection-clear-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5567
<link linkend="GdkEventSelection">GdkEventSelection</link> *event,
5568
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5571
</para><variablelist role="params">
5572
<varlistentry><term><parameter>widget</parameter> :</term>
5573
<listitem><simpara>the object which received the signal.
5574
</simpara></listitem></varlistentry>
5575
<varlistentry><term><parameter>event</parameter> :</term>
5577
</simpara></listitem></varlistentry>
5578
<varlistentry><term><parameter>user_data</parameter> :</term>
5579
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5580
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5582
</simpara></listitem></varlistentry>
5583
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-get"/>The "selection-get" signal</title>
5584
<indexterm><primary>GtkWidget::selection-get</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5585
<link linkend="GtkSelectionData">GtkSelectionData</link> *data,
5586
<link linkend="guint">guint</link> info,
5587
<link linkend="guint">guint</link> time,
5588
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5591
</para><variablelist role="params">
5592
<varlistentry><term><parameter>widget</parameter> :</term>
5593
<listitem><simpara>the object which received the signal.
5594
</simpara></listitem></varlistentry>
5595
<varlistentry><term><parameter>data</parameter> :</term>
5597
</simpara></listitem></varlistentry>
5598
<varlistentry><term><parameter>info</parameter> :</term>
5600
</simpara></listitem></varlistentry>
5601
<varlistentry><term><parameter>time</parameter> :</term>
5604
</simpara></listitem></varlistentry>
5605
<varlistentry><term><parameter>user_data</parameter> :</term>
5606
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5607
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-notify-event"/>The "selection-notify-event" signal</title>
5608
<indexterm><primary>GtkWidget::selection-notify-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5609
<link linkend="GdkEventSelection">GdkEventSelection</link> *event,
5610
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5613
</para><variablelist role="params">
5614
<varlistentry><term><parameter>widget</parameter> :</term>
5615
<listitem><simpara>the object which received the signal.
5616
</simpara></listitem></varlistentry>
5617
<varlistentry><term><parameter>event</parameter> :</term>
5619
</simpara></listitem></varlistentry>
5620
<varlistentry><term><parameter>user_data</parameter> :</term>
5621
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5622
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5624
</simpara></listitem></varlistentry>
5625
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-received"/>The "selection-received" signal</title>
5626
<indexterm><primary>GtkWidget::selection-received</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5627
<link linkend="GtkSelectionData">GtkSelectionData</link> *data,
5628
<link linkend="guint">guint</link> time,
5629
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5632
</para><variablelist role="params">
5633
<varlistentry><term><parameter>widget</parameter> :</term>
5634
<listitem><simpara>the object which received the signal.
5635
</simpara></listitem></varlistentry>
5636
<varlistentry><term><parameter>data</parameter> :</term>
5638
</simpara></listitem></varlistentry>
5639
<varlistentry><term><parameter>time</parameter> :</term>
5642
</simpara></listitem></varlistentry>
5643
<varlistentry><term><parameter>user_data</parameter> :</term>
5644
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5645
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-request-event"/>The "selection-request-event" signal</title>
5646
<indexterm><primary>GtkWidget::selection-request-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5647
<link linkend="GdkEventSelection">GdkEventSelection</link> *event,
5648
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5651
</para><variablelist role="params">
5652
<varlistentry><term><parameter>widget</parameter> :</term>
5653
<listitem><simpara>the object which received the signal.
5654
</simpara></listitem></varlistentry>
5655
<varlistentry><term><parameter>event</parameter> :</term>
5657
</simpara></listitem></varlistentry>
5658
<varlistentry><term><parameter>user_data</parameter> :</term>
5659
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5660
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5662
</simpara></listitem></varlistentry>
5663
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-show"/>The "show" signal</title>
5664
<indexterm><primary>GtkWidget::show</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5665
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5668
</para><variablelist role="params">
5669
<varlistentry><term><parameter>widget</parameter> :</term>
5670
<listitem><simpara>the object which received the signal.
5672
</simpara></listitem></varlistentry>
5673
<varlistentry><term><parameter>user_data</parameter> :</term>
5674
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5675
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-show-help"/>The "show-help" signal</title>
5676
<indexterm><primary>GtkWidget::show-help</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5677
<link linkend="GtkWidgetHelpType">GtkWidgetHelpType</link> arg1,
5678
<link linkend="gpointer">gpointer</link> user_data) : Run Last / Action</programlisting>
5681
</para><variablelist role="params">
5682
<varlistentry><term><parameter>widget</parameter> :</term>
5683
<listitem><simpara>the object which received the signal.
5684
</simpara></listitem></varlistentry>
5685
<varlistentry><term><parameter>arg1</parameter> :</term>
5687
</simpara></listitem></varlistentry>
5688
<varlistentry><term><parameter>user_data</parameter> :</term>
5689
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5690
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
5692
</simpara></listitem></varlistentry>
5693
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-size-allocate"/>The "size-allocate" signal</title>
5694
<indexterm><primary>GtkWidget::size-allocate</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5695
<link linkend="GtkAllocation">GtkAllocation</link> *allocation,
5696
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5699
</para><variablelist role="params">
5700
<varlistentry><term><parameter>widget</parameter> :</term>
5701
<listitem><simpara>the object which received the signal.
5702
</simpara></listitem></varlistentry>
5703
<varlistentry><term><parameter>allocation</parameter> :</term>
5706
</simpara></listitem></varlistentry>
5707
<varlistentry><term><parameter>user_data</parameter> :</term>
5708
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5709
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-size-request"/>The "size-request" signal</title>
5710
<indexterm><primary>GtkWidget::size-request</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5711
<link linkend="GtkRequisition">GtkRequisition</link> *requisition,
5712
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5715
</para><variablelist role="params">
5716
<varlistentry><term><parameter>widget</parameter> :</term>
5717
<listitem><simpara>the object which received the signal.
5718
</simpara></listitem></varlistentry>
5719
<varlistentry><term><parameter>requisition</parameter> :</term>
5722
</simpara></listitem></varlistentry>
5723
<varlistentry><term><parameter>user_data</parameter> :</term>
5724
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5725
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-state-changed"/>The "state-changed" signal</title>
5726
<indexterm><primary>GtkWidget::state-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5727
<link linkend="GtkStateType">GtkStateType</link> state,
5728
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5731
</para><variablelist role="params">
5732
<varlistentry><term><parameter>widget</parameter> :</term>
5733
<listitem><simpara>the object which received the signal.
5734
</simpara></listitem></varlistentry>
5735
<varlistentry><term><parameter>state</parameter> :</term>
5738
</simpara></listitem></varlistentry>
5739
<varlistentry><term><parameter>user_data</parameter> :</term>
5740
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5741
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-style-set"/>The "style-set" signal</title>
5742
<indexterm><primary>GtkWidget::style-set</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5743
<link linkend="GtkStyle">GtkStyle</link> *previous_style,
5744
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5746
The style-set signal is emitted when a new style has been set
5747
on a widget. Note that style-modifying functions like
5748
<link linkend="gtk-widget-modify-base"><function>gtk_widget_modify_base()</function></link> also cause this signal to be emitted.</para>
5751
</para><variablelist role="params">
5752
<varlistentry><term><parameter>widget</parameter> :</term>
5753
<listitem><simpara> the object on which the signal is emitted
5754
</simpara></listitem></varlistentry>
5755
<varlistentry><term><parameter>previous_style</parameter> :</term>
5756
<listitem><simpara> the previous style, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the widget
5757
just got its initial style
5758
</simpara></listitem></varlistentry>
5759
<varlistentry><term><parameter>user_data</parameter> :</term>
5760
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5761
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-unmap"/>The "unmap" signal</title>
5762
<indexterm><primary>GtkWidget::unmap</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5763
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
5766
</para><variablelist role="params">
5767
<varlistentry><term><parameter>widget</parameter> :</term>
5768
<listitem><simpara>the object which received the signal.
5770
</simpara></listitem></varlistentry>
5771
<varlistentry><term><parameter>user_data</parameter> :</term>
5772
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5773
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-unmap-event"/>The "unmap-event" signal</title>
5774
<indexterm><primary>GtkWidget::unmap-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5775
<link linkend="GdkEvent">GdkEvent</link> *event,
5776
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5779
</para><variablelist role="params">
5780
<varlistentry><term><parameter>widget</parameter> :</term>
5781
<listitem><simpara>the object which received the signal.
5782
</simpara></listitem></varlistentry>
5783
<varlistentry><term><parameter>event</parameter> :</term>
5785
</simpara></listitem></varlistentry>
5786
<varlistentry><term><parameter>user_data</parameter> :</term>
5787
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5788
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5790
</simpara></listitem></varlistentry>
5791
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-unrealize"/>The "unrealize" signal</title>
5792
<indexterm><primary>GtkWidget::unrealize</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5793
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5796
</para><variablelist role="params">
5797
<varlistentry><term><parameter>widget</parameter> :</term>
5798
<listitem><simpara>the object which received the signal.
5800
</simpara></listitem></varlistentry>
5801
<varlistentry><term><parameter>user_data</parameter> :</term>
5802
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5803
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-visibility-notify-event"/>The "visibility-notify-event" signal</title>
5804
<indexterm><primary>GtkWidget::visibility-notify-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5805
<link linkend="GdkEventVisibility">GdkEventVisibility</link> *event,
5806
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5809
</para><variablelist role="params">
5810
<varlistentry><term><parameter>widget</parameter> :</term>
5811
<listitem><simpara>the object which received the signal.
5812
</simpara></listitem></varlistentry>
5813
<varlistentry><term><parameter>event</parameter> :</term>
5815
</simpara></listitem></varlistentry>
5816
<varlistentry><term><parameter>user_data</parameter> :</term>
5817
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5818
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5820
</simpara></listitem></varlistentry>
5821
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-window-state-event"/>The "window-state-event" signal</title>
5822
<indexterm><primary>GtkWidget::window-state-event</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkWidget">GtkWidget</link> *widget,
5823
<link linkend="GdkEventWindowState">GdkEventWindowState</link> *event,
5824
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
5827
</para><variablelist role="params">
5828
<varlistentry><term><parameter>widget</parameter> :</term>
5829
<listitem><simpara>the object which received the signal.
5830
</simpara></listitem></varlistentry>
5831
<varlistentry><term><parameter>event</parameter> :</term>
5833
</simpara></listitem></varlistentry>
5834
<varlistentry><term><parameter>user_data</parameter> :</term>
5835
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
5836
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the event. <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to propagate the event further.
5838
</simpara></listitem></varlistentry>
5839
</variablelist></refsect2>