~canonical-dx-team/ubuntu/maverick/gtk+2.0/menuproxy

« back to all changes in this revision

Viewing changes to docs/reference/gtk/xml/gtkwidget.xml

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2007-05-04 12:24:25 UTC
  • mfrom: (1.1.21 upstream)
  • Revision ID: james.westby@ubuntu.com-20070504122425-0m8midgzrp40y8w2
Tags: 2.10.12-1ubuntu1
* Sync with Debian
* New upstream version:
  Fixed bugs:
  - 379414 file chooser warnings when changing path in the entry
  - 418585 GtkFileChooserDefault sizing code is not DPI independent
  - 419568 Crash in search if start with special letter
  - 435062 build dies with icon cache validation
  - 379399 Segfault to call gtk_print_operation_run twice.
  - 387889 cups backend has problems when there are too many printers
  - 418531 invalid read to gtkicontheme.c gtk_icon_theme_lookup_icon...
  - 423916 crash in color scheme code
  - 424042 Segmentation fault while quickly pressing Alt+arrows
  - 415260 Protect against negative indices when setting values in G...
  - 419171 XGetVisualInfo() may not set nxvisuals
  - 128852 Gdk cursors don't look good on win32
  - 344657 Ctrl-H doesn't toggle "Show Hidden Files" setting
  - 345345 PrintOperation::paginate is not emitted for class handler
  - 347567 GtkPrintOperation::end-print is not emitted if it's cance...
  - 369112 gtk_ui_manager_add_ui should accept unnamed separator
  - 392015 Selected menu item invisible on Windows Vista
  - 399253 MS-Windows Theme Bottom Tab placement rendering glitches
  - 399425 gtk_input_dialog_fill_axes() adds child to gtkscrolledwin...
  - 403251 [patch] little memory leak in GtkPrintJob
  - 403267 [patch] memory leak in GtkPageSetupUnixDialog
  - 403470 MS-Windows Theme tab placement other than on top leaks a ...
  - 404506 Windows system fonts that have multi-byte font names cann...
  - 405089 Incorrect window placement for GtkEventBox private window
  - 405515 Minor leak in gtkfilesystemmodel.c
  - 405539 gdk_pixbuf_save() for PNG saver can return FALSE without ...
  - 415681 gdk_window_clear_area includes an extra line and column o...
  - 418219 GtkRecentChooser should apply filter before sorting and c...
  - 418403 Scroll to printer after selecting it from settings
  - 421985 _gtk_print_operation_platform_backend_launch_preview
  - 421990 gtk_print_job_get_surface
  - 421993 gtk_print_operation_init
  - 423064 Conditional jump or move depends on uninitialised value(s...
  - 423722 Fix printing header in gtk-demo
  - 424168 gtk_print_operation_run on async preview
  - 425655 Don't install gtk+-unix-print-2.0.pc on non-UNIX platforms
  - 425786 GDK segfaults if XineramaQueryScreens fails
  - 428665 Lpr Backend gets stuck in infinite loop during gtk_enumer...
  - 429902 GtkPrintOperation leaks cairo contextes
  - 431997 First delay of GdkPixbufAnimationIter is wrong
  - 433242 Inconsistent scroll arrow position calculations
  - 433972 Placing gtk.Expander inside a gtk.TextView() changes gtk....
  - 434261 _gtk_toolbar_elide_underscores incorrectly handles some s...
  - 383354 ctrl-L should make 'Location' entry disappear
  - 418673 gtk_recent_manager_add_item
  - 429732 gtk_accel_group_finalize accesses invalid memory
  - 435028 WM_CLIENT_LEADER is wrong on the leader_window
  - 431067 Background of the header window is not updated
  - 338843 add recent files support inside the ui manager
  - 148535 add drop shadow to menus, tooltips, etc. under Windows XP
* debian/control.in:
  - Conflicts on ubuntulooks (<= 0.9.11-1)
* debian/patches/15_default-fallback-icon-theme.patch:
  - patch from Debian, fallback on gnome icon theme

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<refentry id="GtkWidget">
 
2
<refmeta>
 
3
<refentrytitle role="top_of_page">GtkWidget</refentrytitle>
 
4
<manvolnum>3</manvolnum>
 
5
<refmiscinfo>GTK Library</refmiscinfo>
 
6
</refmeta>
 
7
 
 
8
<refnamediv>
 
9
<refname>GtkWidget</refname>
 
10
<refpurpose>Base class for all widgets</refpurpose>
 
11
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
 
12
</refnamediv>
 
13
 
 
14
<refsynopsisdiv role="synopsis">
 
15
<title role="synopsis.title">Synopsis</title>
 
16
 
 
17
<synopsis>
 
18
 
 
19
#include &lt;gtk/gtk.h&gt;
 
20
 
 
21
 
 
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,
 
60
                                                         ...);
 
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,
 
68
                                                         ...);
 
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,
 
269
                                                         ...);
 
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);
 
314
 
 
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);
 
317
 
 
318
 
 
319
</synopsis>
 
320
</refsynopsisdiv>
 
321
 
 
322
<refsect1 role="object_hierarchy">
 
323
<title role="object_hierarchy.title">Object Hierarchy</title>
 
324
<synopsis>
 
325
 
 
326
  <link linkend="GObject">GObject</link>
 
327
   +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
 
328
         +----<link linkend="GtkObject">GtkObject</link>
 
329
               +----GtkWidget
 
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>
 
343
</synopsis>
 
344
 
 
345
</refsect1>
 
346
 
 
347
 
 
348
<refsect1 role="derived_interfaces">
 
349
<title role="derived_interfaces.title">Known Derived Interfaces</title>
 
350
<para>
 
351
GtkWidget is required by
 
352
 <link linkend="GtkFileChooser">GtkFileChooser</link> and  <link linkend="GtkCellEditable">GtkCellEditable</link>.</para>
 
353
 
 
354
</refsect1>
 
355
 
 
356
<refsect1 role="impl_interfaces">
 
357
<title role="impl_interfaces.title">Implemented Interfaces</title>
 
358
<para>
 
359
GtkWidget implements
 
360
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>.</para>
 
361
 
 
362
</refsect1>
 
363
 
 
364
 
 
365
<refsect1 role="properties">
 
366
<title role="properties.title">Properties</title>
 
367
<synopsis>
 
368
 
 
369
  &quot;<link linkend="GtkWidget--app-paintable">app-paintable</link>&quot;            <link linkend="gboolean">gboolean</link>              : Read / Write
 
370
  &quot;<link linkend="GtkWidget--can-default">can-default</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write
 
371
  &quot;<link linkend="GtkWidget--can-focus">can-focus</link>&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write
 
372
  &quot;<link linkend="GtkWidget--composite-child">composite-child</link>&quot;          <link linkend="gboolean">gboolean</link>              : Read
 
373
  &quot;<link linkend="GtkWidget--events">events</link>&quot;                   <link linkend="GdkEventMask">GdkEventMask</link>          : Read / Write
 
374
  &quot;<link linkend="GtkWidget--extension-events">extension-events</link>&quot;         <link linkend="GdkExtensionMode">GdkExtensionMode</link>      : Read / Write
 
375
  &quot;<link linkend="GtkWidget--has-default">has-default</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write
 
376
  &quot;<link linkend="GtkWidget--has-focus">has-focus</link>&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write
 
377
  &quot;<link linkend="GtkWidget--height-request">height-request</link>&quot;           <link linkend="gint">gint</link>                  : Read / Write
 
378
  &quot;<link linkend="GtkWidget--is-focus">is-focus</link>&quot;                 <link linkend="gboolean">gboolean</link>              : Read / Write
 
379
  &quot;<link linkend="GtkWidget--name">name</link>&quot;                     <link linkend="gchararray">gchararray</link>            : Read / Write
 
380
  &quot;<link linkend="GtkWidget--no-show-all">no-show-all</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write
 
381
  &quot;<link linkend="GtkWidget--parent">parent</link>&quot;                   <link linkend="GtkContainer">GtkContainer</link>          : Read / Write
 
382
  &quot;<link linkend="GtkWidget--receives-default">receives-default</link>&quot;         <link linkend="gboolean">gboolean</link>              : Read / Write
 
383
  &quot;<link linkend="GtkWidget--sensitive">sensitive</link>&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write
 
384
  &quot;<link linkend="GtkWidget--style">style</link>&quot;                    <link linkend="GtkStyle">GtkStyle</link>              : Read / Write
 
385
  &quot;<link linkend="GtkWidget--visible">visible</link>&quot;                  <link linkend="gboolean">gboolean</link>              : Read / Write
 
386
  &quot;<link linkend="GtkWidget--width-request">width-request</link>&quot;            <link linkend="gint">gint</link>                  : Read / Write
 
387
</synopsis>
 
388
</refsect1>
 
389
<refsect1 role="style_properties">
 
390
<title role="style_properties.title">Style Properties</title>
 
391
<synopsis>
 
392
 
 
393
  &quot;<link linkend="GtkWidget--cursor-aspect-ratio">cursor-aspect-ratio</link>&quot;      <link linkend="gfloat">gfloat</link>                : Read
 
394
  &quot;<link linkend="GtkWidget--cursor-color">cursor-color</link>&quot;             <link linkend="GdkColor">GdkColor</link>              : Read
 
395
  &quot;<link linkend="GtkWidget--draw-border">draw-border</link>&quot;              <link linkend="GtkBorder">GtkBorder</link>             : Read
 
396
  &quot;<link linkend="GtkWidget--focus-line-pattern">focus-line-pattern</link>&quot;       <link linkend="gchararray">gchararray</link>            : Read
 
397
  &quot;<link linkend="GtkWidget--focus-line-width">focus-line-width</link>&quot;         <link linkend="gint">gint</link>                  : Read
 
398
  &quot;<link linkend="GtkWidget--focus-padding">focus-padding</link>&quot;            <link linkend="gint">gint</link>                  : Read
 
399
  &quot;<link linkend="GtkWidget--interior-focus">interior-focus</link>&quot;           <link linkend="gboolean">gboolean</link>              : Read
 
400
  &quot;<link linkend="GtkWidget--link-color">link-color</link>&quot;               <link linkend="GdkColor">GdkColor</link>              : Read
 
401
  &quot;<link linkend="GtkWidget--scroll-arrow-hlength">scroll-arrow-hlength</link>&quot;     <link linkend="gint">gint</link>                  : Read
 
402
  &quot;<link linkend="GtkWidget--scroll-arrow-vlength">scroll-arrow-vlength</link>&quot;     <link linkend="gint">gint</link>                  : Read
 
403
  &quot;<link linkend="GtkWidget--secondary-cursor-color">secondary-cursor-color</link>&quot;   <link linkend="GdkColor">GdkColor</link>              : Read
 
404
  &quot;<link linkend="GtkWidget--separator-height">separator-height</link>&quot;         <link linkend="gint">gint</link>                  : Read
 
405
  &quot;<link linkend="GtkWidget--separator-width">separator-width</link>&quot;          <link linkend="gint">gint</link>                  : Read
 
406
  &quot;<link linkend="GtkWidget--visited-link-color">visited-link-color</link>&quot;       <link linkend="GdkColor">GdkColor</link>              : Read
 
407
  &quot;<link linkend="GtkWidget--wide-separators">wide-separators</link>&quot;          <link linkend="gboolean">gboolean</link>              : Read
 
408
</synopsis>
 
409
</refsect1>
 
410
 
 
411
<refsect1 role="signal_proto">
 
412
<title role="signal_proto.title">Signals</title>
 
413
<synopsis>
 
414
 
 
415
  &quot;<link linkend="GtkWidget-accel-closures-changed">accel-closures-changed</link>&quot;                         
 
416
  &quot;<link linkend="GtkWidget-button-press-event">button-press-event</link>&quot;                             : Run Last
 
417
  &quot;<link linkend="GtkWidget-button-release-event">button-release-event</link>&quot;                           : Run Last
 
418
  &quot;<link linkend="GtkWidget-can-activate-accel">can-activate-accel</link>&quot;                             : Run Last
 
419
  &quot;<link linkend="GtkWidget-child-notify">child-notify</link>&quot;                                   : Run First / No Recursion / Has Details / No Hooks
 
420
  &quot;<link linkend="GtkWidget-client-event">client-event</link>&quot;                                   : Run Last
 
421
  &quot;<link linkend="GtkWidget-composited-changed">composited-changed</link>&quot;                             : Run Last / Action
 
422
  &quot;<link linkend="GtkWidget-configure-event">configure-event</link>&quot;                                : Run Last
 
423
  &quot;<link linkend="GtkWidget-delete-event">delete-event</link>&quot;                                   : Run Last
 
424
  &quot;<link linkend="GtkWidget-destroy-event">destroy-event</link>&quot;                                  : Run Last
 
425
  &quot;<link linkend="GtkWidget-direction-changed">direction-changed</link>&quot;                              : Run First
 
426
  &quot;<link linkend="GtkWidget-drag-begin">drag-begin</link>&quot;                                     : Run Last
 
427
  &quot;<link linkend="GtkWidget-drag-data-delete">drag-data-delete</link>&quot;                               : Run Last
 
428
  &quot;<link linkend="GtkWidget-drag-data-get">drag-data-get</link>&quot;                                  : Run Last
 
429
  &quot;<link linkend="GtkWidget-drag-data-received">drag-data-received</link>&quot;                             : Run Last
 
430
  &quot;<link linkend="GtkWidget-drag-drop">drag-drop</link>&quot;                                      : Run Last
 
431
  &quot;<link linkend="GtkWidget-drag-end">drag-end</link>&quot;                                       : Run Last
 
432
  &quot;<link linkend="GtkWidget-drag-leave">drag-leave</link>&quot;                                     : Run Last
 
433
  &quot;<link linkend="GtkWidget-drag-motion">drag-motion</link>&quot;                                    : Run Last
 
434
  &quot;<link linkend="GtkWidget-enter-notify-event">enter-notify-event</link>&quot;                             : Run Last
 
435
  &quot;<link linkend="GtkWidget-event">event</link>&quot;                                          : Run Last
 
436
  &quot;<link linkend="GtkWidget-event-after">event-after</link>&quot;                                    
 
437
  &quot;<link linkend="GtkWidget-expose-event">expose-event</link>&quot;                                   : Run Last
 
438
  &quot;<link linkend="GtkWidget-focus">focus</link>&quot;                                          : Run Last
 
439
  &quot;<link linkend="GtkWidget-focus-in-event">focus-in-event</link>&quot;                                 : Run Last
 
440
  &quot;<link linkend="GtkWidget-focus-out-event">focus-out-event</link>&quot;                                : Run Last
 
441
  &quot;<link linkend="GtkWidget-grab-broken-event">grab-broken-event</link>&quot;                              : Run Last
 
442
  &quot;<link linkend="GtkWidget-grab-focus">grab-focus</link>&quot;                                     : Run Last / Action
 
443
  &quot;<link linkend="GtkWidget-grab-notify">grab-notify</link>&quot;                                    : Run First
 
444
  &quot;<link linkend="GtkWidget-hide">hide</link>&quot;                                           : Run First
 
445
  &quot;<link linkend="GtkWidget-hierarchy-changed">hierarchy-changed</link>&quot;                              : Run Last
 
446
  &quot;<link linkend="GtkWidget-key-press-event">key-press-event</link>&quot;                                : Run Last
 
447
  &quot;<link linkend="GtkWidget-key-release-event">key-release-event</link>&quot;                              : Run Last
 
448
  &quot;<link linkend="GtkWidget-leave-notify-event">leave-notify-event</link>&quot;                             : Run Last
 
449
  &quot;<link linkend="GtkWidget-map">map</link>&quot;                                            : Run First
 
450
  &quot;<link linkend="GtkWidget-map-event">map-event</link>&quot;                                      : Run Last
 
451
  &quot;<link linkend="GtkWidget-mnemonic-activate">mnemonic-activate</link>&quot;                              : Run Last
 
452
  &quot;<link linkend="GtkWidget-motion-notify-event">motion-notify-event</link>&quot;                            : Run Last
 
453
  &quot;<link linkend="GtkWidget-no-expose-event">no-expose-event</link>&quot;                                : Run Last
 
454
  &quot;<link linkend="GtkWidget-parent-set">parent-set</link>&quot;                                     : Run First
 
455
  &quot;<link linkend="GtkWidget-popup-menu">popup-menu</link>&quot;                                     : Run Last / Action
 
456
  &quot;<link linkend="GtkWidget-property-notify-event">property-notify-event</link>&quot;                          : Run Last
 
457
  &quot;<link linkend="GtkWidget-proximity-in-event">proximity-in-event</link>&quot;                             : Run Last
 
458
  &quot;<link linkend="GtkWidget-proximity-out-event">proximity-out-event</link>&quot;                            : Run Last
 
459
  &quot;<link linkend="GtkWidget-realize">realize</link>&quot;                                        : Run First
 
460
  &quot;<link linkend="GtkWidget-screen-changed">screen-changed</link>&quot;                                 : Run Last
 
461
  &quot;<link linkend="GtkWidget-scroll-event">scroll-event</link>&quot;                                   : Run Last
 
462
  &quot;<link linkend="GtkWidget-selection-clear-event">selection-clear-event</link>&quot;                          : Run Last
 
463
  &quot;<link linkend="GtkWidget-selection-get">selection-get</link>&quot;                                  : Run Last
 
464
  &quot;<link linkend="GtkWidget-selection-notify-event">selection-notify-event</link>&quot;                         : Run Last
 
465
  &quot;<link linkend="GtkWidget-selection-received">selection-received</link>&quot;                             : Run Last
 
466
  &quot;<link linkend="GtkWidget-selection-request-event">selection-request-event</link>&quot;                        : Run Last
 
467
  &quot;<link linkend="GtkWidget-show">show</link>&quot;                                           : Run First
 
468
  &quot;<link linkend="GtkWidget-show-help">show-help</link>&quot;                                      : Run Last / Action
 
469
  &quot;<link linkend="GtkWidget-size-allocate">size-allocate</link>&quot;                                  : Run First
 
470
  &quot;<link linkend="GtkWidget-size-request">size-request</link>&quot;                                   : Run First
 
471
  &quot;<link linkend="GtkWidget-state-changed">state-changed</link>&quot;                                  : Run First
 
472
  &quot;<link linkend="GtkWidget-style-set">style-set</link>&quot;                                      : Run First
 
473
  &quot;<link linkend="GtkWidget-unmap">unmap</link>&quot;                                          : Run First
 
474
  &quot;<link linkend="GtkWidget-unmap-event">unmap-event</link>&quot;                                    : Run Last
 
475
  &quot;<link linkend="GtkWidget-unrealize">unrealize</link>&quot;                                      : Run Last
 
476
  &quot;<link linkend="GtkWidget-visibility-notify-event">visibility-notify-event</link>&quot;                        : Run Last
 
477
  &quot;<link linkend="GtkWidget-window-state-event">window-state-event</link>&quot;                             : Run Last
 
478
</synopsis>
 
479
</refsect1>
 
480
 
 
481
 
 
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.
 
492
</para>
 
493
<para>
 
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.
 
499
</para>
 
500
</refsect1>
 
501
 
 
502
<refsect1 role="details">
 
503
<title role="details.title">Details</title>
 
504
<refsect2>
 
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.
 
511
   */
 
512
  GtkStyle *style;
 
513
  
 
514
  /* The widget's desired size.
 
515
   */
 
516
  GtkRequisition requisition;
 
517
  
 
518
  /* The widget's allocated size.
 
519
   */
 
520
  GtkAllocation allocation;
 
