1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Base class for all widgets
7 <!-- ##### SECTION Long_Description ##### -->
8 <para id="style-properties">
9 <structname>GtkWidget</structname> introduces <firstterm>style
10 properties</firstterm> - these are basically object properties that are stored
11 not on the object, but in the style object associated to the widget. Style
12 properties are set in <link linkend="gtk-Resource-Files">resource files</link>.
13 This mechanism is used for configuring such things as the location of the
14 scrollbar arrows through the theme, giving theme authors more control over the
15 look of applications without the need to write a theme engine in C.
18 Use gtk_widget_class_install_style_property() to install style properties for
19 a widget class, gtk_widget_class_find_style_property() or
20 gtk_widget_class_list_style_properties() to get information about existing
21 style properties and gtk_widget_style_get_property(), gtk_widget_style_get() or
22 gtk_widget_style_get_valist() to obtain the value of a style property.
25 <refsect2 id="GtkWidget-BUILDER-UI">
26 <title>GtkWidget as GtkBuildable</title>
28 The GtkWidget implementation of the GtkBuildable interface supports a
29 custom <accelerator> element, which has attributes named key,
30 modifiers and signal and allows to specify accelerators.
33 <title>A UI definition fragment specifying an accelerator</title>
34 <programlisting><![CDATA[
35 <object class="GtkButton">
36 <accelerator key="q" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
40 In addition to accelerators, <structname>GtkWidget</structname> also support a
41 custom <accessible> element, which supports actions and relations.
42 Properties on the accessible implementation of an object can be set by accessing the
43 internal child "accessible" of a <structname>GtkWidget</structname>.
45 <title>A UI definition fragment specifying an accessible</title>
46 <programlisting><![CDATA[
47 <object class="GtkButton" id="label1"/>
48 <property name="label">I am a Label for a Button</property>
50 <object class="GtkButton" id="button1">
52 <action action_name="click" description="Click the button."/>
53 <relation target="label1" type="labelled-by"/>
55 <child internal-child="accessible">
56 <object class="AtkObject" id="a11y-button1">
57 <property name="AtkObject::name">Clickable Button</property>
67 <!-- ##### SECTION See_Also ##### -->
72 <!-- ##### SECTION Stability_Level ##### -->
75 <!-- ##### STRUCT GtkWidget ##### -->
80 @style: The style for the widget. The style contains the colors the widget should be
81 drawn in for each state along with graphics contexts used to draw with and the font
83 @requisition: The widget's desired size.
84 @allocation: The widget's allocated size.
85 @window: The widget's window or its parent window if it does not have a window. (Which
86 will be indicated by the #GTK_NO_WINDOW flag being set).
89 <!-- ##### SIGNAL GtkWidget::accel-closures-changed ##### -->
94 @widget: the object which received the signal.
96 <!-- ##### SIGNAL GtkWidget::button-press-event ##### -->
101 @widget: the object which received the signal.
103 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
105 <!-- ##### SIGNAL GtkWidget::button-release-event ##### -->
110 @widget: the object which received the signal.
112 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
114 <!-- ##### SIGNAL GtkWidget::can-activate-accel ##### -->
119 @widget: the object which received the signal.
123 <!-- ##### SIGNAL GtkWidget::child-notify ##### -->
128 @widget: the object which received the signal.
131 <!-- ##### SIGNAL GtkWidget::client-event ##### -->
136 @widget: the object which received the signal.
138 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
140 <!-- ##### SIGNAL GtkWidget::composited-changed ##### -->
145 @widget: the object which received the signal.
147 <!-- ##### SIGNAL GtkWidget::configure-event ##### -->
152 @widget: the object which received the signal.
154 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
156 <!-- ##### SIGNAL GtkWidget::delete-event ##### -->
161 @widget: the object which received the signal.
163 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
165 <!-- ##### SIGNAL GtkWidget::destroy-event ##### -->
170 @widget: the object which received the signal.
172 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
174 <!-- ##### SIGNAL GtkWidget::direction-changed ##### -->
179 @widget: the object which received the signal.
182 <!-- ##### SIGNAL GtkWidget::drag-begin ##### -->
187 @widget: the object which received the signal.
190 <!-- ##### SIGNAL GtkWidget::drag-data-delete ##### -->
195 @widget: the object which received the signal.
198 <!-- ##### SIGNAL GtkWidget::drag-data-get ##### -->
203 @widget: the object which received the signal.
209 <!-- ##### SIGNAL GtkWidget::drag-data-received ##### -->
214 @widget: the object which received the signal.
222 <!-- ##### SIGNAL GtkWidget::drag-drop ##### -->
227 @widget: the object which received the signal.
234 <!-- ##### SIGNAL GtkWidget::drag-end ##### -->
239 @widget: the object which received the signal.
242 <!-- ##### SIGNAL GtkWidget::drag-failed ##### -->
247 @widget: the object which received the signal.
252 <!-- ##### SIGNAL GtkWidget::drag-leave ##### -->
257 @widget: the object which received the signal.
261 <!-- ##### SIGNAL GtkWidget::drag-motion ##### -->
266 @widget: the object which received the signal.
273 <!-- ##### SIGNAL GtkWidget::enter-notify-event ##### -->
278 @widget: the object which received the signal.
280 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
282 <!-- ##### SIGNAL GtkWidget::event ##### -->
287 @widget: the object which received the signal.
289 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
291 <!-- ##### SIGNAL GtkWidget::event-after ##### -->
296 @widget: the object which received the signal.
299 <!-- ##### SIGNAL GtkWidget::expose-event ##### -->
304 @widget: the object which received the signal.
306 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
308 <!-- ##### SIGNAL GtkWidget::focus ##### -->
313 @widget: the object which received the signal.
315 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
317 <!-- ##### SIGNAL GtkWidget::focus-in-event ##### -->
322 @widget: the object which received the signal.
324 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
326 <!-- ##### SIGNAL GtkWidget::focus-out-event ##### -->
331 @widget: the object which received the signal.
333 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
335 <!-- ##### SIGNAL GtkWidget::grab-broken-event ##### -->
340 @widget: the object which received the signal.
344 <!-- ##### SIGNAL GtkWidget::grab-focus ##### -->
349 @widget: the object which received the signal.
351 <!-- ##### SIGNAL GtkWidget::grab-notify ##### -->
356 @widget: the object which received the signal.
359 <!-- ##### SIGNAL GtkWidget::hide ##### -->
364 @widget: the object which received the signal.
366 <!-- ##### SIGNAL GtkWidget::hierarchy-changed ##### -->
374 <!-- ##### SIGNAL GtkWidget::key-press-event ##### -->
379 @widget: the object which received the signal.
381 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
383 <!-- ##### SIGNAL GtkWidget::key-release-event ##### -->
388 @widget: the object which received the signal.
390 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
392 <!-- ##### SIGNAL GtkWidget::keynav-failed ##### -->
397 @widget: the object which received the signal.
401 <!-- ##### SIGNAL GtkWidget::leave-notify-event ##### -->
406 @widget: the object which received the signal.
408 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
410 <!-- ##### SIGNAL GtkWidget::map ##### -->
415 @widget: the object which received the signal.
417 <!-- ##### SIGNAL GtkWidget::map-event ##### -->
422 @widget: the object which received the signal.
424 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
426 <!-- ##### SIGNAL GtkWidget::mnemonic-activate ##### -->
431 @widget: the object which received the signal.
435 <!-- ##### SIGNAL GtkWidget::motion-notify-event ##### -->
440 @widget: the object which received the signal.
442 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
444 <!-- ##### SIGNAL GtkWidget::move-focus ##### -->
449 @widget: the object which received the signal.
452 <!-- ##### SIGNAL GtkWidget::no-expose-event ##### -->
457 @widget: the object which received the signal.
459 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
461 <!-- ##### SIGNAL GtkWidget::parent-set ##### -->
466 @widget: the object which received the signal.
469 <!-- ##### SIGNAL GtkWidget::popup-menu ##### -->
474 @widget: the object which received the signal.
477 <!-- ##### SIGNAL GtkWidget::property-notify-event ##### -->
482 @widget: the object which received the signal.
484 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
486 <!-- ##### SIGNAL GtkWidget::proximity-in-event ##### -->
491 @widget: the object which received the signal.
493 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
495 <!-- ##### SIGNAL GtkWidget::proximity-out-event ##### -->
500 @widget: the object which received the signal.
502 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
504 <!-- ##### SIGNAL GtkWidget::query-tooltip ##### -->
509 @widget: the object which received the signal.
516 <!-- ##### SIGNAL GtkWidget::realize ##### -->
521 @widget: the object which received the signal.
523 <!-- ##### SIGNAL GtkWidget::screen-changed ##### -->
528 @widget: the object which received the signal.
531 <!-- ##### SIGNAL GtkWidget::scroll-event ##### -->
536 @widget: the object which received the signal.
538 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
540 <!-- ##### SIGNAL GtkWidget::selection-clear-event ##### -->
545 @widget: the object which received the signal.
547 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
549 <!-- ##### SIGNAL GtkWidget::selection-get ##### -->
554 @widget: the object which received the signal.
559 <!-- ##### SIGNAL GtkWidget::selection-notify-event ##### -->
564 @widget: the object which received the signal.
566 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
568 <!-- ##### SIGNAL GtkWidget::selection-received ##### -->
573 @widget: the object which received the signal.
577 <!-- ##### SIGNAL GtkWidget::selection-request-event ##### -->
582 @widget: the object which received the signal.
584 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
586 <!-- ##### SIGNAL GtkWidget::show ##### -->
591 @widget: the object which received the signal.
593 <!-- ##### SIGNAL GtkWidget::show-help ##### -->
598 @widget: the object which received the signal.
602 <!-- ##### SIGNAL GtkWidget::size-allocate ##### -->
607 @widget: the object which received the signal.
610 <!-- ##### SIGNAL GtkWidget::size-request ##### -->
615 @widget: the object which received the signal.
618 <!-- ##### SIGNAL GtkWidget::state-changed ##### -->
623 @widget: the object which received the signal.
626 <!-- ##### SIGNAL GtkWidget::style-set ##### -->
631 @widget: the object which received the signal.
634 <!-- ##### SIGNAL GtkWidget::unmap ##### -->
639 @widget: the object which received the signal.
641 <!-- ##### SIGNAL GtkWidget::unmap-event ##### -->
646 @widget: the object which received the signal.
648 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
650 <!-- ##### SIGNAL GtkWidget::unrealize ##### -->
655 @widget: the object which received the signal.
657 <!-- ##### SIGNAL GtkWidget::visibility-notify-event ##### -->
662 @widget: the object which received the signal.
664 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
666 <!-- ##### SIGNAL GtkWidget::window-state-event ##### -->
671 @widget: the object which received the signal.
673 @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
675 <!-- ##### ARG GtkWidget:app-paintable ##### -->
680 <!-- ##### ARG GtkWidget:can-default ##### -->
685 <!-- ##### ARG GtkWidget:can-focus ##### -->
690 <!-- ##### ARG GtkWidget:composite-child ##### -->
695 <!-- ##### ARG GtkWidget:events ##### -->
700 <!-- ##### ARG GtkWidget:extension-events ##### -->
705 <!-- ##### ARG GtkWidget:has-default ##### -->
710 <!-- ##### ARG GtkWidget:has-focus ##### -->
715 <!-- ##### ARG GtkWidget:has-tooltip ##### -->
720 <!-- ##### ARG GtkWidget:height-request ##### -->
725 <!-- ##### ARG GtkWidget:is-focus ##### -->
730 <!-- ##### ARG GtkWidget:name ##### -->
735 <!-- ##### ARG GtkWidget:no-show-all ##### -->
740 <!-- ##### ARG GtkWidget:parent ##### -->
745 <!-- ##### ARG GtkWidget:receives-default ##### -->
750 <!-- ##### ARG GtkWidget:sensitive ##### -->
755 <!-- ##### ARG GtkWidget:style ##### -->
760 <!-- ##### ARG GtkWidget:tooltip-markup ##### -->
765 <!-- ##### ARG GtkWidget:tooltip-text ##### -->
770 <!-- ##### ARG GtkWidget:visible ##### -->
775 <!-- ##### ARG GtkWidget:width-request ##### -->
780 <!-- ##### ARG GtkWidget:cursor-aspect-ratio ##### -->
785 <!-- ##### ARG GtkWidget:cursor-color ##### -->
790 <!-- ##### ARG GtkWidget:draw-border ##### -->
795 <!-- ##### ARG GtkWidget:focus-line-pattern ##### -->
800 <!-- ##### ARG GtkWidget:focus-line-width ##### -->
805 <!-- ##### ARG GtkWidget:focus-padding ##### -->
810 <!-- ##### ARG GtkWidget:interior-focus ##### -->
815 <!-- ##### ARG GtkWidget:link-color ##### -->
820 <!-- ##### ARG GtkWidget:scroll-arrow-hlength ##### -->
825 <!-- ##### ARG GtkWidget:scroll-arrow-vlength ##### -->
830 <!-- ##### ARG GtkWidget:secondary-cursor-color ##### -->
835 <!-- ##### ARG GtkWidget:separator-height ##### -->
840 <!-- ##### ARG GtkWidget:separator-width ##### -->
845 <!-- ##### ARG GtkWidget:visited-link-color ##### -->
850 <!-- ##### ARG GtkWidget:wide-separators ##### -->
855 <!-- ##### STRUCT GtkWidgetClass ##### -->
857 <structfield>activate_signal</structfield>
858 The signal to emit when a widget of this class is activated,
859 gtk_widget_activate() handles the emission. Implementation of this
864 <structfield>set_scroll_adjustment_signal</structfield>
865 This signal is emitted when a widget of this class is added
866 to a scrolling aware parent, gtk_widget_set_scroll_adjustments()
867 handles the emission.
868 Implementation of this signal is optional.
873 @set_scroll_adjustments_signal:
875 <!-- ##### ENUM GtkWidgetFlags ##### -->
877 Tells about certain properties of the widget.
881 widgets without a real parent, as there are #GtkWindow<!-- -->s and
882 #GtkMenu<!-- -->s have this flag set throughout their lifetime.
883 Toplevel widgets always contain their own #GdkWindow.
885 Indicative for a widget that does not provide its own #GdkWindow.
886 Visible action (e.g. drawing) is performed on the parent's #GdkWindow.
888 Set by gtk_widget_realize(), unset by gtk_widget_unrealize().
889 A realized widget has an associated #GdkWindow.
891 Set by gtk_widget_map(), unset by gtk_widget_unmap().
892 Only realized widgets can be mapped. It means that gdk_window_show()
893 has been called on the widgets window(s).
895 Set by gtk_widget_show(), unset by gtk_widget_hide(). Implies that a
896 widget will be mapped as soon as its parent is mapped.
898 Set and unset by gtk_widget_set_sensitive().
899 The sensitivity of a widget determines whether it will receive
900 certain events (e.g. button or key presses). One premise for
901 the widget's sensitivity is to have this flag set.
902 @GTK_PARENT_SENSITIVE:
903 Set and unset by gtk_widget_set_sensitive() operations on the
904 parents of the widget.
905 This is the second premise for the widget's sensitivity. Once
906 it has %GTK_SENSITIVE and %GTK_PARENT_SENSITIVE set, its state is
907 effectively sensitive. This is expressed (and can be examined) by
908 the #GTK_WIDGET_IS_SENSITIVE macro.
910 Determines whether a widget is able to handle focus grabs.
912 Set by gtk_widget_grab_focus() for widgets that also
913 have %GTK_CAN_FOCUS set. The flag will be unset once another widget
916 The widget is allowed to receive the default action via
917 gtk_widget_grab_default().
919 The widget currently is receiving the default action.
921 Set by gtk_grab_add(), unset by gtk_grab_remove(). It means that the
922 widget is in the grab_widgets stack, and will be the preferred one for
923 receiving events other than ones of cosmetic value.
925 Indicates that the widget's style has been looked up through the rc
926 mechanism. It does not imply that the widget actually had a style
927 defined through the rc mechanism.
928 @GTK_COMPOSITE_CHILD:
929 Indicates that the widget is a composite child of its parent; see
930 gtk_widget_push_composite_child(), gtk_widget_pop_composite_child().
932 Unused since before GTK+ 1.2, will be removed in a future version.
934 Set and unset by gtk_widget_set_app_paintable().
935 Must be set on widgets whose window the application directly draws on,
936 in order to keep GTK+ from overwriting the drawn stuff.
937 @GTK_RECEIVES_DEFAULT:
938 The widget when focused will receive the default action and have
939 %GTK_HAS_DEFAULT set even if there is a different widget set as default.
940 @GTK_DOUBLE_BUFFERED:
941 Set and unset by gtk_widget_set_double_buffered().
942 Indicates that exposes done on the widget should be double-buffered.
945 <!-- ##### MACRO GTK_WIDGET_TYPE ##### -->
947 Gets the type of a widget.
953 <!-- ##### MACRO GTK_WIDGET_STATE ##### -->
955 Returns the current state of the widget, as a #GtkStateType.
961 <!-- ##### MACRO GTK_WIDGET_SAVED_STATE ##### -->
963 Returns the saved state of the widget, as a #GtkStateType.
966 The saved state will be restored when a widget gets sensitive
967 again, after it has been made insensitive with gtk_widget_set_state()
968 or gtk_widget_set_sensitive().
974 <!-- ##### MACRO GTK_WIDGET_FLAGS ##### -->
976 Returns the widget flags from @wid.
982 <!-- ##### MACRO GTK_WIDGET_TOPLEVEL ##### -->
984 Evaluates to %TRUE if the widget is a toplevel widget.
990 <!-- ##### MACRO GTK_WIDGET_NO_WINDOW ##### -->
992 Evaluates to %TRUE if the widget doesn't have an own #GdkWindow.
998 <!-- ##### MACRO GTK_WIDGET_REALIZED ##### -->
1000 Evaluates to %TRUE if the widget is realized.
1006 <!-- ##### MACRO GTK_WIDGET_MAPPED ##### -->
1008 Evaluates to %TRUE if the widget is mapped.
1014 <!-- ##### MACRO GTK_WIDGET_VISIBLE ##### -->
1016 Evaluates to %TRUE if the widget is visible.
1022 <!-- ##### MACRO GTK_WIDGET_DRAWABLE ##### -->
1024 Evaluates to %TRUE if the widget is mapped and visible.
1030 <!-- ##### MACRO GTK_WIDGET_SENSITIVE ##### -->
1032 Evaluates to %TRUE if the #GTK_SENSITIVE flag has be set on the widget.
1038 <!-- ##### MACRO GTK_WIDGET_PARENT_SENSITIVE ##### -->
1040 Evaluates to %TRUE if the #GTK_PARENT_SENSITIVE flag has be set on the widget.
1046 <!-- ##### MACRO GTK_WIDGET_IS_SENSITIVE ##### -->
1048 Evaluates to %TRUE if the widget is effectively sensitive.
1054 <!-- ##### MACRO GTK_WIDGET_CAN_FOCUS ##### -->
1056 Evaluates to %TRUE if the widget is able to handle focus grabs.
1062 <!-- ##### MACRO GTK_WIDGET_HAS_FOCUS ##### -->
1064 Evaluates to %TRUE if the widget has grabbed the focus and no other
1065 widget has done so more recently.
1071 <!-- ##### MACRO GTK_WIDGET_CAN_DEFAULT ##### -->
1073 Evaluates to %TRUE if the widget is allowed to receive the default action
1074 via gtk_widget_grab_default().
1080 <!-- ##### MACRO GTK_WIDGET_RECEIVES_DEFAULT ##### -->
1082 Evaluates to %TRUE if the widget when focused will receive the default action
1083 even if there is a different widget set as default.
1089 <!-- ##### MACRO GTK_WIDGET_HAS_DEFAULT ##### -->
1091 Evaluates to %TRUE if the widget currently is receiving the default action.
1097 <!-- ##### MACRO GTK_WIDGET_HAS_GRAB ##### -->
1099 Evaluates to %TRUE if the widget is in the grab_widgets stack, and will be
1100 the preferred one for receiving events other than ones of cosmetic value.
1106 <!-- ##### MACRO GTK_WIDGET_RC_STYLE ##### -->
1108 Evaluates to %TRUE if the widget's style has been looked up through the rc
1115 <!-- ##### MACRO GTK_WIDGET_COMPOSITE_CHILD ##### -->
1117 Evaluates to %TRUE if the widget is a composite child of its parent.
1123 <!-- ##### MACRO GTK_WIDGET_APP_PAINTABLE ##### -->
1125 Evaluates to %TRUE if the #GTK_APP_PAINTABLE flag has been set on the widget.
1131 <!-- ##### MACRO GTK_WIDGET_DOUBLE_BUFFERED ##### -->
1133 Evaluates to %TRUE if the #GTK_DOUBLE_BUFFERED flag has been set on the widget.
1139 <!-- ##### MACRO GTK_WIDGET_SET_FLAGS ##### -->
1141 Turns on certain widget flags.
1145 @flag: the flags to set.
1148 <!-- ##### MACRO GTK_WIDGET_UNSET_FLAGS ##### -->
1150 Turns off certain widget flags.
1154 @flag: the flags to unset.
1157 <!-- ##### USER_FUNCTION GtkCallback ##### -->
1159 The type of the callback functions used for e.g. iterating over
1160 the children of a container, see gtk_container_foreach().
1163 @widget: the widget to operate on
1164 @data: user-supplied data
1167 <!-- ##### STRUCT GtkRequisition ##### -->
1169 A <structname>GtkRequisition</structname> represents the desired size of a widget. See
1170 <xref linkend="size-requisition"/> for more information.
1173 @width: the widget's desired width
1174 @height: the widget's desired height
1176 <!-- ##### STRUCT GtkAllocation ##### -->
1178 A <structname>GtkAllocation</structname> of a widget represents region which has been allocated to the
1179 widget by its parent. It is a subregion of its parents allocation. See
1180 <xref linkend="size-allocation"/> for more information.
1183 @x: the X position of the widget's area relative to its parents allocation.
1184 @y: the Y position of the widget's area relative to its parents allocation.
1185 @width: the width of the widget's allocated area.
1186 @height: the height of the widget's allocated area.
1188 <!-- ##### STRUCT GtkSelectionData ##### -->
1201 <!-- ##### STRUCT GtkWidgetAuxInfo ##### -->
1213 <!-- ##### STRUCT GtkWidgetShapeInfo ##### -->
1222 <!-- ##### ENUM GtkWidgetHelpType ##### -->
1227 @GTK_WIDGET_HELP_TOOLTIP:
1228 @GTK_WIDGET_HELP_WHATS_THIS:
1230 <!-- ##### FUNCTION gtk_widget_new ##### -->
1236 @first_property_name:
1241 <!-- ##### FUNCTION gtk_widget_ref ##### -->
1250 <!-- ##### FUNCTION gtk_widget_unref ##### -->
1258 <!-- ##### FUNCTION gtk_widget_destroy ##### -->
1266 <!-- ##### FUNCTION gtk_widget_destroyed ##### -->
1275 <!-- ##### FUNCTION gtk_widget_set ##### -->
1281 @first_property_name:
1285 <!-- ##### FUNCTION gtk_widget_unparent ##### -->
1293 <!-- ##### FUNCTION gtk_widget_show ##### -->
1301 <!-- ##### FUNCTION gtk_widget_show_now ##### -->
1309 <!-- ##### FUNCTION gtk_widget_hide ##### -->
1317 <!-- ##### FUNCTION gtk_widget_show_all ##### -->
1325 <!-- ##### FUNCTION gtk_widget_hide_all ##### -->
1333 <!-- ##### FUNCTION gtk_widget_map ##### -->
1341 <!-- ##### FUNCTION gtk_widget_unmap ##### -->
1349 <!-- ##### FUNCTION gtk_widget_realize ##### -->
1357 <!-- ##### FUNCTION gtk_widget_unrealize ##### -->
1365 <!-- ##### FUNCTION gtk_widget_queue_draw ##### -->
1373 <!-- ##### FUNCTION gtk_widget_queue_resize ##### -->
1381 <!-- ##### FUNCTION gtk_widget_queue_resize_no_redraw ##### -->
1389 <!-- ##### FUNCTION gtk_widget_draw ##### -->
1398 <!-- ##### FUNCTION gtk_widget_size_request ##### -->
1407 <!-- ##### FUNCTION gtk_widget_get_child_requisition ##### -->
1416 <!-- ##### FUNCTION gtk_widget_size_allocate ##### -->
1425 <!-- ##### FUNCTION gtk_widget_add_accelerator ##### -->
1438 <!-- ##### FUNCTION gtk_widget_remove_accelerator ##### -->
1450 <!-- ##### FUNCTION gtk_widget_set_accel_path ##### -->
1460 <!-- ##### FUNCTION gtk_widget_list_accel_closures ##### -->
1469 <!-- ##### FUNCTION gtk_widget_can_activate_accel ##### -->
1479 <!-- ##### FUNCTION gtk_widget_event ##### -->
1489 <!-- ##### FUNCTION gtk_widget_activate ##### -->
1498 <!-- ##### FUNCTION gtk_widget_reparent ##### -->
1507 <!-- ##### FUNCTION gtk_widget_intersect ##### -->
1518 <!-- ##### FUNCTION gtk_widget_is_focus ##### -->
1527 <!-- ##### FUNCTION gtk_widget_grab_focus ##### -->
1535 <!-- ##### FUNCTION gtk_widget_grab_default ##### -->
1543 <!-- ##### FUNCTION gtk_widget_set_name ##### -->
1552 <!-- ##### FUNCTION gtk_widget_get_name ##### -->
1561 <!-- ##### FUNCTION gtk_widget_set_state ##### -->
1570 <!-- ##### FUNCTION gtk_widget_set_sensitive ##### -->
1579 <!-- ##### FUNCTION gtk_widget_set_parent ##### -->
1588 <!-- ##### FUNCTION gtk_widget_set_parent_window ##### -->
1597 <!-- ##### FUNCTION gtk_widget_get_parent_window ##### -->
1606 <!-- ##### FUNCTION gtk_widget_set_uposition ##### -->
1616 <!-- ##### FUNCTION gtk_widget_set_usize ##### -->
1626 <!-- ##### FUNCTION gtk_widget_set_events ##### -->
1635 <!-- ##### FUNCTION gtk_widget_add_events ##### -->
1644 <!-- ##### FUNCTION gtk_widget_set_extension_events ##### -->
1653 <!-- ##### FUNCTION gtk_widget_get_extension_events ##### -->
1662 <!-- ##### FUNCTION gtk_widget_get_toplevel ##### -->
1671 <!-- ##### FUNCTION gtk_widget_get_ancestor ##### -->
1681 <!-- ##### FUNCTION gtk_widget_get_colormap ##### -->
1690 <!-- ##### FUNCTION gtk_widget_set_colormap ##### -->
1699 <!-- ##### FUNCTION gtk_widget_get_visual ##### -->
1708 <!-- ##### FUNCTION gtk_widget_get_events ##### -->
1717 <!-- ##### FUNCTION gtk_widget_get_pointer ##### -->
1727 <!-- ##### FUNCTION gtk_widget_is_ancestor ##### -->
1737 <!-- ##### FUNCTION gtk_widget_translate_coordinates ##### -->
1751 <!-- ##### FUNCTION gtk_widget_hide_on_delete ##### -->
1760 <!-- ##### FUNCTION gtk_widget_set_style ##### -->
1769 <!-- ##### MACRO gtk_widget_set_rc_style ##### -->
1771 Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
1774 @widget: a #GtkWidget.
1777 <!-- ##### FUNCTION gtk_widget_ensure_style ##### -->
1785 <!-- ##### FUNCTION gtk_widget_get_style ##### -->
1794 <!-- ##### MACRO gtk_widget_restore_default_style ##### -->
1796 Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
1799 @widget: a #GtkWidget.
1802 <!-- ##### FUNCTION gtk_widget_reset_rc_styles ##### -->
1804 Reset the styles of @widget and all descendents, so when
1805 they are looked up again, they get the correct values
1806 for the currently loaded RC file settings.
1809 This function is not useful for applications.
1812 @widget: a #GtkWidget.
1815 <!-- ##### FUNCTION gtk_widget_push_colormap ##### -->
1823 <!-- ##### FUNCTION gtk_widget_pop_colormap ##### -->
1830 <!-- ##### FUNCTION gtk_widget_set_default_colormap ##### -->
1838 <!-- ##### FUNCTION gtk_widget_get_default_style ##### -->
1846 <!-- ##### FUNCTION gtk_widget_get_default_colormap ##### -->
1854 <!-- ##### FUNCTION gtk_widget_get_default_visual ##### -->
1862 <!-- ##### FUNCTION gtk_widget_set_direction ##### -->
1871 <!-- ##### ENUM GtkTextDirection ##### -->
1880 <!-- ##### FUNCTION gtk_widget_get_direction ##### -->
1889 <!-- ##### FUNCTION gtk_widget_set_default_direction ##### -->
1897 <!-- ##### FUNCTION gtk_widget_get_default_direction ##### -->
1905 <!-- ##### FUNCTION gtk_widget_shape_combine_mask ##### -->
1916 <!-- ##### FUNCTION gtk_widget_input_shape_combine_mask ##### -->
1927 <!-- ##### FUNCTION gtk_widget_path ##### -->
1938 <!-- ##### FUNCTION gtk_widget_class_path ##### -->
1949 <!-- ##### FUNCTION gtk_widget_get_composite_name ##### -->
1958 <!-- ##### FUNCTION gtk_widget_modify_style ##### -->
1967 <!-- ##### FUNCTION gtk_widget_get_modifier_style ##### -->
1976 <!-- ##### FUNCTION gtk_widget_modify_fg ##### -->
1986 <!-- ##### FUNCTION gtk_widget_modify_bg ##### -->
1996 <!-- ##### FUNCTION gtk_widget_modify_text ##### -->
2006 <!-- ##### FUNCTION gtk_widget_modify_base ##### -->
2016 <!-- ##### FUNCTION gtk_widget_modify_font ##### -->
2025 <!-- ##### FUNCTION gtk_widget_modify_cursor ##### -->
2035 <!-- ##### FUNCTION gtk_widget_create_pango_context ##### -->
2044 <!-- ##### FUNCTION gtk_widget_get_pango_context ##### -->
2053 <!-- ##### FUNCTION gtk_widget_create_pango_layout ##### -->
2063 <!-- ##### FUNCTION gtk_widget_render_icon ##### -->
2075 <!-- ##### FUNCTION gtk_widget_pop_composite_child ##### -->
2082 <!-- ##### FUNCTION gtk_widget_push_composite_child ##### -->
2089 <!-- ##### FUNCTION gtk_widget_queue_clear ##### -->
2097 <!-- ##### FUNCTION gtk_widget_queue_clear_area ##### -->
2109 <!-- ##### FUNCTION gtk_widget_queue_draw_area ##### -->
2121 <!-- ##### FUNCTION gtk_widget_reset_shapes ##### -->
2129 <!-- ##### FUNCTION gtk_widget_set_app_paintable ##### -->
2138 <!-- ##### FUNCTION gtk_widget_set_double_buffered ##### -->
2147 <!-- ##### FUNCTION gtk_widget_set_redraw_on_allocate ##### -->
2153 @redraw_on_allocate:
2156 <!-- ##### FUNCTION gtk_widget_set_composite_name ##### -->
2165 <!-- ##### FUNCTION gtk_widget_set_scroll_adjustments ##### -->
2176 <!-- ##### FUNCTION gtk_widget_mnemonic_activate ##### -->
2186 <!-- ##### FUNCTION gtk_widget_class_install_style_property ##### -->
2195 <!-- ##### FUNCTION gtk_widget_class_install_style_property_parser ##### -->
2205 <!-- ##### FUNCTION gtk_widget_class_find_style_property ##### -->
2215 <!-- ##### FUNCTION gtk_widget_class_list_style_properties ##### -->
2225 <!-- ##### FUNCTION gtk_widget_region_intersect ##### -->
2235 <!-- ##### FUNCTION gtk_widget_send_expose ##### -->
2245 <!-- ##### FUNCTION gtk_widget_style_get ##### -->
2251 @first_property_name:
2255 <!-- ##### FUNCTION gtk_widget_style_get_property ##### -->
2265 <!-- ##### FUNCTION gtk_widget_style_get_valist ##### -->
2271 @first_property_name:
2275 <!-- ##### FUNCTION gtk_widget_get_accessible ##### -->
2284 <!-- ##### FUNCTION gtk_widget_child_focus ##### -->
2294 <!-- ##### FUNCTION gtk_widget_child_notify ##### -->
2303 <!-- ##### FUNCTION gtk_widget_freeze_child_notify ##### -->
2311 <!-- ##### FUNCTION gtk_widget_get_child_visible ##### -->
2320 <!-- ##### FUNCTION gtk_widget_get_parent ##### -->
2329 <!-- ##### FUNCTION gtk_widget_get_settings ##### -->
2338 <!-- ##### FUNCTION gtk_widget_get_clipboard ##### -->
2348 <!-- ##### FUNCTION gtk_widget_get_display ##### -->
2357 <!-- ##### FUNCTION gtk_widget_get_root_window ##### -->
2366 <!-- ##### FUNCTION gtk_widget_get_screen ##### -->
2375 <!-- ##### FUNCTION gtk_widget_has_screen ##### -->
2384 <!-- ##### FUNCTION gtk_widget_get_size_request ##### -->
2394 <!-- ##### MACRO gtk_widget_pop_visual ##### -->
2396 This function is deprecated; it does nothing.
2401 <!-- ##### MACRO gtk_widget_push_visual ##### -->
2403 This function is deprecated; it does nothing.
2409 <!-- ##### FUNCTION gtk_widget_set_child_visible ##### -->
2418 <!-- ##### MACRO gtk_widget_set_default_visual ##### -->
2420 This function is deprecated; it does nothing.
2426 <!-- ##### FUNCTION gtk_widget_set_size_request ##### -->
2436 <!-- ##### MACRO gtk_widget_set_visual ##### -->
2438 This function is deprecated; it does nothing.
2445 <!-- ##### FUNCTION gtk_widget_thaw_child_notify ##### -->
2453 <!-- ##### FUNCTION gtk_widget_set_no_show_all ##### -->
2462 <!-- ##### FUNCTION gtk_widget_get_no_show_all ##### -->
2471 <!-- ##### FUNCTION gtk_widget_list_mnemonic_labels ##### -->
2480 <!-- ##### FUNCTION gtk_widget_add_mnemonic_label ##### -->
2489 <!-- ##### FUNCTION gtk_widget_remove_mnemonic_label ##### -->
2498 <!-- ##### FUNCTION gtk_widget_get_action ##### -->
2507 <!-- ##### FUNCTION gtk_widget_is_composited ##### -->
2516 <!-- ##### FUNCTION gtk_widget_error_bell ##### -->
2524 <!-- ##### FUNCTION gtk_widget_keynav_failed ##### -->
2534 <!-- ##### FUNCTION gtk_widget_get_tooltip_markup ##### -->
2543 <!-- ##### FUNCTION gtk_widget_set_tooltip_markup ##### -->
2552 <!-- ##### FUNCTION gtk_widget_get_tooltip_text ##### -->
2561 <!-- ##### FUNCTION gtk_widget_set_tooltip_text ##### -->
2570 <!-- ##### FUNCTION gtk_widget_get_tooltip_window ##### -->
2579 <!-- ##### FUNCTION gtk_widget_set_tooltip_window ##### -->
2588 <!-- ##### FUNCTION gtk_widget_get_has_tooltip ##### -->
2597 <!-- ##### FUNCTION gtk_widget_set_has_tooltip ##### -->
2606 <!-- ##### FUNCTION gtk_widget_trigger_tooltip_query ##### -->
2614 <!-- ##### FUNCTION gtk_requisition_copy ##### -->
2623 <!-- ##### FUNCTION gtk_requisition_free ##### -->