<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>GtkWidget: GTK+ 3 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="GTK+ 3 Reference Manual"> <link rel="up" href="AbstractObjects.html" title="Abstract Base Classes"> <link rel="prev" href="AbstractObjects.html" title="Abstract Base Classes"> <link rel="next" href="GtkContainer.html" title="GtkContainer"> <meta name="generator" content="GTK-Doc V1.25.1 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"> <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> <a href="#GtkWidget.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> <a href="#GtkWidget.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> <a href="#GtkWidget.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_derived_interfaces"> <span class="dim">|</span> <a href="#GtkWidget.derived-interfaces" class="shortcut">Known Derived Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> <a href="#GtkWidget.properties" class="shortcut">Properties</a></span><span id="nav_style_properties"> <span class="dim">|</span> <a href="#GtkWidget.style-properties" class="shortcut">Style Properties</a></span><span id="nav_signals"> <span class="dim">|</span> <a href="#GtkWidget.signals" class="shortcut">Signals</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="AbstractObjects.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="AbstractObjects.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="GtkContainer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="GtkWidget"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="GtkWidget.top_of_page"></a>GtkWidget</span></h2> <p>GtkWidget — Base class for all widgets</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="GtkWidget.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="functions_return"> <col class="functions_name"> </colgroup> <tbody> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="GtkWidget.html#GtkCallback" title="GtkCallback ()">*GtkCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-new" title="gtk_widget_new ()">gtk_widget_new</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-destroy" title="gtk_widget_destroy ()">gtk_widget_destroy</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-in-destruction" title="gtk_widget_in_destruction ()">gtk_widget_in_destruction</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-destroyed" title="gtk_widget_destroyed ()">gtk_widget_destroyed</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-unparent" title="gtk_widget_unparent ()">gtk_widget_unparent</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-show" title="gtk_widget_show ()">gtk_widget_show</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-show-now" title="gtk_widget_show_now ()">gtk_widget_show_now</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-hide" title="gtk_widget_hide ()">gtk_widget_hide</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-show-all" title="gtk_widget_show_all ()">gtk_widget_show_all</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-map" title="gtk_widget_map ()">gtk_widget_map</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-unmap" title="gtk_widget_unmap ()">gtk_widget_unmap</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-realize" title="gtk_widget_realize ()">gtk_widget_realize</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-unrealize" title="gtk_widget_unrealize ()">gtk_widget_unrealize</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-draw" title="gtk_widget_draw ()">gtk_widget_draw</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-queue-draw" title="gtk_widget_queue_draw ()">gtk_widget_queue_draw</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-queue-resize" title="gtk_widget_queue_resize ()">gtk_widget_queue_resize</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-queue-resize-no-redraw" title="gtk_widget_queue_resize_no_redraw ()">gtk_widget_queue_resize_no_redraw</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-queue-allocate" title="gtk_widget_queue_allocate ()">gtk_widget_queue_allocate</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#GdkFrameClock-struct"><span class="returnvalue">GdkFrameClock</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-frame-clock" title="gtk_widget_get_frame_clock ()">gtk_widget_get_frame_clock</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-scale-factor" title="gtk_widget_get_scale_factor ()">gtk_widget_get_scale_factor</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="GtkWidget.html#GtkTickCallback" title="GtkTickCallback ()">*GtkTickCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-add-tick-callback" title="gtk_widget_add_tick_callback ()">gtk_widget_add_tick_callback</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-remove-tick-callback" title="gtk_widget_remove_tick_callback ()">gtk_widget_remove_tick_callback</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-size-request" title="gtk_widget_size_request ()">gtk_widget_size_request</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-child-requisition" title="gtk_widget_get_child_requisition ()">gtk_widget_get_child_requisition</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()">gtk_widget_size_allocate</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-size-allocate-with-baseline" title="gtk_widget_size_allocate_with_baseline ()">gtk_widget_size_allocate_with_baseline</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-add-accelerator" title="gtk_widget_add_accelerator ()">gtk_widget_add_accelerator</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-remove-accelerator" title="gtk_widget_remove_accelerator ()">gtk_widget_remove_accelerator</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-accel-path" title="gtk_widget_set_accel_path ()">gtk_widget_set_accel_path</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-list-accel-closures" title="gtk_widget_list_accel_closures ()">gtk_widget_list_accel_closures</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-can-activate-accel" title="gtk_widget_can_activate_accel ()">gtk_widget_can_activate_accel</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-event" title="gtk_widget_event ()">gtk_widget_event</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-activate" title="gtk_widget_activate ()">gtk_widget_activate</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-reparent" title="gtk_widget_reparent ()">gtk_widget_reparent</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-intersect" title="gtk_widget_intersect ()">gtk_widget_intersect</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-is-focus" title="gtk_widget_is_focus ()">gtk_widget_is_focus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-grab-focus" title="gtk_widget_grab_focus ()">gtk_widget_grab_focus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-grab-default" title="gtk_widget_grab_default ()">gtk_widget_grab_default</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-name" title="gtk_widget_set_name ()">gtk_widget_set_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-name" title="gtk_widget_get_name ()">gtk_widget_get_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-state" title="gtk_widget_set_state ()">gtk_widget_set_state</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-sensitive" title="gtk_widget_set_sensitive ()">gtk_widget_set_sensitive</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-parent" title="gtk_widget_set_parent ()">gtk_widget_set_parent</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-parent-window" title="gtk_widget_set_parent_window ()">gtk_widget_set_parent_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="returnvalue">GdkWindow</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-parent-window" title="gtk_widget_get_parent_window ()">gtk_widget_get_parent_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-events" title="gtk_widget_set_events ()">gtk_widget_set_events</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-events" title="gtk_widget_get_events ()">gtk_widget_get_events</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-add-events" title="gtk_widget_add_events ()">gtk_widget_add_events</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-device-events" title="gtk_widget_set_device_events ()">gtk_widget_set_device_events</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="returnvalue">GdkEventMask</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-device-events" title="gtk_widget_get_device_events ()">gtk_widget_get_device_events</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-add-device-events" title="gtk_widget_add_device_events ()">gtk_widget_add_device_events</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-device-enabled" title="gtk_widget_set_device_enabled ()">gtk_widget_set_device_enabled</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-device-enabled" title="gtk_widget_get_device_enabled ()">gtk_widget_get_device_enabled</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-toplevel" title="gtk_widget_get_toplevel ()">gtk_widget_get_toplevel</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-ancestor" title="gtk_widget_get_ancestor ()">gtk_widget_get_ancestor</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/gdk4-Visuals.html#GdkVisual-struct"><span class="returnvalue">GdkVisual</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-visual" title="gtk_widget_get_visual ()">gtk_widget_get_visual</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-visual" title="gtk_widget_set_visual ()">gtk_widget_set_visual</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-pointer" title="gtk_widget_get_pointer ()">gtk_widget_get_pointer</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-is-ancestor" title="gtk_widget_is_ancestor ()">gtk_widget_is_ancestor</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-translate-coordinates" title="gtk_widget_translate_coordinates ()">gtk_widget_translate_coordinates</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-hide-on-delete" title="gtk_widget_hide_on_delete ()">gtk_widget_hide_on_delete</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-style" title="gtk_widget_set_style ()">gtk_widget_set_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-ensure-style" title="gtk_widget_ensure_style ()">gtk_widget_ensure_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="returnvalue">GtkStyle</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-style" title="gtk_widget_get_style ()">gtk_widget_get_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-reset-rc-styles" title="gtk_widget_reset_rc_styles ()">gtk_widget_reset_rc_styles</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="returnvalue">GtkStyle</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-default-style" title="gtk_widget_get_default_style ()">gtk_widget_get_default_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-direction" title="gtk_widget_set_direction ()">gtk_widget_set_direction</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="returnvalue">GtkTextDirection</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-direction" title="gtk_widget_get_direction ()">gtk_widget_get_direction</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-default-direction" title="gtk_widget_set_default_direction ()">gtk_widget_set_default_direction</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="returnvalue">GtkTextDirection</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-default-direction" title="gtk_widget_get_default_direction ()">gtk_widget_get_default_direction</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-shape-combine-region" title="gtk_widget_shape_combine_region ()">gtk_widget_shape_combine_region</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-input-shape-combine-region" title="gtk_widget_input_shape_combine_region ()">gtk_widget_input_shape_combine_region</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-path" title="gtk_widget_path ()">gtk_widget_path</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-path" title="gtk_widget_class_path ()">gtk_widget_class_path</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-composite-name" title="gtk_widget_get_composite_name ()">gtk_widget_get_composite_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-override-background-color" title="gtk_widget_override_background_color ()">gtk_widget_override_background_color</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()">gtk_widget_override_color</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-override-font" title="gtk_widget_override_font ()">gtk_widget_override_font</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-override-symbolic-color" title="gtk_widget_override_symbolic_color ()">gtk_widget_override_symbolic_color</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-override-cursor" title="gtk_widget_override_cursor ()">gtk_widget_override_cursor</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()">gtk_widget_modify_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-Resource-Files.html#GtkRcStyle"><span class="returnvalue">GtkRcStyle</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-modifier-style" title="gtk_widget_get_modifier_style ()">gtk_widget_get_modifier_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-modify-fg" title="gtk_widget_modify_fg ()">gtk_widget_modify_fg</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-modify-bg" title="gtk_widget_modify_bg ()">gtk_widget_modify_bg</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-modify-text" title="gtk_widget_modify_text ()">gtk_widget_modify_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-modify-base" title="gtk_widget_modify_base ()">gtk_widget_modify_base</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-modify-font" title="gtk_widget_modify_font ()">gtk_widget_modify_font</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-modify-cursor" title="gtk_widget_modify_cursor ()">gtk_widget_modify_cursor</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="returnvalue">PangoContext</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-create-pango-context" title="gtk_widget_create_pango_context ()">gtk_widget_create_pango_context</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="returnvalue">PangoContext</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-pango-context" title="gtk_widget_get_pango_context ()">gtk_widget_get_pango_context</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-font-options" title="gtk_widget_set_font_options ()">gtk_widget_set_font_options</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <span class="returnvalue">cairo_font_options_t</span> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-font-options" title="gtk_widget_get_font_options ()">gtk_widget_get_font_options</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-font-map" title="gtk_widget_set_font_map ()">gtk_widget_set_font_map</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontMap-struct"><span class="returnvalue">PangoFontMap</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-font-map" title="gtk_widget_get_font_map ()">gtk_widget_get_font_map</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Layout-Objects.html#PangoLayout-struct"><span class="returnvalue">PangoLayout</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-create-pango-layout" title="gtk_widget_create_pango_layout ()">gtk_widget_create_pango_layout</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GdkPixbuf</span> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-render-icon" title="gtk_widget_render_icon ()">gtk_widget_render_icon</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GdkPixbuf</span> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-render-icon-pixbuf" title="gtk_widget_render_icon_pixbuf ()">gtk_widget_render_icon_pixbuf</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-pop-composite-child" title="gtk_widget_pop_composite_child ()">gtk_widget_pop_composite_child</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-push-composite-child" title="gtk_widget_push_composite_child ()">gtk_widget_push_composite_child</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-queue-draw-area" title="gtk_widget_queue_draw_area ()">gtk_widget_queue_draw_area</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-queue-draw-region" title="gtk_widget_queue_draw_region ()">gtk_widget_queue_draw_region</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-app-paintable" title="gtk_widget_set_app_paintable ()">gtk_widget_set_app_paintable</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-double-buffered" title="gtk_widget_set_double_buffered ()">gtk_widget_set_double_buffered</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-redraw-on-allocate" title="gtk_widget_set_redraw_on_allocate ()">gtk_widget_set_redraw_on_allocate</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-composite-name" title="gtk_widget_set_composite_name ()">gtk_widget_set_composite_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-mnemonic-activate" title="gtk_widget_mnemonic_activate ()">gtk_widget_mnemonic_activate</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-install-style-property" title="gtk_widget_class_install_style_property ()">gtk_widget_class_install_style_property</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-install-style-property-parser" title="gtk_widget_class_install_style_property_parser ()">gtk_widget_class_install_style_property_parser</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="returnvalue">GParamSpec</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-find-style-property" title="gtk_widget_class_find_style_property ()">gtk_widget_class_find_style_property</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="returnvalue">GParamSpec</span></a> ** </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-list-style-properties" title="gtk_widget_class_list_style_properties ()">gtk_widget_class_list_style_properties</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">cairo_region_t</span> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-region-intersect" title="gtk_widget_region_intersect ()">gtk_widget_region_intersect</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-send-expose" title="gtk_widget_send_expose ()">gtk_widget_send_expose</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-send-focus-change" title="gtk_widget_send_focus_change ()">gtk_widget_send_focus_change</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-style-get" title="gtk_widget_style_get ()">gtk_widget_style_get</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-style-get-property" title="gtk_widget_style_get_property ()">gtk_widget_style_get_property</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-style-get-valist" title="gtk_widget_style_get_valist ()">gtk_widget_style_get_valist</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-style-attach" title="gtk_widget_style_attach ()">gtk_widget_style_attach</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-set-accessible-type" title="gtk_widget_class_set_accessible_type ()">gtk_widget_class_set_accessible_type</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-set-accessible-role" title="gtk_widget_class_set_accessible_role ()">gtk_widget_class_set_accessible_role</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">AtkObject</span> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-accessible" title="gtk_widget_get_accessible ()">gtk_widget_get_accessible</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-child-focus" title="gtk_widget_child_focus ()">gtk_widget_child_focus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-child-notify" title="gtk_widget_child_notify ()">gtk_widget_child_notify</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-freeze-child-notify" title="gtk_widget_freeze_child_notify ()">gtk_widget_freeze_child_notify</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-child-visible" title="gtk_widget_get_child_visible ()">gtk_widget_get_child_visible</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-parent" title="gtk_widget_get_parent ()">gtk_widget_get_parent</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkSettings.html" title="Settings"><span class="returnvalue">GtkSettings</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-settings" title="gtk_widget_get_settings ()">gtk_widget_get_settings</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-clipboard" title="gtk_widget_get_clipboard ()">gtk_widget_get_clipboard</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/GdkDisplay.html#GdkDisplay-struct"><span class="returnvalue">GdkDisplay</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-display" title="gtk_widget_get_display ()">gtk_widget_get_display</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="returnvalue">GdkWindow</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-root-window" title="gtk_widget_get_root_window ()">gtk_widget_get_root_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="returnvalue">GdkScreen</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-screen" title="gtk_widget_get_screen ()">gtk_widget_get_screen</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-has-screen" title="gtk_widget_has_screen ()">gtk_widget_has_screen</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-size-request" title="gtk_widget_get_size_request ()">gtk_widget_get_size_request</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-child-visible" title="gtk_widget_set_child_visible ()">gtk_widget_set_child_visible</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()">gtk_widget_set_size_request</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-thaw-child-notify" title="gtk_widget_thaw_child_notify ()">gtk_widget_thaw_child_notify</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-no-show-all" title="gtk_widget_set_no_show_all ()">gtk_widget_set_no_show_all</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-no-show-all" title="gtk_widget_get_no_show_all ()">gtk_widget_get_no_show_all</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-list-mnemonic-labels" title="gtk_widget_list_mnemonic_labels ()">gtk_widget_list_mnemonic_labels</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-add-mnemonic-label" title="gtk_widget_add_mnemonic_label ()">gtk_widget_add_mnemonic_label</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-remove-mnemonic-label" title="gtk_widget_remove_mnemonic_label ()">gtk_widget_remove_mnemonic_label</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-is-composited" title="gtk_widget_is_composited ()">gtk_widget_is_composited</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-error-bell" title="gtk_widget_error_bell ()">gtk_widget_error_bell</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-keynav-failed" title="gtk_widget_keynav_failed ()">gtk_widget_keynav_failed</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-tooltip-markup" title="gtk_widget_get_tooltip_markup ()">gtk_widget_get_tooltip_markup</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-tooltip-markup" title="gtk_widget_set_tooltip_markup ()">gtk_widget_set_tooltip_markup</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-tooltip-text" title="gtk_widget_get_tooltip_text ()">gtk_widget_get_tooltip_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-tooltip-text" title="gtk_widget_set_tooltip_text ()">gtk_widget_set_tooltip_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="returnvalue">GtkWindow</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-tooltip-window" title="gtk_widget_get_tooltip_window ()">gtk_widget_get_tooltip_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-tooltip-window" title="gtk_widget_set_tooltip_window ()">gtk_widget_set_tooltip_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-has-tooltip" title="gtk_widget_get_has_tooltip ()">gtk_widget_get_has_tooltip</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-has-tooltip" title="gtk_widget_set_has_tooltip ()">gtk_widget_set_has_tooltip</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-trigger-tooltip-query" title="gtk_widget_trigger_tooltip_query ()">gtk_widget_trigger_tooltip_query</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="returnvalue">GdkWindow</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-window" title="gtk_widget_get_window ()">gtk_widget_get_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-register-window" title="gtk_widget_register_window ()">gtk_widget_register_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-unregister-window" title="gtk_widget_unregister_window ()">gtk_widget_unregister_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-cairo-should-draw-window" title="gtk_cairo_should_draw_window ()">gtk_cairo_should_draw_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-cairo-transform-to-window" title="gtk_cairo_transform_to_window ()">gtk_cairo_transform_to_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">int</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-allocated-width" title="gtk_widget_get_allocated_width ()">gtk_widget_get_allocated_width</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">int</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-allocated-height" title="gtk_widget_get_allocated_height ()">gtk_widget_get_allocated_height</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-allocation" title="gtk_widget_get_allocation ()">gtk_widget_get_allocation</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-allocation" title="gtk_widget_set_allocation ()">gtk_widget_set_allocation</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">int</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-allocated-baseline" title="gtk_widget_get_allocated_baseline ()">gtk_widget_get_allocated_baseline</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-allocated-size" title="gtk_widget_get_allocated_size ()">gtk_widget_get_allocated_size</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-clip" title="gtk_widget_get_clip ()">gtk_widget_get_clip</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-clip" title="gtk_widget_set_clip ()">gtk_widget_set_clip</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-app-paintable" title="gtk_widget_get_app_paintable ()">gtk_widget_get_app_paintable</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-can-default" title="gtk_widget_get_can_default ()">gtk_widget_get_can_default</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-can-default" title="gtk_widget_set_can_default ()">gtk_widget_set_can_default</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-can-focus" title="gtk_widget_get_can_focus ()">gtk_widget_get_can_focus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-can-focus" title="gtk_widget_set_can_focus ()">gtk_widget_set_can_focus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-focus-on-click" title="gtk_widget_get_focus_on_click ()">gtk_widget_get_focus_on_click</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-focus-on-click" title="gtk_widget_set_focus_on_click ()">gtk_widget_set_focus_on_click</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-double-buffered" title="gtk_widget_get_double_buffered ()">gtk_widget_get_double_buffered</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()">gtk_widget_get_has_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-has-window" title="gtk_widget_set_has_window ()">gtk_widget_set_has_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-sensitive" title="gtk_widget_get_sensitive ()">gtk_widget_get_sensitive</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-is-sensitive" title="gtk_widget_is_sensitive ()">gtk_widget_is_sensitive</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="returnvalue">GtkStateType</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-state" title="gtk_widget_get_state ()">gtk_widget_get_state</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-visible" title="gtk_widget_get_visible ()">gtk_widget_get_visible</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-is-visible" title="gtk_widget_is_visible ()">gtk_widget_is_visible</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-visible" title="gtk_widget_set_visible ()">gtk_widget_set_visible</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-state-flags" title="gtk_widget_set_state_flags ()">gtk_widget_set_state_flags</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-unset-state-flags" title="gtk_widget_unset_state_flags ()">gtk_widget_unset_state_flags</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="returnvalue">GtkStateFlags</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-state-flags" title="gtk_widget_get_state_flags ()">gtk_widget_get_state_flags</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-has-default" title="gtk_widget_has_default ()">gtk_widget_has_default</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-has-focus" title="gtk_widget_has_focus ()">gtk_widget_has_focus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-has-visible-focus" title="gtk_widget_has_visible_focus ()">gtk_widget_has_visible_focus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-has-grab" title="gtk_widget_has_grab ()">gtk_widget_has_grab</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-has-rc-style" title="gtk_widget_has_rc_style ()">gtk_widget_has_rc_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-is-drawable" title="gtk_widget_is_drawable ()">gtk_widget_is_drawable</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-is-toplevel" title="gtk_widget_is_toplevel ()">gtk_widget_is_toplevel</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-window" title="gtk_widget_set_window ()">gtk_widget_set_window</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-receives-default" title="gtk_widget_set_receives_default ()">gtk_widget_set_receives_default</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-receives-default" title="gtk_widget_get_receives_default ()">gtk_widget_get_receives_default</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-support-multidevice" title="gtk_widget_set_support_multidevice ()">gtk_widget_set_support_multidevice</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-support-multidevice" title="gtk_widget_get_support_multidevice ()">gtk_widget_get_support_multidevice</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-realized" title="gtk_widget_set_realized ()">gtk_widget_set_realized</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-realized" title="gtk_widget_get_realized ()">gtk_widget_get_realized</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-mapped" title="gtk_widget_set_mapped ()">gtk_widget_set_mapped</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-mapped" title="gtk_widget_get_mapped ()">gtk_widget_get_mapped</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-requisition" title="gtk_widget_get_requisition ()">gtk_widget_get_requisition</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-device-is-shadowed" title="gtk_widget_device_is_shadowed ()">gtk_widget_device_is_shadowed</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkModifierType"><span class="returnvalue">GdkModifierType</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-modifier-mask" title="gtk_widget_get_modifier_mask ()">gtk_widget_get_modifier_mask</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-insert-action-group" title="gtk_widget_insert_action_group ()">gtk_widget_insert_action_group</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">double</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-opacity" title="gtk_widget_get_opacity ()">gtk_widget_get_opacity</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-opacity" title="gtk_widget_set_opacity ()">gtk_widget_set_opacity</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> ** </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-list-action-prefixes" title="gtk_widget_list_action_prefixes ()">gtk_widget_list_action_prefixes</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="returnvalue">GActionGroup</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-action-group" title="gtk_widget_get_action_group ()">gtk_widget_get_action_group</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-GtkWidgetPath.html#GtkWidgetPath" title="GtkWidgetPath"><span class="returnvalue">GtkWidgetPath</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-path" title="gtk_widget_get_path ()">gtk_widget_get_path</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="returnvalue">GtkStyleContext</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-style-context" title="gtk_widget_get_style_context ()">gtk_widget_get_style_context</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-reset-style" title="gtk_widget_reset_style ()">gtk_widget_reset_style</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <span class="returnvalue">char</span> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-get-css-name" title="gtk_widget_class_get_css_name ()">gtk_widget_class_get_css_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-set-css-name" title="gtk_widget_class_set_css_name ()">gtk_widget_class_set_css_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkRequisition"><span class="returnvalue">GtkRequisition</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-requisition-new" title="gtk_requisition_new ()">gtk_requisition_new</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkRequisition"><span class="returnvalue">GtkRequisition</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-requisition-copy" title="gtk_requisition_copy ()">gtk_requisition_copy</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-requisition-free" title="gtk_requisition_free ()">gtk_requisition_free</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-height" title="gtk_widget_get_preferred_height ()">gtk_widget_get_preferred_height</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-width" title="gtk_widget_get_preferred_width ()">gtk_widget_get_preferred_width</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-height-for-width" title="gtk_widget_get_preferred_height_for_width ()">gtk_widget_get_preferred_height_for_width</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-width-for-height" title="gtk_widget_get_preferred_width_for_height ()">gtk_widget_get_preferred_width_for_height</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-height-and-baseline-for-width" title="gtk_widget_get_preferred_height_and_baseline_for_width ()">gtk_widget_get_preferred_height_and_baseline_for_width</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkSizeRequestMode" title="enum GtkSizeRequestMode"><span class="returnvalue">GtkSizeRequestMode</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-request-mode" title="gtk_widget_get_request_mode ()">gtk_widget_get_request_mode</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-size" title="gtk_widget_get_preferred_size ()">gtk_widget_get_preferred_size</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-distribute-natural-allocation" title="gtk_distribute_natural_allocation ()">gtk_distribute_natural_allocation</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="returnvalue">GtkAlign</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-halign" title="gtk_widget_get_halign ()">gtk_widget_get_halign</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-halign" title="gtk_widget_set_halign ()">gtk_widget_set_halign</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="returnvalue">GtkAlign</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-valign" title="gtk_widget_get_valign ()">gtk_widget_get_valign</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="returnvalue">GtkAlign</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-valign-with-baseline" title="gtk_widget_get_valign_with_baseline ()">gtk_widget_get_valign_with_baseline</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-valign" title="gtk_widget_set_valign ()">gtk_widget_set_valign</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-margin-left" title="gtk_widget_get_margin_left ()">gtk_widget_get_margin_left</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-margin-left" title="gtk_widget_set_margin_left ()">gtk_widget_set_margin_left</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-margin-right" title="gtk_widget_get_margin_right ()">gtk_widget_get_margin_right</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-margin-right" title="gtk_widget_set_margin_right ()">gtk_widget_set_margin_right</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-margin-start" title="gtk_widget_get_margin_start ()">gtk_widget_get_margin_start</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-margin-start" title="gtk_widget_set_margin_start ()">gtk_widget_set_margin_start</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-margin-end" title="gtk_widget_get_margin_end ()">gtk_widget_get_margin_end</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-margin-end" title="gtk_widget_set_margin_end ()">gtk_widget_set_margin_end</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-margin-top" title="gtk_widget_get_margin_top ()">gtk_widget_get_margin_top</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-margin-top" title="gtk_widget_set_margin_top ()">gtk_widget_set_margin_top</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-margin-bottom" title="gtk_widget_get_margin_bottom ()">gtk_widget_get_margin_bottom</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-margin-bottom" title="gtk_widget_set_margin_bottom ()">gtk_widget_set_margin_bottom</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-hexpand" title="gtk_widget_get_hexpand ()">gtk_widget_get_hexpand</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand" title="gtk_widget_set_hexpand ()">gtk_widget_set_hexpand</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-hexpand-set" title="gtk_widget_get_hexpand_set ()">gtk_widget_get_hexpand_set</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand-set" title="gtk_widget_set_hexpand_set ()">gtk_widget_set_hexpand_set</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-vexpand" title="gtk_widget_get_vexpand ()">gtk_widget_get_vexpand</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-vexpand" title="gtk_widget_set_vexpand ()">gtk_widget_set_vexpand</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-vexpand-set" title="gtk_widget_get_vexpand_set ()">gtk_widget_get_vexpand_set</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-set-vexpand-set" title="gtk_widget_set_vexpand_set ()">gtk_widget_set_vexpand_set</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-queue-compute-expand" title="gtk_widget_queue_compute_expand ()">gtk_widget_queue_compute_expand</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-compute-expand" title="gtk_widget_compute_expand ()">gtk_widget_compute_expand</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-init-template" title="gtk_widget_init_template ()">gtk_widget_init_template</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()">gtk_widget_class_set_template</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-set-template-from-resource" title="gtk_widget_class_set_template_from_resource ()">gtk_widget_class_set_template_from_resource</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct"><span class="returnvalue">GObject</span></a> * </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-get-template-child" title="gtk_widget_get_template_child ()">gtk_widget_get_template_child</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child" title="gtk_widget_class_bind_template_child()">gtk_widget_class_bind_template_child</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-internal" title="gtk_widget_class_bind_template_child_internal()">gtk_widget_class_bind_template_child_internal</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-private" title="gtk_widget_class_bind_template_child_private()">gtk_widget_class_bind_template_child_private</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-internal-private" title="gtk_widget_class_bind_template_child_internal_private()">gtk_widget_class_bind_template_child_internal_private</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-full" title="gtk_widget_class_bind_template_child_full ()">gtk_widget_class_bind_template_child_full</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-callback" title="gtk_widget_class_bind_template_callback()">gtk_widget_class_bind_template_callback</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-callback-full" title="gtk_widget_class_bind_template_callback_full ()">gtk_widget_class_bind_template_callback_full</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkWidget.html#gtk-widget-class-set-connect-func" title="gtk_widget_class_set_connect_func ()">gtk_widget_class_set_connect_func</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkWidget.properties"></a><h2>Properties</h2> <div class="informaltable"><table class="informaltable" border="0"> <colgroup> <col width="150px" class="properties_type"> <col width="300px" class="properties_name"> <col width="200px" class="properties_flags"> </colgroup> <tbody> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--app-paintable" title="The “app-paintable” property">app-paintable</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--can-default" title="The “can-default” property">can-default</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--can-focus" title="The “can-focus” property">can-focus</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--composite-child" title="The “composite-child” property">composite-child</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--double-buffered" title="The “double-buffered” property">double-buffered</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--events" title="The “events” property">events</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--expand" title="The “expand” property">expand</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--focus-on-click" title="The “focus-on-click” property">focus-on-click</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--halign" title="The “halign” property">halign</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--has-default" title="The “has-default” property">has-default</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--has-focus" title="The “has-focus” property">has-focus</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property">has-tooltip</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--height-request" title="The “height-request” property">height-request</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--hexpand" title="The “hexpand” property">hexpand</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--hexpand-set" title="The “hexpand-set” property">hexpand-set</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--is-focus" title="The “is-focus” property">is-focus</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--margin" title="The “margin” property">margin</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--margin-bottom" title="The “margin-bottom” property">margin-bottom</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--margin-end" title="The “margin-end” property">margin-end</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--margin-left" title="The “margin-left” property">margin-left</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--margin-right" title="The “margin-right” property">margin-right</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--margin-start" title="The “margin-start” property">margin-start</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--margin-top" title="The “margin-top” property">margin-top</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--name" title="The “name” property">name</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--no-show-all" title="The “no-show-all” property">no-show-all</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--opacity" title="The “opacity” property">opacity</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"> <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--parent" title="The “parent” property">parent</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--receives-default" title="The “receives-default” property">receives-default</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--scale-factor" title="The “scale-factor” property">scale-factor</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--sensitive" title="The “sensitive” property">sensitive</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"> <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--style" title="The “style” property">style</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--tooltip-markup" title="The “tooltip-markup” property">tooltip-markup</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--tooltip-text" title="The “tooltip-text” property">tooltip-text</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property">valign</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--vexpand" title="The “vexpand” property">vexpand</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--vexpand-set" title="The “vexpand-set” property">vexpand-set</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--visible" title="The “visible” property">visible</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--width-request" title="The “width-request” property">width-request</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"> <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--window" title="The “window” property">window</a></td> <td class="property_flags">Read</td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkWidget.style-properties"></a><h2>Style Properties</h2> <div class="informaltable"><table class="informaltable" border="0"> <colgroup> <col width="150px" class="style_properties_type"> <col width="300px" class="style_properties_name"> <col width="200px" class="style_properties_flags"> </colgroup> <tbody> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-cursor-aspect-ratio" title="The “cursor-aspect-ratio” style property">cursor-aspect-ratio</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"> <span class="type">GdkColor</span> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-cursor-color" title="The “cursor-color” style property">cursor-color</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-focus-line-pattern" title="The “focus-line-pattern” style property">focus-line-pattern</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-focus-line-width" title="The “focus-line-width” style property">focus-line-width</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-focus-padding" title="The “focus-padding” style property">focus-padding</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-interior-focus" title="The “interior-focus” style property">interior-focus</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"> <span class="type">GdkColor</span> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-link-color" title="The “link-color” style property">link-color</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-scroll-arrow-hlength" title="The “scroll-arrow-hlength” style property">scroll-arrow-hlength</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-scroll-arrow-vlength" title="The “scroll-arrow-vlength” style property">scroll-arrow-vlength</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"> <span class="type">GdkColor</span> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-secondary-cursor-color" title="The “secondary-cursor-color” style property">secondary-cursor-color</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-separator-height" title="The “separator-height” style property">separator-height</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-separator-width" title="The “separator-width” style property">separator-width</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-text-handle-height" title="The “text-handle-height” style property">text-handle-height</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-text-handle-width" title="The “text-handle-width” style property">text-handle-width</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"> <span class="type">GdkColor</span> *</td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-visited-link-color" title="The “visited-link-color” style property">visited-link-color</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-wide-separators" title="The “wide-separators” style property">wide-separators</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> <td class="property_name"><a class="link" href="GtkWidget.html#GtkWidget--s-window-dragging" title="The “window-dragging” style property">window-dragging</a></td> <td class="property_flags">Read</td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkWidget.signals"></a><h2>Signals</h2> <div class="informaltable"><table class="informaltable" border="0"> <colgroup> <col width="150px" class="signals_return"> <col width="300px" class="signals_name"> <col width="200px" class="signals_flags"> </colgroup> <tbody> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-accel-closures-changed" title="The “accel-closures-changed” signal">accel-closures-changed</a></td> <td class="signal_flags"> </td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-button-press-event" title="The “button-press-event” signal">button-press-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-button-release-event" title="The “button-release-event” signal">button-release-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-can-activate-accel" title="The “can-activate-accel” signal">can-activate-accel</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-child-notify" title="The “child-notify” signal">child-notify</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS">No Hooks</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-composited-changed" title="The “composited-changed” signal">composited-changed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-configure-event" title="The “configure-event” signal">configure-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-damage-event" title="The “damage-event” signal">damage-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-delete-event" title="The “delete-event” signal">delete-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-destroy" title="The “destroy” signal">destroy</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS">No Hooks</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-destroy-event" title="The “destroy-event” signal">destroy-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-direction-changed" title="The “direction-changed” signal">direction-changed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-begin" title="The “drag-begin” signal">drag-begin</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-data-delete" title="The “drag-data-delete” signal">drag-data-delete</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-data-get" title="The “drag-data-get” signal">drag-data-get</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-data-received" title="The “drag-data-received” signal">drag-data-received</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-drop" title="The “drag-drop” signal">drag-drop</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-end" title="The “drag-end” signal">drag-end</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-failed" title="The “drag-failed” signal">drag-failed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-leave" title="The “drag-leave” signal">drag-leave</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-drag-motion" title="The “drag-motion” signal">drag-motion</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal">draw</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-enter-notify-event" title="The “enter-notify-event” signal">enter-notify-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-event" title="The “event” signal">event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-event-after" title="The “event-after” signal">event-after</a></td> <td class="signal_flags"> </td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-focus" title="The “focus” signal">focus</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-focus-in-event" title="The “focus-in-event” signal">focus-in-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-focus-out-event" title="The “focus-out-event” signal">focus-out-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-grab-broken-event" title="The “grab-broken-event” signal">grab-broken-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-grab-focus" title="The “grab-focus” signal">grab-focus</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-grab-notify" title="The “grab-notify” signal">grab-notify</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-hide" title="The “hide” signal">hide</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-hierarchy-changed" title="The “hierarchy-changed” signal">hierarchy-changed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-key-press-event" title="The “key-press-event” signal">key-press-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-key-release-event" title="The “key-release-event” signal">key-release-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-keynav-failed" title="The “keynav-failed” signal">keynav-failed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-leave-notify-event" title="The “leave-notify-event” signal">leave-notify-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-map" title="The “map” signal">map</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-map-event" title="The “map-event” signal">map-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-mnemonic-activate" title="The “mnemonic-activate” signal">mnemonic-activate</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-motion-notify-event" title="The “motion-notify-event” signal">motion-notify-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-move-focus" title="The “move-focus” signal">move-focus</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-parent-set" title="The “parent-set” signal">parent-set</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-popup-menu" title="The “popup-menu” signal">popup-menu</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-property-notify-event" title="The “property-notify-event” signal">property-notify-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-proximity-in-event" title="The “proximity-in-event” signal">proximity-in-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-proximity-out-event" title="The “proximity-out-event” signal">proximity-out-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-query-tooltip" title="The “query-tooltip” signal">query-tooltip</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-realize" title="The “realize” signal">realize</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-screen-changed" title="The “screen-changed” signal">screen-changed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-scroll-event" title="The “scroll-event” signal">scroll-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-selection-clear-event" title="The “selection-clear-event” signal">selection-clear-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-selection-get" title="The “selection-get” signal">selection-get</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-selection-notify-event" title="The “selection-notify-event” signal">selection-notify-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-selection-received" title="The “selection-received” signal">selection-received</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-selection-request-event" title="The “selection-request-event” signal">selection-request-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-show" title="The “show” signal">show</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-show-help" title="The “show-help” signal">show-help</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-size-allocate" title="The “size-allocate” signal">size-allocate</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-state-changed" title="The “state-changed” signal">state-changed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-state-flags-changed" title="The “state-flags-changed” signal">state-flags-changed</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-style-set" title="The “style-set” signal">style-set</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-style-updated" title="The “style-updated” signal">style-updated</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-touch-event" title="The “touch-event” signal">touch-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-unmap" title="The “unmap” signal">unmap</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-unmap-event" title="The “unmap-event” signal">unmap-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-unrealize" title="The “unrealize” signal">unrealize</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-visibility-notify-event" title="The “visibility-notify-event” signal">visibility-notify-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> <tr> <td class="signal_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td> <td class="signal_name"><a class="link" href="GtkWidget.html#GtkWidget-window-state-event" title="The “window-state-event” signal">window-state-event</a></td> <td class="signal_flags"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr> </tbody> </table></div> </div> <a name="GtkRequisition"></a><div class="refsect1"> <a name="GtkWidget.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="name"> <col class="description"> </colgroup> <tbody> <tr> <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkWidget-struct" title="GtkWidget">GtkWidget</a></td> </tr> <tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass">GtkWidgetClass</a></td> </tr> <tr> <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkRequisition-struct" title="GtkRequisition">GtkRequisition</a></td> </tr> <tr> <td class="typedef_keyword">typedef</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation">GtkAllocation</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkWidgetHelpType" title="enum GtkWidgetHelpType">GtkWidgetHelpType</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection">GtkTextDirection</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType">GtkStateType</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkSizeRequestMode" title="enum GtkSizeRequestMode">GtkSizeRequestMode</a></td> </tr> <tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkRequestedSize" title="struct GtkRequestedSize">GtkRequestedSize</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign">GtkAlign</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkWidget.object-hierarchy"></a><h2>Object Hierarchy</h2> <pre class="screen"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> <span class="lineart">╰──</span> GtkRequisition <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> <span class="lineart">╰──</span> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> <span class="lineart">╰──</span> GtkWidget <span class="lineart">├──</span> <a class="link" href="GtkContainer.html" title="GtkContainer">GtkContainer</a> <span class="lineart">├──</span> <a class="link" href="GtkMisc.html" title="GtkMisc">GtkMisc</a> <span class="lineart">├──</span> <a class="link" href="GtkCalendar.html" title="GtkCalendar">GtkCalendar</a> <span class="lineart">├──</span> <a class="link" href="GtkCellView.html" title="GtkCellView">GtkCellView</a> <span class="lineart">├──</span> <a class="link" href="GtkDrawingArea.html" title="GtkDrawingArea">GtkDrawingArea</a> <span class="lineart">├──</span> <a class="link" href="GtkEntry.html" title="GtkEntry">GtkEntry</a> <span class="lineart">├──</span> <a class="link" href="GtkGLArea.html" title="GtkGLArea">GtkGLArea</a> <span class="lineart">├──</span> <a class="link" href="GtkRange.html" title="GtkRange">GtkRange</a> <span class="lineart">├──</span> <a class="link" href="GtkSeparator.html" title="GtkSeparator">GtkSeparator</a> <span class="lineart">├──</span> <a class="link" href="GtkHSV.html" title="GtkHSV">GtkHSV</a> <span class="lineart">├──</span> <a class="link" href="GtkInvisible.html" title="GtkInvisible">GtkInvisible</a> <span class="lineart">├──</span> <a class="link" href="GtkProgressBar.html" title="GtkProgressBar">GtkProgressBar</a> <span class="lineart">├──</span> <a class="link" href="GtkSpinner.html" title="GtkSpinner">GtkSpinner</a> <span class="lineart">├──</span> <a class="link" href="GtkSwitch.html" title="GtkSwitch">GtkSwitch</a> <span class="lineart">╰──</span> <a class="link" href="GtkLevelBar.html" title="GtkLevelBar">GtkLevelBar</a> </pre> </div> <div class="refsect1"> <a name="GtkWidget.derived-interfaces"></a><h2>Known Derived Interfaces</h2> <p> GtkWidget is required by <a class="link" href="GtkActionable.html" title="GtkActionable">GtkActionable</a>, <a class="link" href="GtkAppChooser.html" title="GtkAppChooser">GtkAppChooser</a>, <a class="link" href="GtkCellEditable.html" title="GtkCellEditable">GtkCellEditable</a> and <a class="link" href="GtkToolShell.html" title="GtkToolShell">GtkToolShell</a>.</p> </div> <div class="refsect1"> <a name="GtkWidget.implemented-interfaces"></a><h2>Implemented Interfaces</h2> <p> GtkWidget implements AtkImplementorIface and <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a>.</p> </div> <div class="refsect1"> <a name="GtkWidget.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <gtk/gtk.h> </pre> </div> <div class="refsect1"> <a name="GtkWidget.description"></a><h2>Description</h2> <p>GtkWidget is the base class all widgets in GTK+ derive from. It manages the widget lifecycle, states and style.</p> <div class="refsect2"> <a name="geometry-management"></a><h3>Height-for-width Geometry Management</h3> <p>GTK+ uses a height-for-width (and width-for-height) geometry management system. Height-for-width means that a widget can change how much vertical space it needs, depending on the amount of horizontal space that it is given (and similar for width-for-height). The most common example is a label that reflows to fill up the available width, wraps to fewer lines, and therefore needs less height.</p> <p>Height-for-width geometry management is implemented in GTK+ by way of five virtual methods:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"><p><a class="link" href="GtkWidget.html#GtkWidgetClass.get-request-mode"><code class="function">GtkWidgetClass.get_request_mode()</code></a></p></li> <li class="listitem"><p><a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-width"><code class="function">GtkWidgetClass.get_preferred_width()</code></a></p></li> <li class="listitem"><p><a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height"><code class="function">GtkWidgetClass.get_preferred_height()</code></a></p></li> <li class="listitem"><p><a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height-for-width"><code class="function">GtkWidgetClass.get_preferred_height_for_width()</code></a></p></li> <li class="listitem"><p><a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-width-for-height"><code class="function">GtkWidgetClass.get_preferred_width_for_height()</code></a></p></li> <li class="listitem"><p><a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height-and-baseline-for-width"><code class="function">GtkWidgetClass.get_preferred_height_and_baseline_for_width()</code></a></p></li> </ul></div> <p>There are some important things to keep in mind when implementing height-for-width and when using it in container implementations.</p> <p>The geometry management system will query a widget hierarchy in only one orientation at a time. When widgets are initially queried for their minimum sizes it is generally done in two initial passes in the <a class="link" href="GtkWidget.html#GtkSizeRequestMode" title="enum GtkSizeRequestMode"><span class="type">GtkSizeRequestMode</span></a> chosen by the toplevel.</p> <p>For example, when queried in the normal <a class="link" href="GtkWidget.html#GTK-SIZE-REQUEST-HEIGHT-FOR-WIDTH:CAPS"><code class="literal">GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</code></a> mode: First, the default minimum and natural width for each widget in the interface will be computed using <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-width" title="gtk_widget_get_preferred_width ()"><code class="function">gtk_widget_get_preferred_width()</code></a>. Because the preferred widths for each container depend on the preferred widths of their children, this information propagates up the hierarchy, and finally a minimum and natural width is determined for the entire toplevel. Next, the toplevel will use the minimum width to query for the minimum height contextual to that width using <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-height-for-width" title="gtk_widget_get_preferred_height_for_width ()"><code class="function">gtk_widget_get_preferred_height_for_width()</code></a>, which will also be a highly recursive operation. The minimum height for the minimum width is normally used to set the minimum size constraint on the toplevel (unless <a class="link" href="GtkWindow.html#gtk-window-set-geometry-hints" title="gtk_window_set_geometry_hints ()"><code class="function">gtk_window_set_geometry_hints()</code></a> is explicitly used instead).</p> <p>After the toplevel window has initially requested its size in both dimensions it can go on to allocate itself a reasonable size (or a size previously specified with <a class="link" href="GtkWindow.html#gtk-window-set-default-size" title="gtk_window_set_default_size ()"><code class="function">gtk_window_set_default_size()</code></a>). During the recursive allocation process it’s important to note that request cycles will be recursively executed while container widgets allocate their children. Each container widget, once allocated a size, will go on to first share the space in one orientation among its children and then request each child's height for its target allocated width or its width for allocated height, depending. In this way a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> will typically be requested its size a number of times before actually being allocated a size. The size a widget is finally allocated can of course differ from the size it has requested. For this reason, <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> caches a small number of results to avoid re-querying for the same sizes in one allocation cycle.</p> <p>See GtkContainer’s geometry management section to learn more about how height-for-width allocations are performed by container widgets.</p> <p>If a widget does move content around to intelligently use up the allocated size then it must support the request in both <a href="GtkWidget.html#GtkSizeRequestMode"><span class="type">GtkSizeRequestModes</span></a> even if the widget in question only trades sizes in a single orientation.</p> <p>For instance, a <a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a> that does height-for-width word wrapping will not expect to have <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height"><code class="function">GtkWidgetClass.get_preferred_height()</code></a> called because that call is specific to a width-for-height request. In this case the label must return the height required for its own minimum possible width. By following this rule any widget that handles height-for-width or width-for-height requests will always be allocated at least enough space to fit its own content.</p> <p>Here are some examples of how a <a class="link" href="GtkWidget.html#GTK-SIZE-REQUEST-HEIGHT-FOR-WIDTH:CAPS"><code class="literal">GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</code></a> widget generally deals with width-for-height requests, for <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height"><code class="function">GtkWidgetClass.get_preferred_height()</code></a> it will do:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span> <span class="function">foo_widget_get_preferred_height</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span> gint <span class="gtkdoc opt">*</span>min_height<span class="gtkdoc opt">,</span> gint <span class="gtkdoc opt">*</span>nat_height<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span>i_am_in_height_for_width_mode<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> gint min_width<span class="gtkdoc opt">,</span> nat_width<span class="gtkdoc opt">;</span> <span class="function">GTK_WIDGET_GET_CLASS</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">)-></span><span class="function">get_preferred_width</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> <span class="gtkdoc opt">&</span>min_width<span class="gtkdoc opt">,</span> <span class="gtkdoc opt">&</span>nat_width<span class="gtkdoc opt">);</span> <span class="function">GTK_WIDGET_GET_CLASS</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">)-></span>get_preferred_height_for_width <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> min_width<span class="gtkdoc opt">,</span> min_height<span class="gtkdoc opt">,</span> nat_height<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span> <span class="keyword">else</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc opt">...</span> some widgets <span class="keyword">do</span> both<span class="gtkdoc opt">.</span> For instance<span class="gtkdoc opt">,</span> <span class="keyword">if</span> a GtkLabel is rotated to <span class="number">90</span> degrees it will <span class="keyword">return</span> the minimum <span class="keyword">and</span> natural height <span class="keyword">for</span> the rotated label here<span class="gtkdoc opt">.</span> <span class="gtkdoc opt">}</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>And in <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-width-for-height"><code class="function">GtkWidgetClass.get_preferred_width_for_height()</code></a> it will simply return the minimum and natural width:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span> <span class="function">foo_widget_get_preferred_width_for_height</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span> gint for_height<span class="gtkdoc opt">,</span> gint <span class="gtkdoc opt">*</span>min_width<span class="gtkdoc opt">,</span> gint <span class="gtkdoc opt">*</span>nat_width<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span>i_am_in_height_for_width_mode<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="function">GTK_WIDGET_GET_CLASS</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">)-></span><span class="function">get_preferred_width</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> min_width<span class="gtkdoc opt">,</span> nat_width<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span> <span class="keyword">else</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc opt">...</span> again <span class="keyword">if</span> a widget is sometimes operating in width<span class="gtkdoc opt">-</span><span class="keyword">for</span><span class="gtkdoc opt">-</span>height <span class="function">mode</span> <span class="gtkdoc opt">(</span>like a rotated GtkLabel<span class="gtkdoc opt">)</span> it can go ahead <span class="keyword">and do</span> its real width <span class="keyword">for</span> height calculation here<span class="gtkdoc opt">.</span> <span class="gtkdoc opt">}</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>Often a widget needs to get its own request during size request or allocation. For example, when computing height it may need to also compute width. Or when deciding how to use an allocation, the widget may need to know its natural size. In these cases, the widget should be careful to call its virtual methods directly, like this:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3</pre></td> <td class="listing_code"><pre class="programlisting"><span class="function">GTK_WIDGET_GET_CLASS</span><span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">)-></span><span class="function">get_preferred_width</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> <span class="gtkdoc opt">&</span>min<span class="gtkdoc opt">,</span> <span class="gtkdoc opt">&</span>natural<span class="gtkdoc opt">);</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>It will not work to use the wrapper functions, such as <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-width" title="gtk_widget_get_preferred_width ()"><code class="function">gtk_widget_get_preferred_width()</code></a> inside your own size request implementation. These return a request adjusted by <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> and by the <a class="link" href="GtkWidget.html#GtkWidgetClass.adjust-size-request"><code class="function">GtkWidgetClass.adjust_size_request()</code></a> virtual method. If a widget used the wrappers inside its virtual method implementations, then the adjustments (such as widget margins) would be applied twice. GTK+ therefore does not allow this and will warn if you try to do it.</p> <p>Of course if you are getting the size request for another widget, such as a child of a container, you must use the wrapper APIs. Otherwise, you would not properly consider widget margins, <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a>, and so forth.</p> <p>Since 3.10 GTK+ also supports baseline vertical alignment of widgets. This means that widgets are positioned such that the typographical baseline of widgets in the same row are aligned. This happens if a widget supports baselines, has a vertical alignment of <a class="link" href="GtkWidget.html#GTK-ALIGN-BASELINE:CAPS"><code class="literal">GTK_ALIGN_BASELINE</code></a>, and is inside a container that supports baselines and has a natural “row” that it aligns to the baseline, or a baseline assigned to it by the grandparent.</p> <p>Baseline alignment support for a widget is done by the <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height-and-baseline-for-width"><code class="function">GtkWidgetClass.get_preferred_height_and_baseline_for_width()</code></a> virtual function. It allows you to report a baseline in combination with the minimum and natural height. If there is no baseline you can return -1 to indicate this. The default implementation of this virtual function calls into the <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height"><code class="function">GtkWidgetClass.get_preferred_height()</code></a> and <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height-for-width"><code class="function">GtkWidgetClass.get_preferred_height_for_width()</code></a>, so if baselines are not supported it doesn’t need to be implemented.</p> <p>If a widget ends up baseline aligned it will be allocated all the space in the parent as if it was <a class="link" href="GtkWidget.html#GTK-ALIGN-FILL:CAPS"><code class="literal">GTK_ALIGN_FILL</code></a>, but the selected baseline can be found via <a class="link" href="GtkWidget.html#gtk-widget-get-allocated-baseline" title="gtk_widget_get_allocated_baseline ()"><code class="function">gtk_widget_get_allocated_baseline()</code></a>. If this has a value other than -1 you need to align the widget such that the baseline appears at the position.</p> </div> <hr> <div class="refsect2"> <a name="id-1.3.20.2.13.4"></a><h3>Style Properties</h3> <p><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> introduces “style properties” - these are basically object properties that are stored not on the object, but in the style object associated to the widget. Style properties are set in <a class="link" href="gtk3-Resource-Files.html" title="Resource Files">resource files</a>. This mechanism is used for configuring such things as the location of the scrollbar arrows through the theme, giving theme authors more control over the look of applications without the need to write a theme engine in C.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-class-install-style-property" title="gtk_widget_class_install_style_property ()"><code class="function">gtk_widget_class_install_style_property()</code></a> to install style properties for a widget class, <a class="link" href="GtkWidget.html#gtk-widget-class-find-style-property" title="gtk_widget_class_find_style_property ()"><code class="function">gtk_widget_class_find_style_property()</code></a> or <a class="link" href="GtkWidget.html#gtk-widget-class-list-style-properties" title="gtk_widget_class_list_style_properties ()"><code class="function">gtk_widget_class_list_style_properties()</code></a> to get information about existing style properties and <a class="link" href="GtkWidget.html#gtk-widget-style-get-property" title="gtk_widget_style_get_property ()"><code class="function">gtk_widget_style_get_property()</code></a>, <a class="link" href="GtkWidget.html#gtk-widget-style-get" title="gtk_widget_style_get ()"><code class="function">gtk_widget_style_get()</code></a> or <a class="link" href="GtkWidget.html#gtk-widget-style-get-valist" title="gtk_widget_style_get_valist ()"><code class="function">gtk_widget_style_get_valist()</code></a> to obtain the value of a style property.</p> </div> <hr> <div class="refsect2"> <a name="id-1.3.20.2.13.5"></a><h3>GtkWidget as GtkBuildable</h3> <p>The GtkWidget implementation of the GtkBuildable interface supports a custom <accelerator> element, which has attributes named ”key”, ”modifiers” and ”signal” and allows to specify accelerators.</p> <p>An example of a UI definition fragment specifying an accelerator:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>object <span class="gtkdoc kwc">class</span><span class="gtkdoc opt">=</span><span class="string">"GtkButton"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>accelerator key<span class="gtkdoc opt">=</span><span class="string">"q"</span> modifiers<span class="gtkdoc opt">=</span><span class="string">"GDK_CONTROL_MASK"</span> signal<span class="gtkdoc opt">=</span><span class="string">"clicked"</span><span class="gtkdoc opt">/></span> <span class="gtkdoc opt"></</span>object<span class="gtkdoc opt">></span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>In addition to accelerators, GtkWidget also support a custom <accessible> element, which supports actions and relations. Properties on the accessible implementation of an object can be set by accessing the internal child “accessible” of a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.</p> <p>An example of a UI definition fragment specifying an accessible:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>object <span class="gtkdoc kwc">class</span><span class="gtkdoc opt">=</span><span class="string">"GtkButton"</span> id<span class="gtkdoc opt">=</span><span class="string">"label1"</span><span class="gtkdoc opt">/></span> <span class="gtkdoc opt"><</span>property name<span class="gtkdoc opt">=</span><span class="string">"label"</span><span class="gtkdoc opt">></span>I am a Label <span class="keyword">for</span> a Button<span class="gtkdoc opt"></</span>property<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>object<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>object <span class="gtkdoc kwc">class</span><span class="gtkdoc opt">=</span><span class="string">"GtkButton"</span> id<span class="gtkdoc opt">=</span><span class="string">"button1"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>accessibility<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>action action_name<span class="gtkdoc opt">=</span><span class="string">"click"</span> translatable<span class="gtkdoc opt">=</span><span class="string">"yes"</span><span class="gtkdoc opt">></span>Click the button<span class="gtkdoc opt">.</</span>action<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>relation target<span class="gtkdoc opt">=</span><span class="string">"label1"</span> type<span class="gtkdoc opt">=</span><span class="string">"labelled-by"</span><span class="gtkdoc opt">/></span> <span class="gtkdoc opt"></</span>accessibility<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>child internal<span class="gtkdoc opt">-</span>child<span class="gtkdoc opt">=</span><span class="string">"accessible"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>object <span class="gtkdoc kwc">class</span><span class="gtkdoc opt">=</span><span class="string">"AtkObject"</span> id<span class="gtkdoc opt">=</span><span class="string">"a11y-button1"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>property name<span class="gtkdoc opt">=</span><span class="string">"accessible-name"</span><span class="gtkdoc opt">></span>Clickable Button<span class="gtkdoc opt"></</span>property<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>object<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>child<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>object<span class="gtkdoc opt">></span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>Finally, GtkWidget allows style information such as style classes to be associated with widgets, using the custom <style> element:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>object <span class="gtkdoc kwc">class</span><span class="gtkdoc opt">=</span><span class="string">"GtkButton"</span> id<span class="gtkdoc opt">=</span><span class="string">"button1"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>style<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span><span class="gtkdoc kwc">class</span> name<span class="gtkdoc opt">=</span><span class="string">"my-special-button-class"</span><span class="gtkdoc opt">/></span> <span class="gtkdoc opt"><</span><span class="gtkdoc kwc">class</span> name<span class="gtkdoc opt">=</span><span class="string">"dark-button"</span><span class="gtkdoc opt">/></span> <span class="gtkdoc opt"></</span>style<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>object<span class="gtkdoc opt">></span></pre></td> </tr> </tbody> </table> </div> <p></p> </div> <hr> <div class="refsect2"> <a name="composite-templates"></a><h3>Building composite widgets from template XML</h3> <p>GtkWidget exposes some facilities to automate the procedure of creating composite widgets using <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> interface description language.</p> <p>To create composite widgets with <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> XML, one must associate the interface description with the widget class at class initialization time using <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>.</p> <p>The interface description semantics expected in composite template descriptions is slightly different from regular <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> XML.</p> <p>Unlike regular interface descriptions, <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a> will expect a <template> tag as a direct child of the toplevel <interface> tag. The <template> tag must specify the “class” attribute which must be the type name of the widget. Optionally, the “parent” attribute may be specified to specify the direct parent type of the widget type, this is ignored by the GtkBuilder but required for Glade to introspect what kind of properties and internal children exist for a given type when the actual type does not exist.</p> <p>The XML which is contained inside the <template> tag behaves as if it were added to the <object> tag defining <em class="parameter"><code>widget</code></em> itself. You may set properties on <em class="parameter"><code>widget</code></em> by inserting <property> tags into the <template> tag, and also add <child> tags to add children and extend <em class="parameter"><code>widget</code></em> in the normal way you would with <object> tags.</p> <p>Additionally, <object> tags can also be added before and after the initial <template> tag in the normal way, allowing one to define auxiliary objects which might be referenced by other widgets declared as children of the <template> tag.</p> <p>An example of a GtkBuilder Template Definition:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>interface<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span><span class="gtkdoc kwc">template class</span><span class="gtkdoc opt">=</span><span class="string">"FooWidget"</span> parent<span class="gtkdoc opt">=</span><span class="string">"GtkBox"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>property name<span class="gtkdoc opt">=</span><span class="string">"orientation"</span><span class="gtkdoc opt">></span>GTK_ORIENTATION_HORIZONTAL<span class="gtkdoc opt"></</span>property<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>property name<span class="gtkdoc opt">=</span><span class="string">"spacing"</span><span class="gtkdoc opt">></span><span class="number">4</span><span class="gtkdoc opt"></</span>property<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>child<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>object <span class="gtkdoc kwc">class</span><span class="gtkdoc opt">=</span><span class="string">"GtkButton"</span> id<span class="gtkdoc opt">=</span><span class="string">"hello_button"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>property name<span class="gtkdoc opt">=</span><span class="string">"label"</span><span class="gtkdoc opt">></span>Hello World<span class="gtkdoc opt"></</span>property<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>signal name<span class="gtkdoc opt">=</span><span class="string">"clicked"</span> handler<span class="gtkdoc opt">=</span><span class="string">"hello_button_clicked"</span> object<span class="gtkdoc opt">=</span><span class="string">"FooWidget"</span> swapped<span class="gtkdoc opt">=</span><span class="string">"yes"</span><span class="gtkdoc opt">/></span> <span class="gtkdoc opt"></</span>object<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>child<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>child<span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>object <span class="gtkdoc kwc">class</span><span class="gtkdoc opt">=</span><span class="string">"GtkButton"</span> id<span class="gtkdoc opt">=</span><span class="string">"goodbye_button"</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"><</span>property name<span class="gtkdoc opt">=</span><span class="string">"label"</span><span class="gtkdoc opt">></span>Goodbye World<span class="gtkdoc opt"></</span>property<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>object<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>child<span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span><span class="gtkdoc kwc">template</span><span class="gtkdoc opt">></span> <span class="gtkdoc opt"></</span>interface<span class="gtkdoc opt">></span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>Typically, you'll place the template fragment into a file that is bundled with your project, using <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GResource.html#GResource-struct"><span class="type">GResource</span></a>. In order to load the template, you need to call <a class="link" href="GtkWidget.html#gtk-widget-class-set-template-from-resource" title="gtk_widget_class_set_template_from_resource ()"><code class="function">gtk_widget_class_set_template_from_resource()</code></a> from the class initialization of your <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> type:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span> <span class="function">foo_widget_class_init</span> <span class="gtkdoc opt">(</span>FooWidgetClass <span class="gtkdoc opt">*</span>klass<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc slc">// ...</span> <span class="function"><a href="GtkWidget.html#gtk-widget-class-set-template-from-resource">gtk_widget_class_set_template_from_resource</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">),</span> <span class="string">"/com/example/ui/foowidget.ui"</span><span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>You will also need to call <a class="link" href="GtkWidget.html#gtk-widget-init-template" title="gtk_widget_init_template ()"><code class="function">gtk_widget_init_template()</code></a> from the instance initialization function:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span> <span class="function">foo_widget_init</span> <span class="gtkdoc opt">(</span>FooWidget <span class="gtkdoc opt">*</span>self<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc slc">// ...</span> <span class="function"><a href="GtkWidget.html#gtk-widget-init-template">gtk_widget_init_template</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET</span> <span class="gtkdoc opt">(</span>self<span class="gtkdoc opt">));</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>You can access widgets defined in the template using the <a class="link" href="GtkWidget.html#gtk-widget-get-template-child" title="gtk_widget_get_template_child ()"><code class="function">gtk_widget_get_template_child()</code></a> function, but you will typically declare a pointer in the instance private data structure of your type using the same name as the widget in the template definition, and call <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-private" title="gtk_widget_class_bind_template_child_private()"><code class="function">gtk_widget_class_bind_template_child_private()</code></a> with that name, e.g.</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwc">typedef</span> <span class="gtkdoc kwb">struct</span> <span class="gtkdoc opt">{</span> GtkWidget <span class="gtkdoc opt">*</span>hello_button<span class="gtkdoc opt">;</span> GtkWidget <span class="gtkdoc opt">*</span>goodbye_button<span class="gtkdoc opt">;</span> <span class="gtkdoc opt">}</span> FooWidgetPrivate<span class="gtkdoc opt">;</span> <span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-DEFINE-TYPE-WITH-PRIVATE:CAPS">G_DEFINE_TYPE_WITH_PRIVATE</a></span> <span class="gtkdoc opt">(</span>FooWidget<span class="gtkdoc opt">,</span> foo_widget<span class="gtkdoc opt">,</span> GTK_TYPE_BOX<span class="gtkdoc opt">)</span> <span class="gtkdoc kwb">static void</span> <span class="function">foo_widget_class_init</span> <span class="gtkdoc opt">(</span>FooWidgetClass <span class="gtkdoc opt">*</span>klass<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc slc">// ...</span> <span class="function"><a href="GtkWidget.html#gtk-widget-class-set-template-from-resource">gtk_widget_class_set_template_from_resource</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">),</span> <span class="string">"/com/example/ui/foowidget.ui"</span><span class="gtkdoc opt">);</span> <span class="function"><a href="GtkWidget.html#gtk-widget-class-bind-template-child-private">gtk_widget_class_bind_template_child_private</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">),</span> FooWidget<span class="gtkdoc opt">,</span> hello_button<span class="gtkdoc opt">);</span> <span class="function"><a href="GtkWidget.html#gtk-widget-class-bind-template-child-private">gtk_widget_class_bind_template_child_private</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">),</span> FooWidget<span class="gtkdoc opt">,</span> goodbye_button<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>You can also use <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-callback" title="gtk_widget_class_bind_template_callback()"><code class="function">gtk_widget_class_bind_template_callback()</code></a> to connect a signal callback defined in the template with a function visible in the scope of the class, e.g.</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc slc">// the signal handler has the instance and user data swapped</span> <span class="gtkdoc slc">// because of the swapped="yes" attribute in the template XML</span> <span class="gtkdoc kwb">static void</span> <span class="function">hello_button_clicked</span> <span class="gtkdoc opt">(</span>FooWidget <span class="gtkdoc opt">*</span>self<span class="gtkdoc opt">,</span> GtkButton <span class="gtkdoc opt">*</span>button<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">"Hello, world!</span><span class="gtkdoc esc">\n</span><span class="string">"</span><span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span> <span class="gtkdoc kwb">static void</span> <span class="function">foo_widget_class_init</span> <span class="gtkdoc opt">(</span>FooWidgetClass <span class="gtkdoc opt">*</span>klass<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc slc">// ...</span> <span class="function"><a href="GtkWidget.html#gtk-widget-class-set-template-from-resource">gtk_widget_class_set_template_from_resource</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">),</span> <span class="string">"/com/example/ui/foowidget.ui"</span><span class="gtkdoc opt">);</span> <span class="function"><a href="GtkWidget.html#gtk-widget-class-bind-template-callback">gtk_widget_class_bind_template_callback</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">),</span> hello_button_clicked<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> </div> </div> <div class="refsect1"> <a name="GtkWidget.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="GtkCallback"></a><h3>GtkCallback ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre> <p>The type of the callback functions used for e.g. iterating over the children of a container, see <a class="link" href="GtkContainer.html#gtk-container-foreach" title="gtk_container_foreach ()"><code class="function">gtk_container_foreach()</code></a>.</p> <div class="refsect3"> <a name="GtkCallback.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget to operate on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p> user-supplied data. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-new"></a><h3>gtk_widget_new ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * gtk_widget_new (<em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>, <em class="parameter"><code>...</code></em>);</pre> <p>This is a convenience function for creating a widget and setting its properties in one go. For example you might write: <code class="literal">gtk_widget_new (GTK_TYPE_LABEL, "label", "Hello World", "xalign", 0.0, NULL)</code> to create a left-aligned label. Equivalent to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-new"><code class="function">g_object_new()</code></a>, but returns a widget so you don’t have to cast the object yourself.</p> <div class="refsect3"> <a name="gtk-widget-new.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>type</p></td> <td class="parameter_description"><p>type ID of the widget to create</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>first_property_name</p></td> <td class="parameter_description"><p>name of first property to set</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>...</p></td> <td class="parameter_description"><p>value of first property, followed by more properties, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-new.returns"></a><h4>Returns</h4> <p> a new <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> of type <em class="parameter"><code>widget_type</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-destroy"></a><h3>gtk_widget_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_destroy (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Destroys a widget.</p> <p>When a widget is destroyed all references it holds on other objects will be released:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"><p>if the widget is inside a container, it will be removed from its parent</p></li> <li class="listitem"><p>if the widget is a container, all its children will be destroyed, recursively</p></li> <li class="listitem"><p>if the widget is a top level, it will be removed from the list of top level widgets that GTK+ maintains internally</p></li> </ul></div> <p>It's expected that all references held on the widget will also be released; you should connect to the <a class="link" href="GtkWidget.html#GtkWidget-destroy" title="The “destroy” signal"><span class="type">“destroy”</span></a> signal if you hold a reference to <em class="parameter"><code>widget</code></em> and you wish to remove it when this function is called. It is not necessary to do so if you are implementing a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a>, as you'll be able to use the <a class="link" href="GtkContainer.html#GtkContainerClass.remove"><code class="function">GtkContainerClass.remove()</code></a> virtual function for that.</p> <p>It's important to notice that <a class="link" href="GtkWidget.html#gtk-widget-destroy" title="gtk_widget_destroy ()"><code class="function">gtk_widget_destroy()</code></a> will only cause the <em class="parameter"><code>widget</code></em> to be finalized if no additional references, acquired using <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>, are held on it. In case additional references are in place, the <em class="parameter"><code>widget</code></em> will be in an "inert" state after calling this function; <em class="parameter"><code>widget</code></em> will still point to valid memory, allowing you to release the references you hold, but you may not query the widget's own state.</p> <p>You should typically call this function on top level widgets, and rarely on child widgets.</p> <p>See also: <a class="link" href="GtkContainer.html#gtk-container-remove" title="gtk_container_remove ()"><code class="function">gtk_container_remove()</code></a></p> <div class="refsect3"> <a name="gtk-widget-destroy.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-in-destruction"></a><h3>gtk_widget_in_destruction ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_in_destruction (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns whether the widget is currently being destroyed. This information can sometimes be used to avoid doing unnecessary work.</p> <div class="refsect3"> <a name="gtk-widget-in-destruction.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-in-destruction.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> is being destroyed</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-destroyed"></a><h3>gtk_widget_destroyed ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_destroyed (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> **widget_pointer</code></em>);</pre> <p>This function sets *<em class="parameter"><code>widget_pointer</code></em> to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>widget_pointer</code></em> != <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. It’s intended to be used as a callback connected to the “destroy” signal of a widget. You connect <a class="link" href="GtkWidget.html#gtk-widget-destroyed" title="gtk_widget_destroyed ()"><code class="function">gtk_widget_destroyed()</code></a> as a signal handler, and pass the address of your widget variable as user data. Then when the widget is destroyed, the variable will be set to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Useful for example to avoid multiple copies of the same dialog.</p> <div class="refsect3"> <a name="gtk-widget-destroyed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>widget_pointer</p></td> <td class="parameter_description"><p> address of a variable that contains <em class="parameter"><code>widget</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-unparent"></a><h3>gtk_widget_unparent ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_unparent (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function is only for use in widget implementations. Should be called by implementations of the remove method on <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a>, to dissociate a child from the container.</p> <div class="refsect3"> <a name="gtk-widget-unparent.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-show"></a><h3>gtk_widget_show ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_show (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Flags a widget to be displayed. Any widget that isn’t shown will not appear on the screen. If you want to show all the widgets in a container, it’s easier to call <a class="link" href="GtkWidget.html#gtk-widget-show-all" title="gtk_widget_show_all ()"><code class="function">gtk_widget_show_all()</code></a> on the container, instead of individually showing the widgets.</p> <p>Remember that you have to show the containers containing a widget, in addition to the widget itself, before it will appear onscreen.</p> <p>When a toplevel container is shown, it is immediately realized and mapped; other shown widgets are realized and mapped when their toplevel container is realized and mapped.</p> <div class="refsect3"> <a name="gtk-widget-show.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-show-now"></a><h3>gtk_widget_show_now ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_show_now (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Shows a widget. If the widget is an unmapped toplevel widget (i.e. a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> that has not yet been shown), enter the main loop and wait for the window to actually be mapped. Be careful; because the main loop is running, anything can happen during this function.</p> <div class="refsect3"> <a name="gtk-widget-show-now.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-hide"></a><h3>gtk_widget_hide ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_hide (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Reverses the effects of <a class="link" href="GtkWidget.html#gtk-widget-show" title="gtk_widget_show ()"><code class="function">gtk_widget_show()</code></a>, causing the widget to be hidden (invisible to the user).</p> <div class="refsect3"> <a name="gtk-widget-hide.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-show-all"></a><h3>gtk_widget_show_all ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_show_all (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Recursively shows a widget, and any child widgets (if the widget is a container).</p> <div class="refsect3"> <a name="gtk-widget-show-all.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-map"></a><h3>gtk_widget_map ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_map (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function is only for use in widget implementations. Causes a widget to be mapped if it isn’t already.</p> <div class="refsect3"> <a name="gtk-widget-map.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-unmap"></a><h3>gtk_widget_unmap ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_unmap (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function is only for use in widget implementations. Causes a widget to be unmapped if it’s currently mapped.</p> <div class="refsect3"> <a name="gtk-widget-unmap.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-realize"></a><h3>gtk_widget_realize ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_realize (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Creates the GDK (windowing system) resources associated with a widget. For example, <em class="parameter"><code>widget->window</code></em> will be created when a widget is realized. Normally realization happens implicitly; if you show a widget and all its parent containers, then the widget will be realized and mapped automatically.</p> <p>Realizing a widget requires all the widget’s parent widgets to be realized; calling <a class="link" href="GtkWidget.html#gtk-widget-realize" title="gtk_widget_realize ()"><code class="function">gtk_widget_realize()</code></a> realizes the widget’s parents in addition to <em class="parameter"><code>widget</code></em> itself. If a widget is not yet inside a toplevel window when you realize it, bad things will happen.</p> <p>This function is primarily used in widget implementations, and isn’t very useful otherwise. Many times when you think you might need it, a better approach is to connect to a signal that will be called after the widget is realized automatically, such as <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a>. Or simply <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#g-signal-connect"><code class="function">g_signal_connect()</code></a> to the <a class="link" href="GtkWidget.html#GtkWidget-realize" title="The “realize” signal"><span class="type">“realize”</span></a> signal.</p> <div class="refsect3"> <a name="gtk-widget-realize.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-unrealize"></a><h3>gtk_widget_unrealize ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_unrealize (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function is only useful in widget implementations. Causes a widget to be unrealized (frees all GDK resources associated with the widget, such as <em class="parameter"><code>widget->window</code></em> ).</p> <div class="refsect3"> <a name="gtk-widget-unrealize.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-draw"></a><h3>gtk_widget_draw ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_draw (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><span class="type">cairo_t</span> *cr</code></em>);</pre> <p>Draws <em class="parameter"><code>widget</code></em> to <em class="parameter"><code>cr</code></em> . The top left corner of the widget will be drawn to the currently set origin point of <em class="parameter"><code>cr</code></em> .</p> <p>You should pass a cairo context as <em class="parameter"><code>cr</code></em> argument that is in an original state. Otherwise the resulting drawing is undefined. For example changing the operator using <code class="function">cairo_set_operator()</code> or the line width using <code class="function">cairo_set_line_width()</code> might have unwanted side effects. You may however change the context’s transform matrix - like with <code class="function">cairo_scale()</code>, <code class="function">cairo_translate()</code> or <code class="function">cairo_set_matrix()</code> and clip region with <code class="function">cairo_clip()</code> prior to calling this function. Also, it is fine to modify the context with <code class="function">cairo_save()</code> and <code class="function">cairo_push_group()</code> prior to calling this function.</p> <p>Note that special-purpose widgets may contain special code for rendering to the screen and might appear differently on screen and when rendered using <a class="link" href="GtkWidget.html#gtk-widget-draw" title="gtk_widget_draw ()"><code class="function">gtk_widget_draw()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-draw.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget to draw. It must be drawable (see <a class="link" href="GtkWidget.html#gtk-widget-is-drawable" title="gtk_widget_is_drawable ()"><code class="function">gtk_widget_is_drawable()</code></a>) and a size must have been allocated.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cr</p></td> <td class="parameter_description"><p>a cairo context to draw to</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-queue-draw"></a><h3>gtk_widget_queue_draw ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_queue_draw (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Equivalent to calling <a class="link" href="GtkWidget.html#gtk-widget-queue-draw-area" title="gtk_widget_queue_draw_area ()"><code class="function">gtk_widget_queue_draw_area()</code></a> for the entire area of a widget.</p> <div class="refsect3"> <a name="gtk-widget-queue-draw.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-queue-resize"></a><h3>gtk_widget_queue_resize ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_queue_resize (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function is only for use in widget implementations. Flags a widget to have its size renegotiated; should be called when a widget for some reason has a new size request. For example, when you change the text in a <a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a>, <a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a> queues a resize to ensure there’s enough space for the new text.</p> <p>Note that you cannot call <a class="link" href="GtkWidget.html#gtk-widget-queue-resize" title="gtk_widget_queue_resize ()"><code class="function">gtk_widget_queue_resize()</code></a> on a widget from inside its implementation of the GtkWidgetClass::size_allocate virtual method. Calls to <a class="link" href="GtkWidget.html#gtk-widget-queue-resize" title="gtk_widget_queue_resize ()"><code class="function">gtk_widget_queue_resize()</code></a> from inside GtkWidgetClass::size_allocate will be silently ignored.</p> <div class="refsect3"> <a name="gtk-widget-queue-resize.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-queue-resize-no-redraw"></a><h3>gtk_widget_queue_resize_no_redraw ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_queue_resize_no_redraw (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function works like <a class="link" href="GtkWidget.html#gtk-widget-queue-resize" title="gtk_widget_queue_resize ()"><code class="function">gtk_widget_queue_resize()</code></a>, except that the widget is not invalidated.</p> <div class="refsect3"> <a name="gtk-widget-queue-resize-no-redraw.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-queue-allocate"></a><h3>gtk_widget_queue_allocate ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_queue_allocate (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function is only for use in widget implementations.</p> <p>Flags the widget for a rerun of the GtkWidgetClass::size_allocate function. Use this function instead of <a class="link" href="GtkWidget.html#gtk-widget-queue-resize" title="gtk_widget_queue_resize ()"><code class="function">gtk_widget_queue_resize()</code></a> when the <em class="parameter"><code>widget</code></em> 's size request didn't change but it wants to reposition its contents.</p> <p>An example user of this function is <a class="link" href="GtkWidget.html#gtk-widget-set-halign" title="gtk_widget_set_halign ()"><code class="function">gtk_widget_set_halign()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-queue-allocate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-20.html#api-index-3.20">3.20</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-frame-clock"></a><h3>gtk_widget_get_frame_clock ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#GdkFrameClock-struct"><span class="returnvalue">GdkFrameClock</span></a> * gtk_widget_get_frame_clock (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Obtains the frame clock for a widget. The frame clock is a global “ticker” that can be used to drive animations and repaints. The most common reason to get the frame clock is to call <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#gdk-frame-clock-get-frame-time"><code class="function">gdk_frame_clock_get_frame_time()</code></a>, in order to get a time to use for animating. For example you might record the start of the animation with an initial value from <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#gdk-frame-clock-get-frame-time"><code class="function">gdk_frame_clock_get_frame_time()</code></a>, and then update the animation by calling <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#gdk-frame-clock-get-frame-time"><code class="function">gdk_frame_clock_get_frame_time()</code></a> again during each repaint.</p> <p>gdk_frame_clock_request_phase() will result in a new frame on the clock, but won’t necessarily repaint any widgets. To repaint a widget, you have to use <a class="link" href="GtkWidget.html#gtk-widget-queue-draw" title="gtk_widget_queue_draw ()"><code class="function">gtk_widget_queue_draw()</code></a> which invalidates the widget (thus scheduling it to receive a draw on the next frame). <a class="link" href="GtkWidget.html#gtk-widget-queue-draw" title="gtk_widget_queue_draw ()"><code class="function">gtk_widget_queue_draw()</code></a> will also end up requesting a frame on the appropriate frame clock.</p> <p>A widget’s frame clock will not change while the widget is mapped. Reparenting a widget (which implies a temporary unmap) can change the widget’s frame clock.</p> <p>Unrealized widgets do not have a frame clock.</p> <div class="refsect3"> <a name="gtk-widget-get-frame-clock.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-frame-clock.returns"></a><h4>Returns</h4> <p> a <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#GdkFrameClock-struct"><span class="type">GdkFrameClock</span></a>, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if widget is unrealized. </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-scale-factor"></a><h3>gtk_widget_get_scale_factor ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_scale_factor (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Retrieves the internal scale factor that maps from window coordinates to the actual device pixels. On traditional systems this is 1, on high density outputs, it can be a higher value (typically 2).</p> <p>See <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-get-scale-factor"><code class="function">gdk_window_get_scale_factor()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-scale-factor.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-scale-factor.returns"></a><h4>Returns</h4> <p> the scale factor for <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="GtkTickCallback"></a><h3>GtkTickCallback ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <span class="c_punctuation">(</span>*GtkTickCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#GdkFrameClock-struct"><span class="type">GdkFrameClock</span></a> *frame_clock</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre> <p>Callback type for adding a function to update animations. See <a class="link" href="GtkWidget.html#gtk-widget-add-tick-callback" title="gtk_widget_add_tick_callback ()"><code class="function">gtk_widget_add_tick_callback()</code></a>.</p> <div class="refsect3"> <a name="GtkTickCallback.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>frame_clock</p></td> <td class="parameter_description"><p>the frame clock for the widget (same as calling <a class="link" href="GtkWidget.html#gtk-widget-get-frame-clock" title="gtk_widget_get_frame_clock ()"><code class="function">gtk_widget_get_frame_clock()</code></a>)</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data passed to <a class="link" href="GtkWidget.html#gtk-widget-add-tick-callback" title="gtk_widget_add_tick_callback ()"><code class="function">gtk_widget_add_tick_callback()</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkTickCallback.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#G-SOURCE-CONTINUE:CAPS"><code class="literal">G_SOURCE_CONTINUE</code></a> if the tick callback should continue to be called, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#G-SOURCE-REMOVE:CAPS"><code class="literal">G_SOURCE_REMOVE</code></a> if the tick callback should be removed.</p> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-add-tick-callback"></a><h3>gtk_widget_add_tick_callback ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gtk_widget_add_tick_callback (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkTickCallback" title="GtkTickCallback ()"><span class="type">GtkTickCallback</span></a> callback</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre> <p>Queues an animation frame update and adds a callback to be called before each frame. Until the tick callback is removed, it will be called frequently (usually at the frame rate of the output device or as quickly as the application can be repainted, whichever is slower). For this reason, is most suitable for handling graphics that change every frame or every few frames. The tick callback does not automatically imply a relayout or repaint. If you want a repaint or relayout, and aren’t changing widget properties that would trigger that (for example, changing the text of a <a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a>), then you will have to call <a class="link" href="GtkWidget.html#gtk-widget-queue-resize" title="gtk_widget_queue_resize ()"><code class="function">gtk_widget_queue_resize()</code></a> or <a class="link" href="GtkWidget.html#gtk-widget-queue-draw-area" title="gtk_widget_queue_draw_area ()"><code class="function">gtk_widget_queue_draw_area()</code></a> yourself.</p> <p>gdk_frame_clock_get_frame_time() should generally be used for timing continuous animations and <a href="http://developer.gnome.org/gdk3/gdk4-GdkFrameTimings.html#gdk-frame-timings-get-predicted-presentation-time"><code class="function">gdk_frame_timings_get_predicted_presentation_time()</code></a> if you are trying to display isolated frames at particular times.</p> <p>This is a more convenient alternative to connecting directly to the <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#GdkFrameClock-update"><span class="type">“update”</span></a> signal of <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#GdkFrameClock-struct"><span class="type">GdkFrameClock</span></a>, since you don't have to worry about when a <a href="http://developer.gnome.org/gdk3/GdkFrameClock.html#GdkFrameClock-struct"><span class="type">GdkFrameClock</span></a> is assigned to a widget.</p> <div class="refsect3"> <a name="gtk-widget-add-tick-callback.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>function to call for updating animations</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>data to pass to <em class="parameter"><code>callback</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>notify</p></td> <td class="parameter_description"><p>function to call to free <em class="parameter"><code>user_data</code></em> when the callback is removed.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-add-tick-callback.returns"></a><h4>Returns</h4> <p> an id for the connection of this callback. Remove the callback by passing it to <a class="link" href="GtkWidget.html#gtk-widget-remove-tick-callback" title="gtk_widget_remove_tick_callback ()"><code class="function">gtk_widget_remove_tick_callback()</code></a></p> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-remove-tick-callback"></a><h3>gtk_widget_remove_tick_callback ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_remove_tick_callback (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>);</pre> <p>Removes a tick callback previously registered with <a class="link" href="GtkWidget.html#gtk-widget-add-tick-callback" title="gtk_widget_add_tick_callback ()"><code class="function">gtk_widget_add_tick_callback()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-remove-tick-callback.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>id</p></td> <td class="parameter_description"><p>an id returned by <a class="link" href="GtkWidget.html#gtk-widget-add-tick-callback" title="gtk_widget_add_tick_callback ()"><code class="function">gtk_widget_add_tick_callback()</code></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-size-request"></a><h3>gtk_widget_size_request ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_size_request (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> *requisition</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_size_request</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-size" title="gtk_widget_get_preferred_size ()"><code class="function">gtk_widget_get_preferred_size()</code></a> instead.</p> </div> <p>This function is typically used when implementing a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> subclass. Obtains the preferred size of a widget. The container uses this information to arrange its child widgets and decide what size allocations to give them with <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()"><code class="function">gtk_widget_size_allocate()</code></a>.</p> <p>You can also call this function from an application, with some caveats. Most notably, getting a size request requires the widget to be associated with a screen, because font information may be needed. Multihead-aware applications should keep this in mind.</p> <p>Also remember that the size request is not necessarily the size a widget will actually be allocated.</p> <div class="refsect3"> <a name="gtk-widget-size-request.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>requisition</p></td> <td class="parameter_description"><p> a <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> to be filled in. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-child-requisition"></a><h3>gtk_widget_get_child_requisition ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_child_requisition (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> *requisition</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_child_requisition</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-size" title="gtk_widget_get_preferred_size ()"><code class="function">gtk_widget_get_preferred_size()</code></a> instead.</p> </div> <p>This function is only for use in widget implementations. Obtains <em class="parameter"><code>widget->requisition</code></em> , unless someone has forced a particular geometry on the widget (e.g. with <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a>), in which case it returns that geometry instead of the widget's requisition.</p> <p>This function differs from <a class="link" href="GtkWidget.html#gtk-widget-size-request" title="gtk_widget_size_request ()"><code class="function">gtk_widget_size_request()</code></a> in that it retrieves the last size request value from <em class="parameter"><code>widget->requisition</code></em> , while <a class="link" href="GtkWidget.html#gtk-widget-size-request" title="gtk_widget_size_request ()"><code class="function">gtk_widget_size_request()</code></a> actually calls the "size_request" method on <em class="parameter"><code>widget</code></em> to compute the size request and fill in <em class="parameter"><code>widget->requisition</code></em> , and only then returns <em class="parameter"><code>widget->requisition</code></em> .</p> <p>Because this function does not call the “size_request” method, it can only be used when you know that <em class="parameter"><code>widget->requisition</code></em> is up-to-date, that is, <a class="link" href="GtkWidget.html#gtk-widget-size-request" title="gtk_widget_size_request ()"><code class="function">gtk_widget_size_request()</code></a> has been called since the last time a resize was queued. In general, only container implementations have this information; applications should use <a class="link" href="GtkWidget.html#gtk-widget-size-request" title="gtk_widget_size_request ()"><code class="function">gtk_widget_size_request()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-child-requisition.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>requisition</p></td> <td class="parameter_description"><p> a <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> to be filled in. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-size-allocate"></a><h3>gtk_widget_size_allocate ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_size_allocate (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> *allocation</code></em>);</pre> <p>This function is only used by <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> subclasses, to assign a size and position to their child widgets.</p> <p>In this function, the allocation may be adjusted. It will be forced to a 1x1 minimum size, and the adjust_size_allocation virtual method on the child will be used to adjust the allocation. Standard adjustments include removing the widget’s margins, and applying the widget’s <a class="link" href="GtkWidget.html#GtkWidget--halign" title="The “halign” property"><span class="type">“halign”</span></a> and <a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property"><span class="type">“valign”</span></a> properties.</p> <p>For baseline support in containers you need to use <a class="link" href="GtkWidget.html#gtk-widget-size-allocate-with-baseline" title="gtk_widget_size_allocate_with_baseline ()"><code class="function">gtk_widget_size_allocate_with_baseline()</code></a> instead.</p> <div class="refsect3"> <a name="gtk-widget-size-allocate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>allocation</p></td> <td class="parameter_description"><p>position and size to be allocated to <em class="parameter"><code>widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-size-allocate-with-baseline"></a><h3>gtk_widget_size_allocate_with_baseline ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_size_allocate_with_baseline (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> *allocation</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> baseline</code></em>);</pre> <p>This function is only used by <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> subclasses, to assign a size, position and (optionally) baseline to their child widgets.</p> <p>In this function, the allocation and baseline may be adjusted. It will be forced to a 1x1 minimum size, and the adjust_size_allocation virtual and adjust_baseline_allocation methods on the child will be used to adjust the allocation and baseline. Standard adjustments include removing the widget's margins, and applying the widget’s <a class="link" href="GtkWidget.html#GtkWidget--halign" title="The “halign” property"><span class="type">“halign”</span></a> and <a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property"><span class="type">“valign”</span></a> properties.</p> <p>If the child widget does not have a valign of <a class="link" href="GtkWidget.html#GTK-ALIGN-BASELINE:CAPS"><code class="literal">GTK_ALIGN_BASELINE</code></a> the baseline argument is ignored and -1 is used instead.</p> <div class="refsect3"> <a name="gtk-widget-size-allocate-with-baseline.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>allocation</p></td> <td class="parameter_description"><p>position and size to be allocated to <em class="parameter"><code>widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>baseline</p></td> <td class="parameter_description"><p>The baseline of the child, or -1</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-add-accelerator"></a><h3>gtk_widget_add_accelerator ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_add_accelerator (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *accel_signal</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Keyboard-Accelerators.html#GtkAccelGroup"><span class="type">GtkAccelGroup</span></a> *accel_group</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> accel_key</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkModifierType"><span class="type">GdkModifierType</span></a> accel_mods</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Keyboard-Accelerators.html#GtkAccelFlags" title="enum GtkAccelFlags"><span class="type">GtkAccelFlags</span></a> accel_flags</code></em>);</pre> <p>Installs an accelerator for this <em class="parameter"><code>widget</code></em> in <em class="parameter"><code>accel_group</code></em> that causes <em class="parameter"><code>accel_signal</code></em> to be emitted if the accelerator is activated. The <em class="parameter"><code>accel_group</code></em> needs to be added to the widget’s toplevel via <a class="link" href="GtkWindow.html#gtk-window-add-accel-group" title="gtk_window_add_accel_group ()"><code class="function">gtk_window_add_accel_group()</code></a>, and the signal must be of type <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">G_SIGNAL_ACTION</code></a>. Accelerators added through this function are not user changeable during runtime. If you want to support accelerators that can be changed by the user, use <a class="link" href="gtk3-Accelerator-Maps.html#gtk-accel-map-add-entry" title="gtk_accel_map_add_entry ()"><code class="function">gtk_accel_map_add_entry()</code></a> and <a class="link" href="GtkWidget.html#gtk-widget-set-accel-path" title="gtk_widget_set_accel_path ()"><code class="function">gtk_widget_set_accel_path()</code></a> or <a class="link" href="GtkMenuItem.html#gtk-menu-item-set-accel-path" title="gtk_menu_item_set_accel_path ()"><code class="function">gtk_menu_item_set_accel_path()</code></a> instead.</p> <div class="refsect3"> <a name="gtk-widget-add-accelerator.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>widget to install an accelerator on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_signal</p></td> <td class="parameter_description"><p>widget signal to emit on accelerator activation</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_group</p></td> <td class="parameter_description"><p>accel group for this widget, added to its toplevel</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_key</p></td> <td class="parameter_description"><p>GDK keyval of the accelerator</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_mods</p></td> <td class="parameter_description"><p>modifier key combination of the accelerator</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_flags</p></td> <td class="parameter_description"><p>flag accelerators, e.g. <a class="link" href="gtk3-Keyboard-Accelerators.html#GTK-ACCEL-VISIBLE:CAPS"><code class="literal">GTK_ACCEL_VISIBLE</code></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-remove-accelerator"></a><h3>gtk_widget_remove_accelerator ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_remove_accelerator (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Keyboard-Accelerators.html#GtkAccelGroup"><span class="type">GtkAccelGroup</span></a> *accel_group</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> accel_key</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkModifierType"><span class="type">GdkModifierType</span></a> accel_mods</code></em>);</pre> <p>Removes an accelerator from <em class="parameter"><code>widget</code></em> , previously installed with <a class="link" href="GtkWidget.html#gtk-widget-add-accelerator" title="gtk_widget_add_accelerator ()"><code class="function">gtk_widget_add_accelerator()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-remove-accelerator.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>widget to install an accelerator on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_group</p></td> <td class="parameter_description"><p>accel group for this widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_key</p></td> <td class="parameter_description"><p>GDK keyval of the accelerator</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_mods</p></td> <td class="parameter_description"><p>modifier key combination of the accelerator</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-remove-accelerator.returns"></a><h4>Returns</h4> <p> whether an accelerator was installed and could be removed</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-accel-path"></a><h3>gtk_widget_set_accel_path ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_accel_path (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *accel_path</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Keyboard-Accelerators.html#GtkAccelGroup"><span class="type">GtkAccelGroup</span></a> *accel_group</code></em>);</pre> <p>Given an accelerator group, <em class="parameter"><code>accel_group</code></em> , and an accelerator path, <em class="parameter"><code>accel_path</code></em> , sets up an accelerator in <em class="parameter"><code>accel_group</code></em> so whenever the key binding that is defined for <em class="parameter"><code>accel_path</code></em> is pressed, <em class="parameter"><code>widget</code></em> will be activated. This removes any accelerators (for any accelerator group) installed by previous calls to <a class="link" href="GtkWidget.html#gtk-widget-set-accel-path" title="gtk_widget_set_accel_path ()"><code class="function">gtk_widget_set_accel_path()</code></a>. Associating accelerators with paths allows them to be modified by the user and the modifications to be saved for future use. (See <a class="link" href="gtk3-Accelerator-Maps.html#gtk-accel-map-save" title="gtk_accel_map_save ()"><code class="function">gtk_accel_map_save()</code></a>.)</p> <p>This function is a low level function that would most likely be used by a menu creation system like <a class="link" href="GtkUIManager.html" title="GtkUIManager"><span class="type">GtkUIManager</span></a>. If you use <a class="link" href="GtkUIManager.html" title="GtkUIManager"><span class="type">GtkUIManager</span></a>, setting up accelerator paths will be done automatically.</p> <p>Even when you you aren’t using <a class="link" href="GtkUIManager.html" title="GtkUIManager"><span class="type">GtkUIManager</span></a>, if you only want to set up accelerators on menu items <a class="link" href="GtkMenuItem.html#gtk-menu-item-set-accel-path" title="gtk_menu_item_set_accel_path ()"><code class="function">gtk_menu_item_set_accel_path()</code></a> provides a somewhat more convenient interface.</p> <p>Note that <em class="parameter"><code>accel_path</code></em> string will be stored in a <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>. Therefore, if you pass a static string, you can save some memory by interning it first with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html#g-intern-static-string"><code class="function">g_intern_static_string()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-accel-path.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>accel_path</p></td> <td class="parameter_description"><p> path used to look up the accelerator. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>accel_group</p></td> <td class="parameter_description"><p> a <a class="link" href="gtk3-Keyboard-Accelerators.html#GtkAccelGroup"><span class="type">GtkAccelGroup</span></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-list-accel-closures"></a><h3>gtk_widget_list_accel_closures ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gtk_widget_list_accel_closures (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Lists the closures used by <em class="parameter"><code>widget</code></em> for accelerator group connections with <a class="link" href="gtk3-Keyboard-Accelerators.html#gtk-accel-group-connect-by-path" title="gtk_accel_group_connect_by_path ()"><code class="function">gtk_accel_group_connect_by_path()</code></a> or <a class="link" href="gtk3-Keyboard-Accelerators.html#gtk-accel-group-connect" title="gtk_accel_group_connect ()"><code class="function">gtk_accel_group_connect()</code></a>. The closures can be used to monitor accelerator changes on <em class="parameter"><code>widget</code></em> , by connecting to the <em class="parameter"><code>GtkAccelGroup</code></em> ::accel-changed signal of the <a class="link" href="gtk3-Keyboard-Accelerators.html#GtkAccelGroup"><span class="type">GtkAccelGroup</span></a> of a closure which can be found out with <a class="link" href="gtk3-Keyboard-Accelerators.html#gtk-accel-group-from-accel-closure" title="gtk_accel_group_from_accel_closure ()"><code class="function">gtk_accel_group_from_accel_closure()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-list-accel-closures.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>widget to list accelerator closures for</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-list-accel-closures.returns"></a><h4>Returns</h4> <p> a newly allocated <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of closures. </p> <p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GClosure]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-can-activate-accel"></a><h3>gtk_widget_can_activate_accel ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_can_activate_accel (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>);</pre> <p>Determines whether an accelerator that activates the signal identified by <em class="parameter"><code>signal_id</code></em> can currently be activated. This is done by emitting the <a class="link" href="GtkWidget.html#GtkWidget-can-activate-accel" title="The “can-activate-accel” signal"><span class="type">“can-activate-accel”</span></a> signal on <em class="parameter"><code>widget</code></em> ; if the signal isn’t overridden by a handler or in a derived widget, then the default check is that the widget must be sensitive, and the widget and all its ancestors mapped.</p> <div class="refsect3"> <a name="gtk-widget-can-activate-accel.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>signal_id</p></td> <td class="parameter_description"><p>the ID of a signal installed on <em class="parameter"><code>widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-can-activate-accel.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the accelerator can be activated.</p> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-event"></a><h3>gtk_widget_event ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_event (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event</code></em>);</pre> <p>Rarely-used function. This function is used to emit the event signals on a widget (those signals should never be emitted without using this function to do so). If you want to synthesize an event though, don’t use this function; instead, use <a class="link" href="gtk3-General.html#gtk-main-do-event" title="gtk_main_do_event ()"><code class="function">gtk_main_do_event()</code></a> so the event will behave as if it were in the event queue. Don’t synthesize expose events; instead, use <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-invalidate-rect"><code class="function">gdk_window_invalidate_rect()</code></a> to invalidate a region of the window.</p> <div class="refsect3"> <a name="gtk-widget-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-event.returns"></a><h4>Returns</h4> <p> return from the event signal emission (<a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled)</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-activate"></a><h3>gtk_widget_activate ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_activate (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>For widgets that can be “activated” (buttons, menu items, etc.) this function activates them. Activation is what happens when you press Enter on a widget during key navigation. If <em class="parameter"><code>widget</code></em> isn't activatable, the function returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-activate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> that’s activatable</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-activate.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget was activatable</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-reparent"></a><h3>gtk_widget_reparent ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_reparent (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *new_parent</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_reparent</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkContainer.html#gtk-container-remove" title="gtk_container_remove ()"><code class="function">gtk_container_remove()</code></a> and <a class="link" href="GtkContainer.html#gtk-container-add" title="gtk_container_add ()"><code class="function">gtk_container_add()</code></a>.</p> </div> <p>Moves a widget from one <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> to another, handling reference count issues to avoid destroying the widget.</p> <div class="refsect3"> <a name="gtk-widget-reparent.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>new_parent</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> to move the widget into</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-intersect"></a><h3>gtk_widget_intersect ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_intersect (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="http://developer.gnome.org/gdk3/gdk4-Points-Rectangles-and-Regions.html#GdkRectangle"><span class="type">GdkRectangle</span></a> *area</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Points-Rectangles-and-Regions.html#GdkRectangle"><span class="type">GdkRectangle</span></a> *intersection</code></em>);</pre> <p>Computes the intersection of a <em class="parameter"><code>widget</code></em> ’s area and <em class="parameter"><code>area</code></em> , storing the intersection in <em class="parameter"><code>intersection</code></em> , and returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there was an intersection. <em class="parameter"><code>intersection</code></em> may be <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if you’re only interested in whether there was an intersection.</p> <div class="refsect3"> <a name="gtk-widget-intersect.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>area</p></td> <td class="parameter_description"><p>a rectangle</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>intersection</p></td> <td class="parameter_description"><p> rectangle to store intersection of <em class="parameter"><code>widget</code></em> and <em class="parameter"><code>area</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-intersect.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there was an intersection</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-is-focus"></a><h3>gtk_widget_is_focus ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_is_focus (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines if the widget is the focus widget within its toplevel. (This does not mean that the <a class="link" href="GtkWidget.html#GtkWidget--has-focus" title="The “has-focus” property"><span class="type">“has-focus”</span></a> property is necessarily set; <a class="link" href="GtkWidget.html#GtkWidget--has-focus" title="The “has-focus” property"><span class="type">“has-focus”</span></a> will only be set if the toplevel widget additionally has the global input focus.)</p> <div class="refsect3"> <a name="gtk-widget-is-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-is-focus.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is the focus widget.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-grab-focus"></a><h3>gtk_widget_grab_focus ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_grab_focus (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Causes <em class="parameter"><code>widget</code></em> to have the keyboard focus for the <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> it's inside. <em class="parameter"><code>widget</code></em> must be a focusable widget, such as a <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a>; something like <a class="link" href="GtkFrame.html" title="GtkFrame"><span class="type">GtkFrame</span></a> won’t work.</p> <p>More precisely, it must have the <code class="literal">GTK_CAN_FOCUS</code> flag set. Use <a class="link" href="GtkWidget.html#gtk-widget-set-can-focus" title="gtk_widget_set_can_focus ()"><code class="function">gtk_widget_set_can_focus()</code></a> to modify that flag.</p> <p>The widget also needs to be realized and mapped. This is indicated by the related signals. Grabbing the focus immediately after creating the widget will likely fail and cause critical warnings.</p> <div class="refsect3"> <a name="gtk-widget-grab-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-grab-default"></a><h3>gtk_widget_grab_default ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_grab_default (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Causes <em class="parameter"><code>widget</code></em> to become the default widget. <em class="parameter"><code>widget</code></em> must be able to be a default widget; typically you would ensure this yourself by calling <a class="link" href="GtkWidget.html#gtk-widget-set-can-default" title="gtk_widget_set_can_default ()"><code class="function">gtk_widget_set_can_default()</code></a> with a <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> value. The default widget is activated when the user presses Enter in a window. Default widgets must be activatable, that is, <a class="link" href="GtkWidget.html#gtk-widget-activate" title="gtk_widget_activate ()"><code class="function">gtk_widget_activate()</code></a> should affect them. Note that <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a> widgets require the “activates-default” property set to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> before they activate the default widget when Enter is pressed and the <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a> is focused.</p> <div class="refsect3"> <a name="gtk-widget-grab-default.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-name"></a><h3>gtk_widget_set_name ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_name (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre> <p>Widgets can be named, which allows you to refer to them from a CSS file. You can apply a style to widgets with a particular name in the CSS file. See the documentation for the CSS syntax (on the same page as the docs for <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a>).</p> <p>Note that the CSS syntax has certain special characters to delimit and represent elements in a selector (period, #, >, *...), so using these will make your widget impossible to match by name. Any combination of alphanumeric symbols, dashes and underscores will suffice.</p> <div class="refsect3"> <a name="gtk-widget-set-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>name for the widget</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-name"></a><h3>gtk_widget_get_name ()</h3> <pre class="programlisting">const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gtk_widget_get_name (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Retrieves the name of a widget. See <a class="link" href="GtkWidget.html#gtk-widget-set-name" title="gtk_widget_set_name ()"><code class="function">gtk_widget_set_name()</code></a> for the significance of widget names.</p> <div class="refsect3"> <a name="gtk-widget-get-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-name.returns"></a><h4>Returns</h4> <p> name of the widget. This string is owned by GTK+ and should not be modified or freed</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-state"></a><h3>gtk_widget_set_state ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_state (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_set_state</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-set-state-flags" title="gtk_widget_set_state_flags ()"><code class="function">gtk_widget_set_state_flags()</code></a> instead.</p> </div> <p>This function is for use in widget implementations. Sets the state of a widget (insensitive, prelighted, etc.) Usually you should set the state using wrapper functions such as <a class="link" href="GtkWidget.html#gtk-widget-set-sensitive" title="gtk_widget_set_sensitive ()"><code class="function">gtk_widget_set_sensitive()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-state.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>new state for <em class="parameter"><code>widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-sensitive"></a><h3>gtk_widget_set_sensitive ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_sensitive (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> sensitive</code></em>);</pre> <p>Sets the sensitivity of a widget. A widget is sensitive if the user can interact with it. Insensitive widgets are “grayed out” and the user can’t interact with them. Insensitive widgets are known as “inactive”, “disabled”, or “ghosted” in some other toolkits.</p> <div class="refsect3"> <a name="gtk-widget-set-sensitive.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sensitive</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to make the widget sensitive</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-parent"></a><h3>gtk_widget_set_parent ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_parent (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *parent</code></em>);</pre> <p>This function is useful only when implementing subclasses of <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a>. Sets the container as the parent of <em class="parameter"><code>widget</code></em> , and takes care of some details such as updating the state and style of the child to reflect its new location. The opposite function is <a class="link" href="GtkWidget.html#gtk-widget-unparent" title="gtk_widget_unparent ()"><code class="function">gtk_widget_unparent()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-parent.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parent</p></td> <td class="parameter_description"><p>parent container</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-parent-window"></a><h3>gtk_widget_set_parent_window ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_parent_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *parent_window</code></em>);</pre> <p>Sets a non default parent window for <em class="parameter"><code>widget</code></em> .</p> <p>For <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> classes, setting a <em class="parameter"><code>parent_window</code></em> effects whether the window is a toplevel window or can be embedded into other widgets.</p> <p>For <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> classes, this needs to be called before the window is realized.</p> <div class="refsect3"> <a name="gtk-widget-set-parent-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parent_window</p></td> <td class="parameter_description"><p>the new parent window.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-parent-window"></a><h3>gtk_widget_get_parent_window ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="returnvalue">GdkWindow</span></a> * gtk_widget_get_parent_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets <em class="parameter"><code>widget</code></em> ’s parent window.</p> <div class="refsect3"> <a name="gtk-widget-get-parent-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-parent-window.returns"></a><h4>Returns</h4> <p> the parent window of <em class="parameter"><code>widget</code></em> . </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-events"></a><h3>gtk_widget_set_events ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_events (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> events</code></em>);</pre> <p>Sets the event mask (see <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a>) for a widget. The event mask determines which events a widget will receive. Keep in mind that different widgets have different default event masks, and by changing the event mask you may disrupt a widget’s functionality, so be careful. This function must be called while a widget is unrealized. Consider <a class="link" href="GtkWidget.html#gtk-widget-add-events" title="gtk_widget_add_events ()"><code class="function">gtk_widget_add_events()</code></a> for widgets that are already realized, or if you want to preserve the existing event mask. This function can’t be used with widgets that have no window. (See <a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()"><code class="function">gtk_widget_get_has_window()</code></a>). To get events on those widgets, place them inside a <a class="link" href="GtkEventBox.html" title="GtkEventBox"><span class="type">GtkEventBox</span></a> and receive events on the event box.</p> <div class="refsect3"> <a name="gtk-widget-set-events.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>events</p></td> <td class="parameter_description"><p>event mask</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-events"></a><h3>gtk_widget_get_events ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_events (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the event mask (see <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a>) for the widget. These are the events that the widget will receive.</p> <p>Note: Internally, the widget event mask will be the logical OR of the event mask set through <a class="link" href="GtkWidget.html#gtk-widget-set-events" title="gtk_widget_set_events ()"><code class="function">gtk_widget_set_events()</code></a> or <a class="link" href="GtkWidget.html#gtk-widget-add-events" title="gtk_widget_add_events ()"><code class="function">gtk_widget_add_events()</code></a>, and the event mask necessary to cater for every <a class="link" href="GtkEventController.html" title="GtkEventController"><span class="type">GtkEventController</span></a> created for the widget.</p> <div class="refsect3"> <a name="gtk-widget-get-events.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-events.returns"></a><h4>Returns</h4> <p> event mask for <em class="parameter"><code>widget</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-add-events"></a><h3>gtk_widget_add_events ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_add_events (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> events</code></em>);</pre> <p>Adds the events in the bitfield <em class="parameter"><code>events</code></em> to the event mask for <em class="parameter"><code>widget</code></em> . See <a class="link" href="GtkWidget.html#gtk-widget-set-events" title="gtk_widget_set_events ()"><code class="function">gtk_widget_set_events()</code></a> and the <a class="link" href="chap-input-handling.html#event-masks" title="Event masks">input handling overview</a> for details.</p> <div class="refsect3"> <a name="gtk-widget-add-events.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>events</p></td> <td class="parameter_description"><p>an event mask, see <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-device-events"></a><h3>gtk_widget_set_device_events ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_device_events (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> *device</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a> events</code></em>);</pre> <p>Sets the device event mask (see <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a>) for a widget. The event mask determines which events a widget will receive from <em class="parameter"><code>device</code></em> . Keep in mind that different widgets have different default event masks, and by changing the event mask you may disrupt a widget’s functionality, so be careful. This function must be called while a widget is unrealized. Consider <a class="link" href="GtkWidget.html#gtk-widget-add-device-events" title="gtk_widget_add_device_events ()"><code class="function">gtk_widget_add_device_events()</code></a> for widgets that are already realized, or if you want to preserve the existing event mask. This function can’t be used with windowless widgets (which return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> from <a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()"><code class="function">gtk_widget_get_has_window()</code></a>); to get events on those widgets, place them inside a <a class="link" href="GtkEventBox.html" title="GtkEventBox"><span class="type">GtkEventBox</span></a> and receive events on the event box.</p> <div class="refsect3"> <a name="gtk-widget-set-device-events.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>device</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>events</p></td> <td class="parameter_description"><p>event mask</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-device-events"></a><h3>gtk_widget_get_device_events ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="returnvalue">GdkEventMask</span></a> gtk_widget_get_device_events (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> *device</code></em>);</pre> <p>Returns the events mask for the widget corresponding to an specific device. These are the events that the widget will receive when <em class="parameter"><code>device</code></em> operates on it.</p> <div class="refsect3"> <a name="gtk-widget-get-device-events.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>device</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-device-events.returns"></a><h4>Returns</h4> <p> device event mask for <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-add-device-events"></a><h3>gtk_widget_add_device_events ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_add_device_events (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> *device</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a> events</code></em>);</pre> <p>Adds the device events in the bitfield <em class="parameter"><code>events</code></em> to the event mask for <em class="parameter"><code>widget</code></em> . See <a class="link" href="GtkWidget.html#gtk-widget-set-device-events" title="gtk_widget_set_device_events ()"><code class="function">gtk_widget_set_device_events()</code></a> for details.</p> <div class="refsect3"> <a name="gtk-widget-add-device-events.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>device</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>events</p></td> <td class="parameter_description"><p>an event mask, see <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-device-enabled"></a><h3>gtk_widget_set_device_enabled ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_device_enabled (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> *device</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre> <p>Enables or disables a <a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> to interact with <em class="parameter"><code>widget</code></em> and all its children.</p> <p>It does so by descending through the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> hierarchy and enabling the same mask that is has for core events (i.e. the one that <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-get-events"><code class="function">gdk_window_get_events()</code></a> returns).</p> <div class="refsect3"> <a name="gtk-widget-set-device-enabled.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>device</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>enabled</p></td> <td class="parameter_description"><p>whether to enable the device</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-device-enabled"></a><h3>gtk_widget_get_device_enabled ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_device_enabled (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> *device</code></em>);</pre> <p>Returns whether <em class="parameter"><code>device</code></em> can interact with <em class="parameter"><code>widget</code></em> and its children. See <a class="link" href="GtkWidget.html#gtk-widget-set-device-enabled" title="gtk_widget_set_device_enabled ()"><code class="function">gtk_widget_set_device_enabled()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-device-enabled.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>device</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-device-enabled.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is <em class="parameter"><code>device</code></em> is enabled for <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-toplevel"></a><h3>gtk_widget_get_toplevel ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * gtk_widget_get_toplevel (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>This function returns the topmost widget in the container hierarchy <em class="parameter"><code>widget</code></em> is a part of. If <em class="parameter"><code>widget</code></em> has no parent widgets, it will be returned as the topmost widget. No reference will be added to the returned widget; it should not be unreferenced.</p> <p>Note the difference in behavior vs. <a class="link" href="GtkWidget.html#gtk-widget-get-ancestor" title="gtk_widget_get_ancestor ()"><code class="function">gtk_widget_get_ancestor()</code></a>; <code class="literal">gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)</code> would return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>widget</code></em> wasn’t inside a toplevel window, and if the window was inside a <span class="type">GtkWindow-derived</span> widget which was in turn inside the toplevel <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>. While the second case may seem unlikely, it actually happens when a <a class="link" href="GtkPlug.html" title="GtkPlug"><span class="type">GtkPlug</span></a> is embedded inside a <a class="link" href="GtkSocket.html" title="GtkSocket"><span class="type">GtkSocket</span></a> within the same application.</p> <p>To reliably find the toplevel <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>, use <a class="link" href="GtkWidget.html#gtk-widget-get-toplevel" title="gtk_widget_get_toplevel ()"><code class="function">gtk_widget_get_toplevel()</code></a> and call <a class="link" href="GtkWidget.html#gtk-widget-is-toplevel" title="gtk_widget_is_toplevel ()"><code class="function">gtk_widget_is_toplevel()</code></a> on the result.</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5</pre></td> <td class="listing_code"><pre class="programlisting">GtkWidget <span class="gtkdoc opt">*</span>toplevel <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkWidget.html#gtk-widget-get-toplevel">gtk_widget_get_toplevel</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="GtkWidget.html#gtk-widget-is-toplevel">gtk_widget_is_toplevel</a></span> <span class="gtkdoc opt">(</span>toplevel<span class="gtkdoc opt">))</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc slc">// Perform action on toplevel.</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <div class="refsect3"> <a name="gtk-widget-get-toplevel.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-toplevel.returns"></a><h4>Returns</h4> <p> the topmost ancestor of <em class="parameter"><code>widget</code></em> , or <em class="parameter"><code>widget</code></em> itself if there’s no ancestor. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-ancestor"></a><h3>gtk_widget_get_ancestor ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * gtk_widget_get_ancestor (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> widget_type</code></em>);</pre> <p>Gets the first ancestor of <em class="parameter"><code>widget</code></em> with type <em class="parameter"><code>widget_type</code></em> . For example, <code class="literal">gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</code> gets the first <a class="link" href="GtkBox.html" title="GtkBox"><span class="type">GtkBox</span></a> that’s an ancestor of <em class="parameter"><code>widget</code></em> . No reference will be added to the returned widget; it should not be unreferenced. See note about checking for a toplevel <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> in the docs for <a class="link" href="GtkWidget.html#gtk-widget-get-toplevel" title="gtk_widget_get_toplevel ()"><code class="function">gtk_widget_get_toplevel()</code></a>.</p> <p>Note that unlike <a class="link" href="GtkWidget.html#gtk-widget-is-ancestor" title="gtk_widget_is_ancestor ()"><code class="function">gtk_widget_is_ancestor()</code></a>, <a class="link" href="GtkWidget.html#gtk-widget-get-ancestor" title="gtk_widget_get_ancestor ()"><code class="function">gtk_widget_get_ancestor()</code></a> considers <em class="parameter"><code>widget</code></em> to be an ancestor of itself.</p> <div class="refsect3"> <a name="gtk-widget-get-ancestor.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>widget_type</p></td> <td class="parameter_description"><p>ancestor type</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-ancestor.returns"></a><h4>Returns</h4> <p> the ancestor widget, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-visual"></a><h3>gtk_widget_get_visual ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/gdk4-Visuals.html#GdkVisual-struct"><span class="returnvalue">GdkVisual</span></a> * gtk_widget_get_visual (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the visual that will be used to render <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-get-visual.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-visual.returns"></a><h4>Returns</h4> <p> the visual for <em class="parameter"><code>widget</code></em> . </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-visual"></a><h3>gtk_widget_set_visual ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_visual (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Visuals.html#GdkVisual-struct"><span class="type">GdkVisual</span></a> *visual</code></em>);</pre> <p>Sets the visual that should be used for by widget and its children for creating <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindows</span></a>. The visual must be on the same <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> as returned by <a class="link" href="GtkWidget.html#gtk-widget-get-screen" title="gtk_widget_get_screen ()"><code class="function">gtk_widget_get_screen()</code></a>, so handling the <a class="link" href="GtkWidget.html#GtkWidget-screen-changed" title="The “screen-changed” signal"><span class="type">“screen-changed”</span></a> signal is necessary.</p> <p>Setting a new <em class="parameter"><code>visual</code></em> will not cause <em class="parameter"><code>widget</code></em> to recreate its windows, so you should call this function before <em class="parameter"><code>widget</code></em> is realized.</p> <div class="refsect3"> <a name="gtk-widget-set-visual.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>visual</p></td> <td class="parameter_description"><p> visual to be used or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset a previous one. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-pointer"></a><h3>gtk_widget_get_pointer ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_pointer (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *x</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *y</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_pointer</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p> <p>Use <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-get-device-position"><code class="function">gdk_window_get_device_position()</code></a> instead.</p> </div> <p>Obtains the location of the mouse pointer in widget coordinates. Widget coordinates are a bit odd; for historical reasons, they are defined as <em class="parameter"><code>widget->window</code></em> coordinates for widgets that return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for <a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()"><code class="function">gtk_widget_get_has_window()</code></a>; and are relative to <em class="parameter"><code>widget->allocation.x</code></em> , <em class="parameter"><code>widget->allocation.y</code></em> otherwise.</p> <div class="refsect3"> <a name="gtk-widget-get-pointer.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p> return location for the X coordinate, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p> return location for the Y coordinate, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-is-ancestor"></a><h3>gtk_widget_is_ancestor ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_is_ancestor (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *ancestor</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> is somewhere inside <em class="parameter"><code>ancestor</code></em> , possibly with intermediate containers.</p> <div class="refsect3"> <a name="gtk-widget-is-ancestor.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>ancestor</p></td> <td class="parameter_description"><p>another <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-is-ancestor.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>ancestor</code></em> contains <em class="parameter"><code>widget</code></em> as a child, grandchild, great grandchild, etc.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-translate-coordinates"></a><h3>gtk_widget_translate_coordinates ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_translate_coordinates (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *src_widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *dest_widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> src_x</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> src_y</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *dest_x</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *dest_y</code></em>);</pre> <p>Translate coordinates relative to <em class="parameter"><code>src_widget</code></em> ’s allocation to coordinates relative to <em class="parameter"><code>dest_widget</code></em> ’s allocations. In order to perform this operation, both widgets must be realized, and must share a common toplevel.</p> <div class="refsect3"> <a name="gtk-widget-translate-coordinates.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>src_widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dest_widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>src_x</p></td> <td class="parameter_description"><p>X position relative to <em class="parameter"><code>src_widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>src_y</p></td> <td class="parameter_description"><p>Y position relative to <em class="parameter"><code>src_widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dest_x</p></td> <td class="parameter_description"><p> location to store X position relative to <em class="parameter"><code>dest_widget</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>dest_y</p></td> <td class="parameter_description"><p> location to store Y position relative to <em class="parameter"><code>dest_widget</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-translate-coordinates.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if either widget was not realized, or there was no common ancestor. In this case, nothing is stored in *<em class="parameter"><code>dest_x</code></em> and *<em class="parameter"><code>dest_y</code></em> . Otherwise <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-hide-on-delete"></a><h3>gtk_widget_hide_on_delete ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_hide_on_delete (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Utility function; intended to be connected to the <a class="link" href="GtkWidget.html#GtkWidget-delete-event" title="The “delete-event” signal"><span class="type">“delete-event”</span></a> signal on a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>. The function calls <a class="link" href="GtkWidget.html#gtk-widget-hide" title="gtk_widget_hide ()"><code class="function">gtk_widget_hide()</code></a> on its argument, then returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. If connected to ::delete-event, the result is that clicking the close button for a window (on the window frame, top right corner usually) will hide but not destroy the window. By default, GTK+ destroys windows when ::delete-event is received.</p> <div class="refsect3"> <a name="gtk-widget-hide-on-delete.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-hide-on-delete.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-style"></a><h3>gtk_widget_set_style ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_style (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> *style</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_set_style</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> instead</p> </div> <p>Used to set the <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> for a widget (<em class="parameter"><code>widget->style</code></em> ). Since GTK 3, this function does nothing, the passed in style is ignored.</p> <div class="refsect3"> <a name="gtk-widget-set-style.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>style</p></td> <td class="parameter_description"><p> a <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a>, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to remove the effect of a previous call to <a class="link" href="GtkWidget.html#gtk-widget-set-style" title="gtk_widget_set_style ()"><code class="function">gtk_widget_set_style()</code></a> and go back to the default style. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-ensure-style"></a><h3>gtk_widget_ensure_style ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_ensure_style (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_ensure_style</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> instead</p> </div> <p>Ensures that <em class="parameter"><code>widget</code></em> has a style (<em class="parameter"><code>widget->style</code></em> ).</p> <p>Not a very useful function; most of the time, if you want the style, the widget is realized, and realized widgets are guaranteed to have a style already.</p> <div class="refsect3"> <a name="gtk-widget-ensure-style.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-style"></a><h3>gtk_widget_get_style ()</h3> <pre class="programlisting"><a class="link" href="GtkStyle.html" title="GtkStyle"><span class="returnvalue">GtkStyle</span></a> * gtk_widget_get_style (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_style</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> instead</p> </div> <p>Simply an accessor function that returns <em class="parameter"><code>widget->style</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-get-style.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-style.returns"></a><h4>Returns</h4> <p> the widget’s <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-reset-rc-styles"></a><h3>gtk_widget_reset_rc_styles ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_reset_rc_styles (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_reset_rc_styles</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> instead, and <a class="link" href="GtkWidget.html#gtk-widget-reset-style" title="gtk_widget_reset_style ()"><code class="function">gtk_widget_reset_style()</code></a></p> </div> <p>Reset the styles of <em class="parameter"><code>widget</code></em> and all descendents, so when they are looked up again, they get the correct values for the currently loaded RC file settings.</p> <p>This function is not useful for applications.</p> <div class="refsect3"> <a name="gtk-widget-reset-rc-styles.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-default-style"></a><h3>gtk_widget_get_default_style ()</h3> <pre class="programlisting"><a class="link" href="GtkStyle.html" title="GtkStyle"><span class="returnvalue">GtkStyle</span></a> * gtk_widget_get_default_style (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_default_style</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> instead, and <a class="link" href="GtkCssProvider.html#gtk-css-provider-get-default" title="gtk_css_provider_get_default ()"><code class="function">gtk_css_provider_get_default()</code></a> to obtain a <a class="link" href="GtkStyleProvider.html" title="GtkStyleProvider"><span class="type">GtkStyleProvider</span></a> with the default widget style information.</p> </div> <p>Returns the default style used by all widgets initially.</p> <div class="refsect3"> <a name="gtk-widget-get-default-style.returns"></a><h4>Returns</h4> <p> the default style. This <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> object is owned by GTK+ and should not be modified or freed. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-direction"></a><h3>gtk_widget_set_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_direction (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="type">GtkTextDirection</span></a> dir</code></em>);</pre> <p>Sets the reading direction on a particular widget. This direction controls the primary direction for widgets containing text, and also the direction in which the children of a container are packed. The ability to set the direction is present in order so that correct localization into languages with right-to-left reading directions can be done. Generally, applications will let the default reading direction present, except for containers where the containers are arranged in an order that is explicitly visual rather than logical (such as buttons for text justification).</p> <p>If the direction is set to <a class="link" href="GtkWidget.html#GTK-TEXT-DIR-NONE:CAPS"><code class="literal">GTK_TEXT_DIR_NONE</code></a>, then the value set by <a class="link" href="GtkWidget.html#gtk-widget-set-default-direction" title="gtk_widget_set_default_direction ()"><code class="function">gtk_widget_set_default_direction()</code></a> will be used.</p> <div class="refsect3"> <a name="gtk-widget-set-direction.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dir</p></td> <td class="parameter_description"><p>the new direction</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-direction"></a><h3>gtk_widget_get_direction ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="returnvalue">GtkTextDirection</span></a> gtk_widget_get_direction (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the reading direction for a particular widget. See <a class="link" href="GtkWidget.html#gtk-widget-set-direction" title="gtk_widget_set_direction ()"><code class="function">gtk_widget_set_direction()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-direction.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-direction.returns"></a><h4>Returns</h4> <p> the reading direction for the widget.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-default-direction"></a><h3>gtk_widget_set_default_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_default_direction (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="type">GtkTextDirection</span></a> dir</code></em>);</pre> <p>Sets the default reading direction for widgets where the direction has not been explicitly set by <a class="link" href="GtkWidget.html#gtk-widget-set-direction" title="gtk_widget_set_direction ()"><code class="function">gtk_widget_set_direction()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-default-direction.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>dir</p></td> <td class="parameter_description"><p>the new default direction. This cannot be <a class="link" href="GtkWidget.html#GTK-TEXT-DIR-NONE:CAPS"><code class="literal">GTK_TEXT_DIR_NONE</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-default-direction"></a><h3>gtk_widget_get_default_direction ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="returnvalue">GtkTextDirection</span></a> gtk_widget_get_default_direction (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Obtains the current default reading direction. See <a class="link" href="GtkWidget.html#gtk-widget-set-default-direction" title="gtk_widget_set_default_direction ()"><code class="function">gtk_widget_set_default_direction()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-default-direction.returns"></a><h4>Returns</h4> <p> the current default direction.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-shape-combine-region"></a><h3>gtk_widget_shape_combine_region ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_shape_combine_region (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><span class="type">cairo_region_t</span> *region</code></em>);</pre> <p>Sets a shape for this widget’s GDK window. This allows for transparent windows etc., see <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-shape-combine-region"><code class="function">gdk_window_shape_combine_region()</code></a> for more information.</p> <div class="refsect3"> <a name="gtk-widget-shape-combine-region.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>region</p></td> <td class="parameter_description"><p> shape to be added, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to remove an existing shape. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-input-shape-combine-region"></a><h3>gtk_widget_input_shape_combine_region ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_input_shape_combine_region (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><span class="type">cairo_region_t</span> *region</code></em>);</pre> <p>Sets an input shape for this widget’s GDK window. This allows for windows which react to mouse click in a nonrectangular region, see <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-input-shape-combine-region"><code class="function">gdk_window_input_shape_combine_region()</code></a> for more information.</p> <div class="refsect3"> <a name="gtk-widget-input-shape-combine-region.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>region</p></td> <td class="parameter_description"><p> shape to be added, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to remove an existing shape. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-path"></a><h3>gtk_widget_path ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_path (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *path_length</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **path</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **path_reversed</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_path</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-path" title="gtk_widget_get_path ()"><code class="function">gtk_widget_get_path()</code></a> instead</p> </div> <p>Obtains the full path to <em class="parameter"><code>widget</code></em> . The path is simply the name of a widget and all its parents in the container hierarchy, separated by periods. The name of a widget comes from <a class="link" href="GtkWidget.html#gtk-widget-get-name" title="gtk_widget_get_name ()"><code class="function">gtk_widget_get_name()</code></a>. Paths are used to apply styles to a widget in gtkrc configuration files. Widget names are the type of the widget by default (e.g. “GtkButton”) or can be set to an application-specific value with <a class="link" href="GtkWidget.html#gtk-widget-set-name" title="gtk_widget_set_name ()"><code class="function">gtk_widget_set_name()</code></a>. By setting the name of a widget, you allow users or theme authors to apply styles to that specific widget in their gtkrc file. <em class="parameter"><code>path_reversed_p</code></em> fills in the path in reverse order, i.e. starting with <em class="parameter"><code>widget</code></em> ’s name instead of starting with the name of <em class="parameter"><code>widget</code></em> ’s outermost ancestor.</p> <div class="refsect3"> <a name="gtk-widget-path.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>path_length</p></td> <td class="parameter_description"><p> location to store length of the path, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>path</p></td> <td class="parameter_description"><p> location to store allocated path string, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>path_reversed</p></td> <td class="parameter_description"><p> location to store allocated reverse path string, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-path"></a><h3>gtk_widget_class_path ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_path (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *path_length</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **path</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **path_reversed</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_class_path</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-path" title="gtk_widget_get_path ()"><code class="function">gtk_widget_get_path()</code></a> instead</p> </div> <p>Same as <a class="link" href="GtkWidget.html#gtk-widget-path" title="gtk_widget_path ()"><code class="function">gtk_widget_path()</code></a>, but always uses the name of a widget’s type, never uses a custom name set with <a class="link" href="GtkWidget.html#gtk-widget-set-name" title="gtk_widget_set_name ()"><code class="function">gtk_widget_set_name()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-class-path.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>path_length</p></td> <td class="parameter_description"><p> location to store the length of the class path, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>path</p></td> <td class="parameter_description"><p> location to store the class path as an allocated string, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>path_reversed</p></td> <td class="parameter_description"><p> location to store the reverse class path as an allocated string, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-composite-name"></a><h3>gtk_widget_get_composite_name ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gtk_widget_get_composite_name (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_composite_name</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>, or don’t use this API at all.</p> </div> <p>Obtains the composite name of a widget.</p> <div class="refsect3"> <a name="gtk-widget-get-composite-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-composite-name.returns"></a><h4>Returns</h4> <p> the composite name of <em class="parameter"><code>widget</code></em> , or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>widget</code></em> is not a composite child. The string should be freed when it is no longer needed.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-override-background-color"></a><h3>gtk_widget_override_background_color ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_override_background_color (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="type">GtkStateFlags</span></a> state</code></em>, <em class="parameter"><code>const <a href="http://developer.gnome.org/gdk3/gdk4-RGBA-Colors.html#GdkRGBA"><span class="type">GdkRGBA</span></a> *color</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_override_background_color</code> has been deprecated since version 3.16 and should not be used in newly-written code.</p> <p>This function is not useful in the context of CSS-based rendering. If you wish to change the way a widget renders its background you should use a custom CSS style, through an application-specific <a class="link" href="GtkStyleProvider.html" title="GtkStyleProvider"><span class="type">GtkStyleProvider</span></a> and a CSS style class. You can also override the default drawing of a widget through the <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> signal, and use Cairo to draw a specific color, regardless of the CSS style.</p> </div> <p>Sets the background color to use for a widget.</p> <p>All other style values are left untouched. See <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()"><code class="function">gtk_widget_override_color()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-override-background-color.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>the state for which to set the background color</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color</p></td> <td class="parameter_description"><p> the color to assign, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to <a class="link" href="GtkWidget.html#gtk-widget-override-background-color" title="gtk_widget_override_background_color ()"><code class="function">gtk_widget_override_background_color()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-override-color"></a><h3>gtk_widget_override_color ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_override_color (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="type">GtkStateFlags</span></a> state</code></em>, <em class="parameter"><code>const <a href="http://developer.gnome.org/gdk3/gdk4-RGBA-Colors.html#GdkRGBA"><span class="type">GdkRGBA</span></a> *color</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_override_color</code> has been deprecated since version 3.16 and should not be used in newly-written code.</p> <p>Use a custom style provider and style classes instead</p> </div> <p>Sets the color to use for a widget.</p> <p>All other style values are left untouched.</p> <p>This function does not act recursively. Setting the color of a container does not affect its children. Note that some widgets that you may not think of as containers, for instance <a href="GtkButton.html#GtkButton-struct"><span class="type">GtkButtons</span></a>, are actually containers.</p> <p>This API is mostly meant as a quick way for applications to change a widget appearance. If you are developing a widgets library and intend this change to be themeable, it is better done by setting meaningful CSS classes in your widget/container implementation through <a class="link" href="GtkStyleContext.html#gtk-style-context-add-class" title="gtk_style_context_add_class ()"><code class="function">gtk_style_context_add_class()</code></a>.</p> <p>This way, your widget library can install a <a class="link" href="GtkCssProvider.html" title="GtkCssProvider"><span class="type">GtkCssProvider</span></a> with the <a class="link" href="GtkStyleProvider.html#GTK-STYLE-PROVIDER-PRIORITY-FALLBACK:CAPS" title="GTK_STYLE_PROVIDER_PRIORITY_FALLBACK"><code class="literal">GTK_STYLE_PROVIDER_PRIORITY_FALLBACK</code></a> priority in order to provide a default styling for those widgets that need so, and this theming may fully overridden by the user’s theme.</p> <p>Note that for complex widgets this may bring in undesired results (such as uniform background color everywhere), in these cases it is better to fully style such widgets through a <a class="link" href="GtkCssProvider.html" title="GtkCssProvider"><span class="type">GtkCssProvider</span></a> with the <a class="link" href="GtkStyleProvider.html#GTK-STYLE-PROVIDER-PRIORITY-APPLICATION:CAPS" title="GTK_STYLE_PROVIDER_PRIORITY_APPLICATION"><code class="literal">GTK_STYLE_PROVIDER_PRIORITY_APPLICATION</code></a> priority.</p> <div class="refsect3"> <a name="gtk-widget-override-color.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>the state for which to set the color</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color</p></td> <td class="parameter_description"><p> the color to assign, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()"><code class="function">gtk_widget_override_color()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-override-font"></a><h3>gtk_widget_override_font ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_override_font (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontDescription-struct"><span class="type">PangoFontDescription</span></a> *font_desc</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_override_font</code> has been deprecated since version 3.16 and should not be used in newly-written code.</p> <p>This function is not useful in the context of CSS-based rendering. If you wish to change the font a widget uses to render its text you should use a custom CSS style, through an application-specific <a class="link" href="GtkStyleProvider.html" title="GtkStyleProvider"><span class="type">GtkStyleProvider</span></a> and a CSS style class.</p> </div> <p>Sets the font to use for a widget. All other style values are left untouched. See <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()"><code class="function">gtk_widget_override_color()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-override-font.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>font_desc</p></td> <td class="parameter_description"><p> the font description to use, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to <a class="link" href="GtkWidget.html#gtk-widget-override-font" title="gtk_widget_override_font ()"><code class="function">gtk_widget_override_font()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-override-symbolic-color"></a><h3>gtk_widget_override_symbolic_color ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_override_symbolic_color (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>, <em class="parameter"><code>const <a href="http://developer.gnome.org/gdk3/gdk4-RGBA-Colors.html#GdkRGBA"><span class="type">GdkRGBA</span></a> *color</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_override_symbolic_color</code> has been deprecated since version 3.16 and should not be used in newly-written code.</p> <p>This function is not useful in the context of CSS-based rendering. If you wish to change the color used to render symbolic icons you should use a custom CSS style, through an application-specific <a class="link" href="GtkStyleProvider.html" title="GtkStyleProvider"><span class="type">GtkStyleProvider</span></a> and a CSS style class.</p> </div> <p>Sets a symbolic color for a widget.</p> <p>All other style values are left untouched. See <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()"><code class="function">gtk_widget_override_color()</code></a> for overriding the foreground or background color.</p> <div class="refsect3"> <a name="gtk-widget-override-symbolic-color.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>the name of the symbolic color to modify</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color</p></td> <td class="parameter_description"><p> the color to assign (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to <a class="link" href="GtkWidget.html#gtk-widget-override-symbolic-color" title="gtk_widget_override_symbolic_color ()"><code class="function">gtk_widget_override_symbolic_color()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-override-cursor"></a><h3>gtk_widget_override_cursor ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_override_cursor (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="http://developer.gnome.org/gdk3/gdk4-RGBA-Colors.html#GdkRGBA"><span class="type">GdkRGBA</span></a> *cursor</code></em>, <em class="parameter"><code>const <a href="http://developer.gnome.org/gdk3/gdk4-RGBA-Colors.html#GdkRGBA"><span class="type">GdkRGBA</span></a> *secondary_cursor</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_override_cursor</code> has been deprecated since version 3.16 and should not be used in newly-written code.</p> <p>This function is not useful in the context of CSS-based rendering. If you wish to change the color used to render the primary and secondary cursors you should use a custom CSS style, through an application-specific <a class="link" href="GtkStyleProvider.html" title="GtkStyleProvider"><span class="type">GtkStyleProvider</span></a> and a CSS style class.</p> </div> <p>Sets the cursor color to use in a widget, overriding the cursor-color and secondary-cursor-color style properties. All other style values are left untouched. See also <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.</p> <p>Note that the underlying properties have the <span class="type">GdkColor</span> type, so the alpha value in <em class="parameter"><code>primary</code></em> and <em class="parameter"><code>secondary</code></em> will be ignored.</p> <div class="refsect3"> <a name="gtk-widget-override-cursor.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cursor</p></td> <td class="parameter_description"><p> the color to use for primary cursor (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-override-cursor" title="gtk_widget_override_cursor ()"><code class="function">gtk_widget_override_cursor()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>secondary_cursor</p></td> <td class="parameter_description"><p> the color to use for secondary cursor (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-override-cursor" title="gtk_widget_override_cursor ()"><code class="function">gtk_widget_override_cursor()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-modify-style"></a><h3>gtk_widget_modify_style ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_modify_style (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Resource-Files.html#GtkRcStyle"><span class="type">GtkRcStyle</span></a> *style</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_modify_style</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> with a custom <a class="link" href="GtkStyleProvider.html" title="GtkStyleProvider"><span class="type">GtkStyleProvider</span></a> instead</p> </div> <p>Modifies style values on the widget.</p> <p>Modifications made using this technique take precedence over style values set via an RC file, however, they will be overridden if a style is explicitly set on the widget using <a class="link" href="GtkWidget.html#gtk-widget-set-style" title="gtk_widget_set_style ()"><code class="function">gtk_widget_set_style()</code></a>. The <a class="link" href="gtk3-Resource-Files.html#GtkRcStyle-struct" title="GtkRcStyle"><span class="type">GtkRcStyle</span></a> is designed so each field can either be set or unset, so it is possible, using this function, to modify some style values and leave the others unchanged.</p> <p>Note that modifications made with this function are not cumulative with previous calls to <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a> or with such functions as <a class="link" href="GtkWidget.html#gtk-widget-modify-fg" title="gtk_widget_modify_fg ()"><code class="function">gtk_widget_modify_fg()</code></a>. If you wish to retain previous values, you must first call <a class="link" href="GtkWidget.html#gtk-widget-get-modifier-style" title="gtk_widget_get_modifier_style ()"><code class="function">gtk_widget_get_modifier_style()</code></a>, make your modifications to the returned style, then call <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a> with that style. On the other hand, if you first call <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>, subsequent calls to such functions <a class="link" href="GtkWidget.html#gtk-widget-modify-fg" title="gtk_widget_modify_fg ()"><code class="function">gtk_widget_modify_fg()</code></a> will have a cumulative effect with the initial modifications.</p> <div class="refsect3"> <a name="gtk-widget-modify-style.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>style</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Resource-Files.html#GtkRcStyle-struct" title="GtkRcStyle"><span class="type">GtkRcStyle</span></a> holding the style modifications</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-modifier-style"></a><h3>gtk_widget_get_modifier_style ()</h3> <pre class="programlisting"><a class="link" href="gtk3-Resource-Files.html#GtkRcStyle"><span class="returnvalue">GtkRcStyle</span></a> * gtk_widget_get_modifier_style (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_modifier_style</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> with a custom <a class="link" href="GtkStyleProvider.html" title="GtkStyleProvider"><span class="type">GtkStyleProvider</span></a> instead</p> </div> <p>Returns the current modifier style for the widget. (As set by <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.) If no style has previously set, a new <a class="link" href="gtk3-Resource-Files.html#GtkRcStyle"><span class="type">GtkRcStyle</span></a> will be created with all values unset, and set as the modifier style for the widget. If you make changes to this rc style, you must call <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>, passing in the returned rc style, to make sure that your changes take effect.</p> <p>Caution: passing the style back to <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a> will normally end up destroying it, because <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a> copies the passed-in style and sets the copy as the new modifier style, thus dropping any reference to the old modifier style. Add a reference to the modifier style if you want to keep it alive.</p> <div class="refsect3"> <a name="gtk-widget-get-modifier-style.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-modifier-style.returns"></a><h4>Returns</h4> <p> the modifier style for the widget. This rc style is owned by the widget. If you want to keep a pointer to value this around, you must add a refcount using <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-modify-fg"></a><h3>gtk_widget_modify_fg ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_modify_fg (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state</code></em>, <em class="parameter"><code>const <span class="type">GdkColor</span> *color</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_modify_fg</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()"><code class="function">gtk_widget_override_color()</code></a> instead</p> </div> <p>Sets the foreground color for a widget in a particular state.</p> <p>All other style values are left untouched. See also <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-modify-fg.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>the state for which to set the foreground color</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color</p></td> <td class="parameter_description"><p> the color to assign (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-modify-fg" title="gtk_widget_modify_fg ()"><code class="function">gtk_widget_modify_fg()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-modify-bg"></a><h3>gtk_widget_modify_bg ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_modify_bg (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state</code></em>, <em class="parameter"><code>const <span class="type">GdkColor</span> *color</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_modify_bg</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-override-background-color" title="gtk_widget_override_background_color ()"><code class="function">gtk_widget_override_background_color()</code></a> instead</p> </div> <p>Sets the background color for a widget in a particular state.</p> <p>All other style values are left untouched. See also <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.</p> <div class="blockquote"><blockquote class="blockquote"> <p>Note that “no window” widgets (which have the <code class="literal">GTK_NO_WINDOW</code> flag set) draw on their parent container’s window and thus may not draw any background themselves. This is the case for e.g. <a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a>.</p> <p>To modify the background of such widgets, you have to set the background color on their parent; if you want to set the background of a rectangular area around a label, try placing the label in a <a class="link" href="GtkEventBox.html" title="GtkEventBox"><span class="type">GtkEventBox</span></a> widget and setting the background color on that.</p> </blockquote></div> <div class="refsect3"> <a name="gtk-widget-modify-bg.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>the state for which to set the background color</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color</p></td> <td class="parameter_description"><p> the color to assign (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-modify-bg" title="gtk_widget_modify_bg ()"><code class="function">gtk_widget_modify_bg()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-modify-text"></a><h3>gtk_widget_modify_text ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_modify_text (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state</code></em>, <em class="parameter"><code>const <span class="type">GdkColor</span> *color</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_modify_text</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()"><code class="function">gtk_widget_override_color()</code></a> instead</p> </div> <p>Sets the text color for a widget in a particular state.</p> <p>All other style values are left untouched. The text color is the foreground color used along with the base color (see <a class="link" href="GtkWidget.html#gtk-widget-modify-base" title="gtk_widget_modify_base ()"><code class="function">gtk_widget_modify_base()</code></a>) for widgets such as <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a> and <a class="link" href="GtkTextView.html" title="GtkTextView"><span class="type">GtkTextView</span></a>. See also <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-modify-text.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>the state for which to set the text color</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color</p></td> <td class="parameter_description"><p> the color to assign (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-modify-text" title="gtk_widget_modify_text ()"><code class="function">gtk_widget_modify_text()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-modify-base"></a><h3>gtk_widget_modify_base ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_modify_base (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state</code></em>, <em class="parameter"><code>const <span class="type">GdkColor</span> *color</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_modify_base</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-override-background-color" title="gtk_widget_override_background_color ()"><code class="function">gtk_widget_override_background_color()</code></a> instead</p> </div> <p>Sets the base color for a widget in a particular state. All other style values are left untouched. The base color is the background color used along with the text color (see <a class="link" href="GtkWidget.html#gtk-widget-modify-text" title="gtk_widget_modify_text ()"><code class="function">gtk_widget_modify_text()</code></a>) for widgets such as <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a> and <a class="link" href="GtkTextView.html" title="GtkTextView"><span class="type">GtkTextView</span></a>. See also <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.</p> <div class="blockquote"><blockquote class="blockquote"> <p>Note that “no window” widgets (which have the <code class="literal">GTK_NO_WINDOW</code> flag set) draw on their parent container’s window and thus may not draw any background themselves. This is the case for e.g. <a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a>.</p> <p>To modify the background of such widgets, you have to set the base color on their parent; if you want to set the background of a rectangular area around a label, try placing the label in a <a class="link" href="GtkEventBox.html" title="GtkEventBox"><span class="type">GtkEventBox</span></a> widget and setting the base color on that.</p> </blockquote></div> <div class="refsect3"> <a name="gtk-widget-modify-base.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>the state for which to set the base color</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color</p></td> <td class="parameter_description"><p> the color to assign (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-modify-base" title="gtk_widget_modify_base ()"><code class="function">gtk_widget_modify_base()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-modify-font"></a><h3>gtk_widget_modify_font ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_modify_font (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontDescription-struct"><span class="type">PangoFontDescription</span></a> *font_desc</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_modify_font</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-override-font" title="gtk_widget_override_font ()"><code class="function">gtk_widget_override_font()</code></a> instead</p> </div> <p>Sets the font to use for a widget.</p> <p>All other style values are left untouched. See also <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-modify-font.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>font_desc</p></td> <td class="parameter_description"><p> the font description to use, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to <a class="link" href="GtkWidget.html#gtk-widget-modify-font" title="gtk_widget_modify_font ()"><code class="function">gtk_widget_modify_font()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-modify-cursor"></a><h3>gtk_widget_modify_cursor ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_modify_cursor (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <span class="type">GdkColor</span> *primary</code></em>, <em class="parameter"><code>const <span class="type">GdkColor</span> *secondary</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_modify_cursor</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-override-cursor" title="gtk_widget_override_cursor ()"><code class="function">gtk_widget_override_cursor()</code></a> instead.</p> </div> <p>Sets the cursor color to use in a widget, overriding the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> cursor-color and secondary-cursor-color style properties.</p> <p>All other style values are left untouched. See also <a class="link" href="GtkWidget.html#gtk-widget-modify-style" title="gtk_widget_modify_style ()"><code class="function">gtk_widget_modify_style()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-modify-cursor.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>primary</p></td> <td class="parameter_description"><p> the color to use for primary cursor (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-modify-cursor" title="gtk_widget_modify_cursor ()"><code class="function">gtk_widget_modify_cursor()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>secondary</p></td> <td class="parameter_description"><p> the color to use for secondary cursor (does not need to be allocated), or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to undo the effect of previous calls to of <a class="link" href="GtkWidget.html#gtk-widget-modify-cursor" title="gtk_widget_modify_cursor ()"><code class="function">gtk_widget_modify_cursor()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-create-pango-context"></a><h3>gtk_widget_create_pango_context ()</h3> <pre class="programlisting"><a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="returnvalue">PangoContext</span></a> * gtk_widget_create_pango_context (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Creates a new <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="type">PangoContext</span></a> with the appropriate font map, font options, font description, and base direction for drawing text for this widget. See also <a class="link" href="GtkWidget.html#gtk-widget-get-pango-context" title="gtk_widget_get_pango_context ()"><code class="function">gtk_widget_get_pango_context()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-create-pango-context.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-create-pango-context.returns"></a><h4>Returns</h4> <p> the new <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="type">PangoContext</span></a>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-pango-context"></a><h3>gtk_widget_get_pango_context ()</h3> <pre class="programlisting"><a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="returnvalue">PangoContext</span></a> * gtk_widget_get_pango_context (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets a <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="type">PangoContext</span></a> with the appropriate font map, font description, and base direction for this widget. Unlike the context returned by <a class="link" href="GtkWidget.html#gtk-widget-create-pango-context" title="gtk_widget_create_pango_context ()"><code class="function">gtk_widget_create_pango_context()</code></a>, this context is owned by the widget (it can be used until the screen for the widget changes or the widget is removed from its toplevel), and will be updated to match any changes to the widget’s attributes. This can be tracked by using the <a class="link" href="GtkWidget.html#GtkWidget-screen-changed" title="The “screen-changed” signal"><span class="type">“screen-changed”</span></a> signal on the widget.</p> <div class="refsect3"> <a name="gtk-widget-get-pango-context.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-pango-context.returns"></a><h4>Returns</h4> <p> the <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="type">PangoContext</span></a> for the widget. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-font-options"></a><h3>gtk_widget_set_font_options ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_font_options (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <span class="type">cairo_font_options_t</span> *options</code></em>);</pre> <p>Sets the <span class="type">cairo_font_options_t</span> used for Pango rendering in this widget. When not set, the default font options for the <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> will be used.</p> <div class="refsect3"> <a name="gtk-widget-set-font-options.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>options</p></td> <td class="parameter_description"><p> a <span class="type">cairo_font_options_t</span>, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset any previously set default font options. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-font-options"></a><h3>gtk_widget_get_font_options ()</h3> <pre class="programlisting">const <span class="returnvalue">cairo_font_options_t</span> * gtk_widget_get_font_options (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the <span class="type">cairo_font_options_t</span> used for Pango rendering. When not set, the defaults font options for the <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> will be used.</p> <div class="refsect3"> <a name="gtk-widget-get-font-options.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-font-options.returns"></a><h4>Returns</h4> <p> the <span class="type">cairo_font_options_t</span> or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-font-map"></a><h3>gtk_widget_set_font_map ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_font_map (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontMap-struct"><span class="type">PangoFontMap</span></a> *font_map</code></em>);</pre> <p>Sets the font map to use for Pango rendering. When not set, the widget will inherit the font map from its parent.</p> <div class="refsect3"> <a name="gtk-widget-set-font-map.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>font_map</p></td> <td class="parameter_description"><p> a <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontMap-struct"><span class="type">PangoFontMap</span></a>, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset any previously set font map. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-font-map"></a><h3>gtk_widget_get_font_map ()</h3> <pre class="programlisting"><a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontMap-struct"><span class="returnvalue">PangoFontMap</span></a> * gtk_widget_get_font_map (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the font map that has been set with <a class="link" href="GtkWidget.html#gtk-widget-set-font-map" title="gtk_widget_set_font_map ()"><code class="function">gtk_widget_set_font_map()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-font-map.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-font-map.returns"></a><h4>Returns</h4> <p> A <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontMap-struct"><span class="type">PangoFontMap</span></a>, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-create-pango-layout"></a><h3>gtk_widget_create_pango_layout ()</h3> <pre class="programlisting"><a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Layout-Objects.html#PangoLayout-struct"><span class="returnvalue">PangoLayout</span></a> * gtk_widget_create_pango_layout (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre> <p>Creates a new <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Layout-Objects.html#PangoLayout-struct"><span class="type">PangoLayout</span></a> with the appropriate font map, font description, and base direction for drawing text for this widget.</p> <p>If you keep a <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Layout-Objects.html#PangoLayout-struct"><span class="type">PangoLayout</span></a> created in this way around, you need to re-create it when the widget <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Text-Processing.html#PangoContext-struct"><span class="type">PangoContext</span></a> is replaced. This can be tracked by using the <a class="link" href="GtkWidget.html#GtkWidget-screen-changed" title="The “screen-changed” signal"><span class="type">“screen-changed”</span></a> signal on the widget.</p> <div class="refsect3"> <a name="gtk-widget-create-pango-layout.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>text</p></td> <td class="parameter_description"><p> text to set on the layout (can be <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-create-pango-layout.returns"></a><h4>Returns</h4> <p> the new <a href="/home/mclasen/gnome/share/gtk-doc/html/pango/pango-Layout-Objects.html#PangoLayout-struct"><span class="type">PangoLayout</span></a>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-render-icon"></a><h3>gtk_widget_render_icon ()</h3> <pre class="programlisting"><span class="returnvalue">GdkPixbuf</span> * gtk_widget_render_icon (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stock_id</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detail</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_render_icon</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-render-icon-pixbuf" title="gtk_widget_render_icon_pixbuf ()"><code class="function">gtk_widget_render_icon_pixbuf()</code></a> instead.</p> </div> <p>A convenience function that uses the theme settings for <em class="parameter"><code>widget</code></em> to look up <em class="parameter"><code>stock_id</code></em> and render it to a pixbuf. <em class="parameter"><code>stock_id</code></em> should be a stock icon ID such as <a class="link" href="gtk3-Stock-Items.html#GTK-STOCK-OPEN:CAPS" title="GTK_STOCK_OPEN"><span class="type">GTK_STOCK_OPEN</span></a> or <a class="link" href="gtk3-Stock-Items.html#GTK-STOCK-OK:CAPS" title="GTK_STOCK_OK"><span class="type">GTK_STOCK_OK</span></a>. <em class="parameter"><code>size</code></em> should be a size such as <a class="link" href="gtk3-Themeable-Stock-Images.html#GTK-ICON-SIZE-MENU:CAPS"><span class="type">GTK_ICON_SIZE_MENU</span></a>. <em class="parameter"><code>detail</code></em> should be a string that identifies the widget or code doing the rendering, so that theme engines can special-case rendering for that widget or code.</p> <p>The pixels in the returned <span class="type">GdkPixbuf</span> are shared with the rest of the application and should not be modified. The pixbuf should be freed after use with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-render-icon.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>stock_id</p></td> <td class="parameter_description"><p>a stock ID</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>size</p></td> <td class="parameter_description"><p> a stock size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). A size of <code class="literal">(GtkIconSize)-1</code> means render at the size of the source and don’t scale (if there are multiple source sizes, GTK+ picks one of the available sizes). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td> </tr> <tr> <td class="parameter_name"><p>detail</p></td> <td class="parameter_description"><p> render detail to pass to theme engine. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-render-icon.returns"></a><h4>Returns</h4> <p> a new pixbuf, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the stock ID wasn’t known. </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-render-icon-pixbuf"></a><h3>gtk_widget_render_icon_pixbuf ()</h3> <pre class="programlisting"><span class="returnvalue">GdkPixbuf</span> * gtk_widget_render_icon_pixbuf (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stock_id</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_render_icon_pixbuf</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkIconTheme.html#gtk-icon-theme-load-icon" title="gtk_icon_theme_load_icon ()"><code class="function">gtk_icon_theme_load_icon()</code></a> instead.</p> </div> <p>A convenience function that uses the theme engine and style settings for <em class="parameter"><code>widget</code></em> to look up <em class="parameter"><code>stock_id</code></em> and render it to a pixbuf. <em class="parameter"><code>stock_id</code></em> should be a stock icon ID such as <a class="link" href="gtk3-Stock-Items.html#GTK-STOCK-OPEN:CAPS" title="GTK_STOCK_OPEN"><span class="type">GTK_STOCK_OPEN</span></a> or <a class="link" href="gtk3-Stock-Items.html#GTK-STOCK-OK:CAPS" title="GTK_STOCK_OK"><span class="type">GTK_STOCK_OK</span></a>. <em class="parameter"><code>size</code></em> should be a size such as <a class="link" href="gtk3-Themeable-Stock-Images.html#GTK-ICON-SIZE-MENU:CAPS"><span class="type">GTK_ICON_SIZE_MENU</span></a>.</p> <p>The pixels in the returned <span class="type">GdkPixbuf</span> are shared with the rest of the application and should not be modified. The pixbuf should be freed after use with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-render-icon-pixbuf.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>stock_id</p></td> <td class="parameter_description"><p>a stock ID</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>size</p></td> <td class="parameter_description"><p> a stock size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). A size of <code class="literal">(GtkIconSize)-1</code> means render at the size of the source and don’t scale (if there are multiple source sizes, GTK+ picks one of the available sizes). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-render-icon-pixbuf.returns"></a><h4>Returns</h4> <p> a new pixbuf, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the stock ID wasn’t known. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-pop-composite-child"></a><h3>gtk_widget_pop_composite_child ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_pop_composite_child (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_pop_composite_child</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>, or don’t use this API at all.</p> </div> <p>Cancels the effect of a previous call to <a class="link" href="GtkWidget.html#gtk-widget-push-composite-child" title="gtk_widget_push_composite_child ()"><code class="function">gtk_widget_push_composite_child()</code></a>.</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-push-composite-child"></a><h3>gtk_widget_push_composite_child ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_push_composite_child (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_push_composite_child</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p> <p>This API never really worked well and was mostly unused, now we have a more complete mechanism for composite children, see <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>.</p> </div> <p>Makes all newly-created widgets as composite children until the corresponding <a class="link" href="GtkWidget.html#gtk-widget-pop-composite-child" title="gtk_widget_pop_composite_child ()"><code class="function">gtk_widget_pop_composite_child()</code></a> call.</p> <p>A composite child is a child that’s an implementation detail of the container it’s inside and should not be visible to people using the container. Composite children aren’t treated differently by GTK+ (but see <a class="link" href="GtkContainer.html#gtk-container-foreach" title="gtk_container_foreach ()"><code class="function">gtk_container_foreach()</code></a> vs. <a class="link" href="GtkContainer.html#gtk-container-forall" title="gtk_container_forall ()"><code class="function">gtk_container_forall()</code></a>), but e.g. GUI builders might want to treat them in a different way.</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-queue-draw-area"></a><h3>gtk_widget_queue_draw_area ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_queue_draw_area (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> height</code></em>);</pre> <p>Convenience function that calls <a class="link" href="GtkWidget.html#gtk-widget-queue-draw-region" title="gtk_widget_queue_draw_region ()"><code class="function">gtk_widget_queue_draw_region()</code></a> on the region created from the given coordinates.</p> <p>The region here is specified in widget coordinates. Widget coordinates are a bit odd; for historical reasons, they are defined as <em class="parameter"><code>widget->window</code></em> coordinates for widgets that return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for <a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()"><code class="function">gtk_widget_get_has_window()</code></a>, and are relative to <em class="parameter"><code>widget->allocation.x</code></em> , <em class="parameter"><code>widget->allocation.y</code></em> otherwise.</p> <p><em class="parameter"><code>width</code></em> or <em class="parameter"><code>height</code></em> may be 0, in this case this function does nothing. Negative values for <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em> are not allowed.</p> <div class="refsect3"> <a name="gtk-widget-queue-draw-area.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p>x coordinate of upper-left corner of rectangle to redraw</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p>y coordinate of upper-left corner of rectangle to redraw</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>width</p></td> <td class="parameter_description"><p>width of region to draw</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>height</p></td> <td class="parameter_description"><p>height of region to draw</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-queue-draw-region"></a><h3>gtk_widget_queue_draw_region ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_queue_draw_region (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <span class="type">cairo_region_t</span> *region</code></em>);</pre> <p>Invalidates the area of <em class="parameter"><code>widget</code></em> defined by <em class="parameter"><code>region</code></em> by calling <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-invalidate-region"><code class="function">gdk_window_invalidate_region()</code></a> on the widget’s window and all its child windows. Once the main loop becomes idle (after the current batch of events has been processed, roughly), the window will receive expose events for the union of all regions that have been invalidated.</p> <p>Normally you would only use this function in widget implementations. You might also use it to schedule a redraw of a <a class="link" href="GtkDrawingArea.html" title="GtkDrawingArea"><span class="type">GtkDrawingArea</span></a> or some portion thereof.</p> <div class="refsect3"> <a name="gtk-widget-queue-draw-region.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>region</p></td> <td class="parameter_description"><p>region to draw</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-app-paintable"></a><h3>gtk_widget_set_app_paintable ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_app_paintable (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> app_paintable</code></em>);</pre> <p>Sets whether the application intends to draw on the widget in an <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> handler.</p> <p>This is a hint to the widget and does not affect the behavior of the GTK+ core; many widgets ignore this flag entirely. For widgets that do pay attention to the flag, such as <a class="link" href="GtkEventBox.html" title="GtkEventBox"><span class="type">GtkEventBox</span></a> and <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>, the effect is to suppress default themed drawing of the widget's background. (Children of the widget will still be drawn.) The application is then entirely responsible for drawing the widget background.</p> <p>Note that the background is still drawn when the widget is mapped.</p> <div class="refsect3"> <a name="gtk-widget-set-app-paintable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>app_paintable</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the application will paint on the widget</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-double-buffered"></a><h3>gtk_widget_set_double_buffered ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_double_buffered (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> double_buffered</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_set_double_buffered</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>This function does not work under non-X11 backends or with non-native windows. It should not be used in newly written code.</p> </div> <p>Widgets are double buffered by default; you can use this function to turn off the buffering. “Double buffered” simply means that <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-begin-draw-frame"><code class="function">gdk_window_begin_draw_frame()</code></a> and <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-end-draw-frame"><code class="function">gdk_window_end_draw_frame()</code></a> are called automatically around expose events sent to the widget. <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-begin-draw-frame"><code class="function">gdk_window_begin_draw_frame()</code></a> diverts all drawing to a widget's window to an offscreen buffer, and <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-end-draw-frame"><code class="function">gdk_window_end_draw_frame()</code></a> draws the buffer to the screen. The result is that users see the window update in one smooth step, and don’t see individual graphics primitives being rendered.</p> <p>In very simple terms, double buffered widgets don’t flicker, so you would only use this function to turn off double buffering if you had special needs and really knew what you were doing.</p> <p>Note: if you turn off double-buffering, you have to handle expose events, since even the clearing to the background color or pixmap will not happen automatically (as it is done in <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-begin-draw-frame"><code class="function">gdk_window_begin_draw_frame()</code></a>).</p> <p>In 3.10 GTK and GDK have been restructured for translucent drawing. Since then expose events for double-buffered widgets are culled into a single event to the toplevel GDK window. If you now unset double buffering, you will cause a separate rendering pass for every widget. This will likely cause rendering problems - in particular related to stacking - and usually increases rendering times significantly.</p> <div class="refsect3"> <a name="gtk-widget-set-double-buffered.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>double_buffered</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to double-buffer a widget</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-redraw-on-allocate"></a><h3>gtk_widget_set_redraw_on_allocate ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_redraw_on_allocate (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> redraw_on_allocate</code></em>);</pre> <p>Sets whether the entire widget is queued for drawing when its size allocation changes. By default, this setting is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and the entire widget is redrawn on every size change. If your widget leaves the upper left unchanged when made bigger, turning this setting off will improve performance.</p> <p>Note that for widgets where <a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()"><code class="function">gtk_widget_get_has_window()</code></a> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> setting this flag to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> turns off all allocation on resizing: the widget will not even redraw if its position changes; this is to allow containers that don’t draw anything to avoid excess invalidations. If you set this flag on a widget with no window that does draw on <em class="parameter"><code>widget->window</code></em> , you are responsible for invalidating both the old and new allocation of the widget when the widget is moved and responsible for invalidating regions newly when the widget increases size.</p> <div class="refsect3"> <a name="gtk-widget-set-redraw-on-allocate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>redraw_on_allocate</p></td> <td class="parameter_description"><p>if <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the entire widget will be redrawn when it is allocated to a new size. Otherwise, only the new portion of the widget will be redrawn.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-composite-name"></a><h3>gtk_widget_set_composite_name ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_composite_name (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_set_composite_name</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>, or don’t use this API at all.</p> </div> <p>Sets a widgets composite name. The widget must be a composite child of its parent; see <a class="link" href="GtkWidget.html#gtk-widget-push-composite-child" title="gtk_widget_push_composite_child ()"><code class="function">gtk_widget_push_composite_child()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-composite-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>the name to set</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-mnemonic-activate"></a><h3>gtk_widget_mnemonic_activate ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_mnemonic_activate (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> group_cycling</code></em>);</pre> <p>Emits the <a class="link" href="GtkWidget.html#GtkWidget-mnemonic-activate" title="The “mnemonic-activate” signal"><span class="type">“mnemonic-activate”</span></a> signal.</p> <p>The default handler for this signal activates the <em class="parameter"><code>widget</code></em> if <em class="parameter"><code>group_cycling</code></em> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, and just grabs the focus if <em class="parameter"><code>group_cycling</code></em> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-mnemonic-activate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>group_cycling</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there are other widgets with the same mnemonic</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-mnemonic-activate.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the signal has been handled</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-install-style-property"></a><h3>gtk_widget_class_install_style_property ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_install_style_property (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *klass</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre> <p>Installs a style property on a widget class. The parser for the style property is determined by the value type of <em class="parameter"><code>pspec</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-class-install-style-property.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>klass</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pspec</p></td> <td class="parameter_description"><p>the <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> for the property</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-install-style-property-parser"></a><h3>gtk_widget_class_install_style_property_parser ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_install_style_property_parser (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *klass</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>, <em class="parameter"><code><a class="link" href="GtkStyle.html#GtkRcPropertyParser" title="GtkRcPropertyParser ()"><span class="type">GtkRcPropertyParser</span></a> parser</code></em>);</pre> <p>Installs a style property on a widget class.</p> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="gtk-widget-class-install-style-property-parser.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>klass</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pspec</p></td> <td class="parameter_description"><p>the <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> for the style property</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parser</p></td> <td class="parameter_description"><p>the parser for the style property</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-find-style-property"></a><h3>gtk_widget_class_find_style_property ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="returnvalue">GParamSpec</span></a> * gtk_widget_class_find_style_property (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *klass</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre> <p>Finds a style property of a widget class by name.</p> <div class="refsect3"> <a name="gtk-widget-class-find-style-property.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>klass</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>property_name</p></td> <td class="parameter_description"><p>the name of the style property to find</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-class-find-style-property.returns"></a><h4>Returns</h4> <p> the <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> of the style property or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>class</code></em> has no style property with that name. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-list-style-properties"></a><h3>gtk_widget_class_list_style_properties ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="returnvalue">GParamSpec</span></a> ** gtk_widget_class_list_style_properties (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *klass</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties</code></em>);</pre> <p>Returns all style properties of a widget class.</p> <div class="refsect3"> <a name="gtk-widget-class-list-style-properties.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>klass</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_properties</p></td> <td class="parameter_description"><p> location to return the number of style properties found. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-class-list-style-properties.returns"></a><h4>Returns</h4> <p> a newly allocated array of <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>*. The array must be freed with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p> <p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_properties][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-region-intersect"></a><h3>gtk_widget_region_intersect ()</h3> <pre class="programlisting"><span class="returnvalue">cairo_region_t</span> * gtk_widget_region_intersect (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <span class="type">cairo_region_t</span> *region</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_region_intersect</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-allocation" title="gtk_widget_get_allocation ()"><code class="function">gtk_widget_get_allocation()</code></a> and <code class="function">cairo_region_intersect_rectangle()</code> to get the same behavior.</p> </div> <p>Computes the intersection of a <em class="parameter"><code>widget</code></em> ’s area and <em class="parameter"><code>region</code></em> , returning the intersection. The result may be empty, use <code class="function">cairo_region_is_empty()</code> to check.</p> <div class="refsect3"> <a name="gtk-widget-region-intersect.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>region</p></td> <td class="parameter_description"><p>a <span class="type">cairo_region_t</span>, in the same coordinate system as <em class="parameter"><code>widget->allocation</code></em> . That is, relative to <em class="parameter"><code>widget->window</code></em> for widgets which return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> from <a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()"><code class="function">gtk_widget_get_has_window()</code></a>; relative to the parent window of <em class="parameter"><code>widget->window</code></em> otherwise.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-region-intersect.returns"></a><h4>Returns</h4> <p> A newly allocated region holding the intersection of <em class="parameter"><code>widget</code></em> and <em class="parameter"><code>region</code></em> .</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-send-expose"></a><h3>gtk_widget_send_expose ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_send_expose (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_send_expose</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p> <p>Application and widget code should not handle expose events directly; invalidation should use the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> API, and drawing should only happen inside <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> implementations</p> </div> <p>Very rarely-used function. This function is used to emit an expose event on a widget. This function is not normally used directly. The only time it is used is when propagating an expose event to a windowless child widget (<a class="link" href="GtkWidget.html#gtk-widget-get-has-window" title="gtk_widget_get_has_window ()"><code class="function">gtk_widget_get_has_window()</code></a> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>), and that is normally done using <a class="link" href="GtkContainer.html#gtk-container-propagate-draw" title="gtk_container_propagate_draw ()"><code class="function">gtk_container_propagate_draw()</code></a>.</p> <p>If you want to force an area of a window to be redrawn, use <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-invalidate-rect"><code class="function">gdk_window_invalidate_rect()</code></a> or <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-invalidate-region"><code class="function">gdk_window_invalidate_region()</code></a>. To cause the redraw to be done immediately, follow that call with a call to <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-process-updates"><code class="function">gdk_window_process_updates()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-send-expose.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>a expose <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-send-expose.returns"></a><h4>Returns</h4> <p> return from the event signal emission (<a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled)</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-send-focus-change"></a><h3>gtk_widget_send_focus_change ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_send_focus_change (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event</code></em>);</pre> <p>Sends the focus change <em class="parameter"><code>event</code></em> to <em class="parameter"><code>widget</code></em> </p> <p>This function is not meant to be used by applications. The only time it should be used is when it is necessary for a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> to assign focus to a widget that is semantically owned by the first widget even though it’s not a direct child - for instance, a search entry in a floating window similar to the quick search in <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a>.</p> <p>An example of its usage is:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11</pre></td> <td class="listing_code"><pre class="programlisting">GdkEvent <span class="gtkdoc opt">*</span>fevent <span class="gtkdoc opt">=</span> <span class="function"><a href="http://developer.gnome.org/gdk3/gdk4-Events.html#gdk-event-new">gdk_event_new</a></span> <span class="gtkdoc opt">(</span>GDK_FOCUS_CHANGE<span class="gtkdoc opt">);</span> fevent<span class="gtkdoc opt">-></span>focus_change<span class="gtkdoc opt">.</span>type <span class="gtkdoc opt">=</span> GDK_FOCUS_CHANGE<span class="gtkdoc opt">;</span> fevent<span class="gtkdoc opt">-></span>focus_change<span class="gtkdoc opt">.</span>in <span class="gtkdoc opt">=</span> TRUE<span class="gtkdoc opt">;</span> fevent<span class="gtkdoc opt">-></span>focus_change<span class="gtkdoc opt">.</span>window <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkWidget.html#gtk-widget-get-window">_gtk_widget_get_window</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span>fevent<span class="gtkdoc opt">-></span>focus_change<span class="gtkdoc opt">.</span>window <span class="gtkdoc opt">!=</span> NULL<span class="gtkdoc opt">)</span> <span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-ref">g_object_ref</a></span> <span class="gtkdoc opt">(</span>fevent<span class="gtkdoc opt">-></span>focus_change<span class="gtkdoc opt">.</span>window<span class="gtkdoc opt">);</span> <span class="function"><a href="GtkWidget.html#gtk-widget-send-focus-change">gtk_widget_send_focus_change</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> fevent<span class="gtkdoc opt">);</span> <span class="function"><a href="http://developer.gnome.org/gdk3/gdk4-Events.html#gdk-event-free">gdk_event_free</a></span> <span class="gtkdoc opt">(</span>event<span class="gtkdoc opt">);</span></pre></td> </tr> </tbody> </table> </div> <p></p> <div class="refsect3"> <a name="gtk-widget-send-focus-change.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> of type GDK_FOCUS_CHANGE</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-send-focus-change.returns"></a><h4>Returns</h4> <p> the return value from the event signal emission: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled, and <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-style-get"></a><h3>gtk_widget_style_get ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_style_get (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>, <em class="parameter"><code>...</code></em>);</pre> <p>Gets the values of a multiple style properties of <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-style-get.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>first_property_name</p></td> <td class="parameter_description"><p>the name of the first property to get</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>...</p></td> <td class="parameter_description"><p>pairs of property names and locations to return the property values, starting with the location for <em class="parameter"><code>first_property_name</code></em> , terminated by <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-style-get-property"></a><h3>gtk_widget_style_get_property ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_style_get_property (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre> <p>Gets the value of a style property of <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-style-get-property.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>property_name</p></td> <td class="parameter_description"><p>the name of a style property</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>location to return the property value</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-style-get-valist"></a><h3>gtk_widget_style_get_valist ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_style_get_valist (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>, <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre> <p>Non-vararg variant of <a class="link" href="GtkWidget.html#gtk-widget-style-get" title="gtk_widget_style_get ()"><code class="function">gtk_widget_style_get()</code></a>. Used primarily by language bindings.</p> <div class="refsect3"> <a name="gtk-widget-style-get-valist.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>first_property_name</p></td> <td class="parameter_description"><p>the name of the first property to get</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>var_args</p></td> <td class="parameter_description"><p>a va_list of pairs of property names and locations to return the property values, starting with the location for <em class="parameter"><code>first_property_name</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-style-attach"></a><h3>gtk_widget_style_attach ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_style_attach (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_style_attach</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>This step is unnecessary with <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a>.</p> </div> <p>This function attaches the widget’s <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> to the widget's <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>. It is a replacement for</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1</pre></td> <td class="listing_code"><pre class="programlisting">widget<span class="gtkdoc opt">-></span>style <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkStyle.html#gtk-style-attach">gtk_style_attach</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">-></span>style<span class="gtkdoc opt">,</span> widget<span class="gtkdoc opt">-></span>window<span class="gtkdoc opt">);</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>and should only ever be called in a derived widget’s “realize” implementation which does not chain up to its parent class' “realize” implementation, because one of the parent classes (finally <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>) would attach the style itself.</p> <div class="refsect3"> <a name="gtk-widget-style-attach.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-set-accessible-type"></a><h3>gtk_widget_class_set_accessible_type ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_set_accessible_type (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre> <p>Sets the type to be used for creating accessibles for widgets of <em class="parameter"><code>widget_class</code></em> . The given <em class="parameter"><code>type</code></em> must be a subtype of the type used for accessibles of the parent class.</p> <p>This function should only be called from class init functions of widgets.</p> <div class="refsect3"> <a name="gtk-widget-class-set-accessible-type.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>class to set the accessible type for</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>type</p></td> <td class="parameter_description"><p>The object type that implements the accessible for <em class="parameter"><code>widget_class</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-2.html#api-index-3.2">3.2</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-set-accessible-role"></a><h3>gtk_widget_class_set_accessible_role ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_set_accessible_role (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code><span class="type">AtkRole</span> role</code></em>);</pre> <p>Sets the default <span class="type">AtkRole</span> to be set on accessibles created for widgets of <em class="parameter"><code>widget_class</code></em> . Accessibles may decide to not honor this setting if their role reporting is more refined. Calls to <a class="link" href="GtkWidget.html#gtk-widget-class-set-accessible-type" title="gtk_widget_class_set_accessible_type ()"><code class="function">gtk_widget_class_set_accessible_type()</code></a> will reset this value.</p> <p>In cases where you want more fine-grained control over the role of accessibles created for <em class="parameter"><code>widget_class</code></em> , you should provide your own accessible type and use <a class="link" href="GtkWidget.html#gtk-widget-class-set-accessible-type" title="gtk_widget_class_set_accessible_type ()"><code class="function">gtk_widget_class_set_accessible_type()</code></a> instead.</p> <p>If <em class="parameter"><code>role</code></em> is <span class="type">ATK_ROLE_INVALID</span>, the default role will not be changed and the accessible’s default role will be used instead.</p> <p>This function should only be called from class init functions of widgets.</p> <div class="refsect3"> <a name="gtk-widget-class-set-accessible-role.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>class to set the accessible role for</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>role</p></td> <td class="parameter_description"><p>The role to use for accessibles created for <em class="parameter"><code>widget_class</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-2.html#api-index-3.2">3.2</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-accessible"></a><h3>gtk_widget_get_accessible ()</h3> <pre class="programlisting"><span class="returnvalue">AtkObject</span> * gtk_widget_get_accessible (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the accessible object that describes the widget to an assistive technology.</p> <p>If accessibility support is not available, this <span class="type">AtkObject</span> instance may be a no-op. Likewise, if no class-specific <span class="type">AtkObject</span> implementation is available for the widget instance in question, it will inherit an <span class="type">AtkObject</span> implementation from the first ancestor class for which such an implementation is defined.</p> <p>The documentation of the <a class="ulink" href="http://developer.gnome.org/atk/stable/" target="_top">ATK</a> library contains more information about accessible objects and their uses.</p> <div class="refsect3"> <a name="gtk-widget-get-accessible.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-accessible.returns"></a><h4>Returns</h4> <p> the <span class="type">AtkObject</span> associated with <em class="parameter"><code>widget</code></em> . </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-child-focus"></a><h3>gtk_widget_child_focus ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_child_focus (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> direction</code></em>);</pre> <p>This function is used by custom widget implementations; if you're writing an app, you’d use <a class="link" href="GtkWidget.html#gtk-widget-grab-focus" title="gtk_widget_grab_focus ()"><code class="function">gtk_widget_grab_focus()</code></a> to move the focus to a particular widget, and <a class="link" href="GtkContainer.html#gtk-container-set-focus-chain" title="gtk_container_set_focus_chain ()"><code class="function">gtk_container_set_focus_chain()</code></a> to change the focus tab order. So you may want to investigate those functions instead.</p> <p>gtk_widget_child_focus() is called by containers as the user moves around the window using keyboard shortcuts. <em class="parameter"><code>direction</code></em> indicates what kind of motion is taking place (up, down, left, right, tab forward, tab backward). <a class="link" href="GtkWidget.html#gtk-widget-child-focus" title="gtk_widget_child_focus ()"><code class="function">gtk_widget_child_focus()</code></a> emits the <a class="link" href="GtkWidget.html#GtkWidget-focus" title="The “focus” signal"><span class="type">“focus”</span></a> signal; widgets override the default handler for this signal in order to implement appropriate focus behavior.</p> <p>The default ::focus handler for a widget should return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if moving in <em class="parameter"><code>direction</code></em> left the focus on a focusable location inside that widget, and <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if moving in <em class="parameter"><code>direction</code></em> moved the focus outside the widget. If returning <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, widgets normally call <a class="link" href="GtkWidget.html#gtk-widget-grab-focus" title="gtk_widget_grab_focus ()"><code class="function">gtk_widget_grab_focus()</code></a> to place the focus accordingly; if returning <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, they don’t modify the current focus location.</p> <div class="refsect3"> <a name="gtk-widget-child-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>direction</p></td> <td class="parameter_description"><p>direction of focus movement</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-child-focus.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if focus ended up inside <em class="parameter"><code>widget</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-child-notify"></a><h3>gtk_widget_child_notify ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_child_notify (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *child_property</code></em>);</pre> <p>Emits a <a class="link" href="GtkWidget.html#GtkWidget-child-notify" title="The “child-notify” signal"><span class="type">“child-notify”</span></a> signal for the child property <em class="parameter"><code>child_property</code></em> on <em class="parameter"><code>widget</code></em> .</p> <p>This is the analogue of <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-notify"><code class="function">g_object_notify()</code></a> for child properties.</p> <p>Also see <a class="link" href="GtkContainer.html#gtk-container-child-notify" title="gtk_container_child_notify ()"><code class="function">gtk_container_child_notify()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-child-notify.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>child_property</p></td> <td class="parameter_description"><p>the name of a child property installed on the class of <em class="parameter"><code>widget</code></em> ’s parent</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-freeze-child-notify"></a><h3>gtk_widget_freeze_child_notify ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_freeze_child_notify (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Stops emission of <a class="link" href="GtkWidget.html#GtkWidget-child-notify" title="The “child-notify” signal"><span class="type">“child-notify”</span></a> signals on <em class="parameter"><code>widget</code></em> . The signals are queued until <a class="link" href="GtkWidget.html#gtk-widget-thaw-child-notify" title="gtk_widget_thaw_child_notify ()"><code class="function">gtk_widget_thaw_child_notify()</code></a> is called on <em class="parameter"><code>widget</code></em> .</p> <p>This is the analogue of <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-freeze-notify"><code class="function">g_object_freeze_notify()</code></a> for child properties.</p> <div class="refsect3"> <a name="gtk-widget-freeze-child-notify.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-child-visible"></a><h3>gtk_widget_get_child_visible ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_child_visible (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value set with <a class="link" href="GtkWidget.html#gtk-widget-set-child-visible" title="gtk_widget_set_child_visible ()"><code class="function">gtk_widget_set_child_visible()</code></a>. If you feel a need to use this function, your code probably needs reorganization.</p> <p>This function is only useful for container implementations and never should be called by an application.</p> <div class="refsect3"> <a name="gtk-widget-get-child-visible.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-child-visible.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is mapped with the parent.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-parent"></a><h3>gtk_widget_get_parent ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * gtk_widget_get_parent (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the parent container of <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-get-parent.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-parent.returns"></a><h4>Returns</h4> <p> the parent container of <em class="parameter"><code>widget</code></em> , or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-settings"></a><h3>gtk_widget_get_settings ()</h3> <pre class="programlisting"><a class="link" href="GtkSettings.html" title="Settings"><span class="returnvalue">GtkSettings</span></a> * gtk_widget_get_settings (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the settings object holding the settings used for this widget.</p> <p>Note that this function can only be called when the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> is attached to a toplevel, since the settings object is specific to a particular <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-settings.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-settings.returns"></a><h4>Returns</h4> <p> the relevant <a class="link" href="GtkSettings.html" title="Settings"><span class="type">GtkSettings</span></a> object. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-clipboard"></a><h3>gtk_widget_get_clipboard ()</h3> <pre class="programlisting"><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * gtk_widget_get_clipboard (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> selection</code></em>);</pre> <p>Returns the clipboard object for the given selection to be used with <em class="parameter"><code>widget</code></em> . <em class="parameter"><code>widget</code></em> must have a <a href="http://developer.gnome.org/gdk3/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> associated with it, so must be attached to a toplevel window.</p> <div class="refsect3"> <a name="gtk-widget-get-clipboard.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>selection</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/gdk4-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> which identifies the clipboard to use. <a href="http://developer.gnome.org/gdk3/gdk4-Selections.html#GDK-SELECTION-CLIPBOARD:CAPS"><code class="literal">GDK_SELECTION_CLIPBOARD</code></a> gives the default clipboard. Another common value is <a href="http://developer.gnome.org/gdk3/gdk4-Selections.html#GDK-SELECTION-PRIMARY:CAPS"><code class="literal">GDK_SELECTION_PRIMARY</code></a>, which gives the primary X selection.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-clipboard.returns"></a><h4>Returns</h4> <p> the appropriate clipboard object. If no clipboard already exists, a new one will be created. Once a clipboard object has been created, it is persistent for all time. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-display"></a><h3>gtk_widget_get_display ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/GdkDisplay.html#GdkDisplay-struct"><span class="returnvalue">GdkDisplay</span></a> * gtk_widget_get_display (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Get the <a href="http://developer.gnome.org/gdk3/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> for the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> at the top.</p> <p>In general, you should only create display specific resources when a widget has been realized, and you should free those resources when the widget is unrealized.</p> <div class="refsect3"> <a name="gtk-widget-get-display.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-display.returns"></a><h4>Returns</h4> <p> the <a href="http://developer.gnome.org/gdk3/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> for the toplevel for this widget. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-root-window"></a><h3>gtk_widget_get_root_window ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="returnvalue">GdkWindow</span></a> * gtk_widget_get_root_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_root_window</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Use <a href="http://developer.gnome.org/gdk3/GdkScreen.html#gdk-screen-get-root-window"><code class="function">gdk_screen_get_root_window()</code></a> instead</p> </div> <p>Get the root window where this widget is located. This function can only be called after the widget has been added to a widget hierarchy with <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> at the top.</p> <p>The root window is useful for such purposes as creating a popup <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated with the window. In general, you should only create display specific resources when a widget has been realized, and you should free those resources when the widget is unrealized.</p> <div class="refsect3"> <a name="gtk-widget-get-root-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-root-window.returns"></a><h4>Returns</h4> <p> the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> root window for the toplevel for this widget. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-screen"></a><h3>gtk_widget_get_screen ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="returnvalue">GdkScreen</span></a> * gtk_widget_get_screen (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Get the <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> from the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> at the top.</p> <p>In general, you should only create screen specific resources when a widget has been realized, and you should free those resources when the widget is unrealized.</p> <div class="refsect3"> <a name="gtk-widget-get-screen.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-screen.returns"></a><h4>Returns</h4> <p> the <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> for the toplevel for this widget. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-has-screen"></a><h3>gtk_widget_has_screen ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_has_screen (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Checks whether there is a <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> is associated with this widget. All toplevel widgets have an associated screen, and all widgets added into a hierarchy with a toplevel window at the top.</p> <div class="refsect3"> <a name="gtk-widget-has-screen.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-has-screen.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there is a <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> associated with the widget.</p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-size-request"></a><h3>gtk_widget_get_size_request ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_size_request (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *width</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *height</code></em>);</pre> <p>Gets the size request that was explicitly set for the widget using <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a>. A value of -1 stored in <em class="parameter"><code>width</code></em> or <em class="parameter"><code>height</code></em> indicates that that dimension has not been set explicitly and the natural requisition of the widget will be used instead. See <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a>. To get the size a widget will actually request, call <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-size" title="gtk_widget_get_preferred_size ()"><code class="function">gtk_widget_get_preferred_size()</code></a> instead of this function.</p> <div class="refsect3"> <a name="gtk-widget-get-size-request.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>width</p></td> <td class="parameter_description"><p> return location for width, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>height</p></td> <td class="parameter_description"><p> return location for height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-child-visible"></a><h3>gtk_widget_set_child_visible ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_child_visible (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_visible</code></em>);</pre> <p>Sets whether <em class="parameter"><code>widget</code></em> should be mapped along with its when its parent is mapped and <em class="parameter"><code>widget</code></em> has been shown with <a class="link" href="GtkWidget.html#gtk-widget-show" title="gtk_widget_show ()"><code class="function">gtk_widget_show()</code></a>.</p> <p>The child visibility can be set for widget before it is added to a container with <a class="link" href="GtkWidget.html#gtk-widget-set-parent" title="gtk_widget_set_parent ()"><code class="function">gtk_widget_set_parent()</code></a>, to avoid mapping children unnecessary before immediately unmapping them. However it will be reset to its default state of <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the widget is removed from a container.</p> <p>Note that changing the child visibility of a widget does not queue a resize on the widget. Most of the time, the size of a widget is computed from all visible children, whether or not they are mapped. If this is not the case, the container can queue a resize itself.</p> <p>This function is only useful for container implementations and never should be called by an application.</p> <div class="refsect3"> <a name="gtk-widget-set-child-visible.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>is_visible</p></td> <td class="parameter_description"><p>if <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, <em class="parameter"><code>widget</code></em> should be mapped along with its parent.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-size-request"></a><h3>gtk_widget_set_size_request ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_size_request (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> height</code></em>);</pre> <p>Sets the minimum size of a widget; that is, the widget’s size request will be at least <em class="parameter"><code>width</code></em> by <em class="parameter"><code>height</code></em> . You can use this function to force a widget to be larger than it normally would be.</p> <p>In most cases, <a class="link" href="GtkWindow.html#gtk-window-set-default-size" title="gtk_window_set_default_size ()"><code class="function">gtk_window_set_default_size()</code></a> is a better choice for toplevel windows than this function; setting the default size will still allow users to shrink the window. Setting the size request will force them to leave the window at least as large as the size request. When dealing with window sizes, <a class="link" href="GtkWindow.html#gtk-window-set-geometry-hints" title="gtk_window_set_geometry_hints ()"><code class="function">gtk_window_set_geometry_hints()</code></a> can be a useful function as well.</p> <p>Note the inherent danger of setting any fixed size - themes, translations into other languages, different fonts, and user action can all change the appropriate size for a given widget. So, it's basically impossible to hardcode a size that will always be correct.</p> <p>The size request of a widget is the smallest size a widget can accept while still functioning well and drawing itself correctly. However in some strange cases a widget may be allocated less than its requested size, and in many cases a widget may be allocated more space than it requested.</p> <p>If the size request in a given direction is -1 (unset), then the “natural” size request of the widget will be used instead.</p> <p>The size request set here does not include any margin from the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> properties margin-left, margin-right, margin-top, and margin-bottom, but it does include pretty much all other padding or border properties set by any subclass of <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-size-request.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>width</p></td> <td class="parameter_description"><p>width <em class="parameter"><code>widget</code></em> should request, or -1 to unset</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>height</p></td> <td class="parameter_description"><p>height <em class="parameter"><code>widget</code></em> should request, or -1 to unset</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-thaw-child-notify"></a><h3>gtk_widget_thaw_child_notify ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_thaw_child_notify (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Reverts the effect of a previous call to <a class="link" href="GtkWidget.html#gtk-widget-freeze-child-notify" title="gtk_widget_freeze_child_notify ()"><code class="function">gtk_widget_freeze_child_notify()</code></a>. This causes all queued <a class="link" href="GtkWidget.html#GtkWidget-child-notify" title="The “child-notify” signal"><span class="type">“child-notify”</span></a> signals on <em class="parameter"><code>widget</code></em> to be emitted.</p> <div class="refsect3"> <a name="gtk-widget-thaw-child-notify.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-no-show-all"></a><h3>gtk_widget_set_no_show_all ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_no_show_all (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> no_show_all</code></em>);</pre> <p>Sets the <a class="link" href="GtkWidget.html#GtkWidget--no-show-all" title="The “no-show-all” property"><span class="type">“no-show-all”</span></a> property, which determines whether calls to <a class="link" href="GtkWidget.html#gtk-widget-show-all" title="gtk_widget_show_all ()"><code class="function">gtk_widget_show_all()</code></a> will affect this widget.</p> <p>This is mostly for use in constructing widget hierarchies with externally controlled visibility, see <a class="link" href="GtkUIManager.html" title="GtkUIManager"><span class="type">GtkUIManager</span></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-no-show-all.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>no_show_all</p></td> <td class="parameter_description"><p>the new value for the “no-show-all” property</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-no-show-all"></a><h3>gtk_widget_get_no_show_all ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_no_show_all (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the current value of the <a class="link" href="GtkWidget.html#GtkWidget--no-show-all" title="The “no-show-all” property"><span class="type">“no-show-all”</span></a> property, which determines whether calls to <a class="link" href="GtkWidget.html#gtk-widget-show-all" title="gtk_widget_show_all ()"><code class="function">gtk_widget_show_all()</code></a> will affect this widget.</p> <div class="refsect3"> <a name="gtk-widget-get-no-show-all.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-no-show-all.returns"></a><h4>Returns</h4> <p> the current value of the “no-show-all” property.</p> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-list-mnemonic-labels"></a><h3>gtk_widget_list_mnemonic_labels ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gtk_widget_list_mnemonic_labels (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, <a class="link" href="GtkLabel.html#gtk-label-set-mnemonic-widget" title="gtk_label_set_mnemonic_widget ()"><code class="function">gtk_label_set_mnemonic_widget()</code></a>).</p> <p>The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you must call <code class="literal">g_list_foreach (result, (GFunc)g_object_ref, NULL)</code> first, and then unref all the widgets afterwards.</p> <div class="refsect3"> <a name="gtk-widget-list-mnemonic-labels.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-list-mnemonic-labels.returns"></a><h4>Returns</h4> <p> the list of mnemonic labels; free this list with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a> when you are done with it. </p> <p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GtkWidget][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-add-mnemonic-label"></a><h3>gtk_widget_add_mnemonic_label ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_add_mnemonic_label (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *label</code></em>);</pre> <p>Adds a widget to the list of mnemonic labels for this widget. (See <a class="link" href="GtkWidget.html#gtk-widget-list-mnemonic-labels" title="gtk_widget_list_mnemonic_labels ()"><code class="function">gtk_widget_list_mnemonic_labels()</code></a>). Note the list of mnemonic labels for the widget is cleared when the widget is destroyed, so the caller must make sure to update its internal state at this point as well, by using a connection to the <a class="link" href="GtkWidget.html#GtkWidget-destroy" title="The “destroy” signal"><span class="type">“destroy”</span></a> signal or a weak notifier.</p> <div class="refsect3"> <a name="gtk-widget-add-mnemonic-label.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>label</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> that acts as a mnemonic label for <em class="parameter"><code>widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-remove-mnemonic-label"></a><h3>gtk_widget_remove_mnemonic_label ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_remove_mnemonic_label (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *label</code></em>);</pre> <p>Removes a widget from the list of mnemonic labels for this widget. (See <a class="link" href="GtkWidget.html#gtk-widget-list-mnemonic-labels" title="gtk_widget_list_mnemonic_labels ()"><code class="function">gtk_widget_list_mnemonic_labels()</code></a>). The widget must have previously been added to the list with <a class="link" href="GtkWidget.html#gtk-widget-add-mnemonic-label" title="gtk_widget_add_mnemonic_label ()"><code class="function">gtk_widget_add_mnemonic_label()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-remove-mnemonic-label.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>label</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> that was previously set as a mnemonic label for <em class="parameter"><code>widget</code></em> with <a class="link" href="GtkWidget.html#gtk-widget-add-mnemonic-label" title="gtk_widget_add_mnemonic_label ()"><code class="function">gtk_widget_add_mnemonic_label()</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-is-composited"></a><h3>gtk_widget_is_composited ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_is_composited (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_is_composited</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p> <p>Use <code class="function">gdk_screen_is_composited()</code> instead.</p> </div> <p>Whether <em class="parameter"><code>widget</code></em> can rely on having its alpha channel drawn correctly. On X11 this function returns whether a compositing manager is running for <em class="parameter"><code>widget</code></em> ’s screen.</p> <p>Please note that the semantics of this call will change in the future if used on a widget that has a composited window in its hierarchy (as set by <code class="function">gdk_window_set_composited()</code>).</p> <div class="refsect3"> <a name="gtk-widget-is-composited.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-is-composited.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget can rely on its alpha channel being drawn correctly.</p> </div> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-error-bell"></a><h3>gtk_widget_error_bell ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_error_bell (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Notifies the user about an input-related error on this widget. If the <a class="link" href="GtkSettings.html#GtkSettings--gtk-error-bell" title="The “gtk-error-bell” property"><span class="type">“gtk-error-bell”</span></a> setting is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it calls <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-beep"><code class="function">gdk_window_beep()</code></a>, otherwise it does nothing.</p> <p>Note that the effect of <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-beep"><code class="function">gdk_window_beep()</code></a> can be configured in many ways, depending on the windowing backend and the desktop environment or window manager that is used.</p> <div class="refsect3"> <a name="gtk-widget-error-bell.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-keynav-failed"></a><h3>gtk_widget_keynav_failed ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_keynav_failed (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> direction</code></em>);</pre> <p>This function should be called whenever keyboard navigation within a single widget hits a boundary. The function emits the <a class="link" href="GtkWidget.html#GtkWidget-keynav-failed" title="The “keynav-failed” signal"><span class="type">“keynav-failed”</span></a> signal on the widget and its return value should be interpreted in a way similar to the return value of <a class="link" href="GtkWidget.html#gtk-widget-child-focus" title="gtk_widget_child_focus ()"><code class="function">gtk_widget_child_focus()</code></a>:</p> <p>When <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is returned, stay in the widget, the failed keyboard navigation is OK and/or there is nowhere we can/should move the focus to.</p> <p>When <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned, the caller should continue with keyboard navigation outside the widget, e.g. by calling <a class="link" href="GtkWidget.html#gtk-widget-child-focus" title="gtk_widget_child_focus ()"><code class="function">gtk_widget_child_focus()</code></a> on the widget’s toplevel.</p> <p>The default ::keynav-failed handler returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for <a class="link" href="gtk3-Standard-Enumerations.html#GTK-DIR-TAB-FORWARD:CAPS"><code class="literal">GTK_DIR_TAB_FORWARD</code></a> and <a class="link" href="gtk3-Standard-Enumerations.html#GTK-DIR-TAB-BACKWARD:CAPS"><code class="literal">GTK_DIR_TAB_BACKWARD</code></a>. For the other values of <a class="link" href="gtk3-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> it returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p> <p>Whenever the default handler returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it also calls <a class="link" href="GtkWidget.html#gtk-widget-error-bell" title="gtk_widget_error_bell ()"><code class="function">gtk_widget_error_bell()</code></a> to notify the user of the failed keyboard navigation.</p> <p>A use case for providing an own implementation of ::keynav-failed (either by connecting to it or by overriding it) would be a row of <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a> widgets where the user should be able to navigate the entire row with the cursor keys, as e.g. known from user interfaces that require entering license keys.</p> <div class="refsect3"> <a name="gtk-widget-keynav-failed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>direction</p></td> <td class="parameter_description"><p>direction of focus movement</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-keynav-failed.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if stopping keyboard navigation is fine, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the emitting widget should try to handle the keyboard navigation attempt in its parent container(s).</p> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-tooltip-markup"></a><h3>gtk_widget_get_tooltip_markup ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gtk_widget_get_tooltip_markup (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the contents of the tooltip for <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-get-tooltip-markup.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-tooltip-markup.returns"></a><h4>Returns</h4> <p> the tooltip text, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. You should free the returned string with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done. </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-tooltip-markup"></a><h3>gtk_widget_set_tooltip_markup ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_tooltip_markup (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *markup</code></em>);</pre> <p>Sets <em class="parameter"><code>markup</code></em> as the contents of the tooltip, which is marked up with the Pango text markup language.</p> <p>This function will take care of setting <a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property"><span class="type">“has-tooltip”</span></a> to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and of the default handler for the <a class="link" href="GtkWidget.html#GtkWidget-query-tooltip" title="The “query-tooltip” signal"><span class="type">“query-tooltip”</span></a> signal.</p> <p>See also the <a class="link" href="GtkWidget.html#GtkWidget--tooltip-markup" title="The “tooltip-markup” property"><span class="type">“tooltip-markup”</span></a> property and <a class="link" href="GtkTooltip.html#gtk-tooltip-set-markup" title="gtk_tooltip_set_markup ()"><code class="function">gtk_tooltip_set_markup()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-tooltip-markup.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>markup</p></td> <td class="parameter_description"><p> the contents of the tooltip for <em class="parameter"><code>widget</code></em> , or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-tooltip-text"></a><h3>gtk_widget_get_tooltip_text ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gtk_widget_get_tooltip_text (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the contents of the tooltip for <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-get-tooltip-text.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-tooltip-text.returns"></a><h4>Returns</h4> <p> the tooltip text, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. You should free the returned string with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done. </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-tooltip-text"></a><h3>gtk_widget_set_tooltip_text ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_tooltip_text (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre> <p>Sets <em class="parameter"><code>text</code></em> as the contents of the tooltip. This function will take care of setting <a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property"><span class="type">“has-tooltip”</span></a> to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and of the default handler for the <a class="link" href="GtkWidget.html#GtkWidget-query-tooltip" title="The “query-tooltip” signal"><span class="type">“query-tooltip”</span></a> signal.</p> <p>See also the <a class="link" href="GtkWidget.html#GtkWidget--tooltip-text" title="The “tooltip-text” property"><span class="type">“tooltip-text”</span></a> property and <a class="link" href="GtkTooltip.html#gtk-tooltip-set-text" title="gtk_tooltip_set_text ()"><code class="function">gtk_tooltip_set_text()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-tooltip-text.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>text</p></td> <td class="parameter_description"><p> the contents of the tooltip for <em class="parameter"><code>widget</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-tooltip-window"></a><h3>gtk_widget_get_tooltip_window ()</h3> <pre class="programlisting"><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="returnvalue">GtkWindow</span></a> * gtk_widget_get_tooltip_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> of the current tooltip. This can be the GtkWindow created by default, or the custom tooltip window set using <a class="link" href="GtkWidget.html#gtk-widget-set-tooltip-window" title="gtk_widget_set_tooltip_window ()"><code class="function">gtk_widget_set_tooltip_window()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-tooltip-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-tooltip-window.returns"></a><h4>Returns</h4> <p> The <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> of the current tooltip. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-tooltip-window"></a><h3>gtk_widget_set_tooltip_window ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_tooltip_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *custom_window</code></em>);</pre> <p>Replaces the default, usually yellow, window used for displaying tooltips with <em class="parameter"><code>custom_window</code></em> . GTK+ will take care of showing and hiding <em class="parameter"><code>custom_window</code></em> at the right moment, to behave likewise as the default tooltip window. If <em class="parameter"><code>custom_window</code></em> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the default tooltip window will be used.</p> <p>If the custom window should have the default theming it needs to have the name “gtk-tooltip”, see <a class="link" href="GtkWidget.html#gtk-widget-set-name" title="gtk_widget_set_name ()"><code class="function">gtk_widget_set_name()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-set-tooltip-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>custom_window</p></td> <td class="parameter_description"><p> a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-has-tooltip"></a><h3>gtk_widget_get_has_tooltip ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_has_tooltip (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the current value of the has-tooltip property. See <a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property"><span class="type">“has-tooltip”</span></a> for more information.</p> <div class="refsect3"> <a name="gtk-widget-get-has-tooltip.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-has-tooltip.returns"></a><h4>Returns</h4> <p> current value of has-tooltip on <em class="parameter"><code>widget</code></em> .</p> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-has-tooltip"></a><h3>gtk_widget_set_has_tooltip ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_has_tooltip (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> has_tooltip</code></em>);</pre> <p>Sets the has-tooltip property on <em class="parameter"><code>widget</code></em> to <em class="parameter"><code>has_tooltip</code></em> . See <a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property"><span class="type">“has-tooltip”</span></a> for more information.</p> <div class="refsect3"> <a name="gtk-widget-set-has-tooltip.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>has_tooltip</p></td> <td class="parameter_description"><p>whether or not <em class="parameter"><code>widget</code></em> has a tooltip.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-trigger-tooltip-query"></a><h3>gtk_widget_trigger_tooltip_query ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_trigger_tooltip_query (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Triggers a tooltip query on the display where the toplevel of <em class="parameter"><code>widget</code></em> is located. See <a class="link" href="GtkTooltip.html#gtk-tooltip-trigger-tooltip-query" title="gtk_tooltip_trigger_tooltip_query ()"><code class="function">gtk_tooltip_trigger_tooltip_query()</code></a> for more information.</p> <div class="refsect3"> <a name="gtk-widget-trigger-tooltip-query.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-window"></a><h3>gtk_widget_get_window ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="returnvalue">GdkWindow</span></a> * gtk_widget_get_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the widget’s window if it is realized, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise</p> <div class="refsect3"> <a name="gtk-widget-get-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-window.returns"></a><h4>Returns</h4> <p> <em class="parameter"><code>widget</code></em> ’s window. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: 2.14</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-register-window"></a><h3>gtk_widget_register_window ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_register_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *window</code></em>);</pre> <p>Registers a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> with the widget and sets it up so that the widget receives events for it. Call <a class="link" href="GtkWidget.html#gtk-widget-unregister-window" title="gtk_widget_unregister_window ()"><code class="function">gtk_widget_unregister_window()</code></a> when destroying the window.</p> <p>Before 3.8 you needed to call <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-set-user-data"><code class="function">gdk_window_set_user_data()</code></a> directly to set this up. This is now deprecated and you should use <a class="link" href="GtkWidget.html#gtk-widget-register-window" title="gtk_widget_register_window ()"><code class="function">gtk_widget_register_window()</code></a> instead. Old code will keep working as is, although some new features like transparency might not work perfectly.</p> <div class="refsect3"> <a name="gtk-widget-register-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>window</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-unregister-window"></a><h3>gtk_widget_unregister_window ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_unregister_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *window</code></em>);</pre> <p>Unregisters a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> from the widget that was previously set up with <a class="link" href="GtkWidget.html#gtk-widget-register-window" title="gtk_widget_register_window ()"><code class="function">gtk_widget_register_window()</code></a>. You need to call this when the window is no longer used by the widget, such as when you destroy it.</p> <div class="refsect3"> <a name="gtk-widget-unregister-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>window</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-cairo-should-draw-window"></a><h3>gtk_cairo_should_draw_window ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_cairo_should_draw_window (<em class="parameter"><code><span class="type">cairo_t</span> *cr</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *window</code></em>);</pre> <p>This function is supposed to be called in <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> implementations for widgets that support multiple windows. <em class="parameter"><code>cr</code></em> must be untransformed from invoking of the draw function. This function will return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the contents of the given <em class="parameter"><code>window</code></em> are supposed to be drawn and <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise. Note that when the drawing was not initiated by the windowing system this function will return <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for all windows, so you need to draw the bottommost window first. Also, do not use “else if” statements to check which window should be drawn.</p> <div class="refsect3"> <a name="gtk-cairo-should-draw-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>cr</p></td> <td class="parameter_description"><p>a cairo context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>window</p></td> <td class="parameter_description"><p>the window to check. <em class="parameter"><code>window</code></em> may not be an input-only window.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-cairo-should-draw-window.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>window</code></em> should be drawn</p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-cairo-transform-to-window"></a><h3>gtk_cairo_transform_to_window ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_cairo_transform_to_window (<em class="parameter"><code><span class="type">cairo_t</span> *cr</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *window</code></em>);</pre> <p>Transforms the given cairo context <em class="parameter"><code>cr</code></em> that from <em class="parameter"><code>widget</code></em> -relative coordinates to <em class="parameter"><code>window</code></em> -relative coordinates. If the <em class="parameter"><code>widget</code></em> ’s window is not an ancestor of <em class="parameter"><code>window</code></em> , no modification will be applied.</p> <p>This is the inverse to the transformation GTK applies when preparing an expose event to be emitted with the <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> signal. It is intended to help porting multiwindow widgets from GTK+ 2 to the rendering architecture of GTK+ 3.</p> <div class="refsect3"> <a name="gtk-cairo-transform-to-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>cr</p></td> <td class="parameter_description"><p>the cairo context to transform</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget the context is currently centered for</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>window</p></td> <td class="parameter_description"><p>the window to transform the context to</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-allocated-width"></a><h3>gtk_widget_get_allocated_width ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> gtk_widget_get_allocated_width (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the width that has currently been allocated to <em class="parameter"><code>widget</code></em> . This function is intended to be used when implementing handlers for the <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> function.</p> <div class="refsect3"> <a name="gtk-widget-get-allocated-width.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget to query</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-allocated-width.returns"></a><h4>Returns</h4> <p> the width of the <em class="parameter"><code>widget</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-allocated-height"></a><h3>gtk_widget_get_allocated_height ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> gtk_widget_get_allocated_height (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the height that has currently been allocated to <em class="parameter"><code>widget</code></em> . This function is intended to be used when implementing handlers for the <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> function.</p> <div class="refsect3"> <a name="gtk-widget-get-allocated-height.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget to query</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-allocated-height.returns"></a><h4>Returns</h4> <p> the height of the <em class="parameter"><code>widget</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-allocation"></a><h3>gtk_widget_get_allocation ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_allocation (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> *allocation</code></em>);</pre> <p>Retrieves the widget’s allocation.</p> <p>Note, when implementing a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a>: a widget’s allocation will be its “adjusted” allocation, that is, the widget’s parent container typically calls <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()"><code class="function">gtk_widget_size_allocate()</code></a> with an allocation, and that allocation is then adjusted (to handle margin and alignment for example) before assignment to the widget. <a class="link" href="GtkWidget.html#gtk-widget-get-allocation" title="gtk_widget_get_allocation ()"><code class="function">gtk_widget_get_allocation()</code></a> returns the adjusted allocation that was actually assigned to the widget. The adjusted allocation is guaranteed to be completely contained within the <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()"><code class="function">gtk_widget_size_allocate()</code></a> allocation, however. So a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> is guaranteed that its children stay inside the assigned bounds, but not that they have exactly the bounds the container assigned. There is no way to get the original allocation assigned by <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()"><code class="function">gtk_widget_size_allocate()</code></a>, since it isn’t stored; if a container implementation needs that information it will have to track it itself.</p> <div class="refsect3"> <a name="gtk-widget-get-allocation.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>allocation</p></td> <td class="parameter_description"><p> a pointer to a <a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> to copy to. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-allocation"></a><h3>gtk_widget_set_allocation ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_allocation (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> *allocation</code></em>);</pre> <p>Sets the widget’s allocation. This should not be used directly, but from within a widget’s size_allocate method.</p> <p>The allocation set should be the “adjusted” or actual allocation. If you’re implementing a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a>, you want to use <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()"><code class="function">gtk_widget_size_allocate()</code></a> instead of <a class="link" href="GtkWidget.html#gtk-widget-set-allocation" title="gtk_widget_set_allocation ()"><code class="function">gtk_widget_set_allocation()</code></a>. The GtkWidgetClass::adjust_size_allocation virtual method adjusts the allocation inside <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()"><code class="function">gtk_widget_size_allocate()</code></a> to create an adjusted allocation.</p> <div class="refsect3"> <a name="gtk-widget-set-allocation.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>allocation</p></td> <td class="parameter_description"><p>a pointer to a <a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> to copy from</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-allocated-baseline"></a><h3>gtk_widget_get_allocated_baseline ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> gtk_widget_get_allocated_baseline (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the baseline that has currently been allocated to <em class="parameter"><code>widget</code></em> . This function is intended to be used when implementing handlers for the <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> function, and when allocating child widgets in <a class="link" href="GtkWidget.html#GtkWidget-size-allocate" title="The “size-allocate” signal"><span class="type">“size_allocate”</span></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-allocated-baseline.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget to query</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-allocated-baseline.returns"></a><h4>Returns</h4> <p> the baseline of the <em class="parameter"><code>widget</code></em> , or -1 if none</p> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-allocated-size"></a><h3>gtk_widget_get_allocated_size ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_allocated_size (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> *allocation</code></em>, <em class="parameter"><code><span class="type">int</span> *baseline</code></em>);</pre> <p>Retrieves the widget’s allocated size.</p> <p>This function returns the last values passed to <a class="link" href="GtkWidget.html#gtk-widget-size-allocate-with-baseline" title="gtk_widget_size_allocate_with_baseline ()"><code class="function">gtk_widget_size_allocate_with_baseline()</code></a>. The value differs from the size returned in <a class="link" href="GtkWidget.html#gtk-widget-get-allocation" title="gtk_widget_get_allocation ()"><code class="function">gtk_widget_get_allocation()</code></a> in that functions like <a class="link" href="GtkWidget.html#gtk-widget-set-halign" title="gtk_widget_set_halign ()"><code class="function">gtk_widget_set_halign()</code></a> can adjust the allocation, but not the value returned by this function.</p> <p>If a widget is not visible, its allocated size is 0.</p> <div class="refsect3"> <a name="gtk-widget-get-allocated-size.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>allocation</p></td> <td class="parameter_description"><p> a pointer to a <a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> to copy to. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>baseline</p></td> <td class="parameter_description"><p> a pointer to an integer to copy to. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-20.html#api-index-3.20">3.20</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-clip"></a><h3>gtk_widget_get_clip ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_clip (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> *clip</code></em>);</pre> <p>Retrieves the widget’s clip area.</p> <p>The clip area is the area in which all of <em class="parameter"><code>widget</code></em> 's drawing will happen. Other toolkits call it the bounding box.</p> <p>Historically, in GTK+ the clip area has been equal to the allocation retrieved via <a class="link" href="GtkWidget.html#gtk-widget-get-allocation" title="gtk_widget_get_allocation ()"><code class="function">gtk_widget_get_allocation()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-clip.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>clip</p></td> <td class="parameter_description"><p> a pointer to a <a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> to copy to. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-clip"></a><h3>gtk_widget_set_clip ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_clip (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> *clip</code></em>);</pre> <p>Sets the widget’s clip. This must not be used directly, but from within a widget’s size_allocate method. It must be called after <a class="link" href="GtkWidget.html#gtk-widget-set-allocation" title="gtk_widget_set_allocation ()"><code class="function">gtk_widget_set_allocation()</code></a> (or after chaining up to the parent class), because that function resets the clip.</p> <p>The clip set should be the area that <em class="parameter"><code>widget</code></em> draws on. If <em class="parameter"><code>widget</code></em> is a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a>, the area must contain all children's clips.</p> <p>If this function is not called by <em class="parameter"><code>widget</code></em> during a ::size-allocate handler, the clip will be set to <em class="parameter"><code>widget</code></em> 's allocation.</p> <div class="refsect3"> <a name="gtk-widget-set-clip.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>clip</p></td> <td class="parameter_description"><p>a pointer to a <a class="link" href="GtkWidget.html#GtkAllocation" title="GtkAllocation"><span class="type">GtkAllocation</span></a> to copy from</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-app-paintable"></a><h3>gtk_widget_get_app_paintable ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_app_paintable (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether the application intends to draw on the widget in an <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> handler.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-set-app-paintable" title="gtk_widget_set_app_paintable ()"><code class="function">gtk_widget_set_app_paintable()</code></a></p> <div class="refsect3"> <a name="gtk-widget-get-app-paintable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-app-paintable.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is app paintable</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-can-default"></a><h3>gtk_widget_get_can_default ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_can_default (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> can be a default widget. See <a class="link" href="GtkWidget.html#gtk-widget-set-can-default" title="gtk_widget_set_can_default ()"><code class="function">gtk_widget_set_can_default()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-can-default.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-can-default.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> can be a default widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-can-default"></a><h3>gtk_widget_set_can_default ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_can_default (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> can_default</code></em>);</pre> <p>Specifies whether <em class="parameter"><code>widget</code></em> can be a default widget. See <a class="link" href="GtkWidget.html#gtk-widget-grab-default" title="gtk_widget_grab_default ()"><code class="function">gtk_widget_grab_default()</code></a> for details about the meaning of “default”.</p> <div class="refsect3"> <a name="gtk-widget-set-can-default.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>can_default</p></td> <td class="parameter_description"><p>whether or not <em class="parameter"><code>widget</code></em> can be a default widget.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-can-focus"></a><h3>gtk_widget_get_can_focus ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_can_focus (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> can own the input focus. See <a class="link" href="GtkWidget.html#gtk-widget-set-can-focus" title="gtk_widget_set_can_focus ()"><code class="function">gtk_widget_set_can_focus()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-can-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-can-focus.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> can own the input focus, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-can-focus"></a><h3>gtk_widget_set_can_focus ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_can_focus (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> can_focus</code></em>);</pre> <p>Specifies whether <em class="parameter"><code>widget</code></em> can own the input focus. See <a class="link" href="GtkWidget.html#gtk-widget-grab-focus" title="gtk_widget_grab_focus ()"><code class="function">gtk_widget_grab_focus()</code></a> for actually setting the input focus on a widget.</p> <div class="refsect3"> <a name="gtk-widget-set-can-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>can_focus</p></td> <td class="parameter_description"><p>whether or not <em class="parameter"><code>widget</code></em> can own the input focus.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-focus-on-click"></a><h3>gtk_widget_get_focus_on_click ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_focus_on_click (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns whether the widget should grab focus when it is clicked with the mouse. See <a class="link" href="GtkWidget.html#gtk-widget-set-focus-on-click" title="gtk_widget_set_focus_on_click ()"><code class="function">gtk_widget_set_focus_on_click()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-focus-on-click.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-focus-on-click.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget should grab focus when it is clicked with the mouse.</p> </div> <p class="since">Since: <a class="link" href="api-index-3-20.html#api-index-3.20">3.20</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-focus-on-click"></a><h3>gtk_widget_set_focus_on_click ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_focus_on_click (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> focus_on_click</code></em>);</pre> <p>Sets whether the widget should grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed from the main area of the application.</p> <div class="refsect3"> <a name="gtk-widget-set-focus-on-click.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>focus_on_click</p></td> <td class="parameter_description"><p>whether the widget should grab focus when clicked with the mouse</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-20.html#api-index-3.20">3.20</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-double-buffered"></a><h3>gtk_widget_get_double_buffered ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_double_buffered (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"><p><code class="literal">gtk_widget_get_double_buffered</code> is deprecated and should not be used in newly-written code.</p></div> <p>Determines whether the widget is double buffered.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-set-double-buffered" title="gtk_widget_set_double_buffered ()"><code class="function">gtk_widget_set_double_buffered()</code></a></p> <div class="refsect3"> <a name="gtk-widget-get-double-buffered.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-double-buffered.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is double buffered</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-has-window"></a><h3>gtk_widget_get_has_window ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_has_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> has a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> of its own. See <a class="link" href="GtkWidget.html#gtk-widget-set-has-window" title="gtk_widget_set_has_window ()"><code class="function">gtk_widget_set_has_window()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-has-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-has-window.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> has a window, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-has-window"></a><h3>gtk_widget_set_has_window ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_has_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> has_window</code></em>);</pre> <p>Specifies whether <em class="parameter"><code>widget</code></em> has a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> of its own. Note that all realized widgets have a non-<a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> “window” pointer (<a class="link" href="GtkWidget.html#gtk-widget-get-window" title="gtk_widget_get_window ()"><code class="function">gtk_widget_get_window()</code></a> never returns a <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> window when a widget is realized), but for many of them it’s actually the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> of one of its parent widgets. Widgets that do not create a <code class="literal">window</code> for themselves in <a class="link" href="GtkWidget.html#GtkWidget-realize" title="The “realize” signal"><span class="type">“realize”</span></a> must announce this by calling this function with <em class="parameter"><code>has_window</code></em> = <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p> <p>This function should only be called by widget implementations, and they should call it in their <code class="function">init()</code> function.</p> <div class="refsect3"> <a name="gtk-widget-set-has-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>has_window</p></td> <td class="parameter_description"><p>whether or not <em class="parameter"><code>widget</code></em> has a window.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-sensitive"></a><h3>gtk_widget_get_sensitive ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_sensitive (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the widget’s sensitivity (in the sense of returning the value that has been set using <a class="link" href="GtkWidget.html#gtk-widget-set-sensitive" title="gtk_widget_set_sensitive ()"><code class="function">gtk_widget_set_sensitive()</code></a>).</p> <p>The effective sensitivity of a widget is however determined by both its own and its parent widget’s sensitivity. See <a class="link" href="GtkWidget.html#gtk-widget-is-sensitive" title="gtk_widget_is_sensitive ()"><code class="function">gtk_widget_is_sensitive()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-sensitive.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-sensitive.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is sensitive</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-is-sensitive"></a><h3>gtk_widget_is_sensitive ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_is_sensitive (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the widget’s effective sensitivity, which means it is sensitive itself and also its parent widget is sensitive</p> <div class="refsect3"> <a name="gtk-widget-is-sensitive.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-is-sensitive.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is effectively sensitive</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-state"></a><h3>gtk_widget_get_state ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="returnvalue">GtkStateType</span></a> gtk_widget_get_state (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_state</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-state-flags" title="gtk_widget_get_state_flags ()"><code class="function">gtk_widget_get_state_flags()</code></a> instead.</p> </div> <p>Returns the widget’s state. See <a class="link" href="GtkWidget.html#gtk-widget-set-state" title="gtk_widget_set_state ()"><code class="function">gtk_widget_set_state()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-state.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-state.returns"></a><h4>Returns</h4> <p> the state of <em class="parameter"><code>widget</code></em> .</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-visible"></a><h3>gtk_widget_get_visible ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_visible (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether the widget is visible. If you want to take into account whether the widget’s parent is also marked as visible, use <a class="link" href="GtkWidget.html#gtk-widget-is-visible" title="gtk_widget_is_visible ()"><code class="function">gtk_widget_is_visible()</code></a> instead.</p> <p>This function does not check if the widget is obscured in any way.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-set-visible" title="gtk_widget_set_visible ()"><code class="function">gtk_widget_set_visible()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-visible.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-visible.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is visible</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-is-visible"></a><h3>gtk_widget_is_visible ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_is_visible (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether the widget and all its parents are marked as visible.</p> <p>This function does not check if the widget is obscured in any way.</p> <p>See also <a class="link" href="GtkWidget.html#gtk-widget-get-visible" title="gtk_widget_get_visible ()"><code class="function">gtk_widget_get_visible()</code></a> and <a class="link" href="GtkWidget.html#gtk-widget-set-visible" title="gtk_widget_set_visible ()"><code class="function">gtk_widget_set_visible()</code></a></p> <div class="refsect3"> <a name="gtk-widget-is-visible.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-is-visible.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget and all its parents are visible</p> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-visible"></a><h3>gtk_widget_set_visible ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_visible (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> visible</code></em>);</pre> <p>Sets the visibility state of <em class="parameter"><code>widget</code></em> . Note that setting this to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> doesn’t mean the widget is actually viewable, see <a class="link" href="GtkWidget.html#gtk-widget-get-visible" title="gtk_widget_get_visible ()"><code class="function">gtk_widget_get_visible()</code></a>.</p> <p>This function simply calls <a class="link" href="GtkWidget.html#gtk-widget-show" title="gtk_widget_show ()"><code class="function">gtk_widget_show()</code></a> or <a class="link" href="GtkWidget.html#gtk-widget-hide" title="gtk_widget_hide ()"><code class="function">gtk_widget_hide()</code></a> but is nicer to use when the visibility of the widget depends on some condition.</p> <div class="refsect3"> <a name="gtk-widget-set-visible.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>visible</p></td> <td class="parameter_description"><p>whether the widget should be shown or not</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-state-flags"></a><h3>gtk_widget_set_state_flags ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_state_flags (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="type">GtkStateFlags</span></a> flags</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> clear</code></em>);</pre> <p>This function is for use in widget implementations. Turns on flag values in the current widget state (insensitive, prelighted, etc.).</p> <p>This function accepts the values <a class="link" href="gtk3-Standard-Enumerations.html#GTK-STATE-FLAG-DIR-LTR:CAPS"><code class="literal">GTK_STATE_FLAG_DIR_LTR</code></a> and <a class="link" href="gtk3-Standard-Enumerations.html#GTK-STATE-FLAG-DIR-RTL:CAPS"><code class="literal">GTK_STATE_FLAG_DIR_RTL</code></a> but ignores them. If you want to set the widget's direction, use <a class="link" href="GtkWidget.html#gtk-widget-set-direction" title="gtk_widget_set_direction ()"><code class="function">gtk_widget_set_direction()</code></a>.</p> <p>It is worth mentioning that any other state than <a class="link" href="gtk3-Standard-Enumerations.html#GTK-STATE-FLAG-INSENSITIVE:CAPS"><code class="literal">GTK_STATE_FLAG_INSENSITIVE</code></a>, will be propagated down to all non-internal children if <em class="parameter"><code>widget</code></em> is a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a>, while <a class="link" href="gtk3-Standard-Enumerations.html#GTK-STATE-FLAG-INSENSITIVE:CAPS"><code class="literal">GTK_STATE_FLAG_INSENSITIVE</code></a> itself will be propagated down to all <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> children by different means than turning on the state flag down the hierarchy, both <a class="link" href="GtkWidget.html#gtk-widget-get-state-flags" title="gtk_widget_get_state_flags ()"><code class="function">gtk_widget_get_state_flags()</code></a> and <a class="link" href="GtkWidget.html#gtk-widget-is-sensitive" title="gtk_widget_is_sensitive ()"><code class="function">gtk_widget_is_sensitive()</code></a> will make use of these.</p> <div class="refsect3"> <a name="gtk-widget-set-state-flags.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>State flags to turn on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>clear</p></td> <td class="parameter_description"><p>Whether to clear state before turning on <em class="parameter"><code>flags</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-unset-state-flags"></a><h3>gtk_widget_unset_state_flags ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_unset_state_flags (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="type">GtkStateFlags</span></a> flags</code></em>);</pre> <p>This function is for use in widget implementations. Turns off flag values for the current widget state (insensitive, prelighted, etc.). See <a class="link" href="GtkWidget.html#gtk-widget-set-state-flags" title="gtk_widget_set_state_flags ()"><code class="function">gtk_widget_set_state_flags()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-unset-state-flags.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>State flags to turn off</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-state-flags"></a><h3>gtk_widget_get_state_flags ()</h3> <pre class="programlisting"><a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="returnvalue">GtkStateFlags</span></a> gtk_widget_get_state_flags (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the widget state as a flag set. It is worth mentioning that the effective <a class="link" href="gtk3-Standard-Enumerations.html#GTK-STATE-FLAG-INSENSITIVE:CAPS"><code class="literal">GTK_STATE_FLAG_INSENSITIVE</code></a> state will be returned, that is, also based on parent insensitivity, even if <em class="parameter"><code>widget</code></em> itself is sensitive.</p> <p>Also note that if you are looking for a way to obtain the <a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="type">GtkStateFlags</span></a> to pass to a <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> method, you should look at <a class="link" href="GtkStyleContext.html#gtk-style-context-get-state" title="gtk_style_context_get_state ()"><code class="function">gtk_style_context_get_state()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-state-flags.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-state-flags.returns"></a><h4>Returns</h4> <p> The state flags for widget</p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-has-default"></a><h3>gtk_widget_has_default ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_has_default (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> is the current default widget within its toplevel. See <a class="link" href="GtkWidget.html#gtk-widget-set-can-default" title="gtk_widget_set_can_default ()"><code class="function">gtk_widget_set_can_default()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-has-default.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-has-default.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> is the current default widget within its toplevel, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-has-focus"></a><h3>gtk_widget_has_focus ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_has_focus (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines if the widget has the global input focus. See <a class="link" href="GtkWidget.html#gtk-widget-is-focus" title="gtk_widget_is_focus ()"><code class="function">gtk_widget_is_focus()</code></a> for the difference between having the global input focus, and only having the focus within a toplevel.</p> <div class="refsect3"> <a name="gtk-widget-has-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-has-focus.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget has the global input focus.</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-has-visible-focus"></a><h3>gtk_widget_has_visible_focus ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_has_visible_focus (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines if the widget should show a visible indication that it has the global input focus. This is a convenience function for use in ::draw handlers that takes into account whether focus indication should currently be shown in the toplevel window of <em class="parameter"><code>widget</code></em> . See <a class="link" href="GtkWindow.html#gtk-window-get-focus-visible" title="gtk_window_get_focus_visible ()"><code class="function">gtk_window_get_focus_visible()</code></a> for more information about focus indication.</p> <p>To find out if the widget has the global input focus, use <a class="link" href="GtkWidget.html#gtk-widget-has-focus" title="gtk_widget_has_focus ()"><code class="function">gtk_widget_has_focus()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-has-visible-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-has-visible-focus.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget should display a “focus rectangle”</p> </div> <p class="since">Since: <a class="link" href="api-index-3-2.html#api-index-3.2">3.2</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-has-grab"></a><h3>gtk_widget_has_grab ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_has_grab (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether the widget is currently grabbing events, so it is the only widget receiving input events (keyboard and mouse).</p> <p>See also <a class="link" href="gtk3-General.html#gtk-grab-add" title="gtk_grab_add ()"><code class="function">gtk_grab_add()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-has-grab.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-has-grab.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is in the grab_widgets stack</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-has-rc-style"></a><h3>gtk_widget_has_rc_style ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_has_rc_style (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_has_rc_style</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> instead</p> </div> <p>Determines if the widget style has been looked up through the rc mechanism.</p> <div class="refsect3"> <a name="gtk-widget-has-rc-style.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-has-rc-style.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget has been looked up through the rc mechanism, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-is-drawable"></a><h3>gtk_widget_is_drawable ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_is_drawable (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> can be drawn to. A widget can be drawn to if it is mapped and visible.</p> <div class="refsect3"> <a name="gtk-widget-is-drawable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-is-drawable.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> is drawable, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-is-toplevel"></a><h3>gtk_widget_is_toplevel ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_is_toplevel (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> is a toplevel widget.</p> <p>Currently only <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> and <a class="link" href="GtkInvisible.html" title="GtkInvisible"><span class="type">GtkInvisible</span></a> (and out-of-process <a href="GtkPlug.html#GtkPlug-struct"><span class="type">GtkPlugs</span></a>) are toplevel widgets. Toplevel widgets have no parent widget.</p> <div class="refsect3"> <a name="gtk-widget-is-toplevel.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-is-toplevel.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> is a toplevel, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-window"></a><h3>gtk_widget_set_window ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_window (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *window</code></em>);</pre> <p>Sets a widget’s window. This function should only be used in a widget’s <a class="link" href="GtkWidget.html#GtkWidget-realize" title="The “realize” signal"><span class="type">“realize”</span></a> implementation. The <code class="literal">window</code> passed is usually either new window created with <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-new"><code class="function">gdk_window_new()</code></a>, or the window of its parent widget as returned by <a class="link" href="GtkWidget.html#gtk-widget-get-parent-window" title="gtk_widget_get_parent_window ()"><code class="function">gtk_widget_get_parent_window()</code></a>.</p> <p>Widgets must indicate whether they will create their own <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> by calling <a class="link" href="GtkWidget.html#gtk-widget-set-has-window" title="gtk_widget_set_has_window ()"><code class="function">gtk_widget_set_has_window()</code></a>. This is usually done in the widget’s <code class="function">init()</code> function.</p> <p>Note that this function does not add any reference to <em class="parameter"><code>window</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-set-window.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>window</p></td> <td class="parameter_description"><p> a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-receives-default"></a><h3>gtk_widget_set_receives_default ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_receives_default (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> receives_default</code></em>);</pre> <p>Specifies whether <em class="parameter"><code>widget</code></em> will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-grab-default" title="gtk_widget_grab_default ()"><code class="function">gtk_widget_grab_default()</code></a> for details about the meaning of “default”.</p> <div class="refsect3"> <a name="gtk-widget-set-receives-default.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>receives_default</p></td> <td class="parameter_description"><p>whether or not <em class="parameter"><code>widget</code></em> can be a default widget.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-receives-default"></a><h3>gtk_widget_get_receives_default ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_receives_default (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-set-receives-default" title="gtk_widget_set_receives_default ()"><code class="function">gtk_widget_set_receives_default()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-receives-default.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-receives-default.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> acts as the default widget when focused, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-support-multidevice"></a><h3>gtk_widget_set_support_multidevice ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_support_multidevice (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> support_multidevice</code></em>);</pre> <p>Enables or disables multiple pointer awareness. If this setting is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, <em class="parameter"><code>widget</code></em> will start receiving multiple, per device enter/leave events. Note that if custom <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindows</span></a> are created in <a class="link" href="GtkWidget.html#GtkWidget-realize" title="The “realize” signal"><span class="type">“realize”</span></a>, <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-set-support-multidevice"><code class="function">gdk_window_set_support_multidevice()</code></a> will have to be called manually on them.</p> <div class="refsect3"> <a name="gtk-widget-set-support-multidevice.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>support_multidevice</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to support input from multiple devices.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-support-multidevice"></a><h3>gtk_widget_get_support_multidevice ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_support_multidevice (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> is multiple pointer aware. See <a class="link" href="GtkWidget.html#gtk-widget-set-support-multidevice" title="gtk_widget_set_support_multidevice ()"><code class="function">gtk_widget_set_support_multidevice()</code></a> for more information.</p> <div class="refsect3"> <a name="gtk-widget-get-support-multidevice.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-support-multidevice.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> is multidevice aware.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-realized"></a><h3>gtk_widget_set_realized ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_realized (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> realized</code></em>);</pre> <p>Marks the widget as being realized. This function must only be called after all <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindows</span></a> for the <em class="parameter"><code>widget</code></em> have been created and registered.</p> <p>This function should only ever be called in a derived widget's “realize” or “unrealize” implementation.</p> <div class="refsect3"> <a name="gtk-widget-set-realized.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>realized</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to mark the widget as realized</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-realized"></a><h3>gtk_widget_get_realized ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_realized (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Determines whether <em class="parameter"><code>widget</code></em> is realized.</p> <div class="refsect3"> <a name="gtk-widget-get-realized.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-realized.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>widget</code></em> is realized, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-mapped"></a><h3>gtk_widget_set_mapped ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_mapped (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> mapped</code></em>);</pre> <p>Marks the widget as being realized.</p> <p>This function should only ever be called in a derived widget's “map” or “unmap” implementation.</p> <div class="refsect3"> <a name="gtk-widget-set-mapped.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>mapped</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to mark the widget as mapped</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-mapped"></a><h3>gtk_widget_get_mapped ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_mapped (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Whether the widget is mapped.</p> <div class="refsect3"> <a name="gtk-widget-get-mapped.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-mapped.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the widget is mapped, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-requisition"></a><h3>gtk_widget_get_requisition ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_requisition (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> *requisition</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_requisition</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>The <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> cache on the widget was removed, If you need to cache sizes across requests and allocations, add an explicit cache to the widget in question instead.</p> </div> <p>Retrieves the widget’s requisition.</p> <p>This function should only be used by widget implementations in order to figure whether the widget’s requisition has actually changed after some internal state change (so that they can call <a class="link" href="GtkWidget.html#gtk-widget-queue-resize" title="gtk_widget_queue_resize ()"><code class="function">gtk_widget_queue_resize()</code></a> instead of <a class="link" href="GtkWidget.html#gtk-widget-queue-draw" title="gtk_widget_queue_draw ()"><code class="function">gtk_widget_queue_draw()</code></a>).</p> <p>Normally, <a class="link" href="GtkWidget.html#gtk-widget-size-request" title="gtk_widget_size_request ()"><code class="function">gtk_widget_size_request()</code></a> should be used.</p> <div class="refsect3"> <a name="gtk-widget-get-requisition.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>requisition</p></td> <td class="parameter_description"><p> a pointer to a <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> to copy to. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.20</p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-device-is-shadowed"></a><h3>gtk_widget_device_is_shadowed ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_device_is_shadowed (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> *device</code></em>);</pre> <p>Returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>device</code></em> has been shadowed by a GTK+ device grab on another widget, so it would stop sending events to <em class="parameter"><code>widget</code></em> . This may be used in the <a class="link" href="GtkWidget.html#GtkWidget-grab-notify" title="The “grab-notify” signal"><span class="type">“grab-notify”</span></a> signal to check for specific devices. See <a class="link" href="gtk3-General.html#gtk-device-grab-add" title="gtk_device_grab_add ()"><code class="function">gtk_device_grab_add()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-device-is-shadowed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>device</p></td> <td class="parameter_description"><p>a <a href="http://developer.gnome.org/gdk3/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-device-is-shadowed.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there is an ongoing grab on <em class="parameter"><code>device</code></em> by another <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> than <em class="parameter"><code>widget</code></em> .</p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-modifier-mask"></a><h3>gtk_widget_get_modifier_mask ()</h3> <pre class="programlisting"><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkModifierType"><span class="returnvalue">GdkModifierType</span></a> gtk_widget_get_modifier_mask (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkModifierIntent"><span class="type">GdkModifierIntent</span></a> intent</code></em>);</pre> <p>Returns the modifier mask the <em class="parameter"><code>widget</code></em> ’s windowing system backend uses for a particular purpose.</p> <p>See <a href="http://developer.gnome.org/gdk3/gdk4-Keyboard-Handling.html#gdk-keymap-get-modifier-mask"><code class="function">gdk_keymap_get_modifier_mask()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-modifier-mask.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>intent</p></td> <td class="parameter_description"><p>the use case for the modifier mask</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-modifier-mask.returns"></a><h4>Returns</h4> <p> the modifier mask used for <em class="parameter"><code>intent</code></em> .</p> </div> <p class="since">Since: <a class="link" href="api-index-3-4.html#api-index-3.4">3.4</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-insert-action-group"></a><h3>gtk_widget_insert_action_group ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_insert_action_group (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="type">GActionGroup</span></a> *group</code></em>);</pre> <p>Inserts <em class="parameter"><code>group</code></em> into <em class="parameter"><code>widget</code></em> . Children of <em class="parameter"><code>widget</code></em> that implement <a class="link" href="GtkActionable.html" title="GtkActionable"><span class="type">GtkActionable</span></a> can then be associated with actions in <em class="parameter"><code>group</code></em> by setting their “action-name” to <em class="parameter"><code>prefix</code></em> .<code class="literal">action-name</code>.</p> <p>If <em class="parameter"><code>group</code></em> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a previously inserted group for <em class="parameter"><code>name</code></em> is removed from <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-insert-action-group.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>the prefix for actions in <em class="parameter"><code>group</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>group</p></td> <td class="parameter_description"><p> a <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="type">GActionGroup</span></a>, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-6.html#api-index-3.6">3.6</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-opacity"></a><h3>gtk_widget_get_opacity ()</h3> <pre class="programlisting"><span class="returnvalue">double</span> gtk_widget_get_opacity (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Fetches the requested opacity for this widget. See <a class="link" href="GtkWidget.html#gtk-widget-set-opacity" title="gtk_widget_set_opacity ()"><code class="function">gtk_widget_set_opacity()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-opacity.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-opacity.returns"></a><h4>Returns</h4> <p> the requested opacity for this widget.</p> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-opacity"></a><h3>gtk_widget_set_opacity ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_opacity (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><span class="type">double</span> opacity</code></em>);</pre> <p>Request the <em class="parameter"><code>widget</code></em> to be rendered partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Opacity values are clamped to the [0,1] range.). This works on both toplevel widget, and child widgets, although there are some limitations:</p> <p>For toplevel widgets this depends on the capabilities of the windowing system. On X11 this has any effect only on X screens with a compositing manager running. See <a class="link" href="GtkWidget.html#gtk-widget-is-composited" title="gtk_widget_is_composited ()"><code class="function">gtk_widget_is_composited()</code></a>. On Windows it should work always, although setting a window’s opacity after the window has been shown causes it to flicker once on Windows.</p> <p>For child widgets it doesn’t work if any affected widget has a native window, or disables double buffering.</p> <div class="refsect3"> <a name="gtk-widget-set-opacity.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>opacity</p></td> <td class="parameter_description"><p>desired opacity, between 0 and 1</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-list-action-prefixes"></a><h3>gtk_widget_list_action_prefixes ()</h3> <pre class="programlisting">const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> ** gtk_widget_list_action_prefixes (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Retrieves a <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of strings containing the prefixes of <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="type">GActionGroup</span></a>'s available to <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-list-action-prefixes.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-list-action-prefixes.returns"></a><h4>Returns</h4> <p> a <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of strings. </p> <p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-3-16.html#api-index-3.16">3.16</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-action-group"></a><h3>gtk_widget_get_action_group ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="returnvalue">GActionGroup</span></a> * gtk_widget_get_action_group (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *prefix</code></em>);</pre> <p>Retrieves the <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="type">GActionGroup</span></a> that was registered using <em class="parameter"><code>prefix</code></em> . The resulting <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="type">GActionGroup</span></a> may have been registered to <em class="parameter"><code>widget</code></em> or any <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> in its ancestry.</p> <p>If no action group was found matching <em class="parameter"><code>prefix</code></em> , then <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned.</p> <div class="refsect3"> <a name="gtk-widget-get-action-group.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>prefix</p></td> <td class="parameter_description"><p>The “prefix” of the action group.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-action-group.returns"></a><h4>Returns</h4> <p> A <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GActionGroup.html#GActionGroup-struct"><span class="type">GActionGroup</span></a> or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-3-16.html#api-index-3.16">3.16</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-path"></a><h3>gtk_widget_get_path ()</h3> <pre class="programlisting"><a class="link" href="gtk3-GtkWidgetPath.html#GtkWidgetPath" title="GtkWidgetPath"><span class="returnvalue">GtkWidgetPath</span></a> * gtk_widget_get_path (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the <a class="link" href="gtk3-GtkWidgetPath.html#GtkWidgetPath" title="GtkWidgetPath"><span class="type">GtkWidgetPath</span></a> representing <em class="parameter"><code>widget</code></em> , if the widget is not connected to a toplevel widget, a partial path will be created.</p> <div class="refsect3"> <a name="gtk-widget-get-path.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-path.returns"></a><h4>Returns</h4> <p> The <a class="link" href="gtk3-GtkWidgetPath.html#GtkWidgetPath" title="GtkWidgetPath"><span class="type">GtkWidgetPath</span></a> representing <em class="parameter"><code>widget</code></em> . </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-style-context"></a><h3>gtk_widget_get_style_context ()</h3> <pre class="programlisting"><a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="returnvalue">GtkStyleContext</span></a> * gtk_widget_get_style_context (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Returns the style context associated to <em class="parameter"><code>widget</code></em> . The returned object is guaranteed to be the same for the lifetime of <em class="parameter"><code>widget</code></em> .</p> <div class="refsect3"> <a name="gtk-widget-get-style-context.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-style-context.returns"></a><h4>Returns</h4> <p> a <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a>. This memory is owned by <em class="parameter"><code>widget</code></em> and must not be freed. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-reset-style"></a><h3>gtk_widget_reset_style ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_reset_style (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Updates the style context of <em class="parameter"><code>widget</code></em> and all descendants by updating its widget path. <a href="GtkContainer.html#GtkContainer-struct"><span class="type">GtkContainers</span></a> may want to use this on a child when reordering it in a way that a different style might apply to it. See also <a class="link" href="GtkContainer.html#gtk-container-get-path-for-child" title="gtk_container_get_path_for_child ()"><code class="function">gtk_container_get_path_for_child()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-reset-style.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-get-css-name"></a><h3>gtk_widget_class_get_css_name ()</h3> <pre class="programlisting">const <span class="returnvalue">char</span> * gtk_widget_class_get_css_name (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>);</pre> <p>Gets the name used by this class for matching in CSS code. See <a class="link" href="GtkWidget.html#gtk-widget-class-set-css-name" title="gtk_widget_class_set_css_name ()"><code class="function">gtk_widget_class_set_css_name()</code></a> for details.</p> <div class="refsect3"> <a name="gtk-widget-class-get-css-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>class to set the name on</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-class-get-css-name.returns"></a><h4>Returns</h4> <p> the CSS name of the given class</p> </div> <p class="since">Since: <a class="link" href="api-index-3-20.html#api-index-3.20">3.20</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-set-css-name"></a><h3>gtk_widget_class_set_css_name ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_set_css_name (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre> <p>Sets the name to be used for CSS matching of widgets.</p> <p>If this function is not called for a given class, the name of the parent class is used.</p> <div class="refsect3"> <a name="gtk-widget-class-set-css-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>class to set the name on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>name to use</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-20.html#api-index-3.20">3.20</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-requisition-new"></a><h3>gtk_requisition_new ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkRequisition"><span class="returnvalue">GtkRequisition</span></a> * gtk_requisition_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Allocates a new <a class="link" href="GtkWidget.html#GtkRequisition-struct" title="GtkRequisition"><span class="type">GtkRequisition</span></a> and initializes its elements to zero.</p> <div class="refsect3"> <a name="gtk-requisition-new.returns"></a><h4>Returns</h4> <p> a new empty <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a>. The newly allocated <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> should be freed with <a class="link" href="GtkWidget.html#gtk-requisition-free" title="gtk_requisition_free ()"><code class="function">gtk_requisition_free()</code></a>.</p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-requisition-copy"></a><h3>gtk_requisition_copy ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkRequisition"><span class="returnvalue">GtkRequisition</span></a> * gtk_requisition_copy (<em class="parameter"><code>const <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> *requisition</code></em>);</pre> <p>Copies a <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a>.</p> <div class="refsect3"> <a name="gtk-requisition-copy.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>requisition</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-requisition-copy.returns"></a><h4>Returns</h4> <p> a copy of <em class="parameter"><code>requisition</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-requisition-free"></a><h3>gtk_requisition_free ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_requisition_free (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> *requisition</code></em>);</pre> <p>Frees a <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a>.</p> <div class="refsect3"> <a name="gtk-requisition-free.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>requisition</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-preferred-height"></a><h3>gtk_widget_get_preferred_height ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_preferred_height (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minimum_height</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *natural_height</code></em>);</pre> <p>Retrieves a widget’s initial minimum and natural height.</p> <p>This call is specific to width-for-height requests.</p> <p>The returned request will be modified by the GtkWidgetClass::adjust_size_request virtual method and by any <a href="GtkSizeGroup.html#GtkSizeGroup-struct"><span class="type">GtkSizeGroups</span></a> that have been applied. That is, the returned request is the one that should be used for layout, not necessarily the one returned by the widget itself.</p> <div class="refsect3"> <a name="gtk-widget-get-preferred-height.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> instance</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>minimum_height</p></td> <td class="parameter_description"><p> location to store the minimum height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>natural_height</p></td> <td class="parameter_description"><p> location to store the natural height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-preferred-width"></a><h3>gtk_widget_get_preferred_width ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_preferred_width (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minimum_width</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *natural_width</code></em>);</pre> <p>Retrieves a widget’s initial minimum and natural width.</p> <p>This call is specific to height-for-width requests.</p> <p>The returned request will be modified by the GtkWidgetClass::adjust_size_request virtual method and by any <a href="GtkSizeGroup.html#GtkSizeGroup-struct"><span class="type">GtkSizeGroups</span></a> that have been applied. That is, the returned request is the one that should be used for layout, not necessarily the one returned by the widget itself.</p> <div class="refsect3"> <a name="gtk-widget-get-preferred-width.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> instance</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>minimum_width</p></td> <td class="parameter_description"><p> location to store the minimum width, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>natural_width</p></td> <td class="parameter_description"><p> location to store the natural width, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-preferred-height-for-width"></a><h3>gtk_widget_get_preferred_height_for_width ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_preferred_height_for_width (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minimum_height</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *natural_height</code></em>);</pre> <p>Retrieves a widget’s minimum and natural height if it would be given the specified <em class="parameter"><code>width</code></em> .</p> <p>The returned request will be modified by the GtkWidgetClass::adjust_size_request virtual method and by any <a href="GtkSizeGroup.html#GtkSizeGroup-struct"><span class="type">GtkSizeGroups</span></a> that have been applied. That is, the returned request is the one that should be used for layout, not necessarily the one returned by the widget itself.</p> <div class="refsect3"> <a name="gtk-widget-get-preferred-height-for-width.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> instance</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>width</p></td> <td class="parameter_description"><p>the width which is available for allocation</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>minimum_height</p></td> <td class="parameter_description"><p> location for storing the minimum height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>natural_height</p></td> <td class="parameter_description"><p> location for storing the natural height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-preferred-width-for-height"></a><h3>gtk_widget_get_preferred_width_for_height ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_preferred_width_for_height (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> height</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minimum_width</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *natural_width</code></em>);</pre> <p>Retrieves a widget’s minimum and natural width if it would be given the specified <em class="parameter"><code>height</code></em> .</p> <p>The returned request will be modified by the GtkWidgetClass::adjust_size_request virtual method and by any <a href="GtkSizeGroup.html#GtkSizeGroup-struct"><span class="type">GtkSizeGroups</span></a> that have been applied. That is, the returned request is the one that should be used for layout, not necessarily the one returned by the widget itself.</p> <div class="refsect3"> <a name="gtk-widget-get-preferred-width-for-height.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> instance</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>height</p></td> <td class="parameter_description"><p>the height which is available for allocation</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>minimum_width</p></td> <td class="parameter_description"><p> location for storing the minimum width, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>natural_width</p></td> <td class="parameter_description"><p> location for storing the natural width, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-preferred-height-and-baseline-for-width"></a><h3>gtk_widget_get_preferred_height_and_baseline_for_width ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_preferred_height_and_baseline_for_width (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minimum_height</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *natural_height</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minimum_baseline</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *natural_baseline</code></em>);</pre> <p>Retrieves a widget’s minimum and natural height and the corresponding baselines if it would be given the specified <em class="parameter"><code>width</code></em> , or the default height if <em class="parameter"><code>width</code></em> is -1. The baselines may be -1 which means that no baseline is requested for this widget.</p> <p>The returned request will be modified by the GtkWidgetClass::adjust_size_request and GtkWidgetClass::adjust_baseline_request virtual methods and by any <a href="GtkSizeGroup.html#GtkSizeGroup-struct"><span class="type">GtkSizeGroups</span></a> that have been applied. That is, the returned request is the one that should be used for layout, not necessarily the one returned by the widget itself.</p> <div class="refsect3"> <a name="gtk-widget-get-preferred-height-and-baseline-for-width.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> instance</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>width</p></td> <td class="parameter_description"><p>the width which is available for allocation, or -1 if none</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>minimum_height</p></td> <td class="parameter_description"><p> location for storing the minimum height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>natural_height</p></td> <td class="parameter_description"><p> location for storing the natural height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>minimum_baseline</p></td> <td class="parameter_description"><p> location for storing the baseline for the minimum height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>natural_baseline</p></td> <td class="parameter_description"><p> location for storing the baseline for the natural height, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-request-mode"></a><h3>gtk_widget_get_request_mode ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkSizeRequestMode" title="enum GtkSizeRequestMode"><span class="returnvalue">GtkSizeRequestMode</span></a> gtk_widget_get_request_mode (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets whether the widget prefers a height-for-width layout or a width-for-height layout.</p> <p><a class="link" href="GtkBin.html" title="GtkBin"><span class="type">GtkBin</span></a> widgets generally propagate the preference of their child, container widgets need to request something either in context of their children or in context of their allocation capabilities.</p> <div class="refsect3"> <a name="gtk-widget-get-request-mode.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> instance</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-request-mode.returns"></a><h4>Returns</h4> <p> The <a class="link" href="GtkWidget.html#GtkSizeRequestMode" title="enum GtkSizeRequestMode"><span class="type">GtkSizeRequestMode</span></a> preferred by <em class="parameter"><code>widget</code></em> .</p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-preferred-size"></a><h3>gtk_widget_get_preferred_size ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_get_preferred_size (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> *minimum_size</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkRequisition"><span class="type">GtkRequisition</span></a> *natural_size</code></em>);</pre> <p>Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.</p> <p>This is used to retrieve a suitable size by container widgets which do not impose any restrictions on the child placement. It can be used to deduce toplevel window and menu sizes as well as child widgets in free-form containers such as GtkLayout.</p> <p>Handle with care. Note that the natural height of a height-for-width widget will generally be a smaller size than the minimum height, since the required height for the natural width is generally smaller than the required height for the minimum width.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-preferred-height-and-baseline-for-width" title="gtk_widget_get_preferred_height_and_baseline_for_width ()"><code class="function">gtk_widget_get_preferred_height_and_baseline_for_width()</code></a> if you want to support baseline alignment.</p> <div class="refsect3"> <a name="gtk-widget-get-preferred-size.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> instance</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>minimum_size</p></td> <td class="parameter_description"><p> location for storing the minimum size, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>natural_size</p></td> <td class="parameter_description"><p> location for storing the natural size, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-distribute-natural-allocation"></a><h3>gtk_distribute_natural_allocation ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_distribute_natural_allocation (<em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> extra_space</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_requested_sizes</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkRequestedSize" title="struct GtkRequestedSize"><span class="type">GtkRequestedSize</span></a> *sizes</code></em>);</pre> <p>Distributes <em class="parameter"><code>extra_space</code></em> to child <em class="parameter"><code>sizes</code></em> by bringing smaller children up to natural size first.</p> <p>The remaining space will be added to the <em class="parameter"><code>minimum_size</code></em> member of the GtkRequestedSize struct. If all sizes reach their natural size then the remaining space is returned.</p> <div class="refsect3"> <a name="gtk-distribute-natural-allocation.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>extra_space</p></td> <td class="parameter_description"><p>Extra space to redistribute among children after subtracting minimum sizes and any child padding from the overall allocation</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_requested_sizes</p></td> <td class="parameter_description"><p>Number of requests to fit into the allocation</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sizes</p></td> <td class="parameter_description"><p>An array of structs with a client pointer and a minimum/natural size in the orientation of the allocation.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-distribute-natural-allocation.returns"></a><h4>Returns</h4> <p> The remainder of <em class="parameter"><code>extra_space</code></em> after redistributing space to <em class="parameter"><code>sizes</code></em> .</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-halign"></a><h3>gtk_widget_get_halign ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="returnvalue">GtkAlign</span></a> gtk_widget_get_halign (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--halign" title="The “halign” property"><span class="type">“halign”</span></a> property.</p> <p>For backwards compatibility reasons this method will never return <a class="link" href="GtkWidget.html#GTK-ALIGN-BASELINE:CAPS"><code class="literal">GTK_ALIGN_BASELINE</code></a>, but instead it will convert it to <a class="link" href="GtkWidget.html#GTK-ALIGN-FILL:CAPS"><code class="literal">GTK_ALIGN_FILL</code></a>. Baselines are not supported for horizontal alignment.</p> <div class="refsect3"> <a name="gtk-widget-get-halign.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-halign.returns"></a><h4>Returns</h4> <p> the horizontal alignment of <em class="parameter"><code>widget</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-halign"></a><h3>gtk_widget_set_halign ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_halign (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a> align</code></em>);</pre> <p>Sets the horizontal alignment of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--halign" title="The “halign” property"><span class="type">“halign”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-halign.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>align</p></td> <td class="parameter_description"><p>the horizontal alignment</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-valign"></a><h3>gtk_widget_get_valign ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="returnvalue">GtkAlign</span></a> gtk_widget_get_valign (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property"><span class="type">“valign”</span></a> property.</p> <p>For backwards compatibility reasons this method will never return <a class="link" href="GtkWidget.html#GTK-ALIGN-BASELINE:CAPS"><code class="literal">GTK_ALIGN_BASELINE</code></a>, but instead it will convert it to <a class="link" href="GtkWidget.html#GTK-ALIGN-FILL:CAPS"><code class="literal">GTK_ALIGN_FILL</code></a>. If your widget want to support baseline aligned children it must use <a class="link" href="GtkWidget.html#gtk-widget-get-valign-with-baseline" title="gtk_widget_get_valign_with_baseline ()"><code class="function">gtk_widget_get_valign_with_baseline()</code></a>, or <code class="literal">g_object_get (widget, "valign", &value, NULL)</code>, which will also report the true value.</p> <div class="refsect3"> <a name="gtk-widget-get-valign.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-valign.returns"></a><h4>Returns</h4> <p> the vertical alignment of <em class="parameter"><code>widget</code></em> , ignoring baseline alignment</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-valign-with-baseline"></a><h3>gtk_widget_get_valign_with_baseline ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="returnvalue">GtkAlign</span></a> gtk_widget_get_valign_with_baseline (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property"><span class="type">“valign”</span></a> property, including <a class="link" href="GtkWidget.html#GTK-ALIGN-BASELINE:CAPS"><code class="literal">GTK_ALIGN_BASELINE</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-get-valign-with-baseline.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-valign-with-baseline.returns"></a><h4>Returns</h4> <p> the vertical alignment of <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-valign"></a><h3>gtk_widget_set_valign ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_valign (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a> align</code></em>);</pre> <p>Sets the vertical alignment of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property"><span class="type">“valign”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-valign.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>align</p></td> <td class="parameter_description"><p>the vertical alignment</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-margin-left"></a><h3>gtk_widget_get_margin_left ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_margin_left (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_margin_left</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-margin-start" title="gtk_widget_get_margin_start ()"><code class="function">gtk_widget_get_margin_start()</code></a> instead.</p> </div> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--margin-left" title="The “margin-left” property"><span class="type">“margin-left”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-get-margin-left.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-margin-left.returns"></a><h4>Returns</h4> <p> The left margin of <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-margin-left"></a><h3>gtk_widget_set_margin_left ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_margin_left (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> margin</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_set_margin_left</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-set-margin-start" title="gtk_widget_set_margin_start ()"><code class="function">gtk_widget_set_margin_start()</code></a> instead.</p> </div> <p>Sets the left margin of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--margin-left" title="The “margin-left” property"><span class="type">“margin-left”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-margin-left.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>margin</p></td> <td class="parameter_description"><p>the left margin</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-margin-right"></a><h3>gtk_widget_get_margin_right ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_margin_right (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_get_margin_right</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-get-margin-end" title="gtk_widget_get_margin_end ()"><code class="function">gtk_widget_get_margin_end()</code></a> instead.</p> </div> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--margin-right" title="The “margin-right” property"><span class="type">“margin-right”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-get-margin-right.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-margin-right.returns"></a><h4>Returns</h4> <p> The right margin of <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-margin-right"></a><h3>gtk_widget_set_margin_right ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_margin_right (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> margin</code></em>);</pre> <div class="warning"> <p><code class="literal">gtk_widget_set_margin_right</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#gtk-widget-set-margin-end" title="gtk_widget_set_margin_end ()"><code class="function">gtk_widget_set_margin_end()</code></a> instead.</p> </div> <p>Sets the right margin of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--margin-right" title="The “margin-right” property"><span class="type">“margin-right”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-margin-right.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>margin</p></td> <td class="parameter_description"><p>the right margin</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-margin-start"></a><h3>gtk_widget_get_margin_start ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_margin_start (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--margin-start" title="The “margin-start” property"><span class="type">“margin-start”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-get-margin-start.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-margin-start.returns"></a><h4>Returns</h4> <p> The start margin of <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-12.html#api-index-3.12">3.12</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-margin-start"></a><h3>gtk_widget_set_margin_start ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_margin_start (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> margin</code></em>);</pre> <p>Sets the start margin of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--margin-start" title="The “margin-start” property"><span class="type">“margin-start”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-margin-start.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>margin</p></td> <td class="parameter_description"><p>the start margin</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-12.html#api-index-3.12">3.12</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-margin-end"></a><h3>gtk_widget_get_margin_end ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_margin_end (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--margin-end" title="The “margin-end” property"><span class="type">“margin-end”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-get-margin-end.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-margin-end.returns"></a><h4>Returns</h4> <p> The end margin of <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-12.html#api-index-3.12">3.12</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-margin-end"></a><h3>gtk_widget_set_margin_end ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_margin_end (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> margin</code></em>);</pre> <p>Sets the end margin of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--margin-end" title="The “margin-end” property"><span class="type">“margin-end”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-margin-end.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>margin</p></td> <td class="parameter_description"><p>the end margin</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-12.html#api-index-3.12">3.12</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-margin-top"></a><h3>gtk_widget_get_margin_top ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_margin_top (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--margin-top" title="The “margin-top” property"><span class="type">“margin-top”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-get-margin-top.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-margin-top.returns"></a><h4>Returns</h4> <p> The top margin of <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-margin-top"></a><h3>gtk_widget_set_margin_top ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_margin_top (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> margin</code></em>);</pre> <p>Sets the top margin of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--margin-top" title="The “margin-top” property"><span class="type">“margin-top”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-margin-top.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>margin</p></td> <td class="parameter_description"><p>the top margin</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-margin-bottom"></a><h3>gtk_widget_get_margin_bottom ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gtk_widget_get_margin_bottom (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets the value of the <a class="link" href="GtkWidget.html#GtkWidget--margin-bottom" title="The “margin-bottom” property"><span class="type">“margin-bottom”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-get-margin-bottom.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-margin-bottom.returns"></a><h4>Returns</h4> <p> The bottom margin of <em class="parameter"><code>widget</code></em> </p> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-margin-bottom"></a><h3>gtk_widget_set_margin_bottom ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_margin_bottom (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> margin</code></em>);</pre> <p>Sets the bottom margin of <em class="parameter"><code>widget</code></em> . See the <a class="link" href="GtkWidget.html#GtkWidget--margin-bottom" title="The “margin-bottom” property"><span class="type">“margin-bottom”</span></a> property.</p> <div class="refsect3"> <a name="gtk-widget-set-margin-bottom.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>margin</p></td> <td class="parameter_description"><p>the bottom margin</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-hexpand"></a><h3>gtk_widget_get_hexpand ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_hexpand (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets whether the widget would like any available extra horizontal space. When a user resizes a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>, widgets with expand=TRUE generally receive the extra space. For example, a list or scrollable area or document in your window would often be set to expand.</p> <p>Containers should use <a class="link" href="GtkWidget.html#gtk-widget-compute-expand" title="gtk_widget_compute_expand ()"><code class="function">gtk_widget_compute_expand()</code></a> rather than this function, to see whether a widget, or any of its children, has the expand flag set. If any child of a widget wants to expand, the parent may ask to expand also.</p> <p>This function only looks at the widget’s own hexpand flag, rather than computing whether the entire widget tree rooted at this widget wants to expand.</p> <div class="refsect3"> <a name="gtk-widget-get-hexpand.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-hexpand.returns"></a><h4>Returns</h4> <p> whether hexpand flag is set</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-hexpand"></a><h3>gtk_widget_set_hexpand ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_hexpand (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> expand</code></em>);</pre> <p>Sets whether the widget would like any available extra horizontal space. When a user resizes a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>, widgets with expand=TRUE generally receive the extra space. For example, a list or scrollable area or document in your window would often be set to expand.</p> <p>Call this function to set the expand flag if you would like your widget to become larger horizontally when the window has extra room.</p> <p>By default, widgets automatically expand if any of their children want to expand. (To see if a widget will automatically expand given its current children and state, call <a class="link" href="GtkWidget.html#gtk-widget-compute-expand" title="gtk_widget_compute_expand ()"><code class="function">gtk_widget_compute_expand()</code></a>. A container can decide how the expandability of children affects the expansion of the container by overriding the compute_expand virtual method on <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.).</p> <p>Setting hexpand explicitly with this function will override the automatic expand behavior.</p> <p>This function forces the widget to expand or not to expand, regardless of children. The override occurs because <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand" title="gtk_widget_set_hexpand ()"><code class="function">gtk_widget_set_hexpand()</code></a> sets the hexpand-set property (see <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand-set" title="gtk_widget_set_hexpand_set ()"><code class="function">gtk_widget_set_hexpand_set()</code></a>) which causes the widget’s hexpand value to be used, rather than looking at children and widget state.</p> <div class="refsect3"> <a name="gtk-widget-set-hexpand.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>expand</p></td> <td class="parameter_description"><p>whether to expand</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-hexpand-set"></a><h3>gtk_widget_get_hexpand_set ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_hexpand_set (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets whether <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand" title="gtk_widget_set_hexpand ()"><code class="function">gtk_widget_set_hexpand()</code></a> has been used to explicitly set the expand flag on this widget.</p> <p>If hexpand is set, then it overrides any computed expand value based on child widgets. If hexpand is not set, then the expand value depends on whether any children of the widget would like to expand.</p> <p>There are few reasons to use this function, but it’s here for completeness and consistency.</p> <div class="refsect3"> <a name="gtk-widget-get-hexpand-set.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-hexpand-set.returns"></a><h4>Returns</h4> <p> whether hexpand has been explicitly set</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-hexpand-set"></a><h3>gtk_widget_set_hexpand_set ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_hexpand_set (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> set</code></em>);</pre> <p>Sets whether the hexpand flag (see <a class="link" href="GtkWidget.html#gtk-widget-get-hexpand" title="gtk_widget_get_hexpand ()"><code class="function">gtk_widget_get_hexpand()</code></a>) will be used.</p> <p>The hexpand-set property will be set automatically when you call <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand" title="gtk_widget_set_hexpand ()"><code class="function">gtk_widget_set_hexpand()</code></a> to set hexpand, so the most likely reason to use this function would be to unset an explicit expand flag.</p> <p>If hexpand is set, then it overrides any computed expand value based on child widgets. If hexpand is not set, then the expand value depends on whether any children of the widget would like to expand.</p> <p>There are few reasons to use this function, but it’s here for completeness and consistency.</p> <div class="refsect3"> <a name="gtk-widget-set-hexpand-set.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>set</p></td> <td class="parameter_description"><p>value for hexpand-set property</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-vexpand"></a><h3>gtk_widget_get_vexpand ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_vexpand (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets whether the widget would like any available extra vertical space.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-get-hexpand" title="gtk_widget_get_hexpand ()"><code class="function">gtk_widget_get_hexpand()</code></a> for more detail.</p> <div class="refsect3"> <a name="gtk-widget-get-vexpand.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-vexpand.returns"></a><h4>Returns</h4> <p> whether vexpand flag is set</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-vexpand"></a><h3>gtk_widget_set_vexpand ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_vexpand (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> expand</code></em>);</pre> <p>Sets whether the widget would like any available extra vertical space.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand" title="gtk_widget_set_hexpand ()"><code class="function">gtk_widget_set_hexpand()</code></a> for more detail.</p> <div class="refsect3"> <a name="gtk-widget-set-vexpand.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>expand</p></td> <td class="parameter_description"><p>whether to expand</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-vexpand-set"></a><h3>gtk_widget_get_vexpand_set ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_get_vexpand_set (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Gets whether <a class="link" href="GtkWidget.html#gtk-widget-set-vexpand" title="gtk_widget_set_vexpand ()"><code class="function">gtk_widget_set_vexpand()</code></a> has been used to explicitly set the expand flag on this widget.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-get-hexpand-set" title="gtk_widget_get_hexpand_set ()"><code class="function">gtk_widget_get_hexpand_set()</code></a> for more detail.</p> <div class="refsect3"> <a name="gtk-widget-get-vexpand-set.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-vexpand-set.returns"></a><h4>Returns</h4> <p> whether vexpand has been explicitly set</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-set-vexpand-set"></a><h3>gtk_widget_set_vexpand_set ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_set_vexpand_set (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> set</code></em>);</pre> <p>Sets whether the vexpand flag (see <a class="link" href="GtkWidget.html#gtk-widget-get-vexpand" title="gtk_widget_get_vexpand ()"><code class="function">gtk_widget_get_vexpand()</code></a>) will be used.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand-set" title="gtk_widget_set_hexpand_set ()"><code class="function">gtk_widget_set_hexpand_set()</code></a> for more detail.</p> <div class="refsect3"> <a name="gtk-widget-set-vexpand-set.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>set</p></td> <td class="parameter_description"><p>value for vexpand-set property</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-queue-compute-expand"></a><h3>gtk_widget_queue_compute_expand ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_queue_compute_expand (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Mark <em class="parameter"><code>widget</code></em> as needing to recompute its expand flags. Call this function when setting legacy expand child properties on the child of a container.</p> <p>See <a class="link" href="GtkWidget.html#gtk-widget-compute-expand" title="gtk_widget_compute_expand ()"><code class="function">gtk_widget_compute_expand()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-queue-compute-expand.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-compute-expand"></a><h3>gtk_widget_compute_expand ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_widget_compute_expand (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkOrientation" title="enum GtkOrientation"><span class="type">GtkOrientation</span></a> orientation</code></em>);</pre> <p>Computes whether a container should give this widget extra space when possible. Containers should check this, rather than looking at <a class="link" href="GtkWidget.html#gtk-widget-get-hexpand" title="gtk_widget_get_hexpand ()"><code class="function">gtk_widget_get_hexpand()</code></a> or <a class="link" href="GtkWidget.html#gtk-widget-get-vexpand" title="gtk_widget_get_vexpand ()"><code class="function">gtk_widget_get_vexpand()</code></a>.</p> <p>This function already checks whether the widget is visible, so visibility does not need to be checked separately. Non-visible widgets are not expanded.</p> <p>The computed expand value uses either the expand setting explicitly set on the widget itself, or, if none has been explicitly set, the widget may expand if some of its children do.</p> <div class="refsect3"> <a name="gtk-widget-compute-expand.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>orientation</p></td> <td class="parameter_description"><p>expand direction</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-compute-expand.returns"></a><h4>Returns</h4> <p> whether widget tree rooted here should be expanded</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-init-template"></a><h3>gtk_widget_init_template ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_init_template (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre> <p>Creates and initializes child widgets defined in templates. This function must be called in the instance initializer for any class which assigned itself a template using <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a></p> <p>It is important to call this function in the instance initializer of a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> subclass and not in <code class="function">GObject.constructed()</code> or <code class="function">GObject.constructor()</code> for two reasons.</p> <p>One reason is that generally derived widgets will assume that parent class composite widgets have been created in their instance initializers.</p> <p>Another reason is that when calling <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-new"><code class="function">g_object_new()</code></a> on a widget with composite templates, it’s important to build the composite widgets before the construct properties are set. Properties passed to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-new"><code class="function">g_object_new()</code></a> should take precedence over properties set in the private template XML.</p> <div class="refsect3"> <a name="gtk-widget-init-template.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-set-template"></a><h3>gtk_widget_class_set_template ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_set_template (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> *template_bytes</code></em>);</pre> <p>This should be called at class initialization time to specify the GtkBuilder XML to be used to extend a widget.</p> <p>For convenience, <a class="link" href="GtkWidget.html#gtk-widget-class-set-template-from-resource" title="gtk_widget_class_set_template_from_resource ()"><code class="function">gtk_widget_class_set_template_from_resource()</code></a> is also provided.</p> <p>Note that any class that installs templates must call <a class="link" href="GtkWidget.html#gtk-widget-init-template" title="gtk_widget_init_template ()"><code class="function">gtk_widget_init_template()</code></a> in the widget’s instance initializer.</p> <div class="refsect3"> <a name="gtk-widget-class-set-template.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>template_bytes</p></td> <td class="parameter_description"><p>A <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> holding the <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> XML </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-set-template-from-resource"></a><h3>gtk_widget_class_set_template_from_resource ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_set_template_from_resource (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *resource_name</code></em>);</pre> <p>A convenience function to call <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>.</p> <p>Note that any class that installs templates must call <a class="link" href="GtkWidget.html#gtk-widget-init-template" title="gtk_widget_init_template ()"><code class="function">gtk_widget_init_template()</code></a> in the widget’s instance initializer.</p> <div class="refsect3"> <a name="gtk-widget-class-set-template-from-resource.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>resource_name</p></td> <td class="parameter_description"><p>The name of the resource to load the template from</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-get-template-child"></a><h3>gtk_widget_get_template_child ()</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct"><span class="returnvalue">GObject</span></a> * gtk_widget_get_template_child (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> widget_type</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre> <p>Fetch an object build from the template XML for <em class="parameter"><code>widget_type</code></em> in this <em class="parameter"><code>widget</code></em> instance.</p> <p>This will only report children which were previously declared with <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-full" title="gtk_widget_class_bind_template_child_full ()"><code class="function">gtk_widget_class_bind_template_child_full()</code></a> or one of its variants.</p> <p>This function is only meant to be called for code which is private to the <em class="parameter"><code>widget_type</code></em> which declared the child and is meant for language bindings which cannot easily make use of the GObject structure offsets.</p> <div class="refsect3"> <a name="gtk-widget-get-template-child.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>widget_type</p></td> <td class="parameter_description"><p>The <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> to get a template child for</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>The “id” of the child defined in the template XML</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-widget-get-template-child.returns"></a><h4>Returns</h4> <p> The object built in the template XML with the id <em class="parameter"><code>name</code></em> . </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-bind-template-child"></a><h3>gtk_widget_class_bind_template_child()</h3> <pre class="programlisting">#define gtk_widget_class_bind_template_child(widget_class, TypeName, member_name)</pre> <p>Binds a child widget defined in a template to the <em class="parameter"><code>widget_class</code></em> .</p> <p>This macro is a convenience wrapper around the <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-full" title="gtk_widget_class_bind_template_child_full ()"><code class="function">gtk_widget_class_bind_template_child_full()</code></a> function.</p> <p>This macro will use the offset of the <em class="parameter"><code>member_name</code></em> inside the <em class="parameter"><code>TypeName</code></em> instance structure.</p> <div class="refsect3"> <a name="gtk-widget-class-bind-template-child.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>TypeName</p></td> <td class="parameter_description"><p>the type name of this widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>member_name</p></td> <td class="parameter_description"><p>name of the instance member in the instance struct for <em class="parameter"><code>data_type</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-bind-template-child-internal"></a><h3>gtk_widget_class_bind_template_child_internal()</h3> <pre class="programlisting">#define gtk_widget_class_bind_template_child_internal(widget_class, TypeName, member_name)</pre> <p>Binds a child widget defined in a template to the <em class="parameter"><code>widget_class</code></em> , and also makes it available as an internal child in GtkBuilder, under the name <em class="parameter"><code>member_name</code></em> .</p> <p>This macro is a convenience wrapper around the <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-full" title="gtk_widget_class_bind_template_child_full ()"><code class="function">gtk_widget_class_bind_template_child_full()</code></a> function.</p> <p>This macro will use the offset of the <em class="parameter"><code>member_name</code></em> inside the <em class="parameter"><code>TypeName</code></em> instance structure.</p> <div class="refsect3"> <a name="gtk-widget-class-bind-template-child-internal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>TypeName</p></td> <td class="parameter_description"><p>the type name, in CamelCase</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>member_name</p></td> <td class="parameter_description"><p>name of the instance member in the instance struct for <em class="parameter"><code>data_type</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-bind-template-child-private"></a><h3>gtk_widget_class_bind_template_child_private()</h3> <pre class="programlisting">#define gtk_widget_class_bind_template_child_private(widget_class, TypeName, member_name)</pre> <p>Binds a child widget defined in a template to the <em class="parameter"><code>widget_class</code></em> .</p> <p>This macro is a convenience wrapper around the <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-full" title="gtk_widget_class_bind_template_child_full ()"><code class="function">gtk_widget_class_bind_template_child_full()</code></a> function.</p> <p>This macro will use the offset of the <em class="parameter"><code>member_name</code></em> inside the <em class="parameter"><code>TypeName</code></em> private data structure (it uses <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-PRIVATE-OFFSET:CAPS"><code class="function">G_PRIVATE_OFFSET()</code></a>, so the private struct must be added with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-ADD-PRIVATE:CAPS"><code class="function">G_ADD_PRIVATE()</code></a>).</p> <div class="refsect3"> <a name="gtk-widget-class-bind-template-child-private.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>TypeName</p></td> <td class="parameter_description"><p>the type name of this widget</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>member_name</p></td> <td class="parameter_description"><p>name of the instance private member in the private struct for <em class="parameter"><code>data_type</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-bind-template-child-internal-private"></a><h3>gtk_widget_class_bind_template_child_internal_private()</h3> <pre class="programlisting">#define gtk_widget_class_bind_template_child_internal_private(widget_class, TypeName, member_name)</pre> <p>Binds a child widget defined in a template to the <em class="parameter"><code>widget_class</code></em> , and also makes it available as an internal child in GtkBuilder, under the name <em class="parameter"><code>member_name</code></em> .</p> <p>This macro is a convenience wrapper around the <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-full" title="gtk_widget_class_bind_template_child_full ()"><code class="function">gtk_widget_class_bind_template_child_full()</code></a> function.</p> <p>This macro will use the offset of the <em class="parameter"><code>member_name</code></em> inside the <em class="parameter"><code>TypeName</code></em> private data structure.</p> <div class="refsect3"> <a name="gtk-widget-class-bind-template-child-internal-private.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>TypeName</p></td> <td class="parameter_description"><p>the type name, in CamelCase</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>member_name</p></td> <td class="parameter_description"><p>name of the instance private member on the private struct for <em class="parameter"><code>data_type</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-bind-template-child-full"></a><h3>gtk_widget_class_bind_template_child_full ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_bind_template_child_full (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> internal_child</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> struct_offset</code></em>);</pre> <p>Automatically assign an object declared in the class template XML to be set to a location on a freshly built instance’s private data, or alternatively accessible via <a class="link" href="GtkWidget.html#gtk-widget-get-template-child" title="gtk_widget_get_template_child ()"><code class="function">gtk_widget_get_template_child()</code></a>.</p> <p>The struct can point either into the public instance, then you should use G_STRUCT_OFFSET(WidgetType, member) for <em class="parameter"><code>struct_offset</code></em> , or in the private struct, then you should use G_PRIVATE_OFFSET(WidgetType, member).</p> <p>An explicit strong reference will be held automatically for the duration of your instance’s life cycle, it will be released automatically when <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObjectClass.dispose"><code class="function">GObjectClass.dispose()</code></a> runs on your instance and if a <em class="parameter"><code>struct_offset</code></em> that is != 0 is specified, then the automatic location in your instance public or private data will be set to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. You can however access an automated child pointer the first time your classes <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObjectClass.dispose"><code class="function">GObjectClass.dispose()</code></a> runs, or alternatively in <a class="link" href="GtkWidget.html#GtkWidgetClass.destroy"><code class="function">GtkWidgetClass.destroy()</code></a>.</p> <p>If <em class="parameter"><code>internal_child</code></em> is specified, <a class="link" href="GtkBuildable.html#GtkBuildableIface.get-internal-child"><code class="function">GtkBuildableIface.get_internal_child()</code></a> will be automatically implemented by the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> class so there is no need to implement it manually.</p> <p>The wrapper macros <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child" title="gtk_widget_class_bind_template_child()"><code class="function">gtk_widget_class_bind_template_child()</code></a>, <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-internal" title="gtk_widget_class_bind_template_child_internal()"><code class="function">gtk_widget_class_bind_template_child_internal()</code></a>, <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-private" title="gtk_widget_class_bind_template_child_private()"><code class="function">gtk_widget_class_bind_template_child_private()</code></a> and <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-internal-private" title="gtk_widget_class_bind_template_child_internal_private()"><code class="function">gtk_widget_class_bind_template_child_internal_private()</code></a> might be more convenient to use.</p> <p>Note that this must be called from a composite widget classes class initializer after calling <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-class-bind-template-child-full.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>The “id” of the child defined in the template XML</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>internal_child</p></td> <td class="parameter_description"><p>Whether the child should be accessible as an “internal-child” when this class is used in GtkBuilder XML</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>struct_offset</p></td> <td class="parameter_description"><p>The structure offset into the composite widget’s instance public or private structure where the automated child pointer should be set, or 0 to not assign the pointer.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-bind-template-callback"></a><h3>gtk_widget_class_bind_template_callback()</h3> <pre class="programlisting">#define gtk_widget_class_bind_template_callback(widget_class, callback)</pre> <p>Binds a callback function defined in a template to the <em class="parameter"><code>widget_class</code></em> .</p> <p>This macro is a convenience wrapper around the <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-callback-full" title="gtk_widget_class_bind_template_callback_full ()"><code class="function">gtk_widget_class_bind_template_callback_full()</code></a> function.</p> <div class="refsect3"> <a name="gtk-widget-class-bind-template-callback.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>the callback symbol</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-bind-template-callback-full"></a><h3>gtk_widget_class_bind_template_callback_full ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_bind_template_callback_full (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code>const <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *callback_name</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html#GCallback"><span class="type">GCallback</span></a> callback_symbol</code></em>);</pre> <p>Declares a <em class="parameter"><code>callback_symbol</code></em> to handle <em class="parameter"><code>callback_name</code></em> from the template XML defined for <em class="parameter"><code>widget_type</code></em> . See <a class="link" href="GtkBuilder.html#gtk-builder-add-callback-symbol" title="gtk_builder_add_callback_symbol ()"><code class="function">gtk_builder_add_callback_symbol()</code></a>.</p> <p>Note that this must be called from a composite widget classes class initializer after calling <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-class-bind-template-callback-full.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback_name</p></td> <td class="parameter_description"><p>The name of the callback as expected in the template XML</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback_symbol</p></td> <td class="parameter_description"><p> The callback symbol. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-widget-class-set-connect-func"></a><h3>gtk_widget_class_set_connect_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_widget_class_set_connect_func (<em class="parameter"><code><a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a> *widget_class</code></em>, <em class="parameter"><code><a class="link" href="GtkBuilder.html#GtkBuilderConnectFunc" title="GtkBuilderConnectFunc ()"><span class="type">GtkBuilderConnectFunc</span></a> connect_func</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> connect_data</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> connect_data_destroy</code></em>);</pre> <p>For use in language bindings, this will override the default <a class="link" href="GtkBuilder.html#GtkBuilderConnectFunc" title="GtkBuilderConnectFunc ()"><span class="type">GtkBuilderConnectFunc</span></a> to be used when parsing GtkBuilder XML from this class’s template data.</p> <p>Note that this must be called from a composite widget classes class initializer after calling <a class="link" href="GtkWidget.html#gtk-widget-class-set-template" title="gtk_widget_class_set_template ()"><code class="function">gtk_widget_class_set_template()</code></a>.</p> <div class="refsect3"> <a name="gtk-widget-class-set-connect-func.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget_class</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>connect_func</p></td> <td class="parameter_description"><p>The <a class="link" href="GtkBuilder.html#GtkBuilderConnectFunc" title="GtkBuilderConnectFunc ()"><span class="type">GtkBuilderConnectFunc</span></a> to use when connecting signals in the class template</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>connect_data</p></td> <td class="parameter_description"><p>The data to pass to <em class="parameter"><code>connect_func</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>connect_data_destroy</p></td> <td class="parameter_description"><p>The <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> to free <em class="parameter"><code>connect_data</code></em> , this will only be used at class finalization time, when no classes of type <em class="parameter"><code>widget_type</code></em> are in use anymore.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> </div> <div class="refsect1"> <a name="GtkWidget.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="GtkWidget-struct"></a><h3>GtkWidget</h3> <pre class="programlisting">typedef struct _GtkWidget GtkWidget;</pre> </div> <hr> <div class="refsect2"> <a name="GtkWidgetClass"></a><h3>struct GtkWidgetClass</h3> <pre class="programlisting">struct GtkWidgetClass { GInitiallyUnownedClass parent_class; guint activate_signal; /* seldomly overidden */ void (*dispatch_child_properties_changed) (GtkWidget *widget, guint n_pspecs, GParamSpec **pspecs); /* basics */ void (* destroy) (GtkWidget *widget); void (* show) (GtkWidget *widget); void (* show_all) (GtkWidget *widget); void (* hide) (GtkWidget *widget); void (* map) (GtkWidget *widget); void (* unmap) (GtkWidget *widget); void (* realize) (GtkWidget *widget); void (* unrealize) (GtkWidget *widget); void (* size_allocate) (GtkWidget *widget, GtkAllocation *allocation); void (* state_changed) (GtkWidget *widget, GtkStateType previous_state); void (* state_flags_changed) (GtkWidget *widget, GtkStateFlags previous_state_flags); void (* parent_set) (GtkWidget *widget, GtkWidget *previous_parent); void (* hierarchy_changed) (GtkWidget *widget, GtkWidget *previous_toplevel); void (* style_set) (GtkWidget *widget, GtkStyle *previous_style); void (* direction_changed) (GtkWidget *widget, GtkTextDirection previous_direction); void (* grab_notify) (GtkWidget *widget, gboolean was_grabbed); void (* child_notify) (GtkWidget *widget, GParamSpec *child_property); gboolean (* draw) (GtkWidget *widget, cairo_t *cr); /* size requests */ GtkSizeRequestMode (* get_request_mode) (GtkWidget *widget); void (* get_preferred_height) (GtkWidget *widget, gint *minimum_height, gint *natural_height); void (* get_preferred_width_for_height) (GtkWidget *widget, gint height, gint *minimum_width, gint *natural_width); void (* get_preferred_width) (GtkWidget *widget, gint *minimum_width, gint *natural_width); void (* get_preferred_height_for_width) (GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); /* Mnemonics */ gboolean (* mnemonic_activate) (GtkWidget *widget, gboolean group_cycling); /* explicit focus */ void (* grab_focus) (GtkWidget *widget); gboolean (* focus) (GtkWidget *widget, GtkDirectionType direction); /* keyboard navigation */ void (* move_focus) (GtkWidget *widget, GtkDirectionType direction); gboolean (* keynav_failed) (GtkWidget *widget, GtkDirectionType direction); /* events */ gboolean (* event) (GtkWidget *widget, GdkEvent *event); gboolean (* button_press_event) (GtkWidget *widget, GdkEventButton *event); gboolean (* button_release_event) (GtkWidget *widget, GdkEventButton *event); gboolean (* scroll_event) (GtkWidget *widget, GdkEventScroll *event); gboolean (* motion_notify_event) (GtkWidget *widget, GdkEventMotion *event); gboolean (* delete_event) (GtkWidget *widget, GdkEventAny *event); gboolean (* destroy_event) (GtkWidget *widget, GdkEventAny *event); gboolean (* key_press_event) (GtkWidget *widget, GdkEventKey *event); gboolean (* key_release_event) (GtkWidget *widget, GdkEventKey *event); gboolean (* enter_notify_event) (GtkWidget *widget, GdkEventCrossing *event); gboolean (* leave_notify_event) (GtkWidget *widget, GdkEventCrossing *event); gboolean (* configure_event) (GtkWidget *widget, GdkEventConfigure *event); gboolean (* focus_in_event) (GtkWidget *widget, GdkEventFocus *event); gboolean (* focus_out_event) (GtkWidget *widget, GdkEventFocus *event); gboolean (* map_event) (GtkWidget *widget, GdkEventAny *event); gboolean (* unmap_event) (GtkWidget *widget, GdkEventAny *event); gboolean (* property_notify_event) (GtkWidget *widget, GdkEventProperty *event); gboolean (* selection_clear_event) (GtkWidget *widget, GdkEventSelection *event); gboolean (* selection_request_event) (GtkWidget *widget, GdkEventSelection *event); gboolean (* selection_notify_event) (GtkWidget *widget, GdkEventSelection *event); gboolean (* proximity_in_event) (GtkWidget *widget, GdkEventProximity *event); gboolean (* proximity_out_event) (GtkWidget *widget, GdkEventProximity *event); gboolean (* visibility_notify_event) (GtkWidget *widget, GdkEventVisibility *event); gboolean (* window_state_event) (GtkWidget *widget, GdkEventWindowState *event); gboolean (* damage_event) (GtkWidget *widget, GdkEventExpose *event); gboolean (* grab_broken_event) (GtkWidget *widget, GdkEventGrabBroken *event); /* selection */ void (* selection_get) (GtkWidget *widget, GtkSelectionData *selection_data, guint info, guint time_); void (* selection_received) (GtkWidget *widget, GtkSelectionData *selection_data, guint time_); /* Source side drag signals */ void (* drag_begin) (GtkWidget *widget, GdkDragContext *context); void (* drag_end) (GtkWidget *widget, GdkDragContext *context); void (* drag_data_get) (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time_); void (* drag_data_delete) (GtkWidget *widget, GdkDragContext *context); /* Target side drag signals */ void (* drag_leave) (GtkWidget *widget, GdkDragContext *context, guint time_); gboolean (* drag_motion) (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time_); gboolean (* drag_drop) (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time_); void (* drag_data_received) (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time_); gboolean (* drag_failed) (GtkWidget *widget, GdkDragContext *context, GtkDragResult result); /* Signals used only for keybindings */ gboolean (* popup_menu) (GtkWidget *widget); /* If a widget has multiple tooltips/whatsthis, it should show the * one for the current focus location, or if that doesn't make * sense, should cycle through them showing each tip alongside * whatever piece of the widget it applies to. */ gboolean (* show_help) (GtkWidget *widget, GtkWidgetHelpType help_type); /* accessibility support */ AtkObject * (* get_accessible) (GtkWidget *widget); void (* screen_changed) (GtkWidget *widget, GdkScreen *previous_screen); gboolean (* can_activate_accel) (GtkWidget *widget, guint signal_id); void (* composited_changed) (GtkWidget *widget); gboolean (* query_tooltip) (GtkWidget *widget, gint x, gint y, gboolean keyboard_tooltip, GtkTooltip *tooltip); void (* compute_expand) (GtkWidget *widget, gboolean *hexpand_p, gboolean *vexpand_p); void (* adjust_size_request) (GtkWidget *widget, GtkOrientation orientation, gint *minimum_size, gint *natural_size); void (* adjust_size_allocation) (GtkWidget *widget, GtkOrientation orientation, gint *minimum_size, gint *natural_size, gint *allocated_pos, gint *allocated_size); void (* style_updated) (GtkWidget *widget); gboolean (* touch_event) (GtkWidget *widget, GdkEventTouch *event); void (* get_preferred_height_and_baseline_for_width) (GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height, gint *minimum_baseline, gint *natural_baseline); void (* adjust_baseline_request)(GtkWidget *widget, gint *minimum_baseline, gint *natural_baseline); void (* adjust_baseline_allocation) (GtkWidget *widget, gint *baseline); void (*queue_draw_region) (GtkWidget *widget, const cairo_region_t *region); }; </pre> <div class="refsect3"> <a name="GtkWidgetClass.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GtkWidgetClass.activate-signal"></a>activate_signal</code></em>;</p></td> <td class="struct_member_description"><p>The signal to emit when a widget of this class is activated, <a class="link" href="GtkWidget.html#gtk-widget-activate" title="gtk_widget_activate ()"><code class="function">gtk_widget_activate()</code></a> handles the emission. Implementation of this signal is optional.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.dispatch-child-properties-changed"></a>dispatch_child_properties_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Seldomly overidden.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.destroy"></a>destroy</code></em> ()</p></td> <td class="struct_member_description"><p>Signals that all holders of a reference to the widget should release the reference that they hold.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.show"></a>show</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when widget is shown</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.show-all"></a>show_all</code></em> ()</p></td> <td class="struct_member_description"><p>Recursively shows a widget, and any child widgets (if the widget is a container).</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.hide"></a>hide</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when widget is hidden.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.map"></a>map</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when widget is going to be mapped, that is when the widget is visible (which is controlled with <a class="link" href="GtkWidget.html#gtk-widget-set-visible" title="gtk_widget_set_visible ()"><code class="function">gtk_widget_set_visible()</code></a>) and all its parents up to the toplevel widget are also visible.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.unmap"></a>unmap</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when widget is going to be unmapped, which means that either it or any of its parents up to the toplevel widget have been set as hidden.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.realize"></a>realize</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when widget is associated with a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>, which means that <a class="link" href="GtkWidget.html#gtk-widget-realize" title="gtk_widget_realize ()"><code class="function">gtk_widget_realize()</code></a> has been called or the widget has been mapped (that is, it is going to be drawn).</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.unrealize"></a>unrealize</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the GdkWindow associated with widget is destroyed, which means that <a class="link" href="GtkWidget.html#gtk-widget-unrealize" title="gtk_widget_unrealize ()"><code class="function">gtk_widget_unrealize()</code></a> has been called or the widget has been unmapped (that is, it is going to be hidden).</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.size-allocate"></a>size_allocate</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted to get the widget allocation.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.state-changed"></a>state_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the widget state changes. Deprecated: 3.0</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.state-flags-changed"></a>state_flags_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the widget state changes, see <a class="link" href="GtkWidget.html#gtk-widget-get-state-flags" title="gtk_widget_get_state_flags ()"><code class="function">gtk_widget_get_state_flags()</code></a>.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.parent-set"></a>parent_set</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a new parent has been set on a widget.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.hierarchy-changed"></a>hierarchy_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the anchored state of a widget changes.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.style-set"></a>style_set</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a new style has been set on a widget. Deprecated: 3.0</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.direction-changed"></a>direction_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the text direction of a widget changes.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.grab-notify"></a>grab_notify</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a widget becomes shadowed by a GTK+ grab (not a pointer or keyboard grab) on another widget, or when it becomes unshadowed due to a grab being removed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.child-notify"></a>child_notify</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted for each child property that has changed on an object.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.draw"></a>draw</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a widget is supposed to render itself.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.get-request-mode"></a>get_request_mode</code></em> ()</p></td> <td class="struct_member_description"><p>This allows a widget to tell its parent container whether it prefers to be allocated in <a class="link" href="GtkWidget.html#GTK-SIZE-REQUEST-HEIGHT-FOR-WIDTH:CAPS"><code class="literal">GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</code></a> or <a class="link" href="GtkWidget.html#GTK-SIZE-REQUEST-WIDTH-FOR-HEIGHT:CAPS"><code class="literal">GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</code></a> mode. <a class="link" href="GtkWidget.html#GTK-SIZE-REQUEST-HEIGHT-FOR-WIDTH:CAPS"><code class="literal">GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</code></a> means the widget prefers to have <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-width"><code class="function">GtkWidgetClass.get_preferred_width()</code></a> called and then <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height-for-width"><code class="function">GtkWidgetClass.get_preferred_height_for_width()</code></a>. <a class="link" href="GtkWidget.html#GTK-SIZE-REQUEST-CONSTANT-SIZE:CAPS"><code class="literal">GTK_SIZE_REQUEST_CONSTANT_SIZE</code></a> disables any height-for-width or width-for-height geometry management for a said widget and is the default return. It’s important to note (as described below) that any widget which trades height-for-width or width-for-height must respond properly to both of the virtual methods <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height-for-width"><code class="function">GtkWidgetClass.get_preferred_height_for_width()</code></a> and <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-width-for-height"><code class="function">GtkWidgetClass.get_preferred_width_for_height()</code></a> since it might be queried in either <a class="link" href="GtkWidget.html#GtkSizeRequestMode" title="enum GtkSizeRequestMode"><span class="type">GtkSizeRequestMode</span></a> by its parent container.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.get-preferred-height"></a>get_preferred_height</code></em> ()</p></td> <td class="struct_member_description"><p>This is called by containers to obtain the minimum and natural height of a widget. A widget that does not actually trade any height for width or width for height only has to implement these two virtual methods (<a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-width"><code class="function">GtkWidgetClass.get_preferred_width()</code></a> and <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height"><code class="function">GtkWidgetClass.get_preferred_height()</code></a>).</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.get-preferred-width-for-height"></a>get_preferred_width_for_height</code></em> ()</p></td> <td class="struct_member_description"><p>This is analogous to <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height-for-width"><code class="function">GtkWidgetClass.get_preferred_height_for_width()</code></a> except that it operates in the oposite orientation. It’s rare that a widget actually does <a class="link" href="GtkWidget.html#GTK-SIZE-REQUEST-WIDTH-FOR-HEIGHT:CAPS"><code class="literal">GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</code></a> requests but this can happen when, for example, a widget or container gets additional columns to compensate for a smaller allocated height.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.get-preferred-width"></a>get_preferred_width</code></em> ()</p></td> <td class="struct_member_description"><p>This is called by containers to obtain the minimum and natural width of a widget. A widget will never be allocated a width less than its minimum and will only ever be allocated a width greater than the natural width once all of the said widget’s siblings have received their natural widths. Furthermore, a widget will only ever be allocated a width greater than its natural width if it was configured to receive extra expand space from its parent container.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.get-preferred-height-for-width"></a>get_preferred_height_for_width</code></em> ()</p></td> <td class="struct_member_description"><p>This is similar to <a class="link" href="GtkWidget.html#GtkWidgetClass.get-preferred-height"><code class="function">GtkWidgetClass.get_preferred_height()</code></a> except that it is passed a contextual width to request height for. By implementing this virtual method it is possible for a <a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a> to tell its parent how much height would be required if the label were to be allocated a said width.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.mnemonic-activate"></a>mnemonic_activate</code></em> ()</p></td> <td class="struct_member_description"><p>Activates the <em class="parameter"><code>widget</code></em> if <em class="parameter"><code>group_cycling</code></em> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, and just grabs the focus if <em class="parameter"><code>group_cycling</code></em> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.grab-focus"></a>grab_focus</code></em> ()</p></td> <td class="struct_member_description"><p>Causes <em class="parameter"><code>widget</code></em> to have the keyboard focus for the <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> it’s inside.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.focus"></a>focus</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.move-focus"></a>move_focus</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a change of focus is requested</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.keynav-failed"></a>keynav_failed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted if keyboard navigation fails.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.event"></a>event</code></em> ()</p></td> <td class="struct_member_description"><p>The GTK+ main loop will emit three signals for each GDK event delivered to a widget: one generic ::event signal, another, more specific, signal that matches the type of event delivered (e.g. "key-press-event") and finally a generic "event-after" signal.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.button-press-event"></a>button_press_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal will be emitted when a button (typically from a mouse) is pressed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.button-release-event"></a>button_release_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal will be emitted when a button (typically from a mouse) is released.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.scroll-event"></a>scroll_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a button in the 4 to 7 range is pressed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.motion-notify-event"></a>motion_notify_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the pointer moves over the widget’s <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.delete-event"></a>delete_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted if a user requests that a toplevel window is closed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.destroy-event"></a>destroy_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal is emitted when a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> is destroyed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.key-press-event"></a>key_press_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a key is pressed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.key-release-event"></a>key_release_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal is emitted when a key is released.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.enter-notify-event"></a>enter_notify_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal event will be emitted when the pointer enters the widget’s window.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.leave-notify-event"></a>leave_notify_event</code></em> ()</p></td> <td class="struct_member_description"><p>Will be emitted when the pointer leaves the widget’s window.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.configure-event"></a>configure_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal will be emitted when the size, position or stacking of the widget’s window has changed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.focus-in-event"></a>focus_in_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the keyboard focus enters the widget’s window.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.focus-out-event"></a>focus_out_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the keyboard focus leaves the widget’s window.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.map-event"></a>map_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the widget’s window is mapped.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.unmap-event"></a>unmap_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal will be emitted when the widget’s window is unmapped.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.property-notify-event"></a>property_notify_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal will be emitted when a property on the widget’s window has been changed or deleted.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.selection-clear-event"></a>selection_clear_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal will be emitted when the the widget’s window has lost ownership of a selection.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.selection-request-event"></a>selection_request_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal will be emitted when another client requests ownership of the selection owned by the widget's window.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.selection-notify-event"></a>selection_notify_event</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.proximity-in-event"></a>proximity_in_event</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.proximity-out-event"></a>proximity_out_event</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.visibility-notify-event"></a>visibility_notify_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the widget’s window is obscured or unobscured.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.window-state-event"></a>window_state_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the state of the toplevel window associated to the widget changes.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.damage-event"></a>damage_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a redirected window belonging to widget gets drawn into.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.grab-broken-event"></a>grab_broken_event</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when a pointer or keyboard grab on a window belonging to widget gets broken.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.selection-get"></a>selection_get</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.selection-received"></a>selection_received</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-begin"></a>drag_begin</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drag source when a drag is started.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-end"></a>drag_end</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drag source when a drag is finished.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-data-get"></a>drag_data_get</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drag source when the drop site requests the data which is dragged.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-data-delete"></a>drag_data_delete</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drag source when a drag with the action <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GDK-ACTION-MOVE:CAPS"><code class="literal">GDK_ACTION_MOVE</code></a> is successfully completed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-leave"></a>drag_leave</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drop site when the cursor leaves the widget.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-motion"></a>drag_motion</code></em> ()</p></td> <td class="struct_member_description"><p>signal emitted on the drop site when the user moves the cursor over the widget during a drag.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-drop"></a>drag_drop</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drop site when the user drops the data onto the widget.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-data-received"></a>drag_data_received</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drop site when the dragged data has been received.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.drag-failed"></a>drag_failed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted on the drag source when a drag has failed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.popup-menu"></a>popup_menu</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted whenever a widget should pop up a context menu.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.show-help"></a>show_help</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.get-accessible"></a>get_accessible</code></em> ()</p></td> <td class="struct_member_description"><p>Returns the accessible object that describes the widget to an assistive technology.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.screen-changed"></a>screen_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the screen of a widget has changed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.can-activate-accel"></a>can_activate_accel</code></em> ()</p></td> <td class="struct_member_description"><p>Signal allows applications and derived widgets to override the default GtkWidget handling for determining whether an accelerator can be activated.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.composited-changed"></a>composited_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the composited status of widgets screen changes. See <code class="function">gdk_screen_is_composited()</code>.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.query-tooltip"></a>query_tooltip</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when “has-tooltip” is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and the hover timeout has expired with the cursor hovering “above” widget; or emitted when widget got focus in keyboard mode.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.compute-expand"></a>compute_expand</code></em> ()</p></td> <td class="struct_member_description"><p>Computes whether a container should give this widget extra space when possible.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.adjust-size-request"></a>adjust_size_request</code></em> ()</p></td> <td class="struct_member_description"><p>Convert an initial size request from a widget's <a class="link" href="GtkWidget.html#GtkSizeRequestMode" title="enum GtkSizeRequestMode"><span class="type">GtkSizeRequestMode</span></a> virtual method implementations into a size request to be used by parent containers in laying out the widget. adjust_size_request adjusts from a child widget's original request to what a parent container should use for layout. The <em class="parameter"><code>for_size</code></em> argument will be -1 if the request should not be for a particular size in the opposing orientation, i.e. if the request is not height-for-width or width-for-height. If <em class="parameter"><code>for_size</code></em> is greater than -1, it is the proposed allocation in the opposing orientation that we need the request for. Implementations of adjust_size_request should chain up to the default implementation, which applies <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>’s margin properties and imposes any values from <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a>. Chaining up should be last, after your subclass adjusts the request, so <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> can apply constraints and add the margin properly.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.adjust-size-allocation"></a>adjust_size_allocation</code></em> ()</p></td> <td class="struct_member_description"><p>Convert an initial size allocation assigned by a <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> using <a class="link" href="GtkWidget.html#gtk-widget-size-allocate" title="gtk_widget_size_allocate ()"><code class="function">gtk_widget_size_allocate()</code></a>, into an actual size allocation to be used by the widget. adjust_size_allocation adjusts to a child widget’s actual allocation from what a parent container computed for the child. The adjusted allocation must be entirely within the original allocation. In any custom implementation, chain up to the default <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> implementation of this method, which applies the margin and alignment properties of <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>. Chain up before performing your own adjustments so your own adjustments remove more allocation after the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> base class has already removed margin and alignment. The natural size passed in should be adjusted in the same way as the allocated size, which allows adjustments to perform alignments or other changes based on natural size.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.style-updated"></a>style_updated</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the GtkStyleContext of a widget is changed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.touch-event"></a>touch_event</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.get-preferred-height-and-baseline-for-width"></a>get_preferred_height_and_baseline_for_width</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.adjust-baseline-request"></a>adjust_baseline_request</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.adjust-baseline-allocation"></a>adjust_baseline_allocation</code></em> ()</p></td> <td class="struct_member_description"> </td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkWidgetClass.queue-draw-region"></a>queue_draw_region</code></em> ()</p></td> <td class="struct_member_description"><p>Invalidates the area of widget defined by region by calling <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#gdk-window-invalidate-region"><code class="function">gdk_window_invalidate_region()</code></a> on the widget's window and all its child windows.</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkRequisition-struct"></a><h3>GtkRequisition</h3> <pre class="programlisting">typedef struct { gint width; gint height; } GtkRequisition; </pre> <p>A <a class="link" href="GtkWidget.html#GtkRequisition-struct" title="GtkRequisition"><span class="type">GtkRequisition</span></a> represents the desired size of a widget. See <a class="link" href="GtkWidget.html#geometry-management" title="Height-for-width Geometry Management">GtkWidget’s geometry management section</a> for more information.</p> <div class="refsect3"> <a name="GtkRequisition.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GtkRequisition-struct.width"></a>width</code></em>;</p></td> <td class="struct_member_description"><p>the widget’s desired width</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GtkRequisition-struct.height"></a>height</code></em>;</p></td> <td class="struct_member_description"><p>the widget’s desired height</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkAllocation"></a><h3>GtkAllocation</h3> <pre class="programlisting">typedef GdkRectangle GtkAllocation; </pre> <p>A <span class="type">GtkAllocation</span> of a widget represents region which has been allocated to the widget by its parent. It is a subregion of its parents allocation. See <a class="link" href="GtkWidget.html#geometry-management" title="Height-for-width Geometry Management">GtkWidget’s geometry management section</a> for more information.</p> </div> <hr> <div class="refsect2"> <a name="GtkWidgetHelpType"></a><h3>enum GtkWidgetHelpType</h3> <p>Kinds of widget-specific help. Used by the ::show-help signal.</p> <div class="refsect3"> <a name="GtkWidgetHelpType.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="GTK-WIDGET-HELP-TOOLTIP:CAPS"></a>GTK_WIDGET_HELP_TOOLTIP</p></td> <td class="enum_member_description"> <p>Tooltip.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-WIDGET-HELP-WHATS-THIS:CAPS"></a>GTK_WIDGET_HELP_WHATS_THIS</p></td> <td class="enum_member_description"> <p>What’s this.</p> </td> <td class="enum_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkTextDirection"></a><h3>enum GtkTextDirection</h3> <p>Reading directions for text.</p> <div class="refsect3"> <a name="GtkTextDirection.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="GTK-TEXT-DIR-NONE:CAPS"></a>GTK_TEXT_DIR_NONE</p></td> <td class="enum_member_description"> <p>No direction.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-TEXT-DIR-LTR:CAPS"></a>GTK_TEXT_DIR_LTR</p></td> <td class="enum_member_description"> <p>Left to right text direction.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-TEXT-DIR-RTL:CAPS"></a>GTK_TEXT_DIR_RTL</p></td> <td class="enum_member_description"> <p>Right to left text direction.</p> </td> <td class="enum_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkStateType"></a><h3>enum GtkStateType</h3> <div class="warning"> <p><code class="literal">GtkStateType</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>All APIs that are using this enumeration have been deprecated in favor of alternatives using <a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="type">GtkStateFlags</span></a>.</p> </div> <p>This type indicates the current state of a widget; the state determines how the widget is drawn. The <a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> enumeration is also used to identify different colors in a <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> for drawing, so states can be used for subparts of a widget as well as entire widgets.</p> <div class="refsect3"> <a name="GtkStateType.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="GTK-STATE-NORMAL:CAPS"></a>GTK_STATE_NORMAL</p></td> <td class="enum_member_description"> <p>State during normal operation.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-STATE-ACTIVE:CAPS"></a>GTK_STATE_ACTIVE</p></td> <td class="enum_member_description"> <p>State of a currently active widget, such as a depressed button.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-STATE-PRELIGHT:CAPS"></a>GTK_STATE_PRELIGHT</p></td> <td class="enum_member_description"> <p>State indicating that the mouse pointer is over the widget and the widget will respond to mouse clicks.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-STATE-SELECTED:CAPS"></a>GTK_STATE_SELECTED</p></td> <td class="enum_member_description"> <p>State of a selected item, such the selected row in a list.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-STATE-INSENSITIVE:CAPS"></a>GTK_STATE_INSENSITIVE</p></td> <td class="enum_member_description"> <p>State indicating that the widget is unresponsive to user actions.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-STATE-INCONSISTENT:CAPS"></a>GTK_STATE_INCONSISTENT</p></td> <td class="enum_member_description"> <p>The widget is inconsistent, such as checkbuttons or radiobuttons that aren’t either set to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> nor <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, or buttons requiring the user attention.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-STATE-FOCUSED:CAPS"></a>GTK_STATE_FOCUSED</p></td> <td class="enum_member_description"> <p>The widget has the keyboard focus.</p> </td> <td class="enum_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkSizeRequestMode"></a><h3>enum GtkSizeRequestMode</h3> <p>Specifies a preference for height-for-width or width-for-height geometry management.</p> <div class="refsect3"> <a name="GtkSizeRequestMode.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="GTK-SIZE-REQUEST-HEIGHT-FOR-WIDTH:CAPS"></a>GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</p></td> <td class="enum_member_description"> <p>Prefer height-for-width geometry management</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-SIZE-REQUEST-WIDTH-FOR-HEIGHT:CAPS"></a>GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</p></td> <td class="enum_member_description"> <p>Prefer width-for-height geometry management</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-SIZE-REQUEST-CONSTANT-SIZE:CAPS"></a>GTK_SIZE_REQUEST_CONSTANT_SIZE</p></td> <td class="enum_member_description"> <p>Don’t trade height-for-width or width-for-height</p> </td> <td class="enum_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkRequestedSize"></a><h3>struct GtkRequestedSize</h3> <pre class="programlisting">struct GtkRequestedSize { gpointer data; gint minimum_size; gint natural_size; }; </pre> <p>Represents a request of a screen object in a given orientation. These are primarily used in container implementations when allocating a natural size for children calling. See <a class="link" href="GtkWidget.html#gtk-distribute-natural-allocation" title="gtk_distribute_natural_allocation ()"><code class="function">gtk_distribute_natural_allocation()</code></a>.</p> <div class="refsect3"> <a name="GtkRequestedSize.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GtkRequestedSize.data"></a>data</code></em>;</p></td> <td class="struct_member_description"><p>A client pointer</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GtkRequestedSize.minimum-size"></a>minimum_size</code></em>;</p></td> <td class="struct_member_description"><p>The minimum size needed for allocation in a given orientation</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GtkRequestedSize.natural-size"></a>natural_size</code></em>;</p></td> <td class="struct_member_description"><p>The natural size for allocation in a given orientation</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkAlign"></a><h3>enum GtkAlign</h3> <p>Controls how a widget deals with extra space in a single (x or y) dimension.</p> <p>Alignment only matters if the widget receives a “too large” allocation, for example if you packed the widget with the <a class="link" href="GtkWidget.html#GtkWidget--expand" title="The “expand” property"><span class="type">“expand”</span></a> flag inside a <a class="link" href="GtkBox.html" title="GtkBox"><span class="type">GtkBox</span></a>, then the widget might get extra space. If you have for example a 16x16 icon inside a 32x32 space, the icon could be scaled and stretched, it could be centered, or it could be positioned to one side of the space.</p> <p>Note that in horizontal context <em class="parameter"><code>GTK_ALIGN_START</code></em> and <em class="parameter"><code>GTK_ALIGN_END</code></em> are interpreted relative to text direction.</p> <p>GTK_ALIGN_BASELINE support for it is optional for containers and widgets, and it is only supported for vertical alignment. When its not supported by a child or a container it is treated as <em class="parameter"><code>GTK_ALIGN_FILL</code></em> .</p> <div class="refsect3"> <a name="GtkAlign.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="GTK-ALIGN-FILL:CAPS"></a>GTK_ALIGN_FILL</p></td> <td class="enum_member_description"> <p>stretch to fill all space if possible, center if no meaningful way to stretch</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-ALIGN-START:CAPS"></a>GTK_ALIGN_START</p></td> <td class="enum_member_description"> <p>snap to left or top side, leaving space on right or bottom</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-ALIGN-END:CAPS"></a>GTK_ALIGN_END</p></td> <td class="enum_member_description"> <p>snap to right or bottom side, leaving space on left or top</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-ALIGN-CENTER:CAPS"></a>GTK_ALIGN_CENTER</p></td> <td class="enum_member_description"> <p>center natural width of widget inside the allocation</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="GTK-ALIGN-BASELINE:CAPS"></a>GTK_ALIGN_BASELINE</p></td> <td class="enum_member_description"> <p>align the widget according to the baseline. Since 3.10.</p> </td> <td class="enum_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> </div> <div class="refsect1"> <a name="GtkWidget.property-details"></a><h2>Property Details</h2> <div class="refsect2"> <a name="GtkWidget--app-paintable"></a><h3>The <code class="literal">“app-paintable”</code> property</h3> <pre class="programlisting"> “app-paintable” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the application will paint directly on the widget.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--can-default"></a><h3>The <code class="literal">“can-default”</code> property</h3> <pre class="programlisting"> “can-default” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget can be the default widget.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--can-focus"></a><h3>The <code class="literal">“can-focus”</code> property</h3> <pre class="programlisting"> “can-focus” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget can accept the input focus.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--composite-child"></a><h3>The <code class="literal">“composite-child”</code> property</h3> <pre class="programlisting"> “composite-child” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget is part of a composite widget.</p> <p>Flags: Read</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--double-buffered"></a><h3>The <code class="literal">“double-buffered”</code> property</h3> <pre class="programlisting"> “double-buffered” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget is double buffered.</p> <div class="warning"> <p><code class="literal">GtkWidget:double-buffered</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>Widgets should not use this property.</p> </div> <p>Flags: Read / Write</p> <p>Default value: TRUE</p> <p class="since">Since: 2.18</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--events"></a><h3>The <code class="literal">“events”</code> property</h3> <pre class="programlisting"> “events” <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GdkEventMask"><span class="type">GdkEventMask</span></a></pre> <p>The event mask that decides what kind of GdkEvents this widget gets.</p> <p>Flags: Read / Write</p> <p>Default value: GDK_STRUCTURE_MASK</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--expand"></a><h3>The <code class="literal">“expand”</code> property</h3> <pre class="programlisting"> “expand” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether to expand in both directions. Setting this sets both <a class="link" href="GtkWidget.html#GtkWidget--hexpand" title="The “hexpand” property"><span class="type">“hexpand”</span></a> and <a class="link" href="GtkWidget.html#GtkWidget--vexpand" title="The “vexpand” property"><span class="type">“vexpand”</span></a></p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--focus-on-click"></a><h3>The <code class="literal">“focus-on-click”</code> property</h3> <pre class="programlisting"> “focus-on-click” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget should grab focus when it is clicked with the mouse.</p> <p>This property is only relevant for widgets that can take focus.</p> <p>Before 3.20, several widgets (GtkButton, GtkFileChooserButton, GtkComboBox) implemented this property individually.</p> <p>Flags: Read / Write</p> <p>Default value: TRUE</p> <p class="since">Since: <a class="link" href="api-index-3-20.html#api-index-3.20">3.20</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--halign"></a><h3>The <code class="literal">“halign”</code> property</h3> <pre class="programlisting"> “halign” <a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a></pre> <p>How to distribute horizontal space if widget gets extra space, see <a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a></p> <p>Flags: Read / Write</p> <p>Default value: GTK_ALIGN_FILL</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--has-default"></a><h3>The <code class="literal">“has-default”</code> property</h3> <pre class="programlisting"> “has-default” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget is the default widget.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--has-focus"></a><h3>The <code class="literal">“has-focus”</code> property</h3> <pre class="programlisting"> “has-focus” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget has the input focus.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--has-tooltip"></a><h3>The <code class="literal">“has-tooltip”</code> property</h3> <pre class="programlisting"> “has-tooltip” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Enables or disables the emission of <a class="link" href="GtkWidget.html#GtkWidget-query-tooltip" title="The “query-tooltip” signal"><span class="type">“query-tooltip”</span></a> on <em class="parameter"><code>widget</code></em> . A value of <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> indicates that <em class="parameter"><code>widget</code></em> can have a tooltip, in this case the widget will be queried using <a class="link" href="GtkWidget.html#GtkWidget-query-tooltip" title="The “query-tooltip” signal"><span class="type">“query-tooltip”</span></a> to determine whether it will provide a tooltip or not.</p> <p>Note that setting this property to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for the first time will change the event masks of the GdkWindows of this widget to include leave-notify and motion-notify events. This cannot and will not be undone when the property is set to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> again.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--height-request"></a><h3>The <code class="literal">“height-request”</code> property</h3> <pre class="programlisting"> “height-request” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Override for height request of the widget, or -1 if natural request should be used.</p> <p>Flags: Read / Write</p> <p>Allowed values: >= -1</p> <p>Default value: -1</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--hexpand"></a><h3>The <code class="literal">“hexpand”</code> property</h3> <pre class="programlisting"> “hexpand” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether to expand horizontally. See <a class="link" href="GtkWidget.html#gtk-widget-set-hexpand" title="gtk_widget_set_hexpand ()"><code class="function">gtk_widget_set_hexpand()</code></a>.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--hexpand-set"></a><h3>The <code class="literal">“hexpand-set”</code> property</h3> <pre class="programlisting"> “hexpand-set” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether to use the <a class="link" href="GtkWidget.html#GtkWidget--hexpand" title="The “hexpand” property"><span class="type">“hexpand”</span></a> property. See <a class="link" href="GtkWidget.html#gtk-widget-get-hexpand-set" title="gtk_widget_get_hexpand_set ()"><code class="function">gtk_widget_get_hexpand_set()</code></a>.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--is-focus"></a><h3>The <code class="literal">“is-focus”</code> property</h3> <pre class="programlisting"> “is-focus” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget is the focus widget within the toplevel.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--margin"></a><h3>The <code class="literal">“margin”</code> property</h3> <pre class="programlisting"> “margin” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Sets all four sides' margin at once. If read, returns max margin on any side.</p> <p>Flags: Read / Write</p> <p>Allowed values: [0,32767]</p> <p>Default value: 0</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--margin-bottom"></a><h3>The <code class="literal">“margin-bottom”</code> property</h3> <pre class="programlisting"> “margin-bottom” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Margin on bottom side of widget.</p> <p>This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a> for example.</p> <p>Flags: Read / Write</p> <p>Allowed values: [0,32767]</p> <p>Default value: 0</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--margin-end"></a><h3>The <code class="literal">“margin-end”</code> property</h3> <pre class="programlisting"> “margin-end” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.</p> <p>This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a> for example.</p> <p>Flags: Read / Write</p> <p>Allowed values: [0,32767]</p> <p>Default value: 0</p> <p class="since">Since: <a class="link" href="api-index-3-12.html#api-index-3.12">3.12</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--margin-left"></a><h3>The <code class="literal">“margin-left”</code> property</h3> <pre class="programlisting"> “margin-left” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Margin on left side of widget.</p> <p>This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a> for example.</p> <div class="warning"> <p><code class="literal">GtkWidget:margin-left</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#GtkWidget--margin-start" title="The “margin-start” property"><span class="type">“margin-start”</span></a> instead.</p> </div> <p>Flags: Read / Write</p> <p>Allowed values: [0,32767]</p> <p>Default value: 0</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--margin-right"></a><h3>The <code class="literal">“margin-right”</code> property</h3> <pre class="programlisting"> “margin-right” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Margin on right side of widget.</p> <p>This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a> for example.</p> <div class="warning"> <p><code class="literal">GtkWidget:margin-right</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#GtkWidget--margin-end" title="The “margin-end” property"><span class="type">“margin-end”</span></a> instead.</p> </div> <p>Flags: Read / Write</p> <p>Allowed values: [0,32767]</p> <p>Default value: 0</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--margin-start"></a><h3>The <code class="literal">“margin-start”</code> property</h3> <pre class="programlisting"> “margin-start” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.</p> <p>This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a> for example.</p> <p>Flags: Read / Write</p> <p>Allowed values: [0,32767]</p> <p>Default value: 0</p> <p class="since">Since: <a class="link" href="api-index-3-12.html#api-index-3.12">3.12</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--margin-top"></a><h3>The <code class="literal">“margin-top”</code> property</h3> <pre class="programlisting"> “margin-top” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Margin on top side of widget.</p> <p>This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from <a class="link" href="GtkWidget.html#gtk-widget-set-size-request" title="gtk_widget_set_size_request ()"><code class="function">gtk_widget_set_size_request()</code></a> for example.</p> <p>Flags: Read / Write</p> <p>Allowed values: [0,32767]</p> <p>Default value: 0</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--name"></a><h3>The <code class="literal">“name”</code> property</h3> <pre class="programlisting"> “name” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> <p>The name of the widget.</p> <p>Flags: Read / Write</p> <p>Default value: NULL</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--no-show-all"></a><h3>The <code class="literal">“no-show-all”</code> property</h3> <pre class="programlisting"> “no-show-all” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether gtk_widget_show_all() should not affect this widget.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--opacity"></a><h3>The <code class="literal">“opacity”</code> property</h3> <pre class="programlisting"> “opacity” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre> <p>The requested opacity of the widget. See <a class="link" href="GtkWidget.html#gtk-widget-set-opacity" title="gtk_widget_set_opacity ()"><code class="function">gtk_widget_set_opacity()</code></a> for more details about window opacity.</p> <p>Before 3.8 this was only available in GtkWindow</p> <p>Flags: Read / Write</p> <p>Allowed values: [0,1]</p> <p>Default value: 1</p> <p class="since">Since: <a class="link" href="api-index-3-8.html#api-index-3.8">3.8</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--parent"></a><h3>The <code class="literal">“parent”</code> property</h3> <pre class="programlisting"> “parent” <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> *</pre> <p>The parent widget of this widget. Must be a Container widget.</p> <p>Flags: Read / Write</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--receives-default"></a><h3>The <code class="literal">“receives-default”</code> property</h3> <pre class="programlisting"> “receives-default” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>If TRUE, the widget will receive the default action when it is focused.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--scale-factor"></a><h3>The <code class="literal">“scale-factor”</code> property</h3> <pre class="programlisting"> “scale-factor” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>The scale factor of the widget. See <a class="link" href="GtkWidget.html#gtk-widget-get-scale-factor" title="gtk_widget_get_scale_factor ()"><code class="function">gtk_widget_get_scale_factor()</code></a> for more details about widget scaling.</p> <p>Flags: Read</p> <p>Allowed values: >= 1</p> <p>Default value: 1</p> <p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--sensitive"></a><h3>The <code class="literal">“sensitive”</code> property</h3> <pre class="programlisting"> “sensitive” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget responds to input.</p> <p>Flags: Read / Write</p> <p>Default value: TRUE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--style"></a><h3>The <code class="literal">“style”</code> property</h3> <pre class="programlisting"> “style” <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> *</pre> <p>The style of the widget, which contains information about how it will look (colors, etc).</p> <div class="warning"> <p><code class="literal">GtkWidget:style</code> is deprecated and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> instead</p> </div> <p>Flags: Read / Write</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--tooltip-markup"></a><h3>The <code class="literal">“tooltip-markup”</code> property</h3> <pre class="programlisting"> “tooltip-markup” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> <p>Sets the text of tooltip to be the given string, which is marked up with the Pango text markup language. Also see <a class="link" href="GtkTooltip.html#gtk-tooltip-set-markup" title="gtk_tooltip_set_markup ()"><code class="function">gtk_tooltip_set_markup()</code></a>.</p> <p>This is a convenience property which will take care of getting the tooltip shown if the given string is not <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>: <a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property"><span class="type">“has-tooltip”</span></a> will automatically be set to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and there will be taken care of <a class="link" href="GtkWidget.html#GtkWidget-query-tooltip" title="The “query-tooltip” signal"><span class="type">“query-tooltip”</span></a> in the default signal handler.</p> <p>Note that if both <a class="link" href="GtkWidget.html#GtkWidget--tooltip-text" title="The “tooltip-text” property"><span class="type">“tooltip-text”</span></a> and <a class="link" href="GtkWidget.html#GtkWidget--tooltip-markup" title="The “tooltip-markup” property"><span class="type">“tooltip-markup”</span></a> are set, the last one wins.</p> <p>Flags: Read / Write</p> <p>Default value: NULL</p> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--tooltip-text"></a><h3>The <code class="literal">“tooltip-text”</code> property</h3> <pre class="programlisting"> “tooltip-text” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> <p>Sets the text of tooltip to be the given string.</p> <p>Also see <a class="link" href="GtkTooltip.html#gtk-tooltip-set-text" title="gtk_tooltip_set_text ()"><code class="function">gtk_tooltip_set_text()</code></a>.</p> <p>This is a convenience property which will take care of getting the tooltip shown if the given string is not <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>: <a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property"><span class="type">“has-tooltip”</span></a> will automatically be set to <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and there will be taken care of <a class="link" href="GtkWidget.html#GtkWidget-query-tooltip" title="The “query-tooltip” signal"><span class="type">“query-tooltip”</span></a> in the default signal handler.</p> <p>Note that if both <a class="link" href="GtkWidget.html#GtkWidget--tooltip-text" title="The “tooltip-text” property"><span class="type">“tooltip-text”</span></a> and <a class="link" href="GtkWidget.html#GtkWidget--tooltip-markup" title="The “tooltip-markup” property"><span class="type">“tooltip-markup”</span></a> are set, the last one wins.</p> <p>Flags: Read / Write</p> <p>Default value: NULL</p> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--valign"></a><h3>The <code class="literal">“valign”</code> property</h3> <pre class="programlisting"> “valign” <a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a></pre> <p>How to distribute vertical space if widget gets extra space, see <a class="link" href="GtkWidget.html#GtkAlign" title="enum GtkAlign"><span class="type">GtkAlign</span></a></p> <p>Flags: Read / Write</p> <p>Default value: GTK_ALIGN_FILL</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--vexpand"></a><h3>The <code class="literal">“vexpand”</code> property</h3> <pre class="programlisting"> “vexpand” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether to expand vertically. See <a class="link" href="GtkWidget.html#gtk-widget-set-vexpand" title="gtk_widget_set_vexpand ()"><code class="function">gtk_widget_set_vexpand()</code></a>.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--vexpand-set"></a><h3>The <code class="literal">“vexpand-set”</code> property</h3> <pre class="programlisting"> “vexpand-set” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether to use the <a class="link" href="GtkWidget.html#GtkWidget--vexpand" title="The “vexpand” property"><span class="type">“vexpand”</span></a> property. See <a class="link" href="GtkWidget.html#gtk-widget-get-vexpand-set" title="gtk_widget_get_vexpand_set ()"><code class="function">gtk_widget_get_vexpand_set()</code></a>.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--visible"></a><h3>The <code class="literal">“visible”</code> property</h3> <pre class="programlisting"> “visible” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether the widget is visible.</p> <p>Flags: Read / Write</p> <p>Default value: FALSE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--width-request"></a><h3>The <code class="literal">“width-request”</code> property</h3> <pre class="programlisting"> “width-request” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Override for width request of the widget, or -1 if natural request should be used.</p> <p>Flags: Read / Write</p> <p>Allowed values: >= -1</p> <p>Default value: -1</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--window"></a><h3>The <code class="literal">“window”</code> property</h3> <pre class="programlisting"> “window” <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> *</pre> <p>The widget's window if it is realized, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p> <p>Flags: Read</p> <p class="since">Since: 2.14</p> </div> </div> <div class="refsect1"> <a name="GtkWidget.style-property-details"></a><h2>Style Property Details</h2> <div class="refsect2"> <a name="GtkWidget--s-cursor-aspect-ratio"></a><h3>The <code class="literal">“cursor-aspect-ratio”</code> style property</h3> <pre class="programlisting"> “cursor-aspect-ratio” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></pre> <p>Aspect ratio with which to draw insertion cursor.</p> <p>Flags: Read</p> <p>Allowed values: [0,1]</p> <p>Default value: 0.04</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-cursor-color"></a><h3>The <code class="literal">“cursor-color”</code> style property</h3> <pre class="programlisting"> “cursor-color” <span class="type">GdkColor</span> *</pre> <p>The color with which to draw the insertion cursor in entries and text views.</p> <div class="warning"> <p><code class="literal">GtkWidget:cursor-color</code> has been deprecated since version 3.20 and should not be used in newly-written code.</p> <p>Use the caret-color CSS property</p> </div> <p>Flags: Read</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-focus-line-pattern"></a><h3>The <code class="literal">“focus-line-pattern”</code> style property</h3> <pre class="programlisting"> “focus-line-pattern” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> <p>The "focus-line-pattern" style property defines the dash pattern used to draw the focus indicator. The character values are interpreted as pixel widths of alternating on and off segments of the line.</p> <div class="warning"> <p><code class="literal">GtkWidget:focus-line-pattern</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>use the outline-style CSS property instead.</p> </div> <p>Flags: Read</p> <p>Default value: "\001\001"</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-focus-line-width"></a><h3>The <code class="literal">“focus-line-width”</code> style property</h3> <pre class="programlisting"> “focus-line-width” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>The "focus-line-width" style property defines the width, in pixels, of the focus indicator line</p> <div class="warning"> <p><code class="literal">GtkWidget:focus-line-width</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>use the outline-width and padding CSS properties instead.</p> </div> <p>Flags: Read</p> <p>Allowed values: >= 0</p> <p>Default value: 1</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-focus-padding"></a><h3>The <code class="literal">“focus-padding”</code> style property</h3> <pre class="programlisting"> “focus-padding” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>The "focus-padding" style property defines the width, in pixels, between focus indicator and the widget 'box'.</p> <div class="warning"> <p><code class="literal">GtkWidget:focus-padding</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>use the outline-offset CSS properties instead.</p> </div> <p>Flags: Read</p> <p>Allowed values: >= 0</p> <p>Default value: 1</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-interior-focus"></a><h3>The <code class="literal">“interior-focus”</code> style property</h3> <pre class="programlisting"> “interior-focus” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>The "interior-focus" style property defines whether to draw the focus indicator inside widgets.</p> <div class="warning"> <p><code class="literal">GtkWidget:interior-focus</code> has been deprecated since version 3.14 and should not be used in newly-written code.</p> <p>use the outline CSS properties instead.</p> </div> <p>Flags: Read</p> <p>Default value: TRUE</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-link-color"></a><h3>The <code class="literal">“link-color”</code> style property</h3> <pre class="programlisting"> “link-color” <span class="type">GdkColor</span> *</pre> <p>The "link-color" style property defines the color of unvisited links.</p> <div class="warning"> <p><code class="literal">GtkWidget:link-color</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Links now use a separate state flags for selecting different theming, this style property is ignored</p> </div> <p>Flags: Read</p> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-scroll-arrow-hlength"></a><h3>The <code class="literal">“scroll-arrow-hlength”</code> style property</h3> <pre class="programlisting"> “scroll-arrow-hlength” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>The "scroll-arrow-hlength" style property defines the length of horizontal scroll arrows.</p> <p>Flags: Read</p> <p>Allowed values: >= 1</p> <p>Default value: 16</p> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-scroll-arrow-vlength"></a><h3>The <code class="literal">“scroll-arrow-vlength”</code> style property</h3> <pre class="programlisting"> “scroll-arrow-vlength” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>The "scroll-arrow-vlength" style property defines the length of vertical scroll arrows.</p> <p>Flags: Read</p> <p>Allowed values: >= 1</p> <p>Default value: 16</p> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-secondary-cursor-color"></a><h3>The <code class="literal">“secondary-cursor-color”</code> style property</h3> <pre class="programlisting"> “secondary-cursor-color” <span class="type">GdkColor</span> *</pre> <p>The color with which to draw the secondary insertion cursor in entries and text views when editing mixed right-to-left and left-to-right text.</p> <div class="warning"> <p><code class="literal">GtkWidget:secondary-cursor-color</code> has been deprecated since version 3.20 and should not be used in newly-written code.</p> <p>Use the -gtk-secondary-caret-color CSS property</p> </div> <p>Flags: Read</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-separator-height"></a><h3>The <code class="literal">“separator-height”</code> style property</h3> <pre class="programlisting"> “separator-height” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>The "separator-height" style property defines the height of separators. This property only takes effect if the "wide-separators" style property is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p> <div class="warning"> <p><code class="literal">GtkWidget:separator-height</code> has been deprecated since version 3.20 and should not be used in newly-written code.</p> <p>Use the standard min-height CSS property on the separator elements to size separators; the value of this style property is ignored.</p> </div> <p>Flags: Read</p> <p>Allowed values: >= 0</p> <p>Default value: 0</p> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-separator-width"></a><h3>The <code class="literal">“separator-width”</code> style property</h3> <pre class="programlisting"> “separator-width” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>The "separator-width" style property defines the width of separators. This property only takes effect if the "wide-separators" style property is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p> <div class="warning"> <p><code class="literal">GtkWidget:separator-width</code> has been deprecated since version 3.20 and should not be used in newly-written code.</p> <p>Use the standard min-width CSS property on the separator elements to size separators; the value of this style property is ignored.</p> </div> <p>Flags: Read</p> <p>Allowed values: >= 0</p> <p>Default value: 0</p> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-text-handle-height"></a><h3>The <code class="literal">“text-handle-height”</code> style property</h3> <pre class="programlisting"> “text-handle-height” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Height of text selection handles.</p> <p>Flags: Read</p> <p>Allowed values: >= 1</p> <p>Default value: 20</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-text-handle-width"></a><h3>The <code class="literal">“text-handle-width”</code> style property</h3> <pre class="programlisting"> “text-handle-width” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Width of text selection handles.</p> <p>Flags: Read</p> <p>Allowed values: >= 1</p> <p>Default value: 16</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-visited-link-color"></a><h3>The <code class="literal">“visited-link-color”</code> style property</h3> <pre class="programlisting"> “visited-link-color” <span class="type">GdkColor</span> *</pre> <p>The "visited-link-color" style property defines the color of visited links.</p> <div class="warning"> <p><code class="literal">GtkWidget:visited-link-color</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Links now use a separate state flags for selecting different theming, this style property is ignored</p> </div> <p>Flags: Read</p> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-wide-separators"></a><h3>The <code class="literal">“wide-separators”</code> style property</h3> <pre class="programlisting"> “wide-separators” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>The "wide-separators" style property defines whether separators have configurable width and should be drawn using a box instead of a line.</p> <div class="warning"> <p><code class="literal">GtkWidget:wide-separators</code> has been deprecated since version 3.20 and should not be used in newly-written code.</p> <p>Use CSS properties on the separator elements to style separators; the value of this style property is ignored.</p> </div> <p>Flags: Read</p> <p>Default value: FALSE</p> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget--s-window-dragging"></a><h3>The <code class="literal">“window-dragging”</code> style property</h3> <pre class="programlisting"> “window-dragging” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> <p>Whether windows can be dragged and maximized by clicking on empty areas.</p> <p>Flags: Read</p> <p>Default value: FALSE</p> </div> </div> <div class="refsect1"> <a name="GtkWidget.signal-details"></a><h2>Signal Details</h2> <div class="refsect2"> <a name="GtkWidget-accel-closures-changed"></a><h3>The <code class="literal">“accel-closures-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-accel-closures-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkWidget-button-press-event"></a><h3>The <code class="literal">“button-press-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-BUTTON-PRESS-MASK:CAPS"><span class="type">GDK_BUTTON_PRESS_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-button-press-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventButton"><span class="type">GdkEventButton</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventButton]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-button-press-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-button-release-event"></a><h3>The <code class="literal">“button-release-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::button-release-event signal will be emitted when a button (typically from a mouse) is released.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-BUTTON-RELEASE-MASK:CAPS"><span class="type">GDK_BUTTON_RELEASE_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-button-release-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventButton"><span class="type">GdkEventButton</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventButton]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-button-release-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-can-activate-accel"></a><h3>The <code class="literal">“can-activate-accel”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>Determines whether an accelerator that activates the signal identified by <em class="parameter"><code>signal_id</code></em> can currently be activated. This signal is present to allow applications and derived widgets to override the default <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> handling for determining whether an accelerator can be activated.</p> <div class="refsect3"> <a name="GtkWidget-can-activate-accel.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>signal_id</p></td> <td class="parameter_description"><p>the ID of a signal installed on <em class="parameter"><code>widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-can-activate-accel.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the signal can be activated.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-child-notify"></a><h3>The <code class="literal">“child-notify”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> *child_property, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::child-notify signal is emitted for each child property that has changed on an object. The signal's detail holds the property name.</p> <div class="refsect3"> <a name="GtkWidget-child-notify.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>child_property</p></td> <td class="parameter_description"><p>the <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> of the changed child property</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS">No Hooks</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-composited-changed"></a><h3>The <code class="literal">“composited-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::composited-changed signal is emitted when the composited status of <em class="parameter"><code>widgets</code></em> screen changes. See <code class="function">gdk_screen_is_composited()</code>.</p> <div class="warning"> <p><code class="literal">GtkWidget::composited-changed</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p> <p>Use GdkScreen::composited-changed instead.</p> </div> <div class="refsect3"> <a name="GtkWidget-composited-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-configure-event"></a><h3>The <code class="literal">“configure-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::configure-event signal will be emitted when the size, position or stacking of the <em class="parameter"><code>widget</code></em> 's window has changed.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-STRUCTURE-MASK:CAPS"><span class="type">GDK_STRUCTURE_MASK</span></a> mask. GDK will enable this mask automatically for all new windows.</p> <div class="refsect3"> <a name="GtkWidget-configure-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventConfigure"><span class="type">GdkEventConfigure</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventConfigure]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-configure-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-damage-event"></a><h3>The <code class="literal">“damage-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>Emitted when a redirected window belonging to <em class="parameter"><code>widget</code></em> gets drawn into. The region/area members of the event shows what area of the redirected drawable was drawn into.</p> <div class="refsect3"> <a name="GtkWidget-damage-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventExpose"><span class="type">GdkEventExpose</span></a> event. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventExpose]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-damage-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> <p class="since">Since: 2.14</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-delete-event"></a><h3>The <code class="literal">“delete-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::delete-event signal is emitted if a user requests that a toplevel window is closed. The default handler for this signal destroys the window. Connecting <a class="link" href="GtkWidget.html#gtk-widget-hide-on-delete" title="gtk_widget_hide_on_delete ()"><code class="function">gtk_widget_hide_on_delete()</code></a> to this signal will cause the window to be hidden instead, so that it can later be shown again without reconstructing it.</p> <div class="refsect3"> <a name="GtkWidget-delete-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>the event which triggered this signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-delete-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-destroy"></a><h3>The <code class="literal">“destroy”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *object, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>Signals that all holders of a reference to the widget should release the reference that they hold. May result in finalization of the widget if all references are released.</p> <p>This signal is not suitable for saving widget state.</p> <div class="refsect3"> <a name="GtkWidget-destroy.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>object</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS">No Hooks</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-destroy-event"></a><h3>The <code class="literal">“destroy-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::destroy-event signal is emitted when a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> is destroyed. You rarely get this signal, because most widgets disconnect themselves from their window before they destroy it, so no widget owns the window at destroy time.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-STRUCTURE-MASK:CAPS"><span class="type">GDK_STRUCTURE_MASK</span></a> mask. GDK will enable this mask automatically for all new windows.</p> <div class="refsect3"> <a name="GtkWidget-destroy-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>the event which triggered this signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-destroy-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-direction-changed"></a><h3>The <code class="literal">“direction-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="type">GtkTextDirection</span></a> previous_direction, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::direction-changed signal is emitted when the text direction of a widget changes.</p> <div class="refsect3"> <a name="GtkWidget-direction-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>previous_direction</p></td> <td class="parameter_description"><p>the previous text direction of <em class="parameter"><code>widget</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-begin"></a><h3>The <code class="literal">“drag-begin”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-begin signal is emitted on the drag source when a drag is started. A typical reason to connect to this signal is to set up a custom drag icon with e.g. <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-source-set-icon-pixbuf" title="gtk_drag_source_set_icon_pixbuf ()"><code class="function">gtk_drag_source_set_icon_pixbuf()</code></a>.</p> <p>Note that some widgets set up a drag icon in the default handler of this signal, so you may have to use <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#g-signal-connect-after"><code class="function">g_signal_connect_after()</code></a> to override what the default handler did.</p> <div class="refsect3"> <a name="GtkWidget-drag-begin.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-data-delete"></a><h3>The <code class="literal">“drag-data-delete”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-data-delete signal is emitted on the drag source when a drag with the action <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GDK-ACTION-MOVE:CAPS"><code class="literal">GDK_ACTION_MOVE</code></a> is successfully completed. The signal handler is responsible for deleting the data that has been dropped. What "delete" means depends on the context of the drag operation.</p> <div class="refsect3"> <a name="GtkWidget-drag-data-delete.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-data-get"></a><h3>The <code class="literal">“drag-data-get”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> *data, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> info, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> time, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-data-get signal is emitted on the drag source when the drop site requests the data which is dragged. It is the responsibility of the signal handler to fill <em class="parameter"><code>data</code></em> with the data in the format which is indicated by <em class="parameter"><code>info</code></em> . See <a class="link" href="gtk3-Selections.html#gtk-selection-data-set" title="gtk_selection_data_set ()"><code class="function">gtk_selection_data_set()</code></a> and <a class="link" href="gtk3-Selections.html#gtk-selection-data-set-text" title="gtk_selection_data_set_text ()"><code class="function">gtk_selection_data_set_text()</code></a>.</p> <div class="refsect3"> <a name="GtkWidget-drag-data-get.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> to be filled with the dragged data</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>the info that has been registered with the target in the <a class="link" href="gtk3-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>time</p></td> <td class="parameter_description"><p>the timestamp at which the data was requested</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-data-received"></a><h3>The <code class="literal">“drag-data-received”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y, <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> *data, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> info, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> time, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-data-received signal is emitted on the drop site when the dragged data has been received. If the data was received in order to determine whether the drop will be accepted, the handler is expected to call <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-status"><code class="function">gdk_drag_status()</code></a> and not finish the drag. If the data was received in response to a <a class="link" href="GtkWidget.html#GtkWidget-drag-drop" title="The “drag-drop” signal"><span class="type">“drag-drop”</span></a> signal (and this is the last target to be received), the handler for this signal is expected to process the received data and then call <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-finish" title="gtk_drag_finish ()"><code class="function">gtk_drag_finish()</code></a>, setting the <em class="parameter"><code>success</code></em> parameter depending on whether the data was processed successfully.</p> <p>Applications must create some means to determine why the signal was emitted and therefore whether to call <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-status"><code class="function">gdk_drag_status()</code></a> or <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-finish" title="gtk_drag_finish ()"><code class="function">gtk_drag_finish()</code></a>. </p> <p>The handler may inspect the selected action with <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-context-get-selected-action"><code class="function">gdk_drag_context_get_selected_action()</code></a> before calling <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-finish" title="gtk_drag_finish ()"><code class="function">gtk_drag_finish()</code></a>, e.g. to implement <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GDK-ACTION-ASK:CAPS"><code class="literal">GDK_ACTION_ASK</code></a> as shown in the following example:</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">void</span> <span class="function">drag_data_received</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span> GdkDragContext <span class="gtkdoc opt">*</span>context<span class="gtkdoc opt">,</span> gint x<span class="gtkdoc opt">,</span> gint y<span class="gtkdoc opt">,</span> GtkSelectionData <span class="gtkdoc opt">*</span>data<span class="gtkdoc opt">,</span> guint info<span class="gtkdoc opt">,</span> guint time<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> <span class="keyword">if</span> <span class="gtkdoc opt">((</span>data<span class="gtkdoc opt">-></span>length <span class="gtkdoc opt">>=</span> <span class="number">0</span><span class="gtkdoc opt">) && (</span>data<span class="gtkdoc opt">-></span>format <span class="gtkdoc opt">==</span> <span class="number">8</span><span class="gtkdoc opt">))</span> <span class="gtkdoc opt">{</span> GdkDragAction action<span class="gtkdoc opt">;</span> <span class="gtkdoc slc">// handle data here</span> action <span class="gtkdoc opt">=</span> <span class="function"><a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-context-get-selected-action">gdk_drag_context_get_selected_action</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span>action <span class="gtkdoc opt">==</span> GDK_ACTION_ASK<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> GtkWidget <span class="gtkdoc opt">*</span>dialog<span class="gtkdoc opt">;</span> gint response<span class="gtkdoc opt">;</span> dialog <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkMessageDialog.html#gtk-message-dialog-new">gtk_message_dialog_new</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> GTK_DIALOG_MODAL <span class="gtkdoc opt">|</span> GTK_DIALOG_DESTROY_WITH_PARENT<span class="gtkdoc opt">,</span> GTK_MESSAGE_INFO<span class="gtkdoc opt">,</span> GTK_BUTTONS_YES_NO<span class="gtkdoc opt">,</span> <span class="string">"Move the data ?</span><span class="gtkdoc esc">\n</span><span class="string">"</span><span class="gtkdoc opt">);</span> response <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkDialog.html#gtk-dialog-run">gtk_dialog_run</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_DIALOG</span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">));</span> <span class="function"><a href="GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span>response <span class="gtkdoc opt">==</span> GTK_RESPONSE_YES<span class="gtkdoc opt">)</span> action <span class="gtkdoc opt">=</span> GDK_ACTION_MOVE<span class="gtkdoc opt">;</span> <span class="keyword">else</span> action <span class="gtkdoc opt">=</span> GDK_ACTION_COPY<span class="gtkdoc opt">;</span> <span class="gtkdoc opt">}</span> <span class="function"><a href="gtk3-Drag-and-Drop.html#gtk-drag-finish">gtk_drag_finish</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">,</span> TRUE<span class="gtkdoc opt">,</span> action <span class="gtkdoc opt">==</span> GDK_ACTION_MOVE<span class="gtkdoc opt">,</span> time<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span> <span class="keyword">else</span> <span class="function"><a href="gtk3-Drag-and-Drop.html#gtk-drag-finish">gtk_drag_finish</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">,</span> time<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <div class="refsect3"> <a name="GtkWidget-drag-data-received.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p>where the drop happened</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p>where the drop happened</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the received data</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>the info that has been registered with the target in the <a class="link" href="gtk3-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>time</p></td> <td class="parameter_description"><p>the timestamp at which the data was received</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-drop"></a><h3>The <code class="literal">“drag-drop”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> time, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> and no further processing is necessary. Otherwise, the handler returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. In this case, the handler must ensure that <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-finish" title="gtk_drag_finish ()"><code class="function">gtk_drag_finish()</code></a> is called to let the source know that the drop is done. The call to <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-finish" title="gtk_drag_finish ()"><code class="function">gtk_drag_finish()</code></a> can be done either directly or in a <a class="link" href="GtkWidget.html#GtkWidget-drag-data-received" title="The “drag-data-received” signal"><span class="type">“drag-data-received”</span></a> handler which gets triggered by calling <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-get-data" title="gtk_drag_get_data ()"><code class="function">gtk_drag_get_data()</code></a> to receive the data for one or more of the supported targets.</p> <div class="refsect3"> <a name="GtkWidget-drag-drop.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p>the x coordinate of the current cursor position</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p>the y coordinate of the current cursor position</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>time</p></td> <td class="parameter_description"><p>the timestamp of the motion event</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-drag-drop.returns"></a><h4>Returns</h4> <p> whether the cursor position is in a drop zone</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-end"></a><h3>The <code class="literal">“drag-end”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-end signal is emitted on the drag source when a drag is finished. A typical reason to connect to this signal is to undo things done in <a class="link" href="GtkWidget.html#GtkWidget-drag-begin" title="The “drag-begin” signal"><span class="type">“drag-begin”</span></a>.</p> <div class="refsect3"> <a name="GtkWidget-drag-end.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-failed"></a><h3>The <code class="literal">“drag-failed”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a class="link" href="gtk3-Drag-and-Drop.html#GtkDragResult" title="enum GtkDragResult"><span class="type">GtkDragResult</span></a> result, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-failed signal is emitted on the drag source when a drag has failed. The signal handler may hook custom code to handle a failed DnD operation based on the type of error, it returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the failure has been already handled (not showing the default "drag operation failed" animation), otherwise it returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p> <div class="refsect3"> <a name="GtkWidget-drag-failed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>result</p></td> <td class="parameter_description"><p>the result of the drag operation</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-drag-failed.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the failed drag operation has been already handled.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-leave"></a><h3>The <code class="literal">“drag-leave”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> time, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-leave signal is emitted on the drop site when the cursor leaves the widget. A typical reason to connect to this signal is to undo things done in <a class="link" href="GtkWidget.html#GtkWidget-drag-motion" title="The “drag-motion” signal"><span class="type">“drag-motion”</span></a>, e.g. undo highlighting with <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-unhighlight" title="gtk_drag_unhighlight ()"><code class="function">gtk_drag_unhighlight()</code></a>.</p> <p>Likewise, the <a class="link" href="GtkWidget.html#GtkWidget-drag-leave" title="The “drag-leave” signal"><span class="type">“drag-leave”</span></a> signal is also emitted before the ::drag-drop signal, for instance to allow cleaning up of a preview item created in the <a class="link" href="GtkWidget.html#GtkWidget-drag-motion" title="The “drag-motion” signal"><span class="type">“drag-motion”</span></a> signal handler.</p> <div class="refsect3"> <a name="GtkWidget-drag-leave.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>time</p></td> <td class="parameter_description"><p>the timestamp of the motion event</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-drag-motion"></a><h3>The <code class="literal">“drag-motion”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#GdkDragContext-struct"><span class="type">GdkDragContext</span></a> *context, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> time, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::drag-motion signal is emitted on the drop site when the user moves the cursor over the widget during a drag. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> and no further processing is necessary. Otherwise, the handler returns <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. In this case, the handler is responsible for providing the necessary information for displaying feedback to the user, by calling <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-status"><code class="function">gdk_drag_status()</code></a>.</p> <p>If the decision whether the drop will be accepted or rejected can't be made based solely on the cursor position and the type of the data, the handler may inspect the dragged data by calling <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-get-data" title="gtk_drag_get_data ()"><code class="function">gtk_drag_get_data()</code></a> and defer the <a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-status"><code class="function">gdk_drag_status()</code></a> call to the <a class="link" href="GtkWidget.html#GtkWidget-drag-data-received" title="The “drag-data-received” signal"><span class="type">“drag-data-received”</span></a> handler. Note that you must pass <a class="link" href="gtk3-Drag-and-Drop.html#GTK-DEST-DEFAULT-DROP:CAPS"><span class="type">GTK_DEST_DEFAULT_DROP</span></a>, <a class="link" href="gtk3-Drag-and-Drop.html#GTK-DEST-DEFAULT-MOTION:CAPS"><span class="type">GTK_DEST_DEFAULT_MOTION</span></a> or <a class="link" href="gtk3-Drag-and-Drop.html#GTK-DEST-DEFAULT-ALL:CAPS"><span class="type">GTK_DEST_DEFAULT_ALL</span></a> to <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-dest-set" title="gtk_drag_dest_set ()"><code class="function">gtk_drag_dest_set()</code></a> when using the drag-motion signal that way.</p> <p>Also note that there is no drag-enter signal. The drag receiver has to keep track of whether he has received any drag-motion signals since the last <a class="link" href="GtkWidget.html#GtkWidget-drag-leave" title="The “drag-leave” signal"><span class="type">“drag-leave”</span></a> and if not, treat the drag-motion signal as an "enter" signal. Upon an "enter", the handler will typically highlight the drop site with <a class="link" href="gtk3-Drag-and-Drop.html#gtk-drag-highlight" title="gtk_drag_highlight ()"><code class="function">gtk_drag_highlight()</code></a>.</p> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td class="listing_lines" align="right"><pre>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63</pre></td> <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span> <span class="function">drag_motion</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span> GdkDragContext <span class="gtkdoc opt">*</span>context<span class="gtkdoc opt">,</span> gint x<span class="gtkdoc opt">,</span> gint y<span class="gtkdoc opt">,</span> guint time<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> GdkAtom target<span class="gtkdoc opt">;</span> PrivateData <span class="gtkdoc opt">*</span>private_data <span class="gtkdoc opt">=</span> <span class="function">GET_PRIVATE_DATA</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(!</span>private_data<span class="gtkdoc opt">-></span>drag_highlight<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> private_data<span class="gtkdoc opt">-></span>drag_highlight <span class="gtkdoc opt">=</span> <span class="number">1</span><span class="gtkdoc opt">;</span> <span class="function"><a href="gtk3-Drag-and-Drop.html#gtk-drag-highlight">gtk_drag_highlight</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span> target <span class="gtkdoc opt">=</span> <span class="function"><a href="gtk3-Drag-and-Drop.html#gtk-drag-dest-find-target">gtk_drag_dest_find_target</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> context<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span>target <span class="gtkdoc opt">==</span> GDK_NONE<span class="gtkdoc opt">)</span> <span class="function"><a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-status">gdk_drag_status</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> time<span class="gtkdoc opt">);</span> <span class="keyword">else</span> <span class="gtkdoc opt">{</span> private_data<span class="gtkdoc opt">-></span>pending_status <span class="gtkdoc opt">=</span> <span class="function"><a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-context-get-suggested-action">gdk_drag_context_get_suggested_action</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">);</span> <span class="function"><a href="gtk3-Drag-and-Drop.html#gtk-drag-get-data">gtk_drag_get_data</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> context<span class="gtkdoc opt">,</span> target<span class="gtkdoc opt">,</span> time<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span> <span class="keyword">return</span> TRUE<span class="gtkdoc opt">;</span> <span class="gtkdoc opt">}</span> <span class="gtkdoc kwb">static void</span> <span class="function">drag_data_received</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span> GdkDragContext <span class="gtkdoc opt">*</span>context<span class="gtkdoc opt">,</span> gint x<span class="gtkdoc opt">,</span> gint y<span class="gtkdoc opt">,</span> GtkSelectionData <span class="gtkdoc opt">*</span>selection_data<span class="gtkdoc opt">,</span> guint info<span class="gtkdoc opt">,</span> guint time<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> PrivateData <span class="gtkdoc opt">*</span>private_data <span class="gtkdoc opt">=</span> <span class="function">GET_PRIVATE_DATA</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(</span>private_data<span class="gtkdoc opt">-></span>suggested_action<span class="gtkdoc opt">)</span> <span class="gtkdoc opt">{</span> private_data<span class="gtkdoc opt">-></span>suggested_action <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span> <span class="gtkdoc slc">// We are getting this data due to a request in drag_motion,</span> <span class="gtkdoc slc">// rather than due to a request in drag_drop, so we are just</span> <span class="gtkdoc slc">// supposed to call gdk_drag_status(), not actually paste in</span> <span class="gtkdoc slc">// the data.</span> str <span class="gtkdoc opt">=</span> <span class="function"><a href="gtk3-Selections.html#gtk-selection-data-get-text">gtk_selection_data_get_text</a></span> <span class="gtkdoc opt">(</span>selection_data<span class="gtkdoc opt">);</span> <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function">data_is_acceptable</span> <span class="gtkdoc opt">(</span>str<span class="gtkdoc opt">))</span> <span class="function"><a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-status">gdk_drag_status</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> time<span class="gtkdoc opt">);</span> <span class="keyword">else</span> <span class="function"><a href="http://developer.gnome.org/gdk3/gdk4-Drag-and-Drop.html#gdk-drag-status">gdk_drag_status</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">,</span> private_data<span class="gtkdoc opt">-></span>suggested_action<span class="gtkdoc opt">,</span> time<span class="gtkdoc opt">);</span> <span class="gtkdoc opt">}</span> <span class="keyword">else</span> <span class="gtkdoc opt">{</span> <span class="gtkdoc slc">// accept the drop</span> <span class="gtkdoc opt">}</span> <span class="gtkdoc opt">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <div class="refsect3"> <a name="GtkWidget-drag-motion.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>context</p></td> <td class="parameter_description"><p>the drag context</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p>the x coordinate of the current cursor position</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p>the y coordinate of the current cursor position</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>time</p></td> <td class="parameter_description"><p>the timestamp of the motion event</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-drag-motion.returns"></a><h4>Returns</h4> <p> whether the cursor position is in a drop zone</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-draw"></a><h3>The <code class="literal">“draw”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <span class="type">CairoContext</span> *cr, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>This signal is emitted when a widget is supposed to render itself. The <em class="parameter"><code>widget</code></em> 's top left corner must be painted at the origin of the passed in context and be sized to the values returned by <a class="link" href="GtkWidget.html#gtk-widget-get-allocated-width" title="gtk_widget_get_allocated_width ()"><code class="function">gtk_widget_get_allocated_width()</code></a> and <a class="link" href="GtkWidget.html#gtk-widget-get-allocated-height" title="gtk_widget_get_allocated_height ()"><code class="function">gtk_widget_get_allocated_height()</code></a>.</p> <p>Signal handlers connected to this signal can modify the cairo context passed as <em class="parameter"><code>cr</code></em> in any way they like and don't need to restore it. The signal emission takes care of calling <code class="function">cairo_save()</code> before and <code class="function">cairo_restore()</code> after invoking the handler.</p> <p>The signal handler will get a <em class="parameter"><code>cr</code></em> with a clip region already set to the widget's dirty region, i.e. to the area that needs repainting. Complicated widgets that want to avoid redrawing themselves completely can get the full extents of the clip region with <a href="http://developer.gnome.org/gdk3/gdk4-Cairo-Interaction.html#gdk-cairo-get-clip-rectangle"><code class="function">gdk_cairo_get_clip_rectangle()</code></a>, or they can get a finer-grained representation of the dirty region with <code class="function">cairo_copy_clip_rectangle_list()</code>.</p> <div class="refsect3"> <a name="GtkWidget-draw.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cr</p></td> <td class="parameter_description"><p>the cairo context to draw to</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-draw.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-enter-notify-event"></a><h3>The <code class="literal">“enter-notify-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::enter-notify-event will be emitted when the pointer enters the <em class="parameter"><code>widget</code></em> 's window.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-ENTER-NOTIFY-MASK:CAPS"><span class="type">GDK_ENTER_NOTIFY_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-enter-notify-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventCrossing"><span class="type">GdkEventCrossing</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventCrossing]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-enter-notify-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-event"></a><h3>The <code class="literal">“event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The GTK+ main loop will emit three signals for each GDK event delivered to a widget: one generic ::event signal, another, more specific, signal that matches the type of event delivered (e.g. <a class="link" href="GtkWidget.html#GtkWidget-key-press-event" title="The “key-press-event” signal"><span class="type">“key-press-event”</span></a>) and finally a generic <a class="link" href="GtkWidget.html#GtkWidget-event-after" title="The “event-after” signal"><span class="type">“event-after”</span></a> signal.</p> <div class="refsect3"> <a name="GtkWidget-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> which triggered this signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event and to cancel the emission of the second specific ::event signal. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further and to allow the emission of the second signal. The ::event-after signal is emitted regardless of the return value.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-event-after"></a><h3>The <code class="literal">“event-after”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>After the emission of the <a class="link" href="GtkWidget.html#GtkWidget-event" title="The “event” signal"><span class="type">“event”</span></a> signal and (optionally) the second more specific signal, ::event-after will be emitted regardless of the previous two signals handlers return values.</p> <div class="refsect3"> <a name="GtkWidget-event-after.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> which triggered this signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkWidget-focus"></a><h3>The <code class="literal">“focus”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="gtk3-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> direction, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-focus.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-focus-in-event"></a><h3>The <code class="literal">“focus-in-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::focus-in-event signal will be emitted when the keyboard focus enters the <em class="parameter"><code>widget</code></em> 's window.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-FOCUS-CHANGE-MASK:CAPS"><span class="type">GDK_FOCUS_CHANGE_MASK</span></a> mask.</p> <div class="refsect3"> <a name="GtkWidget-focus-in-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventFocus"><span class="type">GdkEventFocus</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventFocus]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-focus-in-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-focus-out-event"></a><h3>The <code class="literal">“focus-out-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::focus-out-event signal will be emitted when the keyboard focus leaves the <em class="parameter"><code>widget</code></em> 's window.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-FOCUS-CHANGE-MASK:CAPS"><span class="type">GDK_FOCUS_CHANGE_MASK</span></a> mask.</p> <div class="refsect3"> <a name="GtkWidget-focus-out-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventFocus"><span class="type">GdkEventFocus</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventFocus]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-focus-out-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-grab-broken-event"></a><h3>The <code class="literal">“grab-broken-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>Emitted when a pointer or keyboard grab on a window belonging to <em class="parameter"><code>widget</code></em> gets broken.</p> <p>On X11, this happens when the grab window becomes unviewable (i.e. it or one of its ancestors is unmapped), or if the same application grabs the pointer or keyboard again.</p> <div class="refsect3"> <a name="GtkWidget-grab-broken-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventGrabBroken"><span class="type">GdkEventGrabBroken</span></a> event. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventGrabBroken]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-grab-broken-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> <p class="since">Since: 2.8</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-grab-focus"></a><h3>The <code class="literal">“grab-focus”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-grab-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-grab-notify"></a><h3>The <code class="literal">“grab-notify”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> was_grabbed, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::grab-notify signal is emitted when a widget becomes shadowed by a GTK+ grab (not a pointer or keyboard grab) on another widget, or when it becomes unshadowed due to a grab being removed.</p> <p>A widget is shadowed by a <a class="link" href="gtk3-General.html#gtk-grab-add" title="gtk_grab_add ()"><code class="function">gtk_grab_add()</code></a> when the topmost grab widget in the grab stack of its window group is not its ancestor.</p> <div class="refsect3"> <a name="GtkWidget-grab-notify.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>was_grabbed</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the widget becomes shadowed, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it becomes unshadowed</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-hide"></a><h3>The <code class="literal">“hide”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::hide signal is emitted when <em class="parameter"><code>widget</code></em> is hidden, for example with <a class="link" href="GtkWidget.html#gtk-widget-hide" title="gtk_widget_hide ()"><code class="function">gtk_widget_hide()</code></a>.</p> <div class="refsect3"> <a name="GtkWidget-hide.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-hierarchy-changed"></a><h3>The <code class="literal">“hierarchy-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *previous_toplevel, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::hierarchy-changed signal is emitted when the anchored state of a widget changes. A widget is “anchored” when its toplevel ancestor is a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>. This signal is emitted when a widget changes from un-anchored to anchored or vice-versa.</p> <div class="refsect3"> <a name="GtkWidget-hierarchy-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>previous_toplevel</p></td> <td class="parameter_description"><p> the previous toplevel ancestor, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the widget was previously unanchored. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-key-press-event"></a><h3>The <code class="literal">“key-press-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::key-press-event signal is emitted when a key is pressed. The signal emission will reoccur at the key-repeat rate when the key is kept pressed.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-KEY-PRESS-MASK:CAPS"><span class="type">GDK_KEY_PRESS_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-key-press-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventKey"><span class="type">GdkEventKey</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventKey]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-key-press-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-key-release-event"></a><h3>The <code class="literal">“key-release-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::key-release-event signal is emitted when a key is released.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-KEY-RELEASE-MASK:CAPS"><span class="type">GDK_KEY_RELEASE_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-key-release-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventKey"><span class="type">GdkEventKey</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventKey]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-key-release-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-keynav-failed"></a><h3>The <code class="literal">“keynav-failed”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="gtk3-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> direction, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>Gets emitted if keyboard navigation fails. See <a class="link" href="GtkWidget.html#gtk-widget-keynav-failed" title="gtk_widget_keynav_failed ()"><code class="function">gtk_widget_keynav_failed()</code></a> for details.</p> <div class="refsect3"> <a name="GtkWidget-keynav-failed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>direction</p></td> <td class="parameter_description"><p>the direction of movement</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-keynav-failed.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if stopping keyboard navigation is fine, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the emitting widget should try to handle the keyboard navigation attempt in its parent container(s).</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-leave-notify-event"></a><h3>The <code class="literal">“leave-notify-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::leave-notify-event will be emitted when the pointer leaves the <em class="parameter"><code>widget</code></em> 's window.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-LEAVE-NOTIFY-MASK:CAPS"><span class="type">GDK_LEAVE_NOTIFY_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-leave-notify-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventCrossing"><span class="type">GdkEventCrossing</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventCrossing]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-leave-notify-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-map"></a><h3>The <code class="literal">“map”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::map signal is emitted when <em class="parameter"><code>widget</code></em> is going to be mapped, that is when the widget is visible (which is controlled with <a class="link" href="GtkWidget.html#gtk-widget-set-visible" title="gtk_widget_set_visible ()"><code class="function">gtk_widget_set_visible()</code></a>) and all its parents up to the toplevel widget are also visible. Once the map has occurred, <a class="link" href="GtkWidget.html#GtkWidget-map-event" title="The “map-event” signal"><span class="type">“map-event”</span></a> will be emitted.</p> <p>The ::map signal can be used to determine whether a widget will be drawn, for instance it can resume an animation that was stopped during the emission of <a class="link" href="GtkWidget.html#GtkWidget-unmap" title="The “unmap” signal"><span class="type">“unmap”</span></a>.</p> <div class="refsect3"> <a name="GtkWidget-map.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-map-event"></a><h3>The <code class="literal">“map-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::map-event signal will be emitted when the <em class="parameter"><code>widget</code></em> 's window is mapped. A window is mapped when it becomes visible on the screen.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-STRUCTURE-MASK:CAPS"><span class="type">GDK_STRUCTURE_MASK</span></a> mask. GDK will enable this mask automatically for all new windows.</p> <div class="refsect3"> <a name="GtkWidget-map-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventAny"><span class="type">GdkEventAny</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventAny]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-map-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-mnemonic-activate"></a><h3>The <code class="literal">“mnemonic-activate”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg1, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-mnemonic-activate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-mnemonic-activate.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-motion-notify-event"></a><h3>The <code class="literal">“motion-notify-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::motion-notify-event signal is emitted when the pointer moves over the widget's <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-POINTER-MOTION-MASK:CAPS"><span class="type">GDK_POINTER_MOTION_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-motion-notify-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventMotion"><span class="type">GdkEventMotion</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventMotion]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-motion-notify-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-move-focus"></a><h3>The <code class="literal">“move-focus”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="gtk3-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> direction, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-move-focus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-parent-set"></a><h3>The <code class="literal">“parent-set”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *old_parent, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::parent-set signal is emitted when a new parent has been set on a widget.</p> <div class="refsect3"> <a name="GtkWidget-parent-set.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>old_parent</p></td> <td class="parameter_description"><p> the previous parent, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the widget just got its initial parent. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-popup-menu"></a><h3>The <code class="literal">“popup-menu”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>This signal gets emitted whenever a widget should pop up a context menu. This usually happens through the standard key binding mechanism; by pressing a certain key while a widget is focused, the user can cause the widget to pop up a menu. For example, the <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a> widget creates a menu with clipboard commands. See the <a class="link" href="gtk-migrating-checklist.html#checklist-popup-menu" title="Implement GtkWidget::popup_menu">Popup Menu Migration Checklist</a> for an example of how to use this signal.</p> <div class="refsect3"> <a name="GtkWidget-popup-menu.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-popup-menu.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a menu was activated</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-property-notify-event"></a><h3>The <code class="literal">“property-notify-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::property-notify-event signal will be emitted when a property on the <em class="parameter"><code>widget</code></em> 's window has been changed or deleted.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-PROPERTY-CHANGE-MASK:CAPS"><span class="type">GDK_PROPERTY_CHANGE_MASK</span></a> mask.</p> <div class="refsect3"> <a name="GtkWidget-property-notify-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventProperty"><span class="type">GdkEventProperty</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventProperty]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-property-notify-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-proximity-in-event"></a><h3>The <code class="literal">“proximity-in-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>To receive this signal the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-PROXIMITY-IN-MASK:CAPS"><span class="type">GDK_PROXIMITY_IN_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-proximity-in-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventProximity"><span class="type">GdkEventProximity</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventProximity]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-proximity-in-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-proximity-out-event"></a><h3>The <code class="literal">“proximity-out-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>To receive this signal the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-PROXIMITY-OUT-MASK:CAPS"><span class="type">GDK_PROXIMITY_OUT_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-proximity-out-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventProximity"><span class="type">GdkEventProximity</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventProximity]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-proximity-out-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-query-tooltip"></a><h3>The <code class="literal">“query-tooltip”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> keyboard_mode, <a class="link" href="GtkTooltip.html" title="GtkTooltip"><span class="type">GtkTooltip</span></a> *tooltip, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>Emitted when <a class="link" href="GtkWidget.html#GtkWidget--has-tooltip" title="The “has-tooltip” property"><span class="type">“has-tooltip”</span></a> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and the hover timeout has expired with the cursor hovering "above" <em class="parameter"><code>widget</code></em> ; or emitted when <em class="parameter"><code>widget</code></em> got focus in keyboard mode.</p> <p>Using the given coordinates, the signal handler should determine whether a tooltip should be shown for <em class="parameter"><code>widget</code></em> . If this is the case <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> should be returned, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise. Note that if <em class="parameter"><code>keyboard_mode</code></em> is <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the values of <em class="parameter"><code>x</code></em> and <em class="parameter"><code>y</code></em> are undefined and should not be used.</p> <p>The signal handler is free to manipulate <em class="parameter"><code>tooltip</code></em> with the therefore destined function calls.</p> <div class="refsect3"> <a name="GtkWidget-query-tooltip.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p>the x coordinate of the cursor position where the request has been emitted, relative to <em class="parameter"><code>widget</code></em> 's left side</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p>the y coordinate of the cursor position where the request has been emitted, relative to <em class="parameter"><code>widget</code></em> 's top</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>keyboard_mode</p></td> <td class="parameter_description"><p><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the tooltip was triggered using the keyboard</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>tooltip</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkTooltip.html" title="GtkTooltip"><span class="type">GtkTooltip</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-query-tooltip.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>tooltip</code></em> should be shown right now, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> <p class="since">Since: 2.12</p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-realize"></a><h3>The <code class="literal">“realize”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::realize signal is emitted when <em class="parameter"><code>widget</code></em> is associated with a <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>, which means that <a class="link" href="GtkWidget.html#gtk-widget-realize" title="gtk_widget_realize ()"><code class="function">gtk_widget_realize()</code></a> has been called or the widget has been mapped (that is, it is going to be drawn).</p> <div class="refsect3"> <a name="GtkWidget-realize.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-screen-changed"></a><h3>The <code class="literal">“screen-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/GdkScreen.html#GdkScreen-struct"><span class="type">GdkScreen</span></a> *previous_screen, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::screen-changed signal gets emitted when the screen of a widget has changed.</p> <div class="refsect3"> <a name="GtkWidget-screen-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>previous_screen</p></td> <td class="parameter_description"><p> the previous screen, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the widget was not associated with a screen before. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-scroll-event"></a><h3>The <code class="literal">“scroll-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-SCROLL-MASK:CAPS"><span class="type">GDK_SCROLL_MASK</span></a> mask.</p> <p>This signal will be sent to the grab widget if there is one.</p> <div class="refsect3"> <a name="GtkWidget-scroll-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventScroll"><span class="type">GdkEventScroll</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventScroll]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-scroll-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-selection-clear-event"></a><h3>The <code class="literal">“selection-clear-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::selection-clear-event signal will be emitted when the the <em class="parameter"><code>widget</code></em> 's window has lost ownership of a selection.</p> <div class="refsect3"> <a name="GtkWidget-selection-clear-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventSelection"><span class="type">GdkEventSelection</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventSelection]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-selection-clear-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-selection-get"></a><h3>The <code class="literal">“selection-get”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> *data, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> info, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> time, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-selection-get.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-selection-notify-event"></a><h3>The <code class="literal">“selection-notify-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-selection-notify-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventSelection]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-selection-notify-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-selection-received"></a><h3>The <code class="literal">“selection-received”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> *data, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> time, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-selection-received.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-selection-request-event"></a><h3>The <code class="literal">“selection-request-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::selection-request-event signal will be emitted when another client requests ownership of the selection owned by the <em class="parameter"><code>widget</code></em> 's window.</p> <div class="refsect3"> <a name="GtkWidget-selection-request-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventSelection"><span class="type">GdkEventSelection</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventSelection]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-selection-request-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-show"></a><h3>The <code class="literal">“show”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::show signal is emitted when <em class="parameter"><code>widget</code></em> is shown, for example with <a class="link" href="GtkWidget.html#gtk-widget-show" title="gtk_widget_show ()"><code class="function">gtk_widget_show()</code></a>.</p> <div class="refsect3"> <a name="GtkWidget-show.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-show-help"></a><h3>The <code class="literal">“show-help”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="GtkWidget.html#GtkWidgetHelpType" title="enum GtkWidgetHelpType"><span class="type">GtkWidgetHelpType</span></a> help_type, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-show-help.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-show-help.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-size-allocate"></a><h3>The <code class="literal">“size-allocate”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Points-Rectangles-and-Regions.html#GdkRectangle"><span class="type">GdkRectangle</span></a> *allocation, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <div class="refsect3"> <a name="GtkWidget-size-allocate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>allocation</p></td> <td class="parameter_description"><p> the region which has been allocated to the widget. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gtk.Allocation]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-state-changed"></a><h3>The <code class="literal">“state-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::state-changed signal is emitted when the widget state changes. See <a class="link" href="GtkWidget.html#gtk-widget-get-state" title="gtk_widget_get_state ()"><code class="function">gtk_widget_get_state()</code></a>.</p> <div class="warning"> <p><code class="literal">GtkWidget::state-changed</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use <a class="link" href="GtkWidget.html#GtkWidget-state-flags-changed" title="The “state-flags-changed” signal"><span class="type">“state-flags-changed”</span></a> instead.</p> </div> <div class="refsect3"> <a name="GtkWidget-state-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>state</p></td> <td class="parameter_description"><p>the previous state</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-state-flags-changed"></a><h3>The <code class="literal">“state-flags-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="gtk3-Standard-Enumerations.html#GtkStateFlags" title="enum GtkStateFlags"><span class="type">GtkStateFlags</span></a> flags, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::state-flags-changed signal is emitted when the widget state changes, see <a class="link" href="GtkWidget.html#gtk-widget-get-state-flags" title="gtk_widget_get_state_flags ()"><code class="function">gtk_widget_get_state_flags()</code></a>.</p> <div class="refsect3"> <a name="GtkWidget-state-flags-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>The previous state flags.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-style-set"></a><h3>The <code class="literal">“style-set”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> *previous_style, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::style-set signal is emitted when a new style has been set on a widget. Note that style-modifying functions like <a class="link" href="GtkWidget.html#gtk-widget-modify-base" title="gtk_widget_modify_base ()"><code class="function">gtk_widget_modify_base()</code></a> also cause this signal to be emitted.</p> <p>Note that this signal is emitted for changes to the deprecated <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a>. To track changes to the <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> associated with a widget, use the <a class="link" href="GtkWidget.html#GtkWidget-style-updated" title="The “style-updated” signal"><span class="type">“style-updated”</span></a> signal.</p> <div class="warning"> <p><code class="literal">GtkWidget::style-set</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p> <p>Use the <a class="link" href="GtkWidget.html#GtkWidget-style-updated" title="The “style-updated” signal"><span class="type">“style-updated”</span></a> signal</p> </div> <div class="refsect3"> <a name="GtkWidget-style-set.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>previous_style</p></td> <td class="parameter_description"><p> the previous style, or <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the widget just got its initial style. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-style-updated"></a><h3>The <code class="literal">“style-updated”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::style-updated signal is a convenience signal that is emitted when the <a class="link" href="GtkStyleContext.html#GtkStyleContext-changed" title="The “changed” signal"><span class="type">“changed”</span></a> signal is emitted on the <em class="parameter"><code>widget</code></em> 's associated <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> as returned by <a class="link" href="GtkWidget.html#gtk-widget-get-style-context" title="gtk_widget_get_style_context ()"><code class="function">gtk_widget_get_style_context()</code></a>.</p> <p>Note that style-modifying functions like <a class="link" href="GtkWidget.html#gtk-widget-override-color" title="gtk_widget_override_color ()"><code class="function">gtk_widget_override_color()</code></a> also cause this signal to be emitted.</p> <div class="refsect3"> <a name="GtkWidget-style-updated.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> <p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-touch-event"></a><h3>The <code class="literal">“touch-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *arg1, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-unmap"></a><h3>The <code class="literal">“unmap”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::unmap signal is emitted when <em class="parameter"><code>widget</code></em> is going to be unmapped, which means that either it or any of its parents up to the toplevel widget have been set as hidden.</p> <p>As ::unmap indicates that a widget will not be shown any longer, it can be used to, for example, stop an animation on the widget.</p> <div class="refsect3"> <a name="GtkWidget-unmap.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-unmap-event"></a><h3>The <code class="literal">“unmap-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::unmap-event signal will be emitted when the <em class="parameter"><code>widget</code></em> 's window is unmapped. A window is unmapped when it becomes invisible on the screen.</p> <p>To receive this signal, the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-STRUCTURE-MASK:CAPS"><span class="type">GDK_STRUCTURE_MASK</span></a> mask. GDK will enable this mask automatically for all new windows.</p> <div class="refsect3"> <a name="GtkWidget-unmap-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventAny"><span class="type">GdkEventAny</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventAny]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-unmap-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-unrealize"></a><h3>The <code class="literal">“unrealize”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::unrealize signal is emitted when the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated with <em class="parameter"><code>widget</code></em> is destroyed, which means that <a class="link" href="GtkWidget.html#gtk-widget-unrealize" title="gtk_widget_unrealize ()"><code class="function">gtk_widget_unrealize()</code></a> has been called or the widget has been unmapped (that is, it is going to be hidden).</p> <div class="refsect3"> <a name="GtkWidget-unrealize.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-visibility-notify-event"></a><h3>The <code class="literal">“visibility-notify-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::visibility-notify-event will be emitted when the <em class="parameter"><code>widget</code></em> 's window is obscured or unobscured.</p> <p>To receive this signal the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-VISIBILITY-NOTIFY-MASK:CAPS"><span class="type">GDK_VISIBILITY_NOTIFY_MASK</span></a> mask.</p> <div class="warning"> <p><code class="literal">GtkWidget::visibility-notify-event</code> has been deprecated since version 3.12 and should not be used in newly-written code.</p> <p>Modern composited windowing systems with pervasive transparency make it impossible to track the visibility of a window reliably, so this signal can not be guaranteed to provide useful information.</p> </div> <div class="refsect3"> <a name="GtkWidget-visibility-notify-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventVisibility"><span class="type">GdkEventVisibility</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventVisibility]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-visibility-notify-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> <hr> <div class="refsect2"> <a name="GtkWidget-window-state-event"></a><h3>The <code class="literal">“window-state-event”</code> signal</h3> <pre class="programlisting"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget, <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::window-state-event will be emitted when the state of the toplevel window associated to the <em class="parameter"><code>widget</code></em> changes.</p> <p>To receive this signal the <a href="http://developer.gnome.org/gdk3/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a> associated to the widget needs to enable the <a href="http://developer.gnome.org/gdk3/gdk4-Events.html#GDK-STRUCTURE-MASK:CAPS"><span class="type">GDK_STRUCTURE_MASK</span></a> mask. GDK will enable this mask automatically for all new windows.</p> <div class="refsect3"> <a name="GtkWidget-window-state-event.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>widget</p></td> <td class="parameter_description"><p>the object which received the signal</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p> the <a href="http://developer.gnome.org/gdk3/gdk4-Event-Structures.html#GdkEventWindowState"><span class="type">GdkEventWindowState</span></a> which triggered this signal. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventWindowState]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkWidget-window-state-event.returns"></a><h4>Returns</h4> <p> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop other handlers from being invoked for the event. <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to propagate the event further.</p> </div> <p>Flags: <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.25.1</div> </body> </html>