521
  
 
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).
 
525
   */
 
526
  GdkWindow *window;
 
527
  
 
528
  /* The widget's parent.
 
529
   */
 
530
  GtkWidget *parent;
 
531
} GtkWidget;
 
532
</programlisting>
 
533
<para>
 
534
 
 
535
</para><variablelist role="struct">
 
536
<varlistentry>
 
537
<term><link linkend="GtkStyle">GtkStyle</link>&nbsp;*<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 
 
540
 to use for text.
 
541
</simpara></listitem>
 
542
</varlistentry>
 
543
<varlistentry>
 
544
<term><link linkend="GtkRequisition">GtkRequisition</link>&nbsp;<structfield>requisition</structfield>;</term>
 
545
<listitem><simpara>The widget's desired size.
 
546
</simpara></listitem>
 
547
</varlistentry>
 
548
<varlistentry>
 
549
<term><link linkend="GtkAllocation">GtkAllocation</link>&nbsp;<structfield>allocation</structfield>;</term>
 
550
<listitem><simpara>The widget's allocated size.
 
551
</simpara></listitem>
 
552
</varlistentry>
 
553
<varlistentry>
 
554
<term><link linkend="GdkWindow">GdkWindow</link>&nbsp;*<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>
 
558
</varlistentry>
 
559
<varlistentry>
 
560
<term><link linkend="GtkWidget">GtkWidget</link>&nbsp;*<structfield>parent</structfield>;</term>
 
561
<listitem><simpara>
 
562
 
 
563
</simpara></listitem>
 
564
</varlistentry>
 
565
</variablelist></refsect2>
 
566
<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
 
573
   *  pointer.
 
574
   */
 
575
  GtkObjectClass parent_class;
 
576
 
 
577
  
 
578
  guint activate_signal;
 
579
 
 
580
  guint set_scroll_adjustments_signal;
 
581
} GtkWidgetClass;
 
582
</programlisting>
 
583
<para>
 
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
 
587
signal is optional. 
 
588
</para>
 
589
 
 
590
<para>
 
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.
 
596
</para></refsect2>
 
597
<refsect2>
 
598
<title><anchor id="GtkWidgetFlags" role="enum"/>enum GtkWidgetFlags</title>
 
599
<indexterm><primary>GtkWidgetFlags</primary></indexterm><programlisting>typedef enum
 
600
{
 
601
  GTK_TOPLEVEL         = 1 &lt;&lt; 4,
 
602
  GTK_NO_WINDOW        = 1 &lt;&lt; 5,
 
603
  GTK_REALIZED         = 1 &lt;&lt; 6,
 
604
  GTK_MAPPED           = 1 &lt;&lt; 7,
 
605
  GTK_VISIBLE          = 1 &lt;&lt; 8,
 
606
  GTK_SENSITIVE        = 1 &lt;&lt; 9,
 
607
  GTK_PARENT_SENSITIVE = 1 &lt;&lt; 10,
 
608
  GTK_CAN_FOCUS        = 1 &lt;&lt; 11,
 
609
  GTK_HAS_FOCUS        = 1 &lt;&lt; 12,
 
610
 
 
611
  /* widget is allowed to receive the default via gtk_widget_grab_default
 
612
   * and will reserve space to draw the default if possible
 
613
   */
 
614
  GTK_CAN_DEFAULT      = 1 &lt;&lt; 13,
 
615
 
 
616
  /* the widget currently is receiving the default action and should be drawn
 
617
   * appropriately if possible
 
618
   */
 
619
  GTK_HAS_DEFAULT      = 1 &lt;&lt; 14,
 
620
 
 
621
  GTK_HAS_GRAB         = 1 &lt;&lt; 15,
 
622
  GTK_RC_STYLE         = 1 &lt;&lt; 16,
 
623
  GTK_COMPOSITE_CHILD  = 1 &lt;&lt; 17,
 
624
  GTK_NO_REPARENT      = 1 &lt;&lt; 18,
 
625
  GTK_APP_PAINTABLE    = 1 &lt;&lt; 19,
 
626
 
 
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
 
629
   */
 
630
  GTK_RECEIVES_DEFAULT = 1 &lt;&lt; 20,
 
631
 
 
632
  GTK_DOUBLE_BUFFERED  = 1 &lt;&lt; 21,
 
633
  GTK_NO_SHOW_ALL      = 1 &lt;&lt; 22
 
634
} GtkWidgetFlags;
 
635
</programlisting>
 
636
<para>
 
637
Tells about certain properties of the widget.
 
638
</para><variablelist role="enum">
 
639
<varlistentry>
 
640
<term><anchor id="GTK-TOPLEVEL:CAPS" role="constant"/><literal>GTK_TOPLEVEL</literal></term>
 
641
<listitem><simpara>
 
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>
 
646
</varlistentry>
 
647
<varlistentry>
 
648
<term><anchor id="GTK-NO-WINDOW:CAPS" role="constant"/><literal>GTK_NO_WINDOW</literal></term>
 
649
<listitem><simpara>
 
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>
 
653
</varlistentry>
 
654
<varlistentry>
 
655
<term><anchor id="GTK-REALIZED:CAPS" role="constant"/><literal>GTK_REALIZED</literal></term>
 
656
<listitem><simpara>
 
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>
 
660
</varlistentry>
 
661
<varlistentry>
 
662
<term><anchor id="GTK-MAPPED:CAPS" role="constant"/><literal>GTK_MAPPED</literal></term>
 
663
<listitem><simpara>
 
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>
 
668
</varlistentry>
 
669
<varlistentry>
 
670
<term><anchor id="GTK-VISIBLE:CAPS" role="constant"/><literal>GTK_VISIBLE</literal></term>
 
671
<listitem><simpara>
 
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>
 
675
</varlistentry>
 
676
<varlistentry>
 
677
<term><anchor id="GTK-SENSITIVE:CAPS" role="constant"/><literal>GTK_SENSITIVE</literal></term>
 
678
<listitem><simpara>
 
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>
 
684
</varlistentry>
 
685
<varlistentry>
 
686
<term><anchor id="GTK-PARENT-SENSITIVE:CAPS" role="constant"/><literal>GTK_PARENT_SENSITIVE</literal></term>
 
687
<listitem><simpara>
 
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>
 
695
</varlistentry>
 
696
<varlistentry>
 
697
<term><anchor id="GTK-CAN-FOCUS:CAPS" role="constant"/><literal>GTK_CAN_FOCUS</literal></term>
 
698
<listitem><simpara>
 
699
        Determines whether a widget is able to handle focus grabs.
 
700
</simpara></listitem>
 
701
</varlistentry>
 
702
<varlistentry>
 
703
<term><anchor id="GTK-HAS-FOCUS:CAPS" role="constant"/><literal>GTK_HAS_FOCUS</literal></term>
 
704
<listitem><simpara>
 
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
 
707
        grabs the focus.
 
708
</simpara></listitem>
 
709
</varlistentry>
 
710
<varlistentry>
 
711
<term><anchor id="GTK-CAN-DEFAULT:CAPS" role="constant"/><literal>GTK_CAN_DEFAULT</literal></term>
 
712
<listitem><simpara>
 
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>
 
716
</varlistentry>
 
717
<varlistentry>
 
718
<term><anchor id="GTK-HAS-DEFAULT:CAPS" role="constant"/><literal>GTK_HAS_DEFAULT</literal></term>
 
719
<listitem><simpara>
 
720
        The widget currently is receiving the default action.
 
721
</simpara></listitem>
 
722
</varlistentry>
 
723
<varlistentry>
 
724
<term><anchor id="GTK-HAS-GRAB:CAPS" role="constant"/><literal>GTK_HAS_GRAB</literal></term>
 
725
<listitem><simpara>
 
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>
 
730
</varlistentry>
 
731
<varlistentry>
 
732
<term><anchor id="GTK-RC-STYLE:CAPS" role="constant"/><literal>GTK_RC_STYLE</literal></term>
 
733
<listitem><simpara>
 
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>
 
738
</varlistentry>
 
739
<varlistentry>
 
740
<term><anchor id="GTK-COMPOSITE-CHILD:CAPS" role="constant"/><literal>GTK_COMPOSITE_CHILD</literal></term>
 
741
<listitem><simpara>
 
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>
 
745
</varlistentry>
 
746
<varlistentry>
 
747
<term><anchor id="GTK-NO-REPARENT:CAPS" role="constant"/><literal>GTK_NO_REPARENT</literal></term>
 
748
<listitem><simpara>
 
749
        Unused since before GTK+ 1.2, will be removed in a future version.
 
750
</simpara></listitem>
 
751
</varlistentry>
 
752
<varlistentry>
 
753
<term><anchor id="GTK-APP-PAINTABLE:CAPS" role="constant"/><literal>GTK_APP_PAINTABLE</literal></term>
 
754
<listitem><simpara>
 
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>
 
759
</varlistentry>
 
760
<varlistentry>
 
761
<term><anchor id="GTK-RECEIVES-DEFAULT:CAPS" role="constant"/><literal>GTK_RECEIVES_DEFAULT</literal></term>
 
762
<listitem><simpara>
 
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>
 
766
</varlistentry>
 
767
<varlistentry>
 
768
<term><anchor id="GTK-DOUBLE-BUFFERED:CAPS" role="constant"/><literal>GTK_DOUBLE_BUFFERED</literal></term>
 
769
<listitem><simpara>
 
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>
 
773
</varlistentry>
 
774
<varlistentry>
 
775
<term><anchor id="GTK-NO-SHOW-ALL:CAPS" role="constant"/><literal>GTK_NO_SHOW_ALL</literal></term>
 
776
<listitem><simpara>
 
777
 
 
778
</simpara></listitem>
 
779
</varlistentry>
 
780
</variablelist></refsect2>
 
781
<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))
 
784
</programlisting>
 
785
<para>
 
786
Gets the type of a widget.
 
787
</para><variablelist role="params">
 
788
<varlistentry><term><parameter>wid</parameter>&nbsp;:</term>
 
789
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
790
 
 
791
 
 
792
</simpara></listitem></varlistentry>
 
793
</variablelist></refsect2>
 
794
<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)-&gt;state)
 
797
</programlisting>
 
798
<para>
 
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>&nbsp;:</term>
 
802
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
803
 
 
804
 
 
805
</simpara></listitem></varlistentry>
 
806
</variablelist></refsect2>
 
807
<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)-&gt;saved_state)
 
810
</programlisting>
 
811
<para>
 
812
Returns the saved state of the widget, as a <link linkend="GtkStateType"><type>GtkStateType</type></link>.
 
813
</para>
 
814
<para>
 
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>&nbsp;:</term>
 
820
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
821
 
 
822
 
 
823
</simpara></listitem></varlistentry>
 
824
</variablelist></refsect2>
 
825
<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))
 
828
</programlisting>
 
829
<para>
 
830
Returns the widget flags from <parameter>wid</parameter>.
 
831
</para><variablelist role="params">
 
832
<varlistentry><term><parameter>wid</parameter>&nbsp;:</term>
 
833
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
834
 
 
835
 
 
836
</simpara></listitem></varlistentry>
 
837
</variablelist></refsect2>
 
838
<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) &amp; GTK_TOPLEVEL) != 0)
 
841
</programlisting>
 
842
<para>
 
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>&nbsp;:</term>
 
846
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
847
 
 
848
 
 
849
</simpara></listitem></varlistentry>
 
850
</variablelist></refsect2>
 
851
<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) &amp; GTK_NO_WINDOW) != 0)
 
854
</programlisting>
 
855
<para>
 
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>&nbsp;:</term>
 
859
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
860
 
 
861
 
 
862
</simpara></listitem></varlistentry>
 
863
</variablelist></refsect2>
 
864
<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) &amp; GTK_REALIZED) != 0)
 
867
</programlisting>
 
868
<para>
 
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>&nbsp;:</term>
 
872
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
873
 
 
874
 
 
875
</simpara></listitem></varlistentry>
 
876
</variablelist></refsect2>
 
877
<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) &amp; GTK_MAPPED) != 0)
 
880
</programlisting>
 
881
<para>
 
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>&nbsp;:</term>
 
885
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
886
 
 
887
 
 
888
</simpara></listitem></varlistentry>
 
889
</variablelist></refsect2>
 
890
<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) &amp; GTK_VISIBLE) != 0)
 
893
</programlisting>
 
894
<para>
 
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>&nbsp;:</term>
 
898
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
899
 
 
900
 
 
901
</simpara></listitem></varlistentry>
 
902
</variablelist></refsect2>
 
903
<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) &amp;&amp; GTK_WIDGET_MAPPED (wid))
 
906
</programlisting>
 
907
<para>
 
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>&nbsp;:</term>
 
911
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
912
 
 
913
 
 
914
</simpara></listitem></varlistentry>
 
915
</variablelist></refsect2>
 
916
<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) &amp; GTK_SENSITIVE) != 0)
 
919
</programlisting>
 
920
<para>
 
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>&nbsp;:</term>
 
924
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
925
 
 
926
 
 
927
</simpara></listitem></varlistentry>
 
928
</variablelist></refsect2>
 
929
<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) &amp; GTK_PARENT_SENSITIVE) != 0)
 
932
</programlisting>
 
933
<para>
 
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>&nbsp;:</term>
 
937
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
938
 
 
939
 
 
940
</simpara></listitem></varlistentry>
 
941
</variablelist></refsect2>
 
942
<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>
 
945
<para>
 
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>&nbsp;:</term>
 
949
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
950
 
 
951
 
 
952
</simpara></listitem></varlistentry>
 
953
</variablelist></refsect2>
 
954
<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) &amp; GTK_CAN_FOCUS) != 0)
 
957
</programlisting>
 
958
<para>
 
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>&nbsp;:</term>
 
962
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
963
 
 
964
 
 
965
</simpara></listitem></varlistentry>
 
966
</variablelist></refsect2>
 
967
<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) &amp; GTK_HAS_FOCUS) != 0)
 
970
</programlisting>
 
971
<para>
 
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>&nbsp;:</term>
 
976
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
977
 
 
978
 
 
979
</simpara></listitem></varlistentry>
 
980
</variablelist></refsect2>
 
981
<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) &amp; GTK_CAN_DEFAULT) != 0)
 
984
</programlisting>
 
985
<para>
 
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>&nbsp;:</term>
 
990
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
991
 
 
992
 
 
993
</simpara></listitem></varlistentry>
 
994
</variablelist></refsect2>
 
995
<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) &amp; GTK_RECEIVES_DEFAULT) != 0)
 
998
</programlisting>
 
999
<para>
 
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>&nbsp;:</term>
 
1004
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1005
 
 
1006
 
 
1007
</simpara></listitem></varlistentry>
 
1008
</variablelist></refsect2>
 
1009
<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) &amp; GTK_HAS_DEFAULT) != 0)
 
1012
</programlisting>
 
1013
<para>
 
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>&nbsp;:</term>
 
1017
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1018
 
 
1019
 
 
1020
</simpara></listitem></varlistentry>
 
1021
</variablelist></refsect2>
 
1022
<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) &amp; GTK_HAS_GRAB) != 0)
 
1025
</programlisting>
 
1026
<para>
 
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>&nbsp;:</term>
 
1031
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1032
 
 
1033
 
 
1034
</simpara></listitem></varlistentry>
 
1035
</variablelist></refsect2>
 
1036
<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) &amp; GTK_RC_STYLE) != 0)
 
1039
</programlisting>
 
1040
<para>
 
1041
Evaluates to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget's style has been looked up through the rc
 
1042
mechanism.
 
1043
</para><variablelist role="params">
 
1044
<varlistentry><term><parameter>wid</parameter>&nbsp;:</term>
 
1045
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1046
 
 
1047
 
 
1048
</simpara></listitem></varlistentry>
 
1049
</variablelist></refsect2>
 
1050
<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) &amp; GTK_COMPOSITE_CHILD) != 0)
 
1053
</programlisting>
 
1054
<para>
 
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>&nbsp;:</term>
 
1058
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1059
 
 
1060
 
 
1061
</simpara></listitem></varlistentry>
 
1062
</variablelist></refsect2>
 
1063
<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) &amp; GTK_APP_PAINTABLE) != 0)
 
1066
</programlisting>
 
1067
<para>
 
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>&nbsp;:</term>
 
1071
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1072
 
 
1073
 
 
1074
</simpara></listitem></varlistentry>
 
1075
</variablelist></refsect2>
 
1076
<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) &amp; GTK_DOUBLE_BUFFERED) != 0)
 
1079
</programlisting>
 
1080
<para>
 
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>&nbsp;:</term>
 
1084
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1085
 
 
1086
 
 
1087
</simpara></listitem></varlistentry>
 
1088
</variablelist></refsect2>
 
1089
<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
 
1092
</programlisting>
 
1093
<para>
 
1094
Turns on certain widget flags.
 
1095
</para><variablelist role="params">
 
1096
<varlistentry><term><parameter>wid</parameter>&nbsp;:</term>
 
1097
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1098
</simpara></listitem></varlistentry>
 
1099
<varlistentry><term><parameter>flag</parameter>&nbsp;:</term>
 
1100
<listitem><simpara>the flags to set.
 
1101
 
 
1102
 
 
1103
</simpara></listitem></varlistentry>
 
1104
</variablelist></refsect2>
 
1105
<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) &amp;= ~(flag)); }G_STMT_END
 
1108
</programlisting>
 
1109
<para>
 
1110
Turns off certain widget flags.
 
1111
</para><variablelist role="params">
 
1112
<varlistentry><term><parameter>wid</parameter>&nbsp;:</term>
 
1113
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
1114
</simpara></listitem></varlistentry>
 
1115
<varlistentry><term><parameter>flag</parameter>&nbsp;:</term>
 
1116
<listitem><simpara>the flags to unset.
 
1117
 
 
1118
 
 
1119
</simpara></listitem></varlistentry>
 
1120
</variablelist></refsect2>
 
1121
<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>
 
1125
<para>
 
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>&nbsp;:</term>
 
1130
<listitem><simpara>the widget to operate on
 
1131
</simpara></listitem></varlistentry>
 
1132
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
 
1133
<listitem><simpara>user-supplied data
 
1134
 
 
1135
 
 
1136
</simpara></listitem></varlistentry>
 
1137
</variablelist></refsect2>
 
1138
<refsect2>
 
1139
<title><anchor id="GtkRequisition" role="struct"/>GtkRequisition</title>
 
1140
<indexterm><primary>GtkRequisition</primary></indexterm><programlisting>typedef struct {
 
1141
  gint width;
 
1142
  gint height;
 
1143
} GtkRequisition;
 
1144
</programlisting>
 
1145
<para>
 
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">
 
1149
<varlistentry>
 
1150
<term><link linkend="gint">gint</link>&nbsp;<structfield>width</structfield>;</term>
 
1151
<listitem><simpara>the widget's desired width
 
1152
</simpara></listitem>
 
1153
</varlistentry>
 
1154
<varlistentry>
 
1155
<term><link linkend="gint">gint</link>&nbsp;<structfield>height</structfield>;</term>
 
1156
<listitem><simpara>the widget's desired height
 
1157
 
 
1158
</simpara></listitem>
 
1159
</varlistentry>
 
1160
</variablelist></refsect2>
 
1161
<refsect2>
 
1162
<title><anchor id="GtkAllocation" role="struct"/>struct GtkAllocation</title>
 
1163
<indexterm><primary>GtkAllocation</primary></indexterm><programlisting>struct GtkAllocation {
 
1164
  gint x;
 
1165
  gint y;
 
1166
  gint width;
 
1167
  gint height;
 
1168
};
 
1169
</programlisting>
 
1170
<para>
 
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">
 
1175
<varlistentry>
 
1176
<term><link linkend="gint">gint</link>&nbsp;<structfield>x</structfield>;</term>
 
1177
<listitem><simpara>the X position of the widget's area relative to its parents allocation.
 
1178
</simpara></listitem>
 
1179
</varlistentry>
 
1180
<varlistentry>
 
1181
<term><link linkend="gint">gint</link>&nbsp;<structfield>y</structfield>;</term>
 
1182
<listitem><simpara>the Y position of the widget's area relative to its parents allocation.
 
1183
</simpara></listitem>
 
1184
</varlistentry>
 
1185
<varlistentry>
 
1186
<term><link linkend="gint">gint</link>&nbsp;<structfield>width</structfield>;</term>
 
1187
<listitem><simpara>the width of the widget's allocated area.
 
1188
</simpara></listitem>
 
1189
</varlistentry>
 
1190
<varlistentry>
 
1191
<term><link linkend="gint">gint</link>&nbsp;<structfield>height</structfield>;</term>
 
1192
<listitem><simpara>the height of the widget's allocated area.
 
1193
 
 
1194
</simpara></listitem>
 
1195
</varlistentry>
 
1196
</variablelist></refsect2>
 
1197
<refsect2>
 
1198
<title><anchor id="GtkSelectionData" role="struct"/>GtkSelectionData</title>
 
1199
<indexterm><primary>GtkSelectionData</primary></indexterm><programlisting>typedef struct {
 
1200
  GdkAtom       selection;
 
1201
  GdkAtom       target;
 
1202
  GdkAtom       type;
 
1203
  gint          format;
 
1204
  guchar       *data;  
 
1205
  gint          length;
 
1206
  GdkDisplay   *display;
 
1207
} GtkSelectionData;
 
1208
</programlisting>
 
1209
<para>
 
1210
 
 
1211
</para></refsect2>
 
1212
<refsect2>
 
1213
<title><anchor id="GtkWidgetAuxInfo" role="struct"/>GtkWidgetAuxInfo</title>
 
1214
<indexterm><primary>GtkWidgetAuxInfo</primary></indexterm><programlisting>typedef struct {
 
1215
  gint x;
 
1216
  gint y;
 
1217
  gint width;
 
1218
  gint height;
 
1219
  guint x_set : 1;
 
1220
  guint y_set : 1;
 
1221
} GtkWidgetAuxInfo;
 
1222
</programlisting>
 
1223
<para>
 
1224
 
 
1225
</para></refsect2>
 
1226
<refsect2>
 
1227
<title><anchor id="GtkWidgetShapeInfo" role="struct"/>GtkWidgetShapeInfo</title>
 
1228
<indexterm><primary>GtkWidgetShapeInfo</primary></indexterm><programlisting>typedef struct {
 
1229
  gint16     offset_x;
 
1230
  gint16     offset_y;
 
1231
  GdkBitmap *shape_mask;
 
1232
} GtkWidgetShapeInfo;
 
1233
</programlisting>
 
1234
<para>
 
1235
 
 
1236
</para></refsect2>
 
1237
<refsect2>
 
1238
<title><anchor id="GtkWidgetHelpType" role="enum"/>enum GtkWidgetHelpType</title>
 
1239
<indexterm><primary>GtkWidgetHelpType</primary></indexterm><programlisting>typedef enum
 
1240
{
 
1241
  GTK_WIDGET_HELP_TOOLTIP,
 
1242
  GTK_WIDGET_HELP_WHATS_THIS
 
1243
} GtkWidgetHelpType;
 
1244
</programlisting>
 
1245
<para>
 
1246
 
 
1247
</para></refsect2>
 
1248
<refsect2>
 
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>
 
1253
<para>
 
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>
 
1260
<para>
 
1261
 
 
1262
</para><variablelist role="params">
 
1263
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
 
1264
<listitem><simpara> type ID of the widget to create
 
1265
</simpara></listitem></varlistentry>
 
1266
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
 
1267
<listitem><simpara> name of first property to set
 
1268
</simpara></listitem></varlistentry>
 
1269
<varlistentry><term><parameter>...</parameter>&nbsp;:</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>&nbsp;:</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>
 
1275
<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>
 
1278
<para>
 
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>
 
1283
<para>
 
1284
 
 
1285
</para><variablelist role="params">
 
1286
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1287
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1288
</simpara></listitem></varlistentry>
 
1289
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the widget that was referenced
 
1290
</simpara></listitem></varlistentry>
 
1291
</variablelist></refsect2>
 
1292
<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>
 
1295
<para>
 
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>
 
1297
<para>
 
1298
 
 
1299
</para><variablelist role="params">
 
1300
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1301
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1302
</simpara></listitem></varlistentry>
 
1303
</variablelist></refsect2>
 
1304
<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>
 
1307
<para>
 
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>.
 
1318
</para>
 
1319
<para>
 
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>
 
1323
<para>
 
1324
 
 
1325
</para><variablelist role="params">
 
1326
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1327
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1328
</simpara></listitem></varlistentry>
 
1329
</variablelist></refsect2>
 
1330
<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>
 
1334
<para>
 
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>
 
1342
<para>
 
1343
 
 
1344
</para><variablelist role="params">
 
1345
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1346
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1347
</simpara></listitem></varlistentry>
 
1348
<varlistentry><term><parameter>widget_pointer</parameter>&nbsp;:</term>
 
1349
<listitem><simpara> address of a variable that contains <parameter>widget</parameter>
 
1350
</simpara></listitem></varlistentry>
 
1351
</variablelist></refsect2>
 
1352
<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>
 
1358
<para>
 
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>
 
1361
<para>
 
1362
 
 
1363
</para><variablelist role="params">
 
1364
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1365
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1366
</simpara></listitem></varlistentry>
 
1367
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
 
1368
<listitem><simpara> name of first property to set
 
1369
</simpara></listitem></varlistentry>
 
1370
<varlistentry><term><parameter>...</parameter>&nbsp;:</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>
 
1374
<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>
 
1377
<para>
 
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>
 
1381
<para>
 
1382
 
 
1383
</para><variablelist role="params">
 
1384
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1385
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1386
</simpara></listitem></varlistentry>
 
1387
</variablelist></refsect2>
 
1388
<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>
 
1391
<para>
 
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.
 
1396
</para>
 
1397
<para>
 
1398
Remember that you have to show the containers containing a widget,
 
1399
in addition to the widget itself, before it will appear onscreen.
 
1400
</para>
 
1401
<para>
 
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>
 
1405
<para>
 
1406
 
 
1407
</para><variablelist role="params">
 
1408
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1409
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1410
</simpara></listitem></varlistentry>
 
1411
</variablelist></refsect2>
 
1412
<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>
 
1415
<para>
 
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>
 
1421
<para>
 
1422
 
 
1423
</para><variablelist role="params">
 
1424
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1425
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1426
</simpara></listitem></varlistentry>
 
1427
</variablelist></refsect2>
 
1428
<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>
 
1431
<para>
 
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>
 
1434
<para>
 
1435
 
 
1436
</para><variablelist role="params">
 
1437
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1438
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1439
</simpara></listitem></varlistentry>
 
1440
</variablelist></refsect2>
 
1441
<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>
 
1444
<para>
 
1445
Recursively shows a widget, and any child widgets (if the widget is
 
1446
a container).</para>
 
1447
<para>
 
1448
 
 
1449
</para><variablelist role="params">
 
1450
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1451
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1452
</simpara></listitem></varlistentry>
 
1453
</variablelist></refsect2>
 
1454
<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>
 
1457
<para>
 
1458
Recursively hides a widget and any child widgets.</para>
 
1459
<para>
 
1460
 
 
1461
</para><variablelist role="params">
 
1462
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1463
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1464
</simpara></listitem></varlistentry>
 
1465
</variablelist></refsect2>
 
1466
<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>
 
1469
<para>
 
1470
This function is only for use in widget implementations. Causes
 
1471
a widget to be mapped if it isn't already.</para>
 
1472
<para>
 
1473
 
 
1474
</para><variablelist role="params">
 
1475
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1476
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1477
</simpara></listitem></varlistentry>
 
1478
</variablelist></refsect2>
 
1479
<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>
 
1482
<para>
 
1483
This function is only for use in widget implementations. Causes
 
1484
a widget to be unmapped if it's currently mapped.</para>
 
1485
<para>
 
1486
 
 
1487
</para><variablelist role="params">
 
1488
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1489
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1490
</simpara></listitem></varlistentry>
 
1491
</variablelist></refsect2>
 
1492
<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>
 
1495
<para>
 
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.
 
1501
</para>
 
1502
<para>
 
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.
 
1508
</para>
 
1509
<para>
 
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>
 
1516
<para>
 
1517
 
 
1518
</para><variablelist role="params">
 
1519
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1520
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1521
</simpara></listitem></varlistentry>
 
1522
</variablelist></refsect2>
 
1523
<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>
 
1526
<para>
 
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>
 
1530
<para>
 
1531
 
 
1532
</para><variablelist role="params">
 
1533
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1534
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1535
</simpara></listitem></varlistentry>
 
1536
</variablelist></refsect2>
 
1537
<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>
 
1540
<para>
 
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>
 
1543
<para>
 
1544
 
 
1545
</para><variablelist role="params">
 
1546
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1547
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1548
</simpara></listitem></varlistentry>
 
1549
</variablelist></refsect2>
 
1550
<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>
 
1553
<para>
 
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>
 
1559
<para>
 
1560
 
 
1561
</para><variablelist role="params">
 
1562
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1563
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1564
</simpara></listitem></varlistentry>
 
1565
</variablelist></refsect2>
 
1566
<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>
 
1569
<para>
 
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>
 
1572
<para>
 
1573
 
 
1574
</para><variablelist role="params">
 
1575
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1576
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1577
</simpara></listitem></varlistentry>
 
1578
</variablelist><para role="since">Since  2.4
 
1579
</para></refsect2>
 
1580
<refsect2>
 
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>
 
1585
<para>
 
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>
 
1594
<para>
 
1595
 
 
1596
</para><variablelist role="params">
 
1597
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1598
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1599
</simpara></listitem></varlistentry>
 
1600
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
 
1601
<listitem><simpara> area to draw
 
1602
</simpara></listitem></varlistentry>
 
1603
</variablelist></refsect2>
 
1604
<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>
 
1608
<para>
 
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>.
 
1613
</para>
 
1614
<para>
 
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.
 
1619
</para>
 
1620
<para>
 
1621
Also remember that the size request is not necessarily the size
 
1622
a widget will actually be allocated.
 
1623
</para>
 
1624
<para>
 
1625
See also <link linkend="gtk-widget-get-child-requisition"><function>gtk_widget_get_child_requisition()</function></link>.</para>
 
1626
<para>
 
1627
 
 
1628
</para><variablelist role="params">
 
1629
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1630
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1631
</simpara></listitem></varlistentry>
 
1632
<varlistentry><term><parameter>requisition</parameter>&nbsp;:</term>
 
1633
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link> to be filled in
 
1634
</simpara></listitem></varlistentry>
 
1635
</variablelist></refsect2>
 
1636
<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>
 
1640
<para>
 
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.
 
1645
</para>
 
1646
<para>
 
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>.
 
1652
</para>
 
1653
<para>
 
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>
 
1660
<para>
 
1661
 
 
1662
</para><variablelist role="params">
 
1663
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1664
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1665
</simpara></listitem></varlistentry>
 
1666
<varlistentry><term><parameter>requisition</parameter>&nbsp;:</term>
 
1667
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link> to be filled in
 
1668
</simpara></listitem></varlistentry>
 
1669
</variablelist></refsect2>
 
1670
<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>
 
1674
<para>
 
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>
 
1677
<para>
 
1678
 
 
1679
</para><variablelist role="params">
 
1680
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1681
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1682
</simpara></listitem></varlistentry>
 
1683
<varlistentry><term><parameter>allocation</parameter>&nbsp;:</term>
 
1684
<listitem><simpara> position and size to be allocated to <parameter>widget</parameter>
 
1685
</simpara></listitem></varlistentry>
 
1686
</variablelist></refsect2>
 
1687
<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>
 
1695
<para>
 
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>
 
1704
<para>
 
1705
 
 
1706
</para><variablelist role="params">
 
1707
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1708
<listitem><simpara>       widget to install an accelerator on
 
1709
</simpara></listitem></varlistentry>
 
1710
<varlistentry><term><parameter>accel_signal</parameter>&nbsp;:</term>
 
1711
<listitem><simpara> widget signal to emit on accelerator activation
 
1712
</simpara></listitem></varlistentry>
 
1713
<varlistentry><term><parameter>accel_group</parameter>&nbsp;:</term>
 
1714
<listitem><simpara>  accel group for this widget, added to its toplevel
 
1715
</simpara></listitem></varlistentry>
 
1716
<varlistentry><term><parameter>accel_key</parameter>&nbsp;:</term>
 
1717
<listitem><simpara>    GDK keyval of the accelerator
 
1718
</simpara></listitem></varlistentry>
 
1719
<varlistentry><term><parameter>accel_mods</parameter>&nbsp;:</term>
 
1720
<listitem><simpara>   modifier key combination of the accelerator
 
1721
</simpara></listitem></varlistentry>
 
1722
<varlistentry><term><parameter>accel_flags</parameter>&nbsp;:</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>
 
1726
<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>
 
1732
<para>
 
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>
 
1735
<para>
 
1736
 
 
1737
</para><variablelist role="params">
 
1738
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1739
<listitem><simpara>       widget to install an accelerator on
 
1740
</simpara></listitem></varlistentry>
 
1741
<varlistentry><term><parameter>accel_group</parameter>&nbsp;:</term>
 
1742
<listitem><simpara>  accel group for this widget
 
1743
</simpara></listitem></varlistentry>
 
1744
<varlistentry><term><parameter>accel_key</parameter>&nbsp;:</term>
 
1745
<listitem><simpara>    GDK keyval of the accelerator
 
1746
</simpara></listitem></varlistentry>
 
1747
<varlistentry><term><parameter>accel_mods</parameter>&nbsp;:</term>
 
1748
<listitem><simpara>   modifier key combination of the accelerator
 
1749
</simpara></listitem></varlistentry>
 
1750
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>      whether an accelerator was installed and could be removed
 
1751
</simpara></listitem></varlistentry>
 
1752
</variablelist></refsect2>
 
1753
<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>
 
1758
<para>
 
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>.)
 
1767
</para>
 
1768
<para>
 
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
 
1772
automatically.
 
1773
</para>
 
1774
<para>
 
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>
 
1778
<para>
 
1779
 
 
1780
</para><variablelist role="params">
 
1781
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1782
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1783
</simpara></listitem></varlistentry>
 
1784
<varlistentry><term><parameter>accel_path</parameter>&nbsp;:</term>
 
1785
<listitem><simpara> path used to look up the accelerator
 
1786
</simpara></listitem></varlistentry>
 
1787
<varlistentry><term><parameter>accel_group</parameter>&nbsp;:</term>
 
1788
<listitem><simpara> a <link linkend="GtkAccelGroup"><type>GtkAccelGroup</type></link>.
 
1789
</simpara></listitem></varlistentry>
 
1790
</variablelist></refsect2>
 
1791
<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>
 
1794
<para>
 
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>
 
1800
<para>
 
1801
 
 
1802
</para><variablelist role="params">
 
1803
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1804
<listitem><simpara>  widget to list accelerator closures for
 
1805
</simpara></listitem></varlistentry>
 
1806
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="GList"><type>GList</type></link> of closures
 
1807
</simpara></listitem></varlistentry>
 
1808
</variablelist></refsect2>
 
1809
<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>
 
1813
<para>
 
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>
 
1821
<para>
 
1822
 
 
1823
</para><variablelist role="params">
 
1824
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1825
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1826
</simpara></listitem></varlistentry>
 
1827
<varlistentry><term><parameter>signal_id</parameter>&nbsp;:</term>
 
1828
<listitem><simpara> the ID of a signal installed on <parameter>widget</parameter>
 
1829
</simpara></listitem></varlistentry>
 
1830
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the accelerator can be activated.
 
1831
 
 
1832
</simpara></listitem></varlistentry>
 
1833
</variablelist><para role="since">Since  2.4
 
1834
</para></refsect2>
 
1835
<refsect2>
 
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>
 
1839
<para>
 
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
 
1847
window.</para>
 
1848
<para>
 
1849
 
 
1850
</para><variablelist role="params">
 
1851
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1852
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1853
</simpara></listitem></varlistentry>
 
1854
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
1855
<listitem><simpara> a <link linkend="GdkEvent"><type>GdkEvent</type></link>
 
1856
</simpara></listitem></varlistentry>
 
1857
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
1860
<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>
 
1863
<para>
 
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>
 
1868
<para>
 
1869
 
 
1870
</para><variablelist role="params">
 
1871
<varlistentry><term><parameter>widget</parameter>&nbsp;:</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>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget was activatable
 
1875
</simpara></listitem></varlistentry>
 
1876
</variablelist></refsect2>
 
1877
<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>
 
1881
<para>
 
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>
 
1884
<para>
 
1885
 
 
1886
</para><variablelist role="params">
 
1887
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1888
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1889
</simpara></listitem></varlistentry>
 
1890
<varlistentry><term><parameter>new_parent</parameter>&nbsp;:</term>
 
1891
<listitem><simpara> a <link linkend="GtkContainer"><type>GtkContainer</type></link> to move the widget into
 
1892
</simpara></listitem></varlistentry>
 
1893
</variablelist></refsect2>
 
1894
<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>
 
1899
<para>
 
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>
 
1904
<para>
 
1905
 
 
1906
</para><variablelist role="params">
 
1907
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1908
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1909
</simpara></listitem></varlistentry>
 
1910
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
 
1911
<listitem><simpara> a rectangle
 
1912
</simpara></listitem></varlistentry>
 
1913
<varlistentry><term><parameter>intersection</parameter>&nbsp;:</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>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if there was an intersection
 
1917
</simpara></listitem></varlistentry>
 
1918
</variablelist></refsect2>
 
1919
<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>
 
1922
<para>
 
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>
 
1927
<para>
 
1928
 
 
1929
</para><variablelist role="params">
 
1930
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1931
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1932
</simpara></listitem></varlistentry>
 
1933
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
1936
<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>
 
1939
<para>
 
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>
 
1944
<para>
 
1945
 
 
1946
</para><variablelist role="params">
 
1947
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1948
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1949
</simpara></listitem></varlistentry>
 
1950
</variablelist></refsect2>
 
1951
<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>
 
1954
<para>
 
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>
 
1961
<para>
 
1962
 
 
1963
</para><variablelist role="params">
 
1964
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1965
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1966
</simpara></listitem></varlistentry>
 
1967
</variablelist></refsect2>
 
1968
<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>
 
1972
<para>
 
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>).
 
1977
</para>
 
1978
<para>
 
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>
 
1981
<para>
 
1982
 
 
1983
</para><variablelist role="params">
 
1984
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
1985
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
1986
</simpara></listitem></varlistentry>
 
1987
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
1988
<listitem><simpara> name for the widget
 
1989
</simpara></listitem></varlistentry>
 
1990
</variablelist></refsect2>
 
1991
<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>
 
1994
<para>
 
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>
 
1997
<para>
 
1998
 
 
1999
</para><variablelist role="params">
 
2000
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2001
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2002
</simpara></listitem></varlistentry>
 
2003
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
2007
<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>
 
2011
<para>
 
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>
 
2015
<para>
 
2016
 
 
2017
</para><variablelist role="params">
 
2018
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2019
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2020
</simpara></listitem></varlistentry>
 
2021
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
 
2022
<listitem><simpara> new state for <parameter>widget</parameter>
 
2023
</simpara></listitem></varlistentry>
 
2024
</variablelist></refsect2>
 
2025
<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>
 
2029
<para>
 
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>
 
2034
<para>
 
2035
 
 
2036
</para><variablelist role="params">
 
2037
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2038
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2039
</simpara></listitem></varlistentry>
 
2040
<varlistentry><term><parameter>sensitive</parameter>&nbsp;:</term>
 
2041
<listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to make the widget sensitive
 
2042
</simpara></listitem></varlistentry>
 
2043
</variablelist></refsect2>
 
2044
<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>
 
2048
<para>
 
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>
 
2054
<para>
 
2055
 
 
2056
</para><variablelist role="params">
 
2057
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2058
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2059
</simpara></listitem></varlistentry>
 
2060
<varlistentry><term><parameter>parent</parameter>&nbsp;:</term>
 
2061
<listitem><simpara> parent container
 
2062
</simpara></listitem></varlistentry>
 
2063
</variablelist></refsect2>
 
2064
<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>
 
2068
<para>
 
2069
Sets a non default parent window for <parameter>widget</parameter>.</para>
 
2070
<para>
 
2071
 
 
2072
</para><variablelist role="params">
 
2073
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2074
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2075
</simpara></listitem></varlistentry>
 
2076
<varlistentry><term><parameter>parent_window</parameter>&nbsp;:</term>
 
2077
<listitem><simpara> the new parent window.
 
2078
</simpara></listitem></varlistentry>
 
2079
</variablelist></refsect2>
 
2080
<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>
 
2083
<para>
 
2084
Gets <parameter>widget</parameter>'s parent window.</para>
 
2085
<para>
 
2086
 
 
2087
</para><variablelist role="params">
 
2088
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2089
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2090
</simpara></listitem></varlistentry>
 
2091
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the parent window of <parameter>widget</parameter>.
 
2092
</simpara></listitem></varlistentry>
 
2093
</variablelist></refsect2>
 
2094
<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>
 
2100
<para>
 
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>.
 
2105
</para>
 
2106
<para>
 
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
 
2113
manually.
 
2114
</para>
 
2115
<para>
 
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>
 
2118
<para>
 
2119
 
 
2120
</para><variablelist role="params">
 
2121
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2122
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2123
</simpara></listitem></varlistentry>
 
2124
<varlistentry><term><parameter>x</parameter>&nbsp;:</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>&nbsp;:</term>
 
2128
<listitem><simpara> y position; -1 to unset y; -2 to leave y unchanged
 
2129
</simpara></listitem></varlistentry>
 
2130
</variablelist></refsect2>
 
2131
<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>
 
2137
<para>
 
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
 
2148
function as well.
 
2149
</para>
 
2150
<para>
 
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
 
2155
correct.
 
2156
</para>
 
2157
<para>
 
2158
<parameter>Deprecated</parameter>: Use <link linkend="gtk-widget-set-size-request"><function>gtk_widget_set_size_request()</function></link> instead.</para>
 
2159
<para>
 
2160
 
 
2161
</para><variablelist role="params">
 
2162
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2163
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2164
</simpara></listitem></varlistentry>
 
2165
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
 
2166
<listitem><simpara> minimum width, or -1 to unset
 
2167
</simpara></listitem></varlistentry>
 
2168
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
 
2169
<listitem><simpara> minimum height, or -1 to unset
 
2170
</simpara></listitem></varlistentry>
 
2171
</variablelist></refsect2>
 
2172
<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>
 
2176
<para>
 
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>
 
2187
<para>
 
2188
 
 
2189
</para><variablelist role="params">
 
2190
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2191
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2192
</simpara></listitem></varlistentry>
 
2193
<varlistentry><term><parameter>events</parameter>&nbsp;:</term>
 
2194
<listitem><simpara> event mask
 
2195
</simpara></listitem></varlistentry>
 
2196
</variablelist></refsect2>
 
2197
<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>
 
2201
<para>
 
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>
 
2204
<para>
 
2205
 
 
2206
</para><variablelist role="params">
 
2207
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2208
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2209
</simpara></listitem></varlistentry>
 
2210
<varlistentry><term><parameter>events</parameter>&nbsp;:</term>
 
2211
<listitem><simpara> an event mask, see <link linkend="GdkEventMask"><type>GdkEventMask</type></link>
 
2212
</simpara></listitem></varlistentry>
 
2213
</variablelist></refsect2>
 
2214
<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>
 
2218
<para>
 
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>
 
2221
<para>
 
2222
 
 
2223
</para><variablelist role="params">
 
2224
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2225
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2226
</simpara></listitem></varlistentry>
 
2227
<varlistentry><term><parameter>mode</parameter>&nbsp;:</term>
 
2228
<listitem><simpara> bitfield of extension events to receive
 
2229
</simpara></listitem></varlistentry>
 
2230
</variablelist></refsect2>
 
2231
<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>
 
2234
<para>
 
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>
 
2237
<para>
 
2238
 
 
2239
</para><variablelist role="params">
 
2240
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2241
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2242
</simpara></listitem></varlistentry>
 
2243
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> extension events for <parameter>widget</parameter>
 
2244
</simpara></listitem></varlistentry>
 
2245
</variablelist></refsect2>
 
2246
<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>
 
2249
<para>
 
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.
 
2254
</para>
 
2255
<para>
 
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> 
 
2258
would return
 
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.
 
2264
</para>
 
2265
<para>
 
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))
 
2272
   {
 
2273
     [ Perform action on toplevel. ]
 
2274
   }
 
2275
</programlisting></informalexample></para>
 
2276
<para>
 
2277
 
 
2278
</para><variablelist role="params">
 
2279
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2280
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2281
</simpara></listitem></varlistentry>
 
2282
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
2285
<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>
 
2289
<para>
 
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>.
 
2296
</para>
 
2297
<para>
 
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>
 
2300
<para>
 
2301
 
 
2302
</para><variablelist role="params">
 
2303
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2304
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2305
</simpara></listitem></varlistentry>
 
2306
<varlistentry><term><parameter>widget_type</parameter>&nbsp;:</term>
 
2307
<listitem><simpara> ancestor type
 
2308
</simpara></listitem></varlistentry>
 
2309
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
2312
<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>
 
2315
<para>
 
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>
 
2318
<para>
 
2319
 
 
2320
</para><variablelist role="params">
 
2321
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2322
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2323
</simpara></listitem></varlistentry>
 
2324
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the colormap used by <parameter>widget</parameter>
 
2325
</simpara></listitem></varlistentry>
 
2326
</variablelist></refsect2>
 
2327
<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>
 
2331
<para>
 
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>
 
2336
<para>
 
2337
 
 
2338
</para><variablelist role="params">
 
2339
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2340
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2341
</simpara></listitem></varlistentry>
 
2342
<varlistentry><term><parameter>colormap</parameter>&nbsp;:</term>
 
2343
<listitem><simpara> a colormap
 
2344
</simpara></listitem></varlistentry>
 
2345
</variablelist></refsect2>
 
2346
<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>
 
2349
<para>
 
2350
Gets the visual that will be used to render <parameter>widget</parameter>.</para>
 
2351
<para>
 
2352
 
 
2353
</para><variablelist role="params">
 
2354
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2355
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2356
</simpara></listitem></varlistentry>
 
2357
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the visual for <parameter>widget</parameter>
 
2358
</simpara></listitem></varlistentry>
 
2359
</variablelist></refsect2>
 
2360
<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>
 
2363
<para>
 
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>
 
2367
<para>
 
2368
 
 
2369
</para><variablelist role="params">
 
2370
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2371
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2372
</simpara></listitem></varlistentry>
 
2373
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> event mask for <parameter>widget</parameter>
 
2374
</simpara></listitem></varlistentry>
 
2375
</variablelist></refsect2>
 
2376
<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>
 
2381
<para>
 
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>
 
2387
<para>
 
2388
 
 
2389
</para><variablelist role="params">
 
2390
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2391
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2392
</simpara></listitem></varlistentry>
 
2393
<varlistentry><term><parameter>x</parameter>&nbsp;:</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>&nbsp;:</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>
 
2400
<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>
 
2404
<para>
 
2405
Determines whether <parameter>widget</parameter> is somewhere inside <parameter>ancestor</parameter>, possibly with
 
2406
intermediate containers.</para>
 
2407
<para>
 
2408
 
 
2409
</para><variablelist role="params">
 
2410
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2411
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2412
</simpara></listitem></varlistentry>
 
2413
<varlistentry><term><parameter>ancestor</parameter>&nbsp;:</term>
 
2414
<listitem><simpara> another <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2415
</simpara></listitem></varlistentry>
 
2416
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
2419
<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>
 
2427
<para>
 
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
 
2431
toplevel.</para>
 
2432
<para>
 
2433
 
 
2434
</para><variablelist role="params">
 
2435
<varlistentry><term><parameter>src_widget</parameter>&nbsp;:</term>
 
2436
<listitem><simpara>  a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2437
</simpara></listitem></varlistentry>
 
2438
<varlistentry><term><parameter>dest_widget</parameter>&nbsp;:</term>
 
2439
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2440
</simpara></listitem></varlistentry>
 
2441
<varlistentry><term><parameter>src_x</parameter>&nbsp;:</term>
 
2442
<listitem><simpara> X position relative to <parameter>src_widget</parameter>
 
2443
</simpara></listitem></varlistentry>
 
2444
<varlistentry><term><parameter>src_y</parameter>&nbsp;:</term>
 
2445
<listitem><simpara> Y position relative to <parameter>src_widget</parameter>
 
2446
</simpara></listitem></varlistentry>
 
2447
<varlistentry><term><parameter>dest_x</parameter>&nbsp;:</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>&nbsp;:</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>&nbsp;:</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>
 
2458
<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>
 
2461
<para>
 
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"
 
2468
is received.</para>
 
2469
<para>
 
2470
 
 
2471
</para><variablelist role="params">
 
2472
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2473
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2474
</simpara></listitem></varlistentry>
 
2475
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>
 
2476
</simpara></listitem></varlistentry>
 
2477
</variablelist></refsect2>
 
2478
<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>
 
2482
<para>
 
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>
 
2487
<para>
 
2488
 
 
2489
</para><variablelist role="params">
 
2490
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2491
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2492
</simpara></listitem></varlistentry>
 
2493
<varlistentry><term><parameter>style</parameter>&nbsp;:</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>
 
2498
<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))
 
2501
</programlisting>
 
2502
<warning><para><literal>gtk_widget_set_rc_style</literal> is deprecated and should not be used in newly-written code.</para></warning>
 
2503
<para>
 
2504
Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
 
2505
</para><variablelist role="params">
 
2506
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2507
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2508
 
 
2509
 
 
2510
</simpara></listitem></varlistentry>
 
2511
</variablelist></refsect2>
 
2512
<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>
 
2515
<para>
 
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
 
2519
already.</para>
 
2520
<para>
 
2521
 
 
2522
</para><variablelist role="params">
 
2523
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2524
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2525
</simpara></listitem></varlistentry>
 
2526
</variablelist></refsect2>
 
2527
<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>
 
2530
<para>
 
2531
Simply an accessor function that returns <parameter>widget->style</parameter>.</para>
 
2532
<para>
 
2533
 
 
2534
</para><variablelist role="params">
 
2535
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2536
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2537
</simpara></listitem></varlistentry>
 
2538
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the widget's <link linkend="GtkStyle"><type>GtkStyle</type></link>
 
2539
</simpara></listitem></varlistentry>
 
2540
</variablelist></refsect2>
 
2541
<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))
 
2544
</programlisting>
 
2545
<warning><para><literal>gtk_widget_restore_default_style</literal> is deprecated and should not be used in newly-written code.</para></warning>
 
2546
<para>
 
2547
Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
 
2548
</para><variablelist role="params">
 
2549
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2550
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2551
 
 
2552
 
 
2553
</simpara></listitem></varlistentry>
 
2554
</variablelist></refsect2>
 
2555
<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>
 
2558
<para>
 
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. 
 
2562
</para>
 
2563
<para>
 
2564
This function is not useful for applications.
 
2565
</para><variablelist role="params">
 
2566
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2567
<listitem><simpara>a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2568
 
 
2569
 
 
2570
</simpara></listitem></varlistentry>
 
2571
</variablelist></refsect2>
 
2572
<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>
 
2575
<para>
 
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>
 
2580
<para>
 
2581
 
 
2582
</para><variablelist role="params">
 
2583
<varlistentry><term><parameter>cmap</parameter>&nbsp;:</term>
 
2584
<listitem><simpara> a <link linkend="GdkColormap"><type>GdkColormap</type></link>
 
2585
</simpara></listitem></varlistentry>
 
2586
</variablelist></refsect2>
 
2587
<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>
 
2590
<para>
 
2591
Removes a colormap pushed with <link linkend="gtk-widget-push-colormap"><function>gtk_widget_push_colormap()</function></link>.</para>
 
2592
<para>
 
2593
 
 
2594
</para></refsect2>
 
2595
<refsect2>
 
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>
 
2598
<para>
 
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>
 
2602
<para>
 
2603
 
 
2604
</para><variablelist role="params">
 
2605
<varlistentry><term><parameter>colormap</parameter>&nbsp;:</term>
 
2606
<listitem><simpara> a <link linkend="GdkColormap"><type>GdkColormap</type></link>
 
2607
</simpara></listitem></varlistentry>
 
2608
</variablelist></refsect2>
 
2609
<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>
 
2612
<para>
 
2613
Returns the default style used by all widgets initially.</para>
 
2614
<para>
 
2615
 
 
2616
</para><variablelist role="params">
 
2617
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
2621
<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>
 
2624
<para>
 
2625
Obtains the default colormap used to create widgets.</para>
 
2626
<para>
 
2627
 
 
2628
</para><variablelist role="params">
 
2629
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> default widget colormap
 
2630
</simpara></listitem></varlistentry>
 
2631
</variablelist></refsect2>
 
2632
<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>
 
2635
<para>
 
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>
 
2638
<para>
 
2639
 
 
2640
</para><variablelist role="params">
 
2641
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> visual of the default colormap
 
2642
</simpara></listitem></varlistentry>
 
2643
</variablelist></refsect2>
 
2644
<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>
 
2648
<para>
 
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).
 
2658
</para>
 
2659
<para>
 
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>
 
2662
<para>
 
2663
 
 
2664
</para><variablelist role="params">
 
2665
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2666
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2667
</simpara></listitem></varlistentry>
 
2668
<varlistentry><term><parameter>dir</parameter>&nbsp;:</term>
 
2669
<listitem><simpara>    the new direction
 
2670
</simpara></listitem></varlistentry>
 
2671
</variablelist></refsect2>
 
2672
<refsect2>
 
2673
<title><anchor id="GtkTextDirection" role="enum"/>enum GtkTextDirection</title>
 
2674
<indexterm><primary>GtkTextDirection</primary></indexterm><programlisting>typedef enum
 
2675
{
 
2676
  GTK_TEXT_DIR_NONE,
 
2677
  GTK_TEXT_DIR_LTR,
 
2678
  GTK_TEXT_DIR_RTL
 
2679
} GtkTextDirection;
 
2680
</programlisting>
 
2681
<para>
 
2682
 
 
2683
</para></refsect2>
 
2684
<refsect2>
 
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>
 
2687
<para>
 
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>
 
2690
<para>
 
2691
 
 
2692
</para><variablelist role="params">
 
2693
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2694
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2695
</simpara></listitem></varlistentry>
 
2696
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the reading direction for the widget.
 
2697
</simpara></listitem></varlistentry>
 
2698
</variablelist></refsect2>
 
2699
<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>
 
2702
<para>
 
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>
 
2705
<para>
 
2706
 
 
2707
</para><variablelist role="params">
 
2708
<varlistentry><term><parameter>dir</parameter>&nbsp;:</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>
 
2713
<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>
 
2716
<para>
 
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>
 
2719
<para>
 
2720
 
 
2721
</para><variablelist role="params">
 
2722
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the current default direction. 
 
2723
</simpara></listitem></varlistentry>
 
2724
</variablelist></refsect2>
 
2725
<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>
 
2731
<para>
 
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>
 
2735
<para>
 
2736
 
 
2737
</para><variablelist role="params">
 
2738
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2739
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2740
</simpara></listitem></varlistentry>
 
2741
<varlistentry><term><parameter>shape_mask</parameter>&nbsp;:</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>&nbsp;:</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>&nbsp;:</term>
 
2748
<listitem><simpara> Y position of shape mask with respect to <parameter>window</parameter>.
 
2749
</simpara></listitem></varlistentry>
 
2750
</variablelist></refsect2>
 
2751
<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>
 
2757
<para>
 
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>
 
2761
<para>
 
2762
 
 
2763
</para><variablelist role="params">
 
2764
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2765
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2766
</simpara></listitem></varlistentry>
 
2767
<varlistentry><term><parameter>shape_mask</parameter>&nbsp;:</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>&nbsp;:</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>&nbsp;:</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
 
2777
</para></refsect2>
 
2778
<refsect2>
 
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>
 
2784
<para>
 
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>
 
2797
<para>
 
2798
 
 
2799
</para><variablelist role="params">
 
2800
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2801
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2802
</simpara></listitem></varlistentry>
 
2803
<varlistentry><term><parameter>path_length</parameter>&nbsp;:</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>&nbsp;:</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>&nbsp;:</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>
 
2813
<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>
 
2819
<para>
 
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>
 
2822
<para>
 
2823
 
 
2824
</para><variablelist role="params">
 
2825
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2826
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2827
</simpara></listitem></varlistentry>
 
2828
<varlistentry><term><parameter>path_length</parameter>&nbsp;:</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>&nbsp;:</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>&nbsp;:</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>
 
2838
<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>
 
2841
<para>
 
2842
Obtains the composite name of a widget.</para>
 
2843
<para>
 
2844
 
 
2845
</para><variablelist role="params">
 
2846
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2847
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2848
</simpara></listitem></varlistentry>
 
2849
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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 
 
2851
  longer needed.
 
2852
</simpara></listitem></varlistentry>
 
2853
</variablelist></refsect2>
 
2854
<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>
 
2858
<para>
 
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.
 
2866
</para>
 
2867
<para>
 
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>
 
2877
<para>
 
2878
 
 
2879
</para><variablelist role="params">
 
2880
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2881
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2882
</simpara></listitem></varlistentry>
 
2883
<varlistentry><term><parameter>style</parameter>&nbsp;:</term>
 
2884
<listitem><simpara> the <link linkend="GtkRcStyle"><type>GtkRcStyle</type></link> holding the style modifications
 
2885
</simpara></listitem></varlistentry>
 
2886
</variablelist></refsect2>
 
2887
<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>
 
2890
<para>
 
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.
 
2897
</para>
 
2898
<para>
 
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>
 
2904
<para>
 
2905
 
 
2906
</para><variablelist role="params">
 
2907
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2908
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
2909
</simpara></listitem></varlistentry>
 
2910
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
2915
<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>
 
2920
<para>
 
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>
 
2924
<para>
 
2925
 
 
2926
</para><variablelist role="params">
 
2927
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2928
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2929
</simpara></listitem></varlistentry>
 
2930
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
 
2931
<listitem><simpara> the state for which to set the foreground color.
 
2932
</simpara></listitem></varlistentry>
 
2933
<varlistentry><term><parameter>color</parameter>&nbsp;:</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>
 
2939
<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>
 
2944
<para>
 
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>. 
 
2948
</para>
 
2949
<para>
 
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>
 
2956
<para>
 
2957
 
 
2958
</para><variablelist role="params">
 
2959
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2960
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2961
</simpara></listitem></varlistentry>
 
2962
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
 
2963
<listitem><simpara> the state for which to set the background color.
 
2964
</simpara></listitem></varlistentry>
 
2965
<varlistentry><term><parameter>color</parameter>&nbsp;:</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>
 
2971
<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>
 
2976
<para>
 
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>
 
2982
<para>
 
2983
 
 
2984
</para><variablelist role="params">
 
2985
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
2986
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
2987
</simpara></listitem></varlistentry>
 
2988
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
 
2989
<listitem><simpara> the state for which to set the text color.
 
2990
</simpara></listitem></varlistentry>
 
2991
<varlistentry><term><parameter>color</parameter>&nbsp;:</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>
 
2997
<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>
 
3002
<para>
 
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>.
 
3008
</para>
 
3009
<para>
 
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>
 
3016
<para>
 
3017
 
 
3018
</para><variablelist role="params">
 
3019
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3020
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
3021
</simpara></listitem></varlistentry>
 
3022
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
 
3023
<listitem><simpara> the state for which to set the base color.
 
3024
</simpara></listitem></varlistentry>
 
3025
<varlistentry><term><parameter>color</parameter>&nbsp;:</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>
 
3031
<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>
 
3035
<para>
 
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>
 
3038
<para>
 
3039
 
 
3040
</para><variablelist role="params">
 
3041
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3042
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3043
</simpara></listitem></varlistentry>
 
3044
<varlistentry><term><parameter>font_desc</parameter>&nbsp;:</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>
 
3049
<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>
 
3052
<para>
 
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>
 
3056
<para>
 
3057
 
 
3058
</para><variablelist role="params">
 
3059
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3060
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3061
</simpara></listitem></varlistentry>
 
3062
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the new <link linkend="PangoContext"><type>PangoContext</type></link>
 
3063
</simpara></listitem></varlistentry>
 
3064
</variablelist></refsect2>
 
3065
<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>
 
3068
<para>
 
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.
 
3075
</para>
 
3076
<para>
 
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>
 
3081
<para>
 
3082
 
 
3083
</para><variablelist role="params">
 
3084
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3085
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3086
</simpara></listitem></varlistentry>
 
3087
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the <link linkend="PangoContext"><type>PangoContext</type></link> for the widget.
 
3088
</simpara></listitem></varlistentry>
 
3089
</variablelist></refsect2>
 
3090
<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>
 
3094
<para>
 
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
 
3097
this widget.
 
3098
</para>
 
3099
<para>
 
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>
 
3104
<para>
 
3105
 
 
3106
</para><variablelist role="params">
 
3107
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3108
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3109
</simpara></listitem></varlistentry>
 
3110
<varlistentry><term><parameter>text</parameter>&nbsp;:</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>&nbsp;:</term><listitem><simpara> the new <link linkend="PangoLayout"><type>PangoLayout</type></link>
 
3114
</simpara></listitem></varlistentry>
 
3115
</variablelist></refsect2>
 
3116
<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>
 
3122
<para>
 
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.
 
3130
</para>
 
3131
<para>
 
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>
 
3135
<para>
 
3136
 
 
3137
</para><variablelist role="params">
 
3138
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3139
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3140
</simpara></listitem></varlistentry>
 
3141
<varlistentry><term><parameter>stock_id</parameter>&nbsp;:</term>
 
3142
<listitem><simpara> a stock ID
 
3143
</simpara></listitem></varlistentry>
 
3144
<varlistentry><term><parameter>size</parameter>&nbsp;:</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>&nbsp;:</term>
 
3150
<listitem><simpara> render detail to pass to theme engine
 
3151
</simpara></listitem></varlistentry>
 
3152
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
3155
<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>
 
3158
<para>
 
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>
 
3160
<para>
 
3161
 
 
3162
</para></refsect2>
 
3163
<refsect2>
 
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>
 
3166
<para>
 
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.
 
3169
</para>
 
3170
<para>
 
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.
 
3176
</para>
 
3177
<para>
 
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>
 
3188
<para>
 
3189
 
 
3190
</para></refsect2>
 
3191
<refsect2>
 
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>
 
3195
<para>
 
3196
This function does the same as <link linkend="gtk-widget-queue-draw"><function>gtk_widget_queue_draw()</function></link>.
 
3197
</para>
 
3198
<para>
 
3199
<parameter>Deprecated</parameter>: Use <link linkend="gtk-widget-queue-draw"><function>gtk_widget_queue_draw()</function></link> instead.</para>
 
3200
<para>
 
3201
 
 
3202
</para><variablelist role="params">
 
3203
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3204
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3205
</simpara></listitem></varlistentry>
 
3206
</variablelist></refsect2>
 
3207
<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>
 
3215
<para>
 
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.
 
3223
</para>
 
3224
<para>
 
3225
<parameter>Deprecated</parameter>: Use <link linkend="gtk-widget-queue-draw-area"><function>gtk_widget_queue_draw_area()</function></link> instead.</para>
 
3226
<para>
 
3227
 
 
3228
</para><variablelist role="params">
 
3229
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3230
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3231
</simpara></listitem></varlistentry>
 
3232
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
 
3233
<listitem><simpara> x coordinate of upper-left corner of rectangle to redraw
 
3234
</simpara></listitem></varlistentry>
 
3235
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
 
3236
<listitem><simpara> y coordinate of upper-left corner of rectangle to redraw
 
3237
</simpara></listitem></varlistentry>
 
3238
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
 
3239
<listitem><simpara> width of region to draw
 
3240
</simpara></listitem></varlistentry>
 
3241
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
 
3242
<listitem><simpara> height of region to draw
 
3243
</simpara></listitem></varlistentry>
 
3244
</variablelist></refsect2>
 
3245
<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>
 
3252
<para>
 
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.
 
3259
</para>
 
3260
<para>
 
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.
 
3265
</para>
 
3266
<para>
 
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.
 
3271
</para>
 
3272
<para>
 
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>
 
3276
<para>
 
3277
 
 
3278
</para><variablelist role="params">
 
3279
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3280
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3281
</simpara></listitem></varlistentry>
 
3282
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
 
3283
<listitem><simpara> x coordinate of upper-left corner of rectangle to redraw
 
3284
</simpara></listitem></varlistentry>
 
3285
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
 
3286
<listitem><simpara> y coordinate of upper-left corner of rectangle to redraw
 
3287
</simpara></listitem></varlistentry>
 
3288
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
 
3289
<listitem><simpara> width of region to draw
 
3290
</simpara></listitem></varlistentry>
 
3291
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
 
3292
<listitem><simpara> height of region to draw
 
3293
</simpara></listitem></varlistentry>
 
3294
</variablelist></refsect2>
 
3295
<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>
 
3298
<para>
 
3299
Recursively resets the shape on this widget and its descendants.</para>
 
3300
<para>
 
3301
 
 
3302
</para><variablelist role="params">
 
3303
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3304
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
3305
</simpara></listitem></varlistentry>
 
3306
</variablelist></refsect2>
 
3307
<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>
 
3311
<para>
 
3312
Sets whether the application intends to draw on the widget in
 
3313
an ::expose-event handler. 
 
3314
</para>
 
3315
<para>
 
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.
 
3322
</para>
 
3323
<para>
 
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>
 
3332
<para>
 
3333
 
 
3334
</para><variablelist role="params">
 
3335
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3336
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3337
</simpara></listitem></varlistentry>
 
3338
<varlistentry><term><parameter>app_paintable</parameter>&nbsp;:</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>
 
3342
<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>
 
3346
<para>
 
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.
 
3356
</para>
 
3357
<para>
 
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.
 
3361
</para>
 
3362
<para>
 
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>
 
3367
<para>
 
3368
 
 
3369
</para><variablelist role="params">
 
3370
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3371
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3372
</simpara></listitem></varlistentry>
 
3373
<varlistentry><term><parameter>double_buffered</parameter>&nbsp;:</term>
 
3374
<listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to double-buffer a widget
 
3375
</simpara></listitem></varlistentry>
 
3376
</variablelist></refsect2>
 
3377
<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>
 
3381
<para>
 
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.
 
3387
</para>
 
3388
<para>
 
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>
 
3397
<para>
 
3398
 
 
3399
</para><variablelist role="params">
 
3400
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3401
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3402
</simpara></listitem></varlistentry>
 
3403
<varlistentry><term><parameter>redraw_on_allocate</parameter>&nbsp;:</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>
 
3409
<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>
 
3413
<para>
 
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>
 
3416
<para>
 
3417
 
 
3418
</para><variablelist role="params">
 
3419
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3420
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>.
 
3421
</simpara></listitem></varlistentry>
 
3422
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
3423
<listitem><simpara> the name to set.
 
3424
</simpara></listitem></varlistentry>
 
3425
</variablelist></refsect2>
 
3426
<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>
 
3431
<para>
 
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>
 
3437
<para>
 
3438
 
 
3439
</para><variablelist role="params">
 
3440
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3441
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3442
</simpara></listitem></varlistentry>
 
3443
<varlistentry><term><parameter>hadjustment</parameter>&nbsp;:</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>&nbsp;:</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>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget supports scrolling
 
3450
</simpara></listitem></varlistentry>
 
3451
</variablelist></refsect2>
 
3452
<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>
 
3456
<para>
 
3457
 
 
3458
</para><variablelist role="params">
 
3459
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3460
<listitem><simpara>
 
3461
</simpara></listitem></varlistentry>
 
3462
<varlistentry><term><parameter>group_cycling</parameter>&nbsp;:</term>
 
3463
<listitem><simpara>
 
3464
</simpara></listitem></varlistentry>
 
3465
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
 
3466
 
 
3467
 
 
3468
</simpara></listitem></varlistentry>
 
3469
</variablelist></refsect2>
 
3470
<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>
 
3475
<para>
 
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>
 
3478
<para>
 
3479
 
 
3480
</para><variablelist role="params">
 
3481
<varlistentry><term><parameter>klass</parameter>&nbsp;:</term>
 
3482
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
 
3483
</simpara></listitem></varlistentry>
 
3484
<varlistentry><term><parameter>pspec</parameter>&nbsp;:</term>
 
3485
<listitem><simpara> the <link linkend="GParamSpec"><type>GParamSpec</type></link> for the property
 
3486
</simpara></listitem></varlistentry>
 
3487
</variablelist></refsect2>
 
3488
<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>
 
3494
<para>
 
3495
Installs a style property on a widget class.</para>
 
3496
<para>
 
3497
 
 
3498
</para><variablelist role="params">
 
3499
<varlistentry><term><parameter>klass</parameter>&nbsp;:</term>
 
3500
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
 
3501
</simpara></listitem></varlistentry>
 
3502
<varlistentry><term><parameter>pspec</parameter>&nbsp;:</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>&nbsp;:</term>
 
3506
<listitem><simpara> the parser for the style property
 
3507
</simpara></listitem></varlistentry>
 
3508
</variablelist></refsect2>
 
3509
<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>
 
3514
<para>
 
3515
Finds a style property of a widget class by name.</para>
 
3516
<para>
 
3517
 
 
3518
</para><variablelist role="params">
 
3519
<varlistentry><term><parameter>klass</parameter>&nbsp;:</term>
 
3520
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
 
3521
</simpara></listitem></varlistentry>
 
3522
<varlistentry><term><parameter>property_name</parameter>&nbsp;:</term>
 
3523
<listitem><simpara> the name of the style property to find
 
3524
</simpara></listitem></varlistentry>
 
3525
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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
 
3529
</para></refsect2>
 
3530
<refsect2>
 
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>
 
3535
<para>
 
3536
Returns all style properties of a widget class.</para>
 
3537
<para>
 
3538
 
 
3539
</para><variablelist role="params">
 
3540
<varlistentry><term><parameter>klass</parameter>&nbsp;:</term>
 
3541
<listitem><simpara> a <link linkend="GtkWidgetClass"><type>GtkWidgetClass</type></link>
 
3542
</simpara></listitem></varlistentry>
 
3543
<varlistentry><term><parameter>n_properties</parameter>&nbsp;:</term>
 
3544
<listitem><simpara> location to return the number of style properties found
 
3545
</simpara></listitem></varlistentry>
 
3546
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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
 
3549
</para></refsect2>
 
3550
<refsect2>
 
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>
 
3554
<para>
 
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
 
3557
check.</para>
 
3558
<para>
 
3559
 
 
3560
</para><variablelist role="params">
 
3561
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3562
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3563
</simpara></listitem></varlistentry>
 
3564
<varlistentry><term><parameter>region</parameter>&nbsp;:</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>&nbsp;:</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>
 
3577
<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>
 
3581
<para>
 
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>.
 
3587
</para>
 
3588
<para>
 
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>
 
3593
<para>
 
3594
 
 
3595
</para><variablelist role="params">
 
3596
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3597
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3598
</simpara></listitem></varlistentry>
 
3599
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
3600
<listitem><simpara> a expose <link linkend="GdkEvent"><type>GdkEvent</type></link>
 
3601
</simpara></listitem></varlistentry>
 
3602
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
3605
<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>
 
3610
<para>
 
3611
Gets the values of a multiple style properties of <parameter>widget</parameter>.</para>
 
3612
<para>
 
3613
 
 
3614
</para><variablelist role="params">
 
3615
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3616
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3617
</simpara></listitem></varlistentry>
 
3618
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
 
3619
<listitem><simpara> the name of the first property to get
 
3620
</simpara></listitem></varlistentry>
 
3621
<varlistentry><term><parameter>...</parameter>&nbsp;:</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>
 
3627
<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>
 
3632
<para>
 
3633
Gets the value of a style property of <parameter>widget</parameter>.</para>
 
3634
<para>
 
3635
 
 
3636
</para><variablelist role="params">
 
3637
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3638
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3639
</simpara></listitem></varlistentry>
 
3640
<varlistentry><term><parameter>property_name</parameter>&nbsp;:</term>
 
3641
<listitem><simpara> the name of a style property
 
3642
</simpara></listitem></varlistentry>
 
3643
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
 
3644
<listitem><simpara> location to return the property value 
 
3645
</simpara></listitem></varlistentry>
 
3646
</variablelist></refsect2>
 
3647
<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>
 
3652
<para>
 
3653
Non-vararg variant of <link linkend="gtk-widget-style-get"><function>gtk_widget_style_get()</function></link>. Used primarily by language 
 
3654
bindings.</para>
 
3655
<para>
 
3656
 
 
3657
</para><variablelist role="params">
 
3658
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3659
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3660
</simpara></listitem></varlistentry>
 
3661
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
 
3662
<listitem><simpara> the name of the first property to get
 
3663
</simpara></listitem></varlistentry>
 
3664
<varlistentry><term><parameter>var_args</parameter>&nbsp;:</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>
 
3670
<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>
 
3673
<para>
 
3674
Returns the accessible object that describes the widget to an
 
3675
assistive technology. 
 
3676
</para>
 
3677
<para>
 
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.
 
3684
</para>
 
3685
<para>
 
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>
 
3688
<para>
 
3689
 
 
3690
</para><variablelist role="params">
 
3691
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3692
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3693
</simpara></listitem></varlistentry>
 
3694
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the <link linkend="AtkObject"><type>AtkObject</type></link> associated with <parameter>widget</parameter>
 
3695
</simpara></listitem></varlistentry>
 
3696
</variablelist></refsect2>
 
3697
<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>
 
3701
<para>
 
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
 
3706
functions instead.
 
3707
</para>
 
3708
<para>
 
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.
 
3715
</para>
 
3716
<para>
 
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.
 
3723
</para>
 
3724
<para>
 
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>
 
3731
<para>
 
3732
 
 
3733
</para><variablelist role="params">
 
3734
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3735
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3736
</simpara></listitem></varlistentry>
 
3737
<varlistentry><term><parameter>direction</parameter>&nbsp;:</term>
 
3738
<listitem><simpara> direction of focus movement
 
3739
</simpara></listitem></varlistentry>
 
3740
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
3743
<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>
 
3747
<para>
 
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>.
 
3751
</para>
 
3752
<para>
 
3753
This is the analogue of <link linkend="g-object-notify"><function>g_object_notify()</function></link> for child properties.</para>
 
3754
<para>
 
3755
 
 
3756
</para><variablelist role="params">
 
3757
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3758
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3759
</simpara></listitem></varlistentry>
 
3760
<varlistentry><term><parameter>child_property</parameter>&nbsp;:</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>
 
3765
<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>
 
3768
<para>
 
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>. 
 
3771
</para>
 
3772
<para>
 
3773
This is the analogue of <link linkend="g-object-freeze-notify"><function>g_object_freeze_notify()</function></link> for child properties.</para>
 
3774
<para>
 
3775
 
 
3776
</para><variablelist role="params">
 
3777
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3778
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3779
</simpara></listitem></varlistentry>
 
3780
</variablelist></refsect2>
 
3781
<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>
 
3784
<para>
 
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. 
 
3788
</para>
 
3789
<para>
 
3790
This function is only useful for container implementations and
 
3791
never should be called by an application.</para>
 
3792
<para>
 
3793
 
 
3794
</para><variablelist role="params">
 
3795
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3796
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3797
</simpara></listitem></varlistentry>
 
3798
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
3801
<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>
 
3804
<para>
 
3805
Returns the parent container of <parameter>widget</parameter>.</para>
 
3806
<para>
 
3807
 
 
3808
</para><variablelist role="params">
 
3809
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3810
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3811
</simpara></listitem></varlistentry>
 
3812
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
 
3815
<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>
 
3818
<para>
 
3819
Gets the settings object holding the settings (global property
 
3820
settings, RC file information, etc) used for this widget.
 
3821
</para>
 
3822
<para>
 
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>
 
3826
<para>
 
3827
 
 
3828
</para><variablelist role="params">
 
3829
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3830
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3831
</simpara></listitem></varlistentry>
 
3832
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the relevant <link linkend="GtkSettings"><type>GtkSettings</type></link> object
 
3833
</simpara></listitem></varlistentry>
 
3834
</variablelist></refsect2>
 
3835
<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>
 
3839
<para>
 
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
 
3843
window.</para>
 
3844
<para>
 
3845
 
 
3846
</para><variablelist role="params">
 
3847
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3848
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3849
</simpara></listitem></varlistentry>
 
3850
<varlistentry><term><parameter>selection</parameter>&nbsp;:</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>&nbsp;:</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.
 
3861
 
 
3862
</simpara></listitem></varlistentry>
 
3863
</variablelist><para role="since">Since  2.2
 
3864
</para></refsect2>
 
3865
<refsect2>
 
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>
 
3868
<para>
 
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.
 
3872
</para>
 
3873
<para>
 
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>
 
3877
<para>
 
3878
 
 
3879
</para><variablelist role="params">
 
3880
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3881
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3882
</simpara></listitem></varlistentry>
 
3883
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the <link linkend="GdkDisplay"><type>GdkDisplay</type></link> for the toplevel for this widget.
 
3884
 
 
3885
</simpara></listitem></varlistentry>
 
3886
</variablelist><para role="since">Since  2.2
 
3887
</para></refsect2>
 
3888
<refsect2>
 
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>
 
3891
<para>
 
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.
 
3895
</para>
 
3896
<para>
 
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>
 
3901
<para>
 
3902
 
 
3903
</para><variablelist role="params">
 
3904
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3905
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3906
</simpara></listitem></varlistentry>
 
3907
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the <link linkend="GdkWindow"><type>GdkWindow</type></link> root window for the toplevel for this widget.
 
3908
 
 
3909
</simpara></listitem></varlistentry>
 
3910
</variablelist><para role="since">Since  2.2
 
3911
</para></refsect2>
 
3912
<refsect2>
 
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>
 
3915
<para>
 
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>
 
3919
at the top.
 
3920
</para>
 
3921
<para>
 
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>
 
3925
<para>
 
3926
 
 
3927
</para><variablelist role="params">
 
3928
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3929
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3930
</simpara></listitem></varlistentry>
 
3931
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the <link linkend="GdkScreen"><type>GdkScreen</type></link> for the toplevel for this widget.
 
3932
 
 
3933
</simpara></listitem></varlistentry>
 
3934
</variablelist><para role="since">Since  2.2
 
3935
</para></refsect2>
 
3936
<refsect2>
 
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>
 
3939
<para>
 
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>
 
3944
<para>
 
3945
 
 
3946
</para><variablelist role="params">
 
3947
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3948
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3949
</simpara></listitem></varlistentry>
 
3950
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if there is a <link linkend="GdkScreen"><type>GdkScreen</type></link> associcated
 
3951
  with the widget.
 
3952
 
 
3953
</simpara></listitem></varlistentry>
 
3954
</variablelist><para role="since">Since  2.2
 
3955
</para></refsect2>
 
3956
<refsect2>
 
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>
 
3961
<para>
 
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>
 
3969
<para>
 
3970
 
 
3971
</para><variablelist role="params">
 
3972
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
3973
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
3974
</simpara></listitem></varlistentry>
 
3975
<varlistentry><term><parameter>width</parameter>&nbsp;:</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>&nbsp;:</term>
 
3979
<listitem><simpara> return location for height, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
 
3980
</simpara></listitem></varlistentry>
 
3981
</variablelist></refsect2>
 
3982
<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)
 
3985
</programlisting>
 
3986
<warning><para><literal>gtk_widget_pop_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
 
3987
<para>
 
3988
This function is deprecated; it does nothing.
 
3989
</para></refsect2>
 
3990
<refsect2>
 
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)
 
3993
</programlisting>
 
3994
<warning><para><literal>gtk_widget_push_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
 
3995
<para>
 
3996
This function is deprecated; it does nothing.
 
3997
</para><variablelist role="params">
 
3998
<varlistentry><term><parameter>visual</parameter>&nbsp;:</term>
 
3999
<listitem><simpara>
 
4000
 
 
4001
 
 
4002
</simpara></listitem></varlistentry>
 
4003
</variablelist></refsect2>
 
4004
<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>
 
4008
<para>
 
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>. 
 
4011
</para>
 
4012
<para>
 
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.
 
4018
</para>
 
4019
<para>
 
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.
 
4025
</para>
 
4026
<para>
 
4027
This function is only useful for container implementations and
 
4028
never should be called by an application.</para>
 
4029
<para>
 
4030
 
 
4031
</para><variablelist role="params">
 
4032
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4033
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4034
</simpara></listitem></varlistentry>
 
4035
<varlistentry><term><parameter>is_visible</parameter>&nbsp;:</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>
 
4039
<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)
 
4042
</programlisting>
 
4043
<warning><para><literal>gtk_widget_set_default_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
 
4044
<para>
 
4045
This function is deprecated; it does nothing.
 
4046
</para><variablelist role="params">
 
4047
<varlistentry><term><parameter>visual</parameter>&nbsp;:</term>
 
4048
<listitem><simpara>
 
4049
 
 
4050
 
 
4051
</simpara></listitem></varlistentry>
 
4052
</variablelist></refsect2>
 
4053
<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>
 
4058
<para>
 
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
 
4062
would be.
 
4063
</para>
 
4064
<para>
 
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.
 
4071
</para>
 
4072
<para>
 
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
 
4077
correct.
 
4078
</para>
 
4079
<para>
 
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.
 
4085
</para>
 
4086
<para>
 
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.
 
4089
</para>
 
4090
<para>
 
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>
 
4093
<para>
 
4094
 
 
4095
</para><variablelist role="params">
 
4096
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4097
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4098
</simpara></listitem></varlistentry>
 
4099
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
 
4100
<listitem><simpara> width <parameter>widget</parameter> should request, or -1 to unset
 
4101
</simpara></listitem></varlistentry>
 
4102
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
 
4103
<listitem><simpara> height <parameter>widget</parameter> should request, or -1 to unset
 
4104
</simpara></listitem></varlistentry>
 
4105
</variablelist></refsect2>
 
4106
<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)
 
4109
</programlisting>
 
4110
<warning><para><literal>gtk_widget_set_visual</literal> is deprecated and should not be used in newly-written code.</para></warning>
 
4111
<para>
 
4112
This function is deprecated; it does nothing.
 
4113
</para><variablelist role="params">
 
4114
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4115
<listitem><simpara>
 
4116
</simpara></listitem></varlistentry>
 
4117
<varlistentry><term><parameter>visual</parameter>&nbsp;:</term>
 
4118
<listitem><simpara>
 
4119
 
 
4120
 
 
4121
</simpara></listitem></varlistentry>
 
4122
</variablelist></refsect2>
 
4123
<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>
 
4126
<para>
 
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>
 
4129
<para>
 
4130
 
 
4131
</para><variablelist role="params">
 
4132
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4133
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4134
</simpara></listitem></varlistentry>
 
4135
</variablelist></refsect2>
 
4136
<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>
 
4140
<para>
 
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. 
 
4143
</para>
 
4144
<para>
 
4145
This is mostly for use in constructing widget hierarchies with externally
 
4146
controlled visibility, see <link linkend="GtkUIManager"><type>GtkUIManager</type></link>.</para>
 
4147
<para>
 
4148
 
 
4149
</para><variablelist role="params">
 
4150
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4151
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4152
</simpara></listitem></varlistentry>
 
4153
<varlistentry><term><parameter>no_show_all</parameter>&nbsp;:</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
 
4157
</para></refsect2>
 
4158
<refsect2>
 
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>
 
4161
<para>
 
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>
 
4165
<para>
 
4166
 
 
4167
</para><variablelist role="params">
 
4168
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4169
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4170
</simpara></listitem></varlistentry>
 
4171
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the current value of the "no_show_all" property.
 
4172
 
 
4173
</simpara></listitem></varlistentry>
 
4174
</variablelist><para role="since">Since  2.4
 
4175
</para></refsect2>
 
4176
<refsect2>
 
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>
 
4179
<para>
 
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>).
 
4183
</para>
 
4184
<para>
 
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>
 
4191
<para>
 
4192
 
 
4193
</para><variablelist role="params">
 
4194
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4195
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4196
</simpara></listitem></varlistentry>
 
4197
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
4199
 
 
4200
</simpara></listitem></varlistentry>
 
4201
</variablelist><para role="since">Since  2.4
 
4202
</para></refsect2>
 
4203
<refsect2>
 
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>
 
4207
<para>
 
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>
 
4214
<para>
 
4215
 
 
4216
</para><variablelist role="params">
 
4217
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4218
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4219
</simpara></listitem></varlistentry>
 
4220
<varlistentry><term><parameter>label</parameter>&nbsp;:</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
 
4224
</para></refsect2>
 
4225
<refsect2>
 
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>
 
4229
<para>
 
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>
 
4234
<para>
 
4235
 
 
4236
</para><variablelist role="params">
 
4237
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4238
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4239
</simpara></listitem></varlistentry>
 
4240
<varlistentry><term><parameter>label</parameter>&nbsp;:</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
 
4245
</para></refsect2>
 
4246
<refsect2>
 
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>
 
4249
<para>
 
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>
 
4252
<para>
 
4253
 
 
4254
</para><variablelist role="params">
 
4255
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4256
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4257
</simpara></listitem></varlistentry>
 
4258
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
4260
 
 
4261
</simpara></listitem></varlistentry>
 
4262
</variablelist><para role="since">Since  2.10
 
4263
</para></refsect2>
 
4264
<refsect2>
 
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>
 
4267
<para>
 
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>
 
4271
<para>
 
4272
 
 
4273
</para><variablelist role="params">
 
4274
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4275
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
 
4276
</simpara></listitem></varlistentry>
 
4277
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget can rely on its alpha
 
4278
channel being drawn correctly.
 
4279
 
 
4280
</simpara></listitem></varlistentry>
 
4281
</variablelist><para role="since">Since  2.10
 
4282
</para></refsect2>
 
4283
<refsect2>
 
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>
 
4286
<para>
 
4287
Copies a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.</para>
 
4288
<para>
 
4289
 
 
4290
</para><variablelist role="params">
 
4291
<varlistentry><term><parameter>requisition</parameter>&nbsp;:</term>
 
4292
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.
 
4293
</simpara></listitem></varlistentry>
 
4294
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a copy of <parameter>requisition</parameter>.
 
4295
</simpara></listitem></varlistentry>
 
4296
</variablelist></refsect2>
 
4297
<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>
 
4300
<para>
 
4301
Frees a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.</para>
 
4302
<para>
 
4303
 
 
4304
</para><variablelist role="params">
 
4305
<varlistentry><term><parameter>requisition</parameter>&nbsp;:</term>
 
4306
<listitem><simpara> a <link linkend="GtkRequisition"><type>GtkRequisition</type></link>.
 
4307
</simpara></listitem></varlistentry>
 
4308
</variablelist></refsect2>
 
4309
 
 
4310
</refsect1>
 
4311
<refsect1 role="property_details">
 
4312
<title role="property_details.title">Property Details</title>
 
4313
<refsect2><title><anchor id="GtkWidget--app-paintable"/>The &quot;<literal>app-paintable</literal>&quot; property</title>
 
4314
<indexterm><primary>GtkWidget:app-paintable</primary></indexterm><programlisting>  &quot;app-paintable&quot;            <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>
 
4316
</refsect2>
 
4317
<refsect2><title><anchor id="GtkWidget--can-default"/>The &quot;<literal>can-default</literal>&quot; property</title>
 
4318
<indexterm><primary>GtkWidget:can-default</primary></indexterm><programlisting>  &quot;can-default&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
 
4319
<para>Whether the widget can be the default widget.</para><para>Default value: FALSE</para>
 
4320
</refsect2>
 
4321
<refsect2><title><anchor id="GtkWidget--can-focus"/>The &quot;<literal>can-focus</literal>&quot; property</title>
 
4322
<indexterm><primary>GtkWidget:can-focus</primary></indexterm><programlisting>  &quot;can-focus&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
 
4323
<para>Whether the widget can accept the input focus.</para><para>Default value: FALSE</para>
 
4324
</refsect2>
 
4325
<refsect2><title><anchor id="GtkWidget--composite-child"/>The &quot;<literal>composite-child</literal>&quot; property</title>
 
4326
<indexterm><primary>GtkWidget:composite-child</primary></indexterm><programlisting>  &quot;composite-child&quot;          <link linkend="gboolean">gboolean</link>              : Read</programlisting>
 
4327
<para>Whether the widget is part of a composite widget.</para><para>Default value: FALSE</para>
 
4328
</refsect2>
 
4329
<refsect2><title><anchor id="GtkWidget--events"/>The &quot;<literal>events</literal>&quot; property</title>
 
4330
<indexterm><primary>GtkWidget:events</primary></indexterm><programlisting>  &quot;events&quot;                   <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>
 
4332
</refsect2>
 
4333
<refsect2><title><anchor id="GtkWidget--extension-events"/>The &quot;<literal>extension-events</literal>&quot; property</title>
 
4334
<indexterm><primary>GtkWidget:extension-events</primary></indexterm><programlisting>  &quot;extension-events&quot;         <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>
 
4336
</refsect2>
 
4337
<refsect2><title><anchor id="GtkWidget--has-default"/>The &quot;<literal>has-default</literal>&quot; property</title>
 
4338
<indexterm><primary>GtkWidget:has-default</primary></indexterm><programlisting>  &quot;has-default&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
 
4339
<para>Whether the widget is the default widget.</para><para>Default value: FALSE</para>
 
4340
</refsect2>
 
4341
<refsect2><title><anchor id="GtkWidget--has-focus"/>The &quot;<literal>has-focus</literal>&quot; property</title>
 
4342
<indexterm><primary>GtkWidget:has-focus</primary></indexterm><programlisting>  &quot;has-focus&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
 
4343
<para>Whether the widget has the input focus.</para><para>Default value: FALSE</para>
 
4344
</refsect2>
 
4345
<refsect2><title><anchor id="GtkWidget--height-request"/>The &quot;<literal>height-request</literal>&quot; property</title>
 
4346
<indexterm><primary>GtkWidget:height-request</primary></indexterm><programlisting>  &quot;height-request&quot;           <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: &gt;= -1</para>
 
4348
<para>Default value: -1</para>
 
4349
</refsect2>
 
4350
<refsect2><title><anchor id="GtkWidget--is-focus"/>The &quot;<literal>is-focus</literal>&quot; property</title>
 
4351
<indexterm><primary>GtkWidget:is-focus</primary></indexterm><programlisting>  &quot;is-focus&quot;                 <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>
 
4353
</refsect2>
 
4354
<refsect2><title><anchor id="GtkWidget--name"/>The &quot;<literal>name</literal>&quot; property</title>
 
4355
<indexterm><primary>GtkWidget:name</primary></indexterm><programlisting>  &quot;name&quot;                     <link linkend="gchararray">gchararray</link>            : Read / Write</programlisting>
 
4356
<para>The name of the widget.</para><para>Default value: NULL</para>
 
4357
</refsect2>
 
4358
<refsect2><title><anchor id="GtkWidget--no-show-all"/>The &quot;<literal>no-show-all</literal>&quot; property</title>
 
4359
<indexterm><primary>GtkWidget:no-show-all</primary></indexterm><programlisting>  &quot;no-show-all&quot;              <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>
 
4361
</refsect2>
 
4362
<refsect2><title><anchor id="GtkWidget--parent"/>The &quot;<literal>parent</literal>&quot; property</title>
 
4363
<indexterm><primary>GtkWidget:parent</primary></indexterm><programlisting>  &quot;parent&quot;                   <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 &quot;<literal>receives-default</literal>&quot; property</title>
 
4366
<indexterm><primary>GtkWidget:receives-default</primary></indexterm><programlisting>  &quot;receives-default&quot;         <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>
 
4368
</refsect2>
 
4369
<refsect2><title><anchor id="GtkWidget--sensitive"/>The &quot;<literal>sensitive</literal>&quot; property</title>
 
4370
<indexterm><primary>GtkWidget:sensitive</primary></indexterm><programlisting>  &quot;sensitive&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
 
4371
<para>Whether the widget responds to input.</para><para>Default value: TRUE</para>
 
4372
</refsect2>
 
4373
<refsect2><title><anchor id="GtkWidget--style"/>The &quot;<literal>style</literal>&quot; property</title>
 
4374
<indexterm><primary>GtkWidget:style</primary></indexterm><programlisting>  &quot;style&quot;                    <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 &quot;<literal>visible</literal>&quot; property</title>
 
4377
<indexterm><primary>GtkWidget:visible</primary></indexterm><programlisting>  &quot;visible&quot;                  <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
 
4378
<para>Whether the widget is visible.</para><para>Default value: FALSE</para>
 
4379
</refsect2>
 
4380
<refsect2><title><anchor id="GtkWidget--width-request"/>The &quot;<literal>width-request</literal>&quot; property</title>
 
4381
<indexterm><primary>GtkWidget:width-request</primary></indexterm><programlisting>  &quot;width-request&quot;            <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: &gt;= -1</para>
 
4383
<para>Default value: -1</para>
 
4384
</refsect2>
 
4385
 
 
4386
</refsect1>
 
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 &quot;<literal>cursor-aspect-ratio</literal>&quot; style property</title>
 
4390
<indexterm><primary>GtkWidget:cursor-aspect-ratio</primary></indexterm><programlisting>  &quot;cursor-aspect-ratio&quot;      <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>
 
4393
</refsect2>
 
4394
<refsect2><title><anchor id="GtkWidget--cursor-color"/>The &quot;<literal>cursor-color</literal>&quot; style property</title>
 
4395
<indexterm><primary>GtkWidget:cursor-color</primary></indexterm><programlisting>  &quot;cursor-color&quot;             <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 &quot;<literal>draw-border</literal>&quot; style property</title>
 
4398
<indexterm role="2.8"><primary>GtkWidget:draw-border</primary></indexterm><programlisting>  &quot;draw-border&quot;              <link linkend="GtkBorder">GtkBorder</link>             : Read</programlisting>
 
4399
<para>
 
4400
The "draw-border" property defines the size of areas outside 
 
4401
the widget's allocation to draw.</para>
 
4402
<para>
 
4403
 
 
4404
</para><para>Since  2.8
 
4405
</para>
 
4406
</refsect2>
 
4407
<refsect2><title><anchor id="GtkWidget--focus-line-pattern"/>The &quot;<literal>focus-line-pattern</literal>&quot; style property</title>
 
4408
<indexterm><primary>GtkWidget:focus-line-pattern</primary></indexterm><programlisting>  &quot;focus-line-pattern&quot;       <link linkend="gchararray">gchararray</link>            : Read</programlisting>
 
4409
<para>Dash pattern used to draw the focus indicator.</para><para>Default value: "\001\001"</para>
 
4410
</refsect2>
 
4411
<refsect2><title><anchor id="GtkWidget--focus-line-width"/>The &quot;<literal>focus-line-width</literal>&quot; style property</title>
 
4412
<indexterm><primary>GtkWidget:focus-line-width</primary></indexterm><programlisting>  &quot;focus-line-width&quot;         <link linkend="gint">gint</link>                  : Read</programlisting>
 
4413
<para>Width, in pixels, of the focus indicator line.</para><para>Allowed values: &gt;= 0</para>
 
4414
<para>Default value: 1</para>
 
4415
</refsect2>
 
4416
<refsect2><title><anchor id="GtkWidget--focus-padding"/>The &quot;<literal>focus-padding</literal>&quot; style property</title>
 
4417
<indexterm><primary>GtkWidget:focus-padding</primary></indexterm><programlisting>  &quot;focus-padding&quot;            <link linkend="gint">gint</link>                  : Read</programlisting>
 
4418
<para>Width, in pixels, between focus indicator and the widget 'box'.</para><para>Allowed values: &gt;= 0</para>
 
4419
<para>Default value: 1</para>
 
4420
</refsect2>
 
4421
<refsect2><title><anchor id="GtkWidget--interior-focus"/>The &quot;<literal>interior-focus</literal>&quot; style property</title>
 
4422
<indexterm><primary>GtkWidget:interior-focus</primary></indexterm><programlisting>  &quot;interior-focus&quot;           <link linkend="gboolean">gboolean</link>              : Read</programlisting>
 
4423
<para>Whether to draw the focus indicator inside widgets.</para><para>Default value: TRUE</para>
 
4424
</refsect2>
 
4425
<refsect2><title><anchor id="GtkWidget--link-color"/>The &quot;<literal>link-color</literal>&quot; style property</title>
 
4426
<indexterm role="2.10"><primary>GtkWidget:link-color</primary></indexterm><programlisting>  &quot;link-color&quot;               <link linkend="GdkColor">GdkColor</link>              : Read</programlisting>
 
4427
<para>
 
4428
The "link-color" property defines the color of unvisited links.</para>
 
4429
<para>
 
4430
 
 
4431
</para><para>Since  2.10
 
4432
</para>
 
4433
</refsect2>
 
4434
<refsect2><title><anchor id="GtkWidget--scroll-arrow-hlength"/>The &quot;<literal>scroll-arrow-hlength</literal>&quot; style property</title>
 
4435
<indexterm role="2.10"><primary>GtkWidget:scroll-arrow-hlength</primary></indexterm><programlisting>  &quot;scroll-arrow-hlength&quot;     <link linkend="gint">gint</link>                  : Read</programlisting>
 
4436
<para>
 
4437
The "scroll-arrow-hlength" property defines the length of 
 
4438
horizontal scroll arrows.</para>
 
4439
<para>
 
4440
 
 
4441
</para><para>Allowed values: &gt;= 1</para>
 
4442
<para>Default value: 16</para>
 
4443
<para>Since  2.10
 
4444
</para>
 
4445
</refsect2>
 
4446
<refsect2><title><anchor id="GtkWidget--scroll-arrow-vlength"/>The &quot;<literal>scroll-arrow-vlength</literal>&quot; style property</title>
 
4447
<indexterm role="2.10"><primary>GtkWidget:scroll-arrow-vlength</primary></indexterm><programlisting>  &quot;scroll-arrow-vlength&quot;     <link linkend="gint">gint</link>                  : Read</programlisting>
 
4448
<para>
 
4449
The "scroll-arrow-vlength" property defines the length of 
 
4450
vertical scroll arrows.</para>
 
4451
<para>
 
4452
 
 
4453
</para><para>Allowed values: &gt;= 1</para>
 
4454
<para>Default value: 16</para>
 
4455
<para>Since  2.10
 
4456
</para>
 
4457
</refsect2>
 
4458
<refsect2><title><anchor id="GtkWidget--secondary-cursor-color"/>The &quot;<literal>secondary-cursor-color</literal>&quot; style property</title>
 
4459
<indexterm><primary>GtkWidget:secondary-cursor-color</primary></indexterm><programlisting>  &quot;secondary-cursor-color&quot;   <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 &quot;<literal>separator-height</literal>&quot; style property</title>
 
4462
<indexterm role="2.10"><primary>GtkWidget:separator-height</primary></indexterm><programlisting>  &quot;separator-height&quot;         <link linkend="gint">gint</link>                  : Read</programlisting>
 
4463
<para>
 
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>
 
4466
<para>
 
4467
 
 
4468
</para><para>Allowed values: &gt;= 0</para>
 
4469
<para>Default value: 0</para>
 
4470
<para>Since  2.10
 
4471
</para>
 
4472
</refsect2>
 
4473
<refsect2><title><anchor id="GtkWidget--separator-width"/>The &quot;<literal>separator-width</literal>&quot; style property</title>
 
4474
<indexterm role="2.10"><primary>GtkWidget:separator-width</primary></indexterm><programlisting>  &quot;separator-width&quot;          <link linkend="gint">gint</link>                  : Read</programlisting>
 
4475
<para>
 
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>
 
4478
<para>
 
4479
 
 
4480
</para><para>Allowed values: &gt;= 0</para>
 
4481
<para>Default value: 0</para>
 
4482
<para>Since  2.10
 
4483
</para>
 
4484
</refsect2>
 
4485
<refsect2><title><anchor id="GtkWidget--visited-link-color"/>The &quot;<literal>visited-link-color</literal>&quot; style property</title>
 
4486
<indexterm role="2.10"><primary>GtkWidget:visited-link-color</primary></indexterm><programlisting>  &quot;visited-link-color&quot;       <link linkend="GdkColor">GdkColor</link>              : Read</programlisting>
 
4487
<para>
 
4488
The "visited-link-color" property defines the color of visited links.</para>
 
4489
<para>
 
4490
 
 
4491
</para><para>Since  2.10
 
4492
</para>
 
4493
</refsect2>
 
4494
<refsect2><title><anchor id="GtkWidget--wide-separators"/>The &quot;<literal>wide-separators</literal>&quot; style property</title>
 
4495
<indexterm role="2.10"><primary>GtkWidget:wide-separators</primary></indexterm><programlisting>  &quot;wide-separators&quot;          <link linkend="gboolean">gboolean</link>              : Read</programlisting>
 
4496
<para>
 
4497
The "wide-separators" property defines whether separators have 
 
4498
configurable width and should be drawn using a box instead of a line.</para>
 
4499
<para>
 
4500
 
 
4501
</para><para>Default value: FALSE</para>
 
4502
<para>Since  2.10
 
4503
</para>
 
4504
</refsect2>
 
4505
 
 
4506
</refsect1>
 
4507
 
 
4508
<refsect1 role="signals">
 
4509
<title role="signals.title">Signal Details</title>
 
4510
<refsect2><title><anchor id="GtkWidget-accel-closures-changed"/>The &quot;accel-closures-changed&quot; 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>
 
4513
<para>
 
4514
 
 
4515
</para><variablelist role="params">
 
4516
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4517
<listitem><simpara>the object which received the signal.
 
4518
 
 
4519
</simpara></listitem></varlistentry>
 
4520
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;button-press-event&quot; 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>
 
4526
<para>
 
4527
 
 
4528
</para><variablelist role="params">
 
4529
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4530
<listitem><simpara>the object which received the signal.
 
4531
</simpara></listitem></varlistentry>
 
4532
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
4533
<listitem><simpara>
 
4534
</simpara></listitem></varlistentry>
 
4535
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
4536
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
4537
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
4538
 
 
4539
</simpara></listitem></varlistentry>
 
4540
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-button-release-event"/>The &quot;button-release-event&quot; 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>
 
4544
<para>
 
4545
 
 
4546
</para><variablelist role="params">
 
4547
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4548
<listitem><simpara>the object which received the signal.
 
4549
</simpara></listitem></varlistentry>
 
4550
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
4551
<listitem><simpara>
 
4552
</simpara></listitem></varlistentry>
 
4553
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
4554
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
4555
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
4556
 
 
4557
</simpara></listitem></varlistentry>
 
4558
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-can-activate-accel"/>The &quot;can-activate-accel&quot; 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>
 
4562
<para>
 
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>
 
4568
<para>
 
4569
 
 
4570
</para><variablelist role="params">
 
4571
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4572
<listitem><simpara> the object which received the signal
 
4573
</simpara></listitem></varlistentry>
 
4574
<varlistentry><term><parameter>signal_id</parameter>&nbsp;:</term>
 
4575
<listitem><simpara> the ID of a signal installed on <parameter>widget</parameter>
 
4576
</simpara></listitem></varlistentry>
 
4577
<varlistentry><term><parameter>returns</parameter>&nbsp;:</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>&nbsp;:</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 &quot;child-notify&quot; 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>
 
4586
<para>
 
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>
 
4589
<para>
 
4590
 
 
4591
</para><variablelist role="params">
 
4592
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4593
<listitem><simpara> the object which received the signal.
 
4594
</simpara></listitem></varlistentry>
 
4595
<varlistentry><term><parameter>pspec</parameter>&nbsp;:</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>&nbsp;:</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 &quot;client-event&quot; 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>
 
4604
<para>
 
4605
 
 
4606
</para><variablelist role="params">
 
4607
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4608
<listitem><simpara>the object which received the signal.
 
4609
</simpara></listitem></varlistentry>
 
4610
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
4611
<listitem><simpara>
 
4612
</simpara></listitem></varlistentry>
 
4613
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
4614
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
4615
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
4616
 
 
4617
</simpara></listitem></varlistentry>
 
4618
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-composited-changed"/>The &quot;composited-changed&quot; 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>
 
4621
<para>
 
4622
 
 
4623
</para><variablelist role="params">
 
4624
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4625
<listitem><simpara>the object which received the signal.
 
4626
 
 
4627
</simpara></listitem></varlistentry>
 
4628
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;configure-event&quot; 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>
 
4634
<para>
 
4635
 
 
4636
</para><variablelist role="params">
 
4637
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4638
<listitem><simpara>the object which received the signal.
 
4639
</simpara></listitem></varlistentry>
 
4640
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
4641
<listitem><simpara>
 
4642
</simpara></listitem></varlistentry>
 
4643
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
4644
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
4645
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
4646
 
 
4647
</simpara></listitem></varlistentry>
 
4648
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-delete-event"/>The &quot;delete-event&quot; 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>
 
4652
<para>
 
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>
 
4658
<para>
 
4659
 
 
4660
</para><variablelist role="params">
 
4661
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4662
<listitem><simpara> the object which received the signal.
 
4663
</simpara></listitem></varlistentry>
 
4664
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
4665
<listitem><simpara> the event which triggered this signal
 
4666
</simpara></listitem></varlistentry>
 
4667
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
4668
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
4669
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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 &quot;destroy-event&quot; 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>
 
4676
<para>
 
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>
 
4681
<para>
 
4682
 
 
4683
</para><variablelist role="params">
 
4684
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4685
<listitem><simpara> the object which received the signal.
 
4686
</simpara></listitem></varlistentry>
 
4687
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
4688
<listitem><simpara> the event which triggered this signal
 
4689
</simpara></listitem></varlistentry>
 
4690
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
4691
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
4692
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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 &quot;direction-changed&quot; 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>
 
4699
<para>
 
4700
 
 
4701
</para><variablelist role="params">
 
4702
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4703
<listitem><simpara>the object which received the signal.
 
4704
</simpara></listitem></varlistentry>
 
4705
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
 
4706
<listitem><simpara>
 
4707
 
 
4708
</simpara></listitem></varlistentry>
 
4709
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-begin&quot; 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>
 
4715
<para>
 
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>
 
4719
<para>
 
4720
 
 
4721
</para><variablelist role="params">
 
4722
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4723
<listitem><simpara> the object which received the signal.
 
4724
</simpara></listitem></varlistentry>
 
4725
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
4726
<listitem><simpara> the drag context
 
4727
</simpara></listitem></varlistentry>
 
4728
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-data-delete&quot; 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>
 
4734
<para>
 
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>
 
4739
<para>
 
4740
 
 
4741
</para><variablelist role="params">
 
4742
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4743
<listitem><simpara> the object which received the signal.
 
4744
</simpara></listitem></varlistentry>
 
4745
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
4746
<listitem><simpara> the drag context
 
4747
</simpara></listitem></varlistentry>
 
4748
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-data-get&quot; 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>
 
4757
<para>
 
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>
 
4762
<para>
 
4763
 
 
4764
</para><variablelist role="params">
 
4765
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4766
<listitem><simpara> the object which received the signal.
 
4767
</simpara></listitem></varlistentry>
 
4768
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
4769
<listitem><simpara> the drag context
 
4770
</simpara></listitem></varlistentry>
 
4771
<varlistentry><term><parameter>data</parameter>&nbsp;:</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>&nbsp;:</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>&nbsp;:</term>
 
4778
<listitem><simpara> the timestamp at which the data was requested
 
4779
</simpara></listitem></varlistentry>
 
4780
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-data-received&quot; 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>
 
4791
<para>
 
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. 
 
4800
</para>
 
4801
<para>
 
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 
 
4804
example:
 
4805
<informalexample><programlisting>
 
4806
void  
 
4807
drag_data_received (GtkWidget          *widget,
 
4808
                    GdkDragContext     *drag_context,
 
4809
                    gint                x,
 
4810
                    gint                y,
 
4811
                    GtkSelectionData   *data,
 
4812
                    guint               info,
 
4813
                    guint               time)
 
4814
{
 
4815
  if ((data->length &gt;= 0) &amp;&amp; (data->format == 8))
 
4816
    {
 
4817
      if (drag_context->action == GDK_ACTION_ASK) 
 
4818
        {
 
4819
          GtkWidget *dialog;
 
4820
          gint response;
 
4821
          
 
4822
          dialog = gtk_message_dialog_new (NULL,
 
4823
                                           GTK_DIALOG_MODAL | 
 
4824
                                           GTK_DIALOG_DESTROY_WITH_PARENT,
 
4825
                                           GTK_MESSAGE_INFO,
 
4826
                                           GTK_BUTTONS_YES_NO,
 
4827
                                           "Move the data ?\n");
 
4828
          response = gtk_dialog_run (GTK_DIALOG (dialog));
 
4829
          gtk_widget_destroy (dialog);
 
4830
            
 
4831
          if (response == GTK_RESPONSE_YES)
 
4832
            drag_context->action = GDK_ACTION_MOVE;
 
4833
          else
 
4834
            drag_context->action = GDK_ACTION_COPY;
 
4835
         }
 
4836
         
 
4837
      gtk_drag_finish (drag_context, TRUE, FALSE, time);
 
4838
      return;
 
4839
    }
 
4840
      
 
4841
   gtk_drag_finish (drag_context, FALSE, FALSE, time);
 
4842
 }
 
4843
</programlisting></informalexample></para>
 
4844
<para>
 
4845
 
 
4846
</para><variablelist role="params">
 
4847
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4848
<listitem><simpara> the object which received the signal.
 
4849
</simpara></listitem></varlistentry>
 
4850
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
4851
<listitem><simpara> the drag context
 
4852
</simpara></listitem></varlistentry>
 
4853
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
 
4854
<listitem><simpara> where the drop happened
 
4855
</simpara></listitem></varlistentry>
 
4856
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
 
4857
<listitem><simpara> where the drop happened
 
4858
</simpara></listitem></varlistentry>
 
4859
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
 
4860
<listitem><simpara> the received data
 
4861
</simpara></listitem></varlistentry>
 
4862
<varlistentry><term><parameter>info</parameter>&nbsp;:</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>&nbsp;:</term>
 
4866
<listitem><simpara> the timestamp at which the data was received
 
4867
</simpara></listitem></varlistentry>
 
4868
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-drop&quot; 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>
 
4877
<para>
 
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>
 
4887
<para>
 
4888
 
 
4889
</para><variablelist role="params">
 
4890
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4891
<listitem><simpara> the object which received the signal.
 
4892
</simpara></listitem></varlistentry>
 
4893
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
4894
<listitem><simpara> the drag context
 
4895
</simpara></listitem></varlistentry>
 
4896
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
 
4897
<listitem><simpara> the x coordinate of the current cursor position
 
4898
</simpara></listitem></varlistentry>
 
4899
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
 
4900
<listitem><simpara> the y coordinate of the current cursor position
 
4901
</simpara></listitem></varlistentry>
 
4902
<varlistentry><term><parameter>time</parameter>&nbsp;:</term>
 
4903
<listitem><simpara> the timestamp of the motion event
 
4904
</simpara></listitem></varlistentry>
 
4905
<varlistentry><term><parameter>returns</parameter>&nbsp;:</term>
 
4906
<listitem><simpara> whether the cursor position is in a drop zone
 
4907
</simpara></listitem></varlistentry>
 
4908
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-end&quot; 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>
 
4914
<para>
 
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>
 
4917
<para>
 
4918
 
 
4919
</para><variablelist role="params">
 
4920
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4921
<listitem><simpara> the object which received the signal.
 
4922
</simpara></listitem></varlistentry>
 
4923
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
4924
<listitem><simpara> the drag context
 
4925
</simpara></listitem></varlistentry>
 
4926
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-leave&quot; 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>
 
4933
<para>
 
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>
 
4938
<para>
 
4939
 
 
4940
</para><variablelist role="params">
 
4941
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
4942
<listitem><simpara> the object which received the signal.
 
4943
</simpara></listitem></varlistentry>
 
4944
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
4945
<listitem><simpara> the drag context
 
4946
</simpara></listitem></varlistentry>
 
4947
<varlistentry><term><parameter>time</parameter>&nbsp;:</term>
 
4948
<listitem><simpara> the timestamp of the motion event
 
4949
</simpara></listitem></varlistentry>
 
4950
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;drag-motion&quot; 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>
 
4959
<para>
 
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. 
 
4971
</para>
 
4972
<para>
 
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>.
 
4978
</para>
 
4979
<para>
 
4980
<informalexample><programlisting> 
 
4981
static void
 
4982
drag_motion (GtkWidget *widget,
 
4983
          GdkDragContext *context,
 
4984
             gint x,
 
4985
             gint y,
 
4986
             guint time)
 
4987
{
 
4988
  GdkAtom target;
 
4989
 
 
4990
  PrivateData *private_data = GET_PRIVATE_DATA (widget);
 
4991
 
 
4992
  if (!private_data->drag_highlight) 
 
4993
   {
 
4994
     private_data->drag_highlight = 1;
 
4995
     gtk_drag_highlight (widget);
 
4996
   }
 
4997
 
 
4998
  target = gtk_drag_dest_find_target (widget, context, NULL);
 
4999
  if (target == GDK_NONE)
 
5000
    gdk_drag_status (context, 0, time);
 
5001
  else 
 
5002
   {
 
5003
     private_data->pending_status = context->suggested_action;
 
5004
     gtk_drag_get_data (widget, context, target, time);
 
5005
   }
 
5006
 
 
5007
  return TRUE;
 
5008
}
 
5009
  
 
5010
static void
 
5011
drag_data_received (GtkWidget        *widget,
 
5012
                    GdkDragContext   *context,
 
5013
                    gint              x,
 
5014
                    gint              y,
 
5015
                    GtkSelectionData *selection_data,
 
5016
                    guint             info,
 
5017
                    guint             time)
 
5018
{
 
5019
  PrivateData *private_data = GET_PRIVATE_DATA (widget);
 
5020
  
 
5021
  if (private_data->suggested_action) 
 
5022
   {
 
5023
     private_data->suggested_action = 0;
 
5024
     
 
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 
 
5028
     * the data.
 
5029
     *<!-- -->/
 
5030
     str = gtk_selection_data_get_text (selection_data);
 
5031
     if (!data_is_acceptable (str)) 
 
5032
       gdk_drag_status (context, 0, time);
 
5033
     else
 
5034
       gdk_drag_status (context, private_data->suggested_action, time);
 
5035
   }
 
5036
  else
 
5037
   {
 
5038
     /<!-- -->* accept the drop *<!-- -->/
 
5039
   }
 
5040
}
 
5041
</programlisting></informalexample></para>
 
5042
<para>
 
5043
 
 
5044
</para><variablelist role="params">
 
5045
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5046
<listitem><simpara> the object which received the signal.
 
5047
</simpara></listitem></varlistentry>
 
5048
<varlistentry><term><parameter>drag_context</parameter>&nbsp;:</term>
 
5049
<listitem><simpara> the drag context
 
5050
</simpara></listitem></varlistentry>
 
5051
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
 
5052
<listitem><simpara> the x coordinate of the current cursor position
 
5053
</simpara></listitem></varlistentry>
 
5054
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
 
5055
<listitem><simpara> the y coordinate of the current cursor position
 
5056
</simpara></listitem></varlistentry>
 
5057
<varlistentry><term><parameter>time</parameter>&nbsp;:</term>
 
5058
<listitem><simpara> the timestamp of the motion event
 
5059
</simpara></listitem></varlistentry>
 
5060
<varlistentry><term><parameter>returns</parameter>&nbsp;:</term>
 
5061
<listitem><simpara> whether the cursor position is in a drop zone
 
5062
</simpara></listitem></varlistentry>
 
5063
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;enter-notify-event&quot; 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>
 
5069
<para>
 
5070
 
 
5071
</para><variablelist role="params">
 
5072
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5073
<listitem><simpara>the object which received the signal.
 
5074
</simpara></listitem></varlistentry>
 
5075
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5076
<listitem><simpara>
 
5077
</simpara></listitem></varlistentry>
 
5078
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5079
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5080
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5081
 
 
5082
</simpara></listitem></varlistentry>
 
5083
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-event"/>The &quot;event&quot; 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>
 
5087
<para>
 
5088
 
 
5089
</para><variablelist role="params">
 
5090
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5091
<listitem><simpara>the object which received the signal.
 
5092
</simpara></listitem></varlistentry>
 
5093
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5094
<listitem><simpara>
 
5095
</simpara></listitem></varlistentry>
 
5096
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5097
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5098
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5099
 
 
5100
</simpara></listitem></varlistentry>
 
5101
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-event-after"/>The &quot;event-after&quot; 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>
 
5105
<para>
 
5106
 
 
5107
</para><variablelist role="params">
 
5108
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5109
<listitem><simpara>the object which received the signal.
 
5110
</simpara></listitem></varlistentry>
 
5111
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5112
<listitem><simpara>
 
5113
 
 
5114
</simpara></listitem></varlistentry>
 
5115
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;expose-event&quot; 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>
 
5121
<para>
 
5122
 
 
5123
</para><variablelist role="params">
 
5124
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5125
<listitem><simpara>the object which received the signal.
 
5126
</simpara></listitem></varlistentry>
 
5127
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5128
<listitem><simpara>
 
5129
</simpara></listitem></varlistentry>
 
5130
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5131
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5132
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5133
 
 
5134
</simpara></listitem></varlistentry>
 
5135
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-focus"/>The &quot;focus&quot; 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>
 
5139
<para>
 
5140
 
 
5141
</para><variablelist role="params">
 
5142
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5143
<listitem><simpara>the object which received the signal.
 
5144
</simpara></listitem></varlistentry>
 
5145
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
 
5146
<listitem><simpara>
 
5147
</simpara></listitem></varlistentry>
 
5148
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5149
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5150
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5151
 
 
5152
</simpara></listitem></varlistentry>
 
5153
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-focus-in-event"/>The &quot;focus-in-event&quot; 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>
 
5157
<para>
 
5158
 
 
5159
</para><variablelist role="params">
 
5160
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5161
<listitem><simpara>the object which received the signal.
 
5162
</simpara></listitem></varlistentry>
 
5163
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5164
<listitem><simpara>
 
5165
</simpara></listitem></varlistentry>
 
5166
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5167
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5168
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5169
 
 
5170
</simpara></listitem></varlistentry>
 
5171
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-focus-out-event"/>The &quot;focus-out-event&quot; 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>
 
5175
<para>
 
5176
 
 
5177
</para><variablelist role="params">
 
5178
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5179
<listitem><simpara>the object which received the signal.
 
5180
</simpara></listitem></varlistentry>
 
5181
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5182
<listitem><simpara>
 
5183
</simpara></listitem></varlistentry>
 
5184
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5185
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5186
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5187
 
 
5188
</simpara></listitem></varlistentry>
 
5189
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-grab-broken-event"/>The &quot;grab-broken-event&quot; 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>
 
5193
<para>
 
5194
Emitted when a pointer or keyboard grab on a window belonging 
 
5195
to <parameter>widget</parameter> gets broken. 
 
5196
</para>
 
5197
<para>
 
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>
 
5201
<para>
 
5202
 
 
5203
</para><variablelist role="params">
 
5204
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5205
<listitem><simpara> the object which received the signal
 
5206
</simpara></listitem></varlistentry>
 
5207
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5208
<listitem><simpara> the <link linkend="GdkEventGrabBroken"><type>GdkEventGrabBroken</type></link> event
 
5209
</simpara></listitem></varlistentry>
 
5210
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5211
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5212
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5214
 
 
5215
</simpara></listitem></varlistentry>
 
5216
</variablelist><para>Since  2.8
 
5217
</para></refsect2><refsect2><title><anchor id="GtkWidget-grab-focus"/>The &quot;grab-focus&quot; 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>
 
5220
<para>
 
5221
 
 
5222
</para><variablelist role="params">
 
5223
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5224
<listitem><simpara>the object which received the signal.
 
5225
 
 
5226
</simpara></listitem></varlistentry>
 
5227
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;grab-notify&quot; 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>
 
5233
<para>
 
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 
 
5237
being removed.
 
5238
</para>
 
5239
<para>
 
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>
 
5243
<para>
 
5244
 
 
5245
</para><variablelist role="params">
 
5246
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5247
<listitem><simpara> the object which received the signal
 
5248
</simpara></listitem></varlistentry>
 
5249
<varlistentry><term><parameter>was_grabbed</parameter>&nbsp;:</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>&nbsp;:</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 &quot;hide&quot; 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>
 
5258
<para>
 
5259
 
 
5260
</para><variablelist role="params">
 
5261
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5262
<listitem><simpara>the object which received the signal.
 
5263
 
 
5264
</simpara></listitem></varlistentry>
 
5265
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;hierarchy-changed&quot; 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>
 
5271
<para>
 
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>&nbsp;:</term>
 
5279
<listitem><simpara>the object which received the signal.
 
5280
</simpara></listitem></varlistentry>
 
5281
<varlistentry><term><parameter>widget2</parameter>&nbsp;:</term>
 
5282
<listitem><simpara>
 
5283
 
 
5284
</simpara></listitem></varlistentry>
 
5285
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;key-press-event&quot; 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>
 
5291
<para>
 
5292
 
 
5293
</para><variablelist role="params">
 
5294
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5295
<listitem><simpara>the object which received the signal.
 
5296
</simpara></listitem></varlistentry>
 
5297
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5298
<listitem><simpara>
 
5299
</simpara></listitem></varlistentry>
 
5300
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5301
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5302
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5303
 
 
5304
</simpara></listitem></varlistentry>
 
5305
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-key-release-event"/>The &quot;key-release-event&quot; 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>
 
5309
<para>
 
5310
 
 
5311
</para><variablelist role="params">
 
5312
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5313
<listitem><simpara>the object which received the signal.
 
5314
</simpara></listitem></varlistentry>
 
5315
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5316
<listitem><simpara>
 
5317
</simpara></listitem></varlistentry>
 
5318
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5319
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5320
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5321
 
 
5322
</simpara></listitem></varlistentry>
 
5323
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-leave-notify-event"/>The &quot;leave-notify-event&quot; 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>
 
5327
<para>
 
5328
 
 
5329
</para><variablelist role="params">
 
5330
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5331
<listitem><simpara>the object which received the signal.
 
5332
</simpara></listitem></varlistentry>
 
5333
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5334
<listitem><simpara>
 
5335
</simpara></listitem></varlistentry>
 
5336
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5337
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5338
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5339
 
 
5340
</simpara></listitem></varlistentry>
 
5341
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-map"/>The &quot;map&quot; 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>
 
5344
<para>
 
5345
 
 
5346
</para><variablelist role="params">
 
5347
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5348
<listitem><simpara>the object which received the signal.
 
5349
 
 
5350
</simpara></listitem></varlistentry>
 
5351
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;map-event&quot; 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>
 
5357
<para>
 
5358
 
 
5359
</para><variablelist role="params">
 
5360
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5361
<listitem><simpara>the object which received the signal.
 
5362
</simpara></listitem></varlistentry>
 
5363
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5364
<listitem><simpara>
 
5365
</simpara></listitem></varlistentry>
 
5366
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5367
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5368
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5369
 
 
5370
</simpara></listitem></varlistentry>
 
5371
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-mnemonic-activate"/>The &quot;mnemonic-activate&quot; 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>
 
5375
<para>
 
5376
 
 
5377
</para><variablelist role="params">
 
5378
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5379
<listitem><simpara>the object which received the signal.
 
5380
</simpara></listitem></varlistentry>
 
5381
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
 
5382
<listitem><simpara>
 
5383
</simpara></listitem></varlistentry>
 
5384
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5385
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5386
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
 
5387
 
 
5388
</simpara></listitem></varlistentry>
 
5389
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-motion-notify-event"/>The &quot;motion-notify-event&quot; 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>
 
5393
<para>
 
5394
 
 
5395
</para><variablelist role="params">
 
5396
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5397
<listitem><simpara>the object which received the signal.
 
5398
</simpara></listitem></varlistentry>
 
5399
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5400
<listitem><simpara>
 
5401
</simpara></listitem></varlistentry>
 
5402
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5403
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5404
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5405
 
 
5406
</simpara></listitem></varlistentry>
 
5407
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-no-expose-event"/>The &quot;no-expose-event&quot; 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>
 
5411
<para>
 
5412
 
 
5413
</para><variablelist role="params">
 
5414
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5415
<listitem><simpara>the object which received the signal.
 
5416
</simpara></listitem></varlistentry>
 
5417
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5418
<listitem><simpara>
 
5419
</simpara></listitem></varlistentry>
 
5420
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5421
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5422
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5423
 
 
5424
</simpara></listitem></varlistentry>
 
5425
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-parent-set"/>The &quot;parent-set&quot; 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>
 
5429
<para>
 
5430
The parent-set signal is emitted when a new parent has been set 
 
5431
on a widget.</para>
 
5432
<para>
 
5433
 
 
5434
</para><variablelist role="params">
 
5435
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5436
<listitem><simpara> the object on which the signal is emitted
 
5437
</simpara></listitem></varlistentry>
 
5438
<varlistentry><term><parameter>old_parent</parameter>&nbsp;:</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>&nbsp;:</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 &quot;popup-menu&quot; 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>
 
5447
<para>
 
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>
 
5454
<para>
 
5455
 
 
5456
</para><variablelist role="params">
 
5457
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5458
<listitem><simpara> the object which received the signal
 
5459
</simpara></listitem></varlistentry>
 
5460
<varlistentry><term><parameter>returns</parameter>&nbsp;:</term>
 
5461
<listitem><simpara> TRUE if a menu was activated
 
5462
</simpara></listitem></varlistentry>
 
5463
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;property-notify-event&quot; 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>
 
5469
<para>
 
5470
 
 
5471
</para><variablelist role="params">
 
5472
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5473
<listitem><simpara>the object which received the signal.
 
5474
</simpara></listitem></varlistentry>
 
5475
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5476
<listitem><simpara>
 
5477
</simpara></listitem></varlistentry>
 
5478
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5479
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5480
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5481
 
 
5482
</simpara></listitem></varlistentry>
 
5483
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-proximity-in-event"/>The &quot;proximity-in-event&quot; 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>
 
5487
<para>
 
5488
 
 
5489
</para><variablelist role="params">
 
5490
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5491
<listitem><simpara>the object which received the signal.
 
5492
</simpara></listitem></varlistentry>
 
5493
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5494
<listitem><simpara>
 
5495
</simpara></listitem></varlistentry>
 
5496
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5497
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5498
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5499
 
 
5500
</simpara></listitem></varlistentry>
 
5501
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-proximity-out-event"/>The &quot;proximity-out-event&quot; 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>
 
5505
<para>
 
5506
 
 
5507
</para><variablelist role="params">
 
5508
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5509
<listitem><simpara>the object which received the signal.
 
5510
</simpara></listitem></varlistentry>
 
5511
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5512
<listitem><simpara>
 
5513
</simpara></listitem></varlistentry>
 
5514
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5515
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5516
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5517
 
 
5518
</simpara></listitem></varlistentry>
 
5519
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-realize"/>The &quot;realize&quot; 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>
 
5522
<para>
 
5523
 
 
5524
</para><variablelist role="params">
 
5525
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5526
<listitem><simpara>the object which received the signal.
 
5527
 
 
5528
</simpara></listitem></varlistentry>
 
5529
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;screen-changed&quot; 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>
 
5535
<para>
 
5536
 
 
5537
</para><variablelist role="params">
 
5538
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5539
<listitem><simpara>the object which received the signal.
 
5540
</simpara></listitem></varlistentry>
 
5541
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
 
5542
<listitem><simpara>
 
5543
 
 
5544
</simpara></listitem></varlistentry>
 
5545
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;scroll-event&quot; 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>
 
5551
<para>
 
5552
 
 
5553
</para><variablelist role="params">
 
5554
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5555
<listitem><simpara>the object which received the signal.
 
5556
</simpara></listitem></varlistentry>
 
5557
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5558
<listitem><simpara>
 
5559
</simpara></listitem></varlistentry>
 
5560
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5561
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5562
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5563
 
 
5564
</simpara></listitem></varlistentry>
 
5565
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-clear-event"/>The &quot;selection-clear-event&quot; 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>
 
5569
<para>
 
5570
 
 
5571
</para><variablelist role="params">
 
5572
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5573
<listitem><simpara>the object which received the signal.
 
5574
</simpara></listitem></varlistentry>
 
5575
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5576
<listitem><simpara>
 
5577
</simpara></listitem></varlistentry>
 
5578
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5579
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5580
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5581
 
 
5582
</simpara></listitem></varlistentry>
 
5583
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-get"/>The &quot;selection-get&quot; 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>
 
5589
<para>
 
5590
 
 
5591
</para><variablelist role="params">
 
5592
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5593
<listitem><simpara>the object which received the signal.
 
5594
</simpara></listitem></varlistentry>
 
5595
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
 
5596
<listitem><simpara>
 
5597
</simpara></listitem></varlistentry>
 
5598
<varlistentry><term><parameter>info</parameter>&nbsp;:</term>
 
5599
<listitem><simpara>
 
5600
</simpara></listitem></varlistentry>
 
5601
<varlistentry><term><parameter>time</parameter>&nbsp;:</term>
 
5602
<listitem><simpara>
 
5603
 
 
5604
</simpara></listitem></varlistentry>
 
5605
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;selection-notify-event&quot; 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>
 
5611
<para>
 
5612
 
 
5613
</para><variablelist role="params">
 
5614
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5615
<listitem><simpara>the object which received the signal.
 
5616
</simpara></listitem></varlistentry>
 
5617
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5618
<listitem><simpara>
 
5619
</simpara></listitem></varlistentry>
 
5620
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5621
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5622
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5623
 
 
5624
</simpara></listitem></varlistentry>
 
5625
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-selection-received"/>The &quot;selection-received&quot; 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>
 
5630
<para>
 
5631
 
 
5632
</para><variablelist role="params">
 
5633
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5634
<listitem><simpara>the object which received the signal.
 
5635
</simpara></listitem></varlistentry>
 
5636
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
 
5637
<listitem><simpara>
 
5638
</simpara></listitem></varlistentry>
 
5639
<varlistentry><term><parameter>time</parameter>&nbsp;:</term>
 
5640
<listitem><simpara>
 
5641
 
 
5642
</simpara></listitem></varlistentry>
 
5643
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;selection-request-event&quot; 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>
 
5649
<para>
 
5650
 
 
5651
</para><variablelist role="params">
 
5652
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5653
<listitem><simpara>the object which received the signal.
 
5654
</simpara></listitem></varlistentry>
 
5655
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5656
<listitem><simpara>
 
5657
</simpara></listitem></varlistentry>
 
5658
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5659
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5660
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5661
 
 
5662
</simpara></listitem></varlistentry>
 
5663
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-show"/>The &quot;show&quot; 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>
 
5666
<para>
 
5667
 
 
5668
</para><variablelist role="params">
 
5669
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5670
<listitem><simpara>the object which received the signal.
 
5671
 
 
5672
</simpara></listitem></varlistentry>
 
5673
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;show-help&quot; 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>
 
5679
<para>
 
5680
 
 
5681
</para><variablelist role="params">
 
5682
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5683
<listitem><simpara>the object which received the signal.
 
5684
</simpara></listitem></varlistentry>
 
5685
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
 
5686
<listitem><simpara>
 
5687
</simpara></listitem></varlistentry>
 
5688
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5689
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5690
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
 
5691
 
 
5692
</simpara></listitem></varlistentry>
 
5693
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-size-allocate"/>The &quot;size-allocate&quot; 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>
 
5697
<para>
 
5698
 
 
5699
</para><variablelist role="params">
 
5700
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5701
<listitem><simpara>the object which received the signal.
 
5702
</simpara></listitem></varlistentry>
 
5703
<varlistentry><term><parameter>allocation</parameter>&nbsp;:</term>
 
5704
<listitem><simpara>
 
5705
 
 
5706
</simpara></listitem></varlistentry>
 
5707
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;size-request&quot; 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>
 
5713
<para>
 
5714
 
 
5715
</para><variablelist role="params">
 
5716
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5717
<listitem><simpara>the object which received the signal.
 
5718
</simpara></listitem></varlistentry>
 
5719
<varlistentry><term><parameter>requisition</parameter>&nbsp;:</term>
 
5720
<listitem><simpara>
 
5721
 
 
5722
</simpara></listitem></varlistentry>
 
5723
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;state-changed&quot; 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>
 
5729
<para>
 
5730
 
 
5731
</para><variablelist role="params">
 
5732
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5733
<listitem><simpara>the object which received the signal.
 
5734
</simpara></listitem></varlistentry>
 
5735
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
 
5736
<listitem><simpara>
 
5737
 
 
5738
</simpara></listitem></varlistentry>
 
5739
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;style-set&quot; 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>
 
5745
<para>
 
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>
 
5749
<para>
 
5750
 
 
5751
</para><variablelist role="params">
 
5752
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5753
<listitem><simpara> the object on which the signal is emitted
 
5754
</simpara></listitem></varlistentry>
 
5755
<varlistentry><term><parameter>previous_style</parameter>&nbsp;:</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>&nbsp;:</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 &quot;unmap&quot; 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>
 
5764
<para>
 
5765
 
 
5766
</para><variablelist role="params">
 
5767
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5768
<listitem><simpara>the object which received the signal.
 
5769
 
 
5770
</simpara></listitem></varlistentry>
 
5771
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;unmap-event&quot; 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>
 
5777
<para>
 
5778
 
 
5779
</para><variablelist role="params">
 
5780
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5781
<listitem><simpara>the object which received the signal.
 
5782
</simpara></listitem></varlistentry>
 
5783
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5784
<listitem><simpara>
 
5785
</simpara></listitem></varlistentry>
 
5786
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5787
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5788
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5789
 
 
5790
</simpara></listitem></varlistentry>
 
5791
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-unrealize"/>The &quot;unrealize&quot; 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>
 
5794
<para>
 
5795
 
 
5796
</para><variablelist role="params">
 
5797
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5798
<listitem><simpara>the object which received the signal.
 
5799
 
 
5800
</simpara></listitem></varlistentry>
 
5801
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</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 &quot;visibility-notify-event&quot; 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>
 
5807
<para>
 
5808
 
 
5809
</para><variablelist role="params">
 
5810
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5811
<listitem><simpara>the object which received the signal.
 
5812
</simpara></listitem></varlistentry>
 
5813
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5814
<listitem><simpara>
 
5815
</simpara></listitem></varlistentry>
 
5816
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5817
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5818
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5819
 
 
5820
</simpara></listitem></varlistentry>
 
5821
</variablelist></refsect2><refsect2><title><anchor id="GtkWidget-window-state-event"/>The &quot;window-state-event&quot; 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>
 
5825
<para>
 
5826
 
 
5827
</para><variablelist role="params">
 
5828
<varlistentry><term><parameter>widget</parameter>&nbsp;:</term>
 
5829
<listitem><simpara>the object which received the signal.
 
5830
</simpara></listitem></varlistentry>
 
5831
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
 
5832
<listitem><simpara>
 
5833
</simpara></listitem></varlistentry>
 
5834
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
 
5835
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
 
5836
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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.
 
5837
 
 
5838
</simpara></listitem></varlistentry>
 
5839
</variablelist></refsect2>
 
5840
</refsect1>
 
5841
 
 
5842
 
 
5843
 
 
5844
</refentry>