<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-gtkwidget">
  <refnamediv>
    <refname>gtk.Widget</refname>
    <refpurpose>the base class for all <literal>PyGTK</literal>
widgets</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.Widget</classname></ooclass>
      <ooclass><classname><link linkend="class-gtkobject">gtk.Object</link></classname></ooclass>
       <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-allocation">set_allocation</link></methodname>
        <methodparam><parameter role="keyword">allocation</parameter></methodparam>
      </methodsynopsis>
     <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-allocation">get_allocation</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-check-threshold">drag_check_threshold</link></methodname>
        <methodparam><parameter role="keyword">start_x</parameter></methodparam>
        <methodparam><parameter role="keyword">start_y</parameter></methodparam>
        <methodparam><parameter role="keyword">current_x</parameter></methodparam>
        <methodparam><parameter role="keyword">current_y</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-get-data">drag_get_data</link></methodname>
        <methodparam><parameter role="keyword">context</parameter></methodparam>
        <methodparam><parameter role="keyword">target</parameter></methodparam>
        <methodparam><parameter role="keyword">time</parameter>
        <initializer>0L</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-highlight">drag_highlight</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-unhighlight">drag_unhighlight</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-set">drag_dest_set</link></methodname>
        <methodparam><parameter role="keyword">flags</parameter></methodparam>
        <methodparam><parameter role="keyword">targets</parameter></methodparam>
        <methodparam><parameter role="keyword">actions</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-set-proxy">drag_dest_set_proxy</link></methodname>
        <methodparam><parameter role="keyword">proxy_window</parameter></methodparam>
        <methodparam><parameter role="keyword">protocol</parameter></methodparam>
        <methodparam><parameter role="keyword">use_coordinates</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-unset">drag_dest_unset</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-find-target">drag_dest_find_target</link></methodname>
        <methodparam><parameter role="keyword">context</parameter></methodparam>
        <methodparam><parameter role="keyword">target_list</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-get-target-list">drag_dest_get_target_list</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-set-target-list">drag_dest_set_target_list</link></methodname>
        <methodparam><parameter role="keyword">target_list</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-add-image-targets">drag_dest_add_image_targets</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-add-text-targets">drag_dest_add_text_targets</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-add-uri-targets">drag_dest_add_uri_targets</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-set">drag_source_set</link></methodname>
        <methodparam><parameter role="keyword">start_button_mask</parameter></methodparam>
        <methodparam><parameter role="keyword">targets</parameter></methodparam>
        <methodparam><parameter role="keyword">actions</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-unset">drag_source_unset</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-set-icon">drag_source_set_icon</link></methodname>
        <methodparam><parameter role="keyword">colormap</parameter></methodparam>
        <methodparam><parameter role="keyword">pixmap</parameter></methodparam>
        <methodparam><parameter role="keyword">mask</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-set-icon-pixbuf">drag_source_set_icon_pixbuf</link></methodname>
        <methodparam><parameter role="keyword">pixbuf</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-set-icon-stock">drag_source_set_icon_stock</link></methodname>
        <methodparam><parameter role="keyword">stock_id</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-set-icon-name">drag_source_set_icon_name</link></methodname>
        <methodparam><parameter role="keyword">icon_name</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-add-text-targets">drag_source_add_text_targets</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-add-image-targets">drag_source_add_image_targets</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-source-add-uri-targets">drag_source_add_uri_targets</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-begin">drag_begin</link></methodname>
        <methodparam><parameter role="keyword">targets</parameter></methodparam>
        <methodparam><parameter role="keyword">actions</parameter></methodparam>
        <methodparam><parameter role="keyword">button</parameter></methodparam>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--grab-add">grab_add</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--grab-remove">grab_remove</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--rc-get-style">rc_get_style</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--selection-owner-set">selection_owner_set</link></methodname>
        <methodparam><parameter role="keyword">selection</parameter></methodparam>
        <methodparam><parameter role="keyword">time</parameter>
        <initializer>0L</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--selection-add-target">selection_add_target</link></methodname>
        <methodparam><parameter role="keyword">selection</parameter></methodparam>
        <methodparam><parameter role="keyword">target</parameter></methodparam>
        <methodparam><parameter role="keyword">info</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--selection-add-targets">selection_add_targets</link></methodname>
        <methodparam><parameter role="keyword">selection</parameter></methodparam>
        <methodparam><parameter role="keyword">targets</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--selection-clear-targets">selection_clear_targets</link></methodname>
        <methodparam><parameter role="keyword">selection</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--selection-convert">selection_convert</link></methodname>
        <methodparam><parameter role="keyword">selection</parameter></methodparam>
        <methodparam><parameter role="keyword">target</parameter></methodparam>
        <methodparam><parameter role="keyword">time</parameter>
        <initializer>0L</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--selection-remove-all">selection_remove_all</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--destroy">destroy</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--unparent">unparent</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--show">show</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--show-now">show_now</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--hide">hide</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--show-all">show_all</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--hide-all">hide_all</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-no-show-all">set_no_show_all</link></methodname>
        <methodparam><parameter role="keyword">no_show_all</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-no-show-all">get_no_show_all</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--map">map</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--unmap">unmap</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--realize">realize</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--unrealize">unrealize</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--queue-draw">queue_draw</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--queue-draw-area">queue_draw_area</link></methodname>
        <methodparam><parameter role="keyword">x</parameter></methodparam>
        <methodparam><parameter role="keyword">y</parameter></methodparam>
        <methodparam><parameter role="keyword">width</parameter></methodparam>
        <methodparam><parameter role="keyword">height</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--queue-resize">queue_resize</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--queue-resize-no-redraw">queue_resize_no_redraw</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--size-request">size_request</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--size-allocate">size_allocate</link></methodname>
        <methodparam><parameter role="keyword">allocation</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-child-requisition">get_child_requisition</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--add-accelerator">add_accelerator</link></methodname>
        <methodparam><parameter role="keyword">accel_signal</parameter></methodparam>
        <methodparam><parameter role="keyword">accel_group</parameter></methodparam>
        <methodparam><parameter role="keyword">accel_key</parameter></methodparam>
        <methodparam><parameter role="keyword">accel_mods</parameter></methodparam>
        <methodparam><parameter role="keyword">accel_flags</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--remove-accelerator">remove_accelerator</link></methodname>
        <methodparam><parameter role="keyword">accel_group</parameter></methodparam>
        <methodparam><parameter role="keyword">accel_key</parameter></methodparam>
        <methodparam><parameter role="keyword">accel_mods</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-accel-path">set_accel_path</link></methodname>
        <methodparam><parameter role="keyword">accel_path</parameter></methodparam>
        <methodparam><parameter role="keyword">accel_group</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--can-activate-accel">can_activate_accel</link></methodname>
        <methodparam><parameter>signal_id</parameter></methodparam>
      </methodsynopsis>

      <!-- NOT IMPLEMENTED
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget- -list-accel-closures">list_accel_closures</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      END NOT IMPLEMENTED -->

      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--mnemonic-activate">mnemonic_activate</link></methodname>
        <methodparam><parameter role="keyword">group_cycling</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--event">event</link></methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--send-expose">send_expose</link></methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--activate">activate</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-scroll-adjustments">set_scroll_adjustments</link></methodname>
        <methodparam><parameter role="keyword">hadjustment</parameter></methodparam>
        <methodparam><parameter role="keyword">vadjustment</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--reparent">reparent</link></methodname>
        <methodparam><parameter role="keyword">new_parent</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--intersect">intersect</link></methodname>
        <methodparam><parameter role="keyword">area</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--region-intersect">region_intersect</link></methodname>
        <methodparam><parameter role="keyword">region</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--freeze-child-notify">freeze_child_notify</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--child-notify">child_notify</link></methodname>
        <methodparam><parameter role="keyword">child_property</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--thaw-child-notify">thaw_child_notify</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--is-focus">is_focus</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--grab-focus">grab_focus</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--grab-default">grab_default</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-name">set_name</link></methodname>
        <methodparam><parameter role="keyword">name</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-name">get_name</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-state">set_state</link></methodname>
        <methodparam><parameter role="keyword">state</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-sensitive">set_sensitive</link></methodname>
        <methodparam><parameter role="keyword">sensitive</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-app-paintable">set_app_paintable</link></methodname>
        <methodparam><parameter role="keyword">app_paintable</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-double-buffered">set_double_buffered</link></methodname>
        <methodparam><parameter role="keyword">double_buffered</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-redraw-on-allocate">set_redraw_on_allocate</link></methodname>
        <methodparam><parameter role="keyword">redraw_on_allocate</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-parent">set_parent</link></methodname>
        <methodparam><parameter role="keyword">parent</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-parent-window">set_parent_window</link></methodname>
        <methodparam><parameter role="keyword">parent_window</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-child-visible">set_child_visible</link></methodname>
        <methodparam><parameter role="keyword">is_visible</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-child-visible">get_child_visible</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-parent">get_parent</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-parent-window">get_parent_window</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--child-focus">child_focus</link></methodname>
        <methodparam><parameter role="keyword">direction</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-size-request">set_size_request</link></methodname>
        <methodparam><parameter role="keyword">width</parameter></methodparam>
        <methodparam><parameter role="keyword">height</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-size-request">get_size_request</link></methodname>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-events">set_events</link></methodname>
        <methodparam><parameter role="keyword">events</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--add-events">add_events</link></methodname>
        <methodparam><parameter role="keyword">events</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-extension-events">set_extension_events</link></methodname>
        <methodparam><parameter role="keyword">mode</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-extension-events">get_extension_events</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-toplevel">get_toplevel</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-ancestor">get_ancestor</link></methodname>
        <methodparam><parameter role="keyword">widget_type</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-colormap">get_colormap</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-visual">get_visual</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-screen">get_screen</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--has-screen">has_screen</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-display">get_display</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-root-window">get_root_window</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-settings">get_settings</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-clipboard">get_clipboard</link></methodname>
        <methodparam><parameter role="keyword">selection</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-accessible">get_accessible</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-colormap">set_colormap</link></methodname>
        <methodparam><parameter role="keyword">colormap</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-events">get_events</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-pointer">get_pointer</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--is-ancestor">is_ancestor</link></methodname>
        <methodparam><parameter role="keyword">ancestor</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--translate-coordinates">translate_coordinates</link></methodname>
        <methodparam><parameter role="keyword">dest_widget</parameter></methodparam>
        <methodparam><parameter role="keyword">src_x</parameter></methodparam>
        <methodparam><parameter role="keyword">src_y</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--hide-on-delete">hide_on_delete</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-style">set_style</link></methodname>
        <methodparam><parameter role="keyword">style</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--ensure-style">ensure_style</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-style">get_style</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--modify-style">modify_style</link></methodname>
        <methodparam><parameter role="keyword">style</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-modifier-style">get_modifier_style</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--modify-fg">modify_fg</link></methodname>
        <methodparam><parameter role="keyword">state</parameter></methodparam>
        <methodparam><parameter role="keyword">color</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--modify-bg">modify_bg</link></methodname>
        <methodparam><parameter role="keyword">state</parameter></methodparam>
        <methodparam><parameter role="keyword">color</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--modify-text">modify_text</link></methodname>
        <methodparam><parameter role="keyword">state</parameter></methodparam>
        <methodparam><parameter role="keyword">color</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--modify-base">modify_base</link></methodname>
        <methodparam><parameter role="keyword">state</parameter></methodparam>
        <methodparam><parameter role="keyword">color</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--modify-font">modify_font</link></methodname>
        <methodparam><parameter role="keyword">font_desc</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--create-pango-context">create_pango_context</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-pango-context">get_pango_context</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--create-pango-layout">create_pango_layout</link></methodname>
        <methodparam><parameter role="keyword">text</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--render-icon">render_icon</link></methodname>
        <methodparam><parameter role="keyword">stock_id</parameter></methodparam>
        <methodparam><parameter role="keyword">size</parameter></methodparam>
        <methodparam><parameter role="keyword">detail</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-composite-name">set_composite_name</link></methodname>
        <methodparam><parameter role="keyword">name</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-composite-name">get_composite_name</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--reset-rc-styles">reset_rc_styles</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--style-get-property">style_get_property</link></methodname>
        <methodparam><parameter role="keyword">property_name</parameter></methodparam>
      </methodsynopsis>

      <!-- NOT IMPLEMENTED
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget- -style-get">style_get</link></methodname>
        <methodparam><parameter role="keyword">first_property_name</parameter></methodparam>
      </methodsynopsis>
      END NOT IMPLEMENTED -->

      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-direction">set_direction</link></methodname>
        <methodparam><parameter role="keyword">dir</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-direction">get_direction</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--shape-combine-mask">shape_combine_mask</link></methodname>
        <methodparam><parameter role="keyword">shape_mask</parameter></methodparam>
        <methodparam><parameter role="keyword">offset_x</parameter></methodparam>
        <methodparam><parameter role="keyword">offset_y</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--reset-shapes">reset_shapes</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--path">path</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--class-path">class_path</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--list-mnemonic-labels">list_mnemonic_labels</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--add-mnemonic-label">add_mnemonic_label</link></methodname>
        <methodparam><parameter>label</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--remove-mnemonic-label">remove_mnemonic_label</link></methodname>
        <methodparam><parameter>label</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--menu-get-for-attach-widget">menu_get_for_attach_widget</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-activate-signal">set_activate_signal</link></methodname>
        <methodparam><parameter role="keyword">signal_name</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-set-scroll-adjustments-signal">set_set_scroll_adjustments_signal</link></methodname>
        <methodparam><parameter role="keyword">signal_name</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-action">get_action</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-set-track-motion">drag_dest_set_track_motion</link></methodname>
        <methodparam><parameter role="keyword">track_motion</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--drag-dest-get-track-motion">drag_dest_get_track_motion</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--is-composited">is_composited</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--input-shape-combine-mask">input_shape_combine_mask</link></methodname>
        <methodparam><parameter role="keyword">shape_mask</parameter></methodparam>
        <methodparam><parameter role="keyword">offset_x</parameter></methodparam>
        <methodparam><parameter role="keyword">offset_y</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-activate-signal">get_activate_signal</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--error-bell">error_bell</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-has-tooltip">get_has_tooltip</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-tooltip-markup">get_tooltip_markup</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-tooltip-text">get_tooltip_text</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-tooltip-window">get_tooltip_window</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--keynav-failed">keynav_failed</link></methodname>
        <methodparam><parameter role="keyword">direction</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--modify-cursor">modify_cursor</link></methodname>
        <methodparam><parameter role="keyword">primary</parameter></methodparam>
        <methodparam><parameter role="keyword">secondary</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-has-tooltip">set_has_tooltip</link></methodname>
        <methodparam><parameter role="keyword">has_tooltip</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-tooltip-markup">set_tooltip_markup</link></methodname>
        <methodparam><parameter role="keyword">markup</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-tooltip-text">set_tooltip_text</link></methodname>
        <methodparam><parameter role="keyword">text</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-tooltip-window">set_tooltip_window</link></methodname>
        <methodparam><parameter role="keyword">window</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--trigger-tooltip-query">trigger_tooltip_query</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-snapshot">get_snapshot</link></methodname>
        <methodparam><parameter role="keyword">clip_rect</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-window">get_window</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--send-focus-change">send_focus_change</link></methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-realized">set_realized</link></methodname>
        <methodparam><parameter role="keyword">realized</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-realized">get_realized</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-mapped">set_mapped</link></methodname>
        <methodparam><parameter role="keyword">mapped</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-mapped">get_mapped</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-requisition">get_requisition</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--style-attach">style_attach</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--has-rc-style">has_rc_style</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-app-paintable">get_app_paintable</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-can-default">set_can_default</link></methodname>
        <methodparam><parameter role="keyword">can_default</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-can-default">get_can_default</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-can-focus">set_can_focus</link></methodname>
        <methodparam><parameter role="keyword">can_focus</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-can-focus">get_can_focus</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-double-buffered">get_double_buffered</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-has-window">set_has_window</link></methodname>
        <methodparam><parameter role="keyword">has_window</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-has-window">get_has_window</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-receives-default">set_receives_default</link></methodname>
        <methodparam><parameter role="keyword">receives_default</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-receives-default">get_receives_default</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-sensitive">get_sensitive</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-state">get_state</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-visible">set_visible</link></methodname>
        <methodparam><parameter role="keyword">visible</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--get-visible">get_visible</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--set-window">set_window</link></methodname>
        <methodparam><parameter role="keyword">window</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--has-default">has_default</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--has-focus">has_focus</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--has-grab">has_grab</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--is-sensitive">is_sensitive</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--is-toplevel">is_toplevel</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkwidget--is-drawable">is_drawable</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
    </classsynopsis>

<programlisting>
<emphasis role="bold">Functions</emphasis>

<methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-push-colormap">gtk.widget_push_colormap</link></methodname>
    <methodparam><parameter role="keyword">cmap</parameter></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-push-composite-child">gtk.widget_push_composite_child</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-pop-composite-child">gtk.widget_pop_composite_child</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-pop-colormap">gtk.widget_pop_colormap</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-get-default-style">gtk.widget_get_default_style</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-set-default-colormap">gtk.widget_set_default_colormap</link></methodname>
    <methodparam><parameter role="keyword">colormap</parameter></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-get-default-colormap">gtk.widget_get_default_colormap</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-get-default-visual">gtk.widget_get_default_visual</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-set-default-direction">gtk.widget_set_default_direction</link></methodname>
    <methodparam><parameter role="keyword">dir</parameter></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-get-default-direction">gtk.widget_get_default_direction</link></methodname>
    <methodparam></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-class-find-style-property">gtk.widget_class_find_style_property</link></methodname>
    <methodparam><parameter role="keyword">widget</parameter></methodparam>
    <methodparam><parameter role="keyword">property_name</parameter></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-class-list-style-properties">gtk.widget_class_list_style_properties</link></methodname>
    <methodparam><parameter role="keyword">widget</parameter></methodparam>
  </methodsynopsis><methodsynopsis language="python">
    <methodname><link linkend="function-gtk--widget-class-install-style-property">gtk.widget_class_install_style_property</link></methodname>
    <methodparam><parameter role="keyword">widget</parameter></methodparam>
    <methodparam><parameter role="keyword">pspec</parameter></methodparam>
  </methodsynopsis></programlisting>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gtkobject">gtk.Object</link>
    +-- <link linkend="class-gtkwidget">gtk.Widget</link>
</synopsis>

  </refsect1>
  
  <refsect1>
		<title>Implemented Interfaces</title>
		<para>
			<link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link>
			implements 
			<link linkend="class-gtkbuildable"><classname>gtk.Buildable</classname></link>
		</para>
	</refsect1>


  <refsect1 id="properties-gtkwidget">
    <title>gtk.Widget Properties</title>

    <para><link linkend="properties-gtkobject">gtk.Object Properties</link></para>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"app-paintable"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the application will paint
directly on the widget</entry>
	    </row>

	    <row valign="top">
	      <entry>"can-default"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget can be the
default widget</entry>
	    </row>

	    <row valign="top">
	      <entry>"can-focus"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget can accept the
input focus</entry>
	    </row>

	    <row valign="top">
	      <entry>"composite-child"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget is part of a
composite widget</entry>
	    </row>

	    <row valign="top">
	      <entry>"double-buffered"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget is double buffered</entry>
	    </row>

	    <row valign="top">
	      <entry>"events"</entry>
	      <entry>Read-Write</entry>
	      <entry>The event mask that decides what kind of <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link> this
widget gets.</entry>
	    </row>

	    <row valign="top">
	      <entry>"extension-events"</entry>
	      <entry>Read-Write</entry>
	      <entry>The mask that decides what kind of extension events
this widget gets.</entry>
	    </row>

	    <row valign="top">
	      <entry>"has-default"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget is the default
widget</entry>
	    </row>

	    <row valign="top">
	      <entry>"has-focus"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget has the input
focus</entry>
	    </row>
        
        <row valign="top">
	      <entry>"has-tooltip"</entry>
	      <entry>Read-Write</entry>
	      <entry>Enables or disables the emission of GtkWidget::query-tooltip on widget.
          A value of <literal>True</literal> indicates that widget can have a tooltip,
          in this case the widget will be queried using GtkWidget::query-tooltip to
          determine whether it will provide a tooltip or not. Note that setting this
          property to <literal>True</literal> 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 <literal>False</literal> again.
          Default value: <literal>False</literal>.
          This property is available in GTK+ 2.12 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"height-request"</entry>
	      <entry>Read-Write</entry>
	      <entry>The height request of the widget, or -1 if natural
request should be used.</entry>
	    </row>

	    <row valign="top">
	      <entry>"is-focus"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget is the focus
widget within the toplevel</entry>
	    </row>

	    <row valign="top">
	      <entry>"name"</entry>
	      <entry>Read-Write</entry>
	      <entry>The name of the widget</entry>
	    </row>

	    <row valign="top">
	      <entry>"no-show-all"</entry>
	      <entry>Read-Write</entry>

	      <entry>If <literal>True</literal> <link
linkend="method-gtkwidget--show-all"><methodname>show_all</methodname>()</link>
should not affect this widget. Available in GTK+ 2.4 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"parent"</entry>
	      <entry>Read-Write</entry>
	      <entry>The parent widget of this widget. Must be a <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link>
widget.</entry>
	    </row>

	    <row valign="top">
	      <entry>"receives-default"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget will receive the
default action when it is focused.</entry>
	    </row>

	    <row valign="top">
	      <entry>"sensitive"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget responds to
input</entry>
	    </row>

	    <row valign="top">
	      <entry>"style"</entry>
	      <entry>Read-Write</entry>
	      <entry>The style of the widget, which contains information
about how it will look (colors etc).</entry>
	    </row>
        
        <row valign="top">
	      <entry>"tooltip-markup"</entry>
	      <entry>Read-Write</entry>
	      <entry>Sets the text of tooltip to be the given string, which is marked up
          with the Pango text markup language. Also see 
          <methodname><link linkend="method-gtktooltip--set-markup">gtk.Tooltip.set_markup</link>().</methodname>
          This is a convenience property which will take care of getting the tooltip
          shown if the given string is not <literal>None</literal>: GtkWidget:has-tooltip
          will automatically be set to <literal>True</literal> and there will be taken
          care of GtkWidget::query-tooltip in the default signal handler.
          Default value: <literal>None</literal>
          This property is available in GTK+ 2.12 and above.</entry>
	    </row>
        
        <row valign="top">
	      <entry>"tooltip-text"</entry>
	      <entry>Read-Write</entry>
	      <entry>Sets the text of tooltip to be the given string. Also see
          <methodname><link linkend="method-gtktooltip--set-markup">gtk.Tooltip.set_text</link>().</methodname>
          This is a convenience property which will take care of getting the tooltip shown
          if the given string is not <literal>None</literal>: GtkWidget:has-tooltip will
          automatically be set to <literal>None</literal> and there will be taken care
          of GtkWidget::query-tooltip in the default signal handler.
          Default value: <literal>None</literal>.
          This property is available in GTK+ 2.12 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"visible"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the widget is
visible</entry>
	    </row>

	    <row valign="top">
	      <entry>"width-request"</entry>
	      <entry>Read-Write</entry>
	      <entry>The width request of the widget, or -1 if natural
request should be used.</entry>
	    </row>

	    <row valign="top">
	      <entry>"window"</entry>
	      <entry>Read</entry>
	      <entry>The widget's window if realized,
        <literal>None</literal> otherwise.
        This property is available in GTK+ 2.14 and above.</entry>
	    </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="style-properties-gtkwidget">
    <title>gtk.Widget Style Properties</title>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"cursor-aspect-ratio"</entry>
	      <entry>Read</entry>
	      <entry>The aspect ratio with which to draw the insertion
cursor</entry>
	    </row>

	    <row valign="top">
	      <entry>"cursor-color"</entry>
	      <entry>Read</entry>
	      <entry>The <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link> with
which to draw insertion cursor</entry>
	    </row>

            <row valign="top">
              <entry>"draw-border"</entry>
              <entry>Read</entry>
              <entry>The "draw-border" property defines the size of areas
              outside the widget's allocation to draw. This property is
              available in GTK+ 2.8 and above.</entry>
            </row>

	    <row valign="top">
	      <entry>"focus-line-pattern"</entry>
	      <entry>Read-Write</entry>
	      <entry>The dash pattern used to draw the focus
indicator.</entry>
	    </row>

	    <row valign="top">
	      <entry>"focus-line-width"</entry>
	      <entry>Read-Write</entry>
	      <entry>The width, in pixels, of the focus indicator
line.</entry>
	    </row>

	    <row valign="top">
	      <entry>"focus-padding"</entry>
	      <entry>Read-Write</entry>
	      <entry>The width, in pixels, between the focus indicator and
the widget 'box'.</entry>
	    </row>

	    <row valign="top">
	      <entry>"interior-focus"</entry>
	      <entry>Read</entry>
	      <entry>If <literal>True</literal>, draw the focus indicator
inside widgets.</entry>
	    </row>

            <row valign="top">
              <entry>"link-color"</entry>
              <entry>Read</entry>
              <entry>The "link-color" property defines the color of
              unvisited links.  This property is available in GTK+ 2.10 and
              above.</entry>
            </row>

            <row valign="top">
              <entry>"scroll-arrow-hlength"</entry>
              <entry>Read</entry>
              <entry>The "scroll-arrow-hlength" property defines the length
              of horizontal scroll arrows.  This property is available in
              GTK+ 2.10 and above.</entry>
            </row>

            <row valign="top">
              <entry>"scroll-arrow-vlength"</entry>
              <entry>Read</entry>
              <entry>The "scroll-arrow-vlength" property defines the length
              of vertical scroll arrows.  This property is available in GTK+
              2.10 and above.</entry>
            </row>

	    <row valign="top">
	      <entry>"secondary-cursor-color"</entry>
	      <entry>Read</entry>
	      <entry>The <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link> with
which to draw the secondary insertion cursor when editing mixed
right-to-left and left-to-right text.</entry>
	    </row>

            <row valign="top">
              <entry>"separator-height"</entry>
              <entry>Read</entry>
              <entry>The "separator-height" property defines the height of
              separators.  This property only takes effect if
              "wide-separators" is <literal>True</literal>.  This property
              is available in GTK+ 2.10 and above.</entry>
            </row>

            <row valign="top">
              <entry>"separator-width"</entry>
              <entry>Read</entry>
              <entry>The "separator-width" property defines the width of
              separators.  This property only takes effect if
              "wide-separators" is <literal>True</literal>.  This property
              is available in GTK+ 2.10 and above.</entry>
            </row>

            <row valign="top">
              <entry>"visited-link-color"</entry>
              <entry>Read</entry>
              <entry>The "visited-link-color" property defines the color of
              visited links.  This property is available in GTK+ 2.10 and
              above.</entry>
            </row>

            <row valign="top">
              <entry>"wide-separators"</entry>
              <entry>Read</entry>
              <entry>The "wide-separators" property defines whether
              separators have configurable width and should be drawn using a
              box instead of a line.  This property is available in GTK+
              2.10 and above.</entry>
            </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1>
    <title>Attributes</title>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	<?dbhtml cellpadding="5"?>
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"allocation"</entry>
	      <entry>Read-Write</entry>
	      <entry>The <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>
specifying the widget's space allocation. This attribute is writeable in
PyGTK 2.4.</entry>
	    </row>

	    <row valign="top">
	      <entry>"name"</entry>
	      <entry>Read</entry>
	      <entry>The name of the widget</entry>
	    </row>

	    <row valign="top">
	      <entry>"parent"</entry>
	      <entry>Read</entry>
	      <entry>The parent widget of this widget. Must be a <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link>
widget.</entry>
	    </row>

	    <row valign="top">
	      <entry>"saved_state"</entry>
	      <entry>Read</entry>
	      <entry>The widget's saved state.</entry>
	    </row>

	    <row valign="top">
	      <entry>"state"</entry>
	      <entry>Read</entry>
	      <entry>The widget state: <literal>gtk.STATE_NORMAL</literal>,
<literal>gtk.STATE_ACTIVE</literal>, <literal>gtk.STATE_PRELIGHT</literal>,
<literal>gtk.STATE_SELECTED</literal> or
<literal>gtk.STATE_INSENSITIVE</literal></entry>
	    </row>
	    <row valign="top">
	      <entry>"style"</entry>
	      <entry>Read</entry>
	      <entry>The style of the widget.</entry>
	    </row>

	    <row valign="top">
	      <entry>"window"</entry>
	      <entry>Read-Write</entry>
	      <entry>The <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> used
by the widget. This attribute is writeable in PyGTK 2.4.</entry>
	    </row>

	</tbody>
      </tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="signal-prototypes-gtkwidget">
    <title>gtk.Widget Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkobject">gtk.Object Signal Prototypes</link></para>

    <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--accel-closures-changed">accel-closures-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--button-press-event">button-press-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--button-release-event">button-release-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
	    <methodparam><parameter>signal_id</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--can-activate-accel">can-activate-accel</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--child-notify">child-notify</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>child_property</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--composited-changed">composited-changed</link></term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--client-event">client-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--configure-event">configure-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--damage-event">damage-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--damage-event">delete-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--delete-event">delete-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--destroy-event">destroy-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--direction-changed">direction-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>direction</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-begin">drag-begin</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-data-delete">drag-data-delete</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-data-get">drag-data-get</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>selection_data</parameter></methodparam>
            <methodparam><parameter>info</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-data-received">drag-data-received</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>x</parameter></methodparam>
            <methodparam><parameter>y</parameter></methodparam>
            <methodparam><parameter>selection_data</parameter></methodparam>
            <methodparam><parameter>info</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-drop">drag-drop</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>x</parameter></methodparam>
            <methodparam><parameter>y</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-end">drag-end</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-failed">drag-failed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>result</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-leave">drag-leave</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--drag-motion">drag-motion</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>x</parameter></methodparam>
            <methodparam><parameter>y</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--enter-notify-event">enter-notify-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--event">event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--event-after">event-after</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--expose-event">expose-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--focus">focus</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>direction</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--focus-in-event">focus-in-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--focus-out-event">focus-out-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--grab-broken-event">grab-broken-event</link></term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--grab-focus">grab-focus</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--grab-notify">grab-notify</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>was_grabbed</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--hide">hide</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--hierarchy-changed">hierarchy-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>previous_toplevel</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--key-press-event">key-press-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--key-release-event">key-release-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--keynav-failed">keynav-failed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>direction</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--leave-notify-event">leave-notify-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--map">map</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--map-event">map-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--mnemonic-activate">mnemonic-activate</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>group_cycling</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--motion-notify-event">motion-notify-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--no-expose-event">no-expose-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--parent-set">parent-set</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>old_parent</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--popup-menu">popup-menu</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--property-notify-event">property-notify-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--proximity-in-event">proximity-in-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--proximity-out-event">proximity-out-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--query-tooltip">query-tooltip</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>x</parameter></methodparam>
            <methodparam><parameter>y</parameter></methodparam>
            <methodparam><parameter>keyboard_mode</parameter></methodparam>
            <methodparam><parameter>tooltip</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--realize">realize</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--screen-changed">screen-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>screen</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--scroll-event">scroll-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--selection-clear-event">selection-clear-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--selection-get">selection-get</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>selection_data</parameter></methodparam>
            <methodparam><parameter>info</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--selection-notify-event">selection-notify-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--selection-received">selection-received</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>selection_data</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--selection-request-event">selection-request-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--show">show</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--show-help">show-help</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>help_type</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--size-allocate">size-allocate</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>allocation</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--size-request">size-request</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>requisition</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--state-changed">state-changed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>state</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--style-set">style-set</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>previous_style</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--unmap">unmap</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--unmap-event">unmap-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--unrealize">unrealize</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--visibility-notify-event">visibility-notify-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkwidget--window-state-event">window-state-event</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>The <link
linkend="class-gtkwidget"><classname>gtk.Widget</classname></link> class is
the base class for all <literal>PyGTK</literal> widgets. It provides the common set of method and signals for the widgets including:</para>

    <itemizedlist>
      <listitem>
	<simpara>drag and drop setting and management methods</simpara>
      </listitem>
      <listitem>
	<simpara>selection methods</simpara>
      </listitem>
      <listitem>
	<simpara>methods to realize, map and show widgets</simpara>
      </listitem>
      <listitem>
	<simpara>methods to manage size allocation and requests</simpara>
      </listitem>
      <listitem>
	<simpara>methods to initiate widget redrawing</simpara>
      </listitem>
      <listitem>
	<simpara>methods to deal with the widget's place in the widget hierarchy</simpara>
      </listitem>
      <listitem>
	<simpara>event management methods</simpara>
      </listitem>
      <listitem>
	<simpara>methods to modify the style settings</simpara>
      </listitem>
      <listitem>
	<simpara>methods to access the default resources</simpara>
      </listitem>
   </itemizedlist>

    <para id="widget-style-properties"><link
linkend="class-gtkwidget"><classname>gtk.Widget</classname></link>
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 resource files. 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.</para>

    <para>Use the <link
    linkend="function-gtk--widget-class-install-style-property"><function>gtk.widget_class_install_style_property</function>()</link>
    function to install style properties for a widget class, the <link
    linkend="function-gtk--widget-class-find-style-property"><function>gtk.widget_class_find_style_property</function>()</link>
    function or the <link
    linkend="function-gtk--widget-class-list-style-properties"><function>gtk.widget_class_list_style_properties</function>()</link>
    function to get information about existing style properties and the
    <link
    linkend="method-gtkwidget--style-get-property"><methodname>style_get_property</methodname>()</link>
    method to obtain the value of a style property.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkwidget--set-allocation">
      <title>gtk.Widget.set_allocation</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_allocation</methodname>
        <methodparam><parameter role="keyword">allocation</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">allocation</parameter>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_allocation</methodname>() method sets the widget's allocation.
      This should not be used directly, but from within a widget's
      "size_allocate" implementation.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-allocation">
      <title>gtk.Widget.get_allocation</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_allocation</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_allocation</methodname>() method returns a
<link linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link> containing the bounds of the widget's allocation.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-check-threshold">
      <title>gtk.Widget.drag_check_threshold</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_check_threshold</methodname>
	  <methodparam><parameter
			 role="keyword">start_x</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">start_y</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">current_x</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">current_y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">start_x</parameter>&nbsp;:</term>
	  <listitem><simpara>the X coordinate of start of
drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">start_y</parameter>&nbsp;:</term>
	  <listitem><simpara>the Y coordinate of start of
drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">current_x</parameter>&nbsp;:</term>
	  <listitem><simpara>the current X coordinate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">current_y</parameter>&nbsp;:</term>
	  <listitem><simpara>the current Y coordinate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the drag threshold
has been passed.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The check_drag_threshold() method checks to see if a mouse drag
starting at (<parameter>start_x</parameter>, <parameter>start_y</parameter>)
and ending at (<parameter>current_x</parameter>,
<parameter>current_y</parameter>) has passed the+ drag threshhold distance,
and thus should trigger the beginning of a drag-and-drop operation.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-get-data">
      <title>gtk.Widget.drag_get_data</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_get_data</methodname>
	  <methodparam><parameter
			 role="keyword">context</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">target</parameter></methodparam>
	  <methodparam><parameter role="keyword">time</parameter>
	    <initializer>0L</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">context</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">target</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">time</parameter>&nbsp;:</term>
	  <listitem><simpara>a timestamp or 0L to specify the current
time</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_get_data</methodname>() method gets the
data associated with a drag specified by <parameter>drag_context</parameter>
and <parameter>target</parameter>. When the data is received or the
retrieval fails, a "drag_data_received" signal will be emitted. Failure of
the retrieval is indicated by the length field of the <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link> 
being negative. However, when the <methodname>drag_get_data</methodname>()
method is called implicitly because <literal>gtk.DRAG_DEFAULT_DROP</literal>
was set, the widget will not receive notification of failed drops.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-highlight">
      <title>gtk.Widget.drag_highlight</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_highlight</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>drag_highlight</methodname>() method draws a
highlight around a widget. This will attach handlers to "expose_event" and
"draw", so the highlight will continue to be displayed until the <link
linkend="method-gtkwidget--drag-unhighlight"><methodname>drag_unhighlight</methodname>()</link> 
method is called.</para>

    </refsect2>

  <refsect2 id="method-gtkwidget--drag-unhighlight">
      <title>gtk.Widget.drag_unhighlight</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_unhighlight</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>drag_unhighlight</methodname>() method removes
the highlight that was set by the <link
linkend="method-gtkwidget--drag-highlight"><methodname>drag_highlight</methodname>()</link> 
method.</para>

  </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-set">
      <title>gtk.Widget.drag_dest_set</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_set</methodname>
	  <methodparam><parameter
			 role="keyword">flags</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">targets</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">actions</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">flags</parameter>&nbsp;:</term>
	  <listitem><simpara>the flags that specify what actions should be
taken on behalf of a widget for drops onto that widget. The targets  and
actions fields only are used if <literal>gtk.DEST_DEFAULT_MOTION</literal>
or <literal>gtk.DEST_DEFAULT_DROP</literal> are given.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">targets</parameter>&nbsp;:</term>
	  <listitem><simpara>a sequence of target
tuples</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">actions</parameter>&nbsp;:</term>
	  <listitem><simpara>a bitmask of possible actions for a drop onto
this widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_dest_set</methodname>() method sets up a
widget as a potential drag drop destination. The value of
<parameter>flags</parameter> is a combination of the <xref
linkend="gtk-dest-defaults-constants"
endterm="gtk-dest-defaults-constants-title"></xref>.</para>

      <para><parameter>targets</parameter> is a sequence (list or tuple) of
3-tuples that contain information about the targets. The target data contains
a string representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

      <para>The value of <parameter>actions</parameter> is one of the <xref
linkend="gdk-drag-action-constants"
endterm="gdk-drag-action-constants-title"></xref>.</para>

  </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-set-proxy">
      <title>gtk.Widget.drag_dest_set_proxy</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_set_proxy</methodname>
	  <methodparam><parameter
			 role="keyword">proxy_window</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">protocol</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">use_coordinates</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">proxy_window</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> to
forward drag events to</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">protocol</parameter>&nbsp;:</term>
	  <listitem><simpara>the drag protocol that
<parameter>proxy_window</parameter> accepts</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">use_coordinates</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>, send the same
coordinates to the destination, because it is an embedded
subwindow.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_dest_set_proxy</methodname>() method sets a
proxy <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
specified by <parameter>proxy_window</parameter> that drag events are
forwarded to on behalf of the widget. The value of
<parameter>protocol</parameter> is one of the <xref
linkend="gdk-drag-protocol-constants"
endterm="gdk-drag-protocol-constants-title"></xref>.</para>

      <para>If <parameter>use_coordinates</parameter> is
<literal>True</literal>, the same coordinates are sent to the destination
because the widget's an embedded subwindow.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-unset">
      <title>gtk.Widget.drag_dest_unset</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_unset</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>drag_dest_unset</methodname>() method clears the
information about a drop destination set with the <link
linkend="method-gtkwidget--drag-dest-set"><methodname>drag_dest_set</methodname>()</link> 
method. The widget will no longer receive notification of drags.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-find-target">
      <title>gtk.Widget.drag_dest_find_target</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_find_target</methodname>
	  <methodparam><parameter
			 role="keyword">context</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">target_list</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">context</parameter>&nbsp;:</term>
	  <listitem><simpara>the drag context</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">target_list</parameter>&nbsp;:</term>
	  <listitem><simpara>a list of droppable targets, or
<literal>None</literal>.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the first target that the source offers and the
dest can accept, or <literal>None</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>dest_find_target</methodname>() method looks for
a match between the targets in the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link> 
specified by <parameter>context</parameter> and the
<parameter>target_list</parameter>, returning the first matching target, or
<literal>NONE</literal> if no match is found. The list specified by
<parameter>target_list</parameter> should usually be the return value from
the <link
linkend="method-gtkwidget--drag-dest-get-target-list"><methodname>drag_dest_get_target_list</methodname>()</link> 
method, but some widgets may have different valid targets for different
parts of the widget; in that case, they will have to implement a
"drag-motion" handler that passes the correct target list to this method.
<parameter>target_list</parameter> is a sequence (list or tuple) of 3-tuples
that contain information about the targets. The target data contains a
string representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-get-target-list">
      <title>gtk.Widget.drag_dest_get_target_list</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_get_target_list</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the list of targets or <literal>None</literal>
if no targets are set</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_dest_get_target_list</methodname>() method
returns the list of targets this widget can accept from drag-and-drop. The
returned value is a sequence (list or tuple) of 3-tuples that contain
information about the targets. The target data contains a string
representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-set-target-list">
      <title>gtk.Widget.drag_dest_set_target_list</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_set_target_list</methodname>
	  <methodparam><parameter
			 role="keyword">target_list</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">target_list</parameter>&nbsp;:</term>
	  <listitem><simpara>a list of droppable targets, or
<literal>None</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_dest_set_target_list</methodname>() method
sets the target types (that this widget can accept from drag-and-drop) to
the list specified by <parameter>target_list</parameter>. The widget must
first be made into a drag destination with the <link
linkend="method-gtkwidget--drag-dest-set"><methodname>drag_dest_set()</methodname></link> 
method. <parameter>target_list</parameter> is a sequence (list or tuple) of
3-tuples that contain information about the targets. The target data contains
a string representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-add-image-targets">
      <title>gtk.Widget.drag_dest_add_image_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_add_image_targets</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>drag_dest_add_image_targets</methodname>()
method adds the image targets supported by <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link>
to the target list of the widget's drag destination using an info value of
0.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-add-text-targets">
      <title>gtk.Widget.drag_dest_add_text_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_add_text_targets</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>drag_dest_add_text_targets</methodname>() method
adds the text targets supported by <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link>
to the target list of the widget's drag destination using an info value of
0.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-add-uri-targets">
      <title>gtk.Widget.drag_dest_add_uri_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_dest_add_uri_targets</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>drag_dest_add_uri_targets</methodname>() method adds the URI targets supported by <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link>
to the target list of the widget's drag destination using an info value of
0.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-set">
    <title>gtk.Widget.drag_source_set</title>

<programlisting><methodsynopsis language="python">
    <methodname>drag_source_set</methodname>
    <methodparam><parameter role="keyword">start_button_mask</parameter></methodparam>
    <methodparam><parameter role="keyword">targets</parameter></methodparam>
    <methodparam><parameter role="keyword">actions</parameter></methodparam>
  </methodsynopsis></programlisting>
  <variablelist>
    <varlistentry>
      <term><parameter role="keyword">start_button_mask</parameter>&nbsp;:</term>
      <listitem><simpara>the bitmask of buttons that can start the drag</simpara></listitem>
    </varlistentry>
    <varlistentry>
      <term><parameter role="keyword">targets</parameter>&nbsp;:</term>
      <listitem><simpara>a list of targets that the drag will support</simpara></listitem>
    </varlistentry>
    <varlistentry>
      <term><parameter role="keyword">actions</parameter>&nbsp;:</term>
      <listitem><simpara>the possible actions for a drag from this widget.</simpara></listitem>
    </varlistentry>
  </variablelist>

      <para>The <methodname>drag_source_set</methodname>() method sets up
the widget to start a drag operation when the user clicks and drags on the
widget. The widget must have a window. The value of start_button_mask is a
combination of the <xref linkend="gdk-modifier-constants"
endterm="gdk-modifier-constants-title"></xref>.</para>

      <para><parameter>targets</parameter> is a sequence (list or tuple) of
3-tuples that contain information about the targets. The target data contains
a string representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

      <para>The value of <parameter>actions</parameter> is one of the <xref
linkend="gdk-drag-action-constants"
endterm="gdk-drag-action-constants-title"></xref>:</para>

  </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-unset">
      <title>gtk.Widget.drag_source_unset</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_unset</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>drag_source_unset</methodname>() method unsets
the drag source for the widget that was set up by the <link
linkend="method-gtkwidget--drag-source-set"><methodname>drag_source_set</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-set-icon">
      <title>gtk.Widget.drag_source_set_icon</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_set_icon</methodname>
	  <methodparam><parameter
			 role="keyword">colormap</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">pixmap</parameter></methodparam>
	  <methodparam><parameter role="keyword">mask</parameter>
	    <initializer>None</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">colormap</parameter>&nbsp;:</term>
	  <listitem><simpara>the colormap of the icon</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">pixmap</parameter>&nbsp;:</term>
	  <listitem><simpara>the image data for the
icon</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">mask</parameter>&nbsp;:</term>
	  <listitem><simpara>the transparency mask for an
image.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_source_set_icon</methodname>() method sets
the icon that will be used for drags from the widget using the specified
<parameter>pixmap</parameter> and <parameter>mask</parameter>.
<parameter>colormap</parameter> specifies the colormap to be used to create
the icon. The <link
linkend="method-gtkwidget--drag-source-set-icon-pixbuf"><methodname>drag_source_set_icon_pixbuf</methodname>()</link> 
method should be used instead of this method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-set-icon-pixbuf">
      <title>gtk.Widget.drag_source_set_icon_pixbuf</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_set_icon_pixbuf</methodname>
	  <methodparam><parameter
			 role="keyword">pixbuf</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">pixbuf</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkpixbuf"><classname>gtk.gdk.Pixbuf</classname></link> for
the drag icon</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_source_set_icon_pixbuf</methodname>()
method sets the icon that will be used for drags from the widget from the
<link linkend="class-gdkpixbuf"><classname>gtk.gdk.Pixbuf</classname></link>
specified by <parameter>pixbuf</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-set-icon-stock">
      <title>gtk.Widget.drag_source_set_icon_stock</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_set_icon_stock</methodname>
	  <methodparam><parameter
			 role="keyword">stock_id</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">stock_id</parameter>&nbsp;:</term>
	  <listitem><simpara>the ID of the stock icon to
use</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_source_set_icon_stock</methodname>() method
sets the icon that will be used for drags from a particular source using the
stock icon specified by <parameter>stock_id</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-set-icon-name">
      <title>gtk.Widget.drag_source_set_icon_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_set_icon_name</methodname>
	  <methodparam><parameter
			 role="keyword">icon_name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">icon_name</parameter>&nbsp;:</term>
	  <listitem><simpara>the name of a themed icon
use</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

       <para>The <methodname>drag_source_set_icon_name</methodname>() method
sets the icon that will be used for drags from a particular source using the
themed icon specified by <parameter>icon_name</parameter>. See the <link
linkend="class-gtkicontheme"><classname>gtk.IconTheme</classname></link>
docs for more information.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-get-target-list">
      <title>gtk.Widget.drag_source_get_target_list</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_get_target_list</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the list of targets or <literal>None</literal>
if no targets are set</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>drag_source_get_target_list</methodname>() method
returns the list of targets this widget can provide for drag-and-drop. The
returned value is a sequence (list or tuple) of 3-tuples that contain
information about the targets. The target data contains a string
representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-set-target-list">
      <title>gtk.Widget.drag_source_set_target_list</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_set_target_list</methodname>
	  <methodparam><parameter
			 role="keyword">target_list</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">target_list</parameter>&nbsp;:</term>
	  <listitem><simpara>a list of droppable targets, or
<literal>None</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>drag_source_set_target_list</methodname>()
method sets the target types (that this widget can provide for
drag-and-drop) to the list specified by
<parameter>target_list</parameter>. The widget must first be made into a
drag source with the <link
linkend="method-gtkwidget--drag-source-set"><methodname>drag_source_set()</methodname></link>
method. <parameter>target_list</parameter> is a sequence (list or tuple) of
3-tuples that contain information about the targets. The target data
contains a string representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-add-text-targets">
      <title>gtk.Widget.drag_source_add_text_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_add_text_targets</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>drag_source_add_text_targets</methodname>()
method adds the text targets supported by <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link>
to the target list of the widget's drag source using an info value of 0. If
you need another value for info, use the <link
linkend="function-gtk--target-list-add-text-targets"><function>gtk.target_list_add_text_targets</function>()</link>
function and the <link
linkend="method-gtkwidget--drag-source-set-target-list"><methodname>drag_source_set_target_list</methodname>()</link>
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-add-image-targets">
      <title>gtk.Widget.drag_source_add_image_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_add_image_targets</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>drag_source_add_image_targets</methodname>()
method adds the image targets supported by <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link>
to the target list of the widget's drag source using an info value of 0. If
you need another value for info, use the <link
linkend="function-gtk--target-list-add-image-targets"><function>gtk.target_list_add_image_targets</function>()</link>
function and the <link
linkend="method-gtkwidget--drag-source-set-target-list"><methodname>drag_source_set_target_list</methodname>()</link>
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-source-add-uri-targets">
      <title>gtk.Widget.drag_source_add_uri_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_source_add_uri_targets</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>drag_source_add_uri_targets</methodname>()
method adds the URI targets supported by <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link>
to the target list of the widget's drag source using an info value of 0. If
you need another value for info, use the <link
linkend="function-gtk--target-list-add-image-targets"><function>gtk.target_list_add_image_targets</function>()</link> function
and the <link
linkend="method-gtkwidget--drag-source-set-target-list"><methodname>drag_source_set_target_list</methodname>()</link>
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-begin">
      <title>gtk.Widget.drag_begin</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_begin</methodname>
	  <methodparam><parameter
			 role="keyword">targets</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">actions</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">button</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">event</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">targets</parameter>&nbsp;:</term>
	  <listitem><simpara>the list of targets supported by the widget
drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">actions</parameter>&nbsp;:</term>
	  <listitem><simpara>the allowed drag operations for the
drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">button</parameter>&nbsp;:</term>
	  <listitem><simpara>the button the user pressed to start the
drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">event</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link> that
triggered the drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a new <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_begin</methodname>() method starts a drag
on the source side. The method only needs to be used when the application is
starting drags itself, and is not needed when the <link
linkend="method-gtkwidget--drag-source-set"><methodname>drag_source_set</methodname>()</link> 
method is used. <parameter>targets</parameter> is a sequence (list or tuple)
of 3-tuples that contain information about the targets. The target data
contains a string representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

      <para>The value of <parameter>actions</parameter> is one of the <xref
linkend="gdk-drag-action-constants"
endterm="gdk-drag-action-constants-title"></xref>.</para>

      <para><parameter>button</parameter> is the button that the user
pressed to start the drag operation. <parameter>event</parameter> is the
<link linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link>
that triggered the start of the drag operation (the button press). This
method returns the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link> 
for the drag operation.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--grab-add">
      <title>gtk.Widget.grab_add</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>grab_add</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>grab_add</methodname>() method makes the widget
the current grabbed widget. This means that interaction with other widgets
in the same application is blocked and mouse as well as keyboard events are
delivered to this widget.</para>

      </refsect2>

    <refsect2 id="method-gtkwidget--grab-remove">
      <title>gtk.Widget.grab_remove</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>grab_remove</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>grab_remove</methodname>() method removes the
grab from the widget. You have to pair calls to the <link
linkend="method-gtkwidget--grab-add"><methodname>grab_add</methodname>()</link> 
and <methodname>grab_remove</methodname>() methods.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--rc-get-style">
      <title>gtk.Widget.rc_get_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>rc_get_style</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the resulting style.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>rc_get_style</methodname>() method finds all
matching RC styles for the widget, composites them together, and then
creates a <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link>
representing the composite appearance.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--selection-owner-set">
      <title>gtk.Widget.selection_owner_set</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>selection_owner_set</methodname>
	  <methodparam><parameter
			 role="keyword">selection</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">time</parameter>
	    <initializer>0L</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">selection</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom representing the selection to
claim</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">time</parameter>&nbsp;:</term>
	  <listitem><simpara>a timestamp or 0L to use the current
time</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
successful</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>selection_owner_set</methodname>() method claims
the ownership of the selection specified by <parameter>selection</parameter>
for the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--selection-add-target">
      <title>gtk.Widget.selection_add_target</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>selection_add_target</methodname>
	  <methodparam><parameter
			 role="keyword">selection</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">target</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">info</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">selection</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom representing the
selection</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">target</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom representing the target for the
selection</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">info</parameter>&nbsp;:</term>
	  <listitem><simpara>an integer ID that will be passed to the
application</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>selection_add_target</methodname>() method adds
the specified <parameter>target</parameter> to the list of supported targets
for the specified <parameter>selection</parameter>.
<parameter>info</parameter> is an integer ID that will be passed to the
application when the "selection-get" handler is called.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--selection-add-targets">
      <title>gtk.Widget.selection_add_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>selection_add_targets</methodname>
	  <methodparam><parameter
			 role="keyword">selection</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">targets</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">selection</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom representing the
selection</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">targets</parameter>&nbsp;:</term>
	  <listitem><simpara>a sequence of 3-tuples containing target
data</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>selection_add_targets</methodname>() method adds
the list of targets (specified by <parameter>targets</parameter>) to the
list of supported targets for the specified
<parameter>selection</parameter>. targets is a sequence (Python tuple or
list) of 3-tuples that contain information about the targets. The target data
contains a string representing the drag type, target flags (a combination of
<literal>gtk.TARGET_SAME_APP</literal> and
<literal>gtk.TARGET_SAME_WIDGET</literal> or neither) and an application
assigned integer ID used for identification purposes.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--selection-clear-targets">
      <title>gtk.Widget.selection_clear_targets</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>selection_clear_targets</methodname>
	  <methodparam><parameter
			 role="keyword">selection</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">selection</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom representing a
selection</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>selection_clear_targets</methodname>() method
remove all targets registered for the specified
<parameter>selection</parameter> for the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--selection-convert">
      <title>gtk.Widget.selection_convert</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>selection_convert</methodname>
	  <methodparam><parameter
			 role="keyword">selection</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">target</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">time</parameter>
	    <initializer>0L</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">selection</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom specifying the
selection</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">target</parameter>&nbsp;:</term>
	  <listitem><simpara>an atom specifying the target
type</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">time</parameter>&nbsp;:</term>
	  <listitem><simpara>a timestamp for the request or 0L to use the
current time</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the request
succeeded</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>selection_convert</methodname>() method requests
the contents of the specified <parameter>selection</parameter> for the
specified <parameter>target</parameter> type. When received, a
"selection_received" signal will be generated.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--selection-remove-all">
      <title>gtk.Widget.selection_remove_all</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>selection_remove_all</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>selection_remove_all</methodname>() method
removes all handlers and unsets ownership of all selections for a widget.
This method is called when widget is being destroyed and not usually by
applications.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--destroy">
      <title>gtk.Widget.destroy</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>destroy</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>destroy</methodname>() method destroys the
widget. When a widget is destroyed, it will break any references it holds to
other objects. If the widget is inside a container, the widget will be
removed from the container. If the widget is a toplevel (derived from <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link>), it will
be removed from the list of toplevels, and the reference
<literal>PyGTK</literal> holds to it will be removed. Removing a widget from
its container or the list of toplevels results in the widget being
finalized. In most cases, only toplevel widgets (windows) require explicit
destruction, because when you destroy a toplevel its children will be
destroyed as well.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--unparent">
      <title>gtk.Widget.unparent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>unparent</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>unparent</methodname>() method is only for use
in widget implementations. It should be called by implementations of the
remove method on a <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link>, to
dissociate a child widget from the container.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--show">
      <title>gtk.Widget.show</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>show</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>show</methodname>() method causes a widget to be
displayed as soon as practical. 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 the <link
linkend="method-gtkwidget--show-all"><methodname>show_all</methodname>()</link> 
on the container, instead of individually showing the widgets. Of course you
have to show the containers containing a widget, as well as the widget
itself, before it will appear onscreen. When a toplevel container is shown,
it is immediately realized and mapped; other shown widgets are realized and
mapped when their toplevel container is realized and mapped.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--show-now">
      <title>gtk.Widget.show_now</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>show_now</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>show_now</methodname>() method is the same as
the <link
linkend="method-gtkwidget--show"><methodname>show</methodname>()</link>
method except if the widget is an unmapped toplevel widget (i.e. a <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link> that has
not yet been shown), it enters the main loop and waits for the window to
actually be mapped.</para>
      <note>
	<para>Because the main loop is running, anything can happen during
this method.</para>
      </note>

    </refsect2>

    <refsect2 id="method-gtkwidget--hide">
      <title>gtk.Widget.hide</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>hide</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>hide</methodname>() method reverses the effects
of the <link
linkend="method-gtkwidget--show"><methodname>show</methodname>()</link>
method, causing the widget to be hidden (removed from the display) by
unmapping it.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--show-all">
      <title>gtk.Widget.show_all</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>show_all</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>show_all</methodname>() method recursively shows
the widget, and any child widgets (if the widget is a container).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--hide-all">
      <title>gtk.Widget.hide_all</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>hide_all</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>hide_all</methodname>() method recursively hides
the widget and its child widgets (if any).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-no-show-all">
      <title>gtk.Widget.set_no_show_all</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_no_show_all</methodname>
	  <methodparam><parameter>no_show_all</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter>no_show_all</parameter>&nbsp;:</term>
	  <listitem><simpara>the new value for the "no_show_all"
	  property</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>set_no_show_all</methodname>() method sets the
"no_show_all" property to the value of
<parameter>no_show_all</parameter>. If <parameter>no_show_all</parameter> is
<literal>True</literal> calls to the <link
linkend="method-gtkwidget--show-all"><methodname>show_all()</methodname></link>
and <link
linkend="method-gtkwidget--hide-all"><methodname>hide_all()</methodname></link>
methods will not affect this widget.</para>

      <para>This method is mostly for use in constructing widget hierarchies
with externally controlled visibility, see the <link
linkend="class-gtkuimanager"><classname>gtk.UIManager</classname></link>
reference for mote information.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-no-show-all">
      <title>gtk.Widget.get_no_show_all</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_no_show_all</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the current value of the "no_show_all"
	  property.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_no_show_all</methodname>() method returns
the current value of the "no_show_all" property. If "no-show-all" is
<literal>True</literal> calls to the <link
linkend="method-gtkwidget--show-all"><methodname>show_all()</methodname></link>
and <link
linkend="method-gtkwidget--hide-all"><methodname>hide_all()</methodname></link>
methods will not affect the widget.</para>

    </refsect2>

  <refsect2 id="method-gtkwidget--map">
      <title>gtk.Widget.map</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>map</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>map</methodname>() method maps the widget
(causes it to be displayed). This method will also cause the widget to be
realized if it is not currently realized. This method is usually not used by
applications.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--unmap">
      <title>gtk.Widget.unmap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>unmap</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>unmap</methodname>() method unmaps the widget
(causes it to be removed from the display). This method is not usually used
by applications.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--realize">
      <title>gtk.Widget.realize</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>realize</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>realize</methodname>() method creates the
resources associated with a widget.  For example, the widget <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> will
be created when the widget is realized.  Normally realization happens
implicitly; if you show a widget and all its parent containers, then the
widget will be realized and mapped automatically. Realizing a widget
requires all the widget's parent widgets to be realized; calling the
<methodname>realize</methodname>() method realizes the widget's parents in
addition to the widget itself. A widget must be inside a toplevel window
when you realize it. This method is primarily used in widget
implementations, and not in applications. 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 "expose_event".
Or simply using the <link
linkend="method-gobject--connect-after"><methodname>gobject.connect_after</methodname>()</link> 
method to add a handler to the "realize" signal.</para>

    </refsect2>

  <refsect2 id="method-gtkwidget--unrealize">
      <title>gtk.Widget.unrealize</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>unrealize</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>unrealize</methodname>() method frees all
resources associated with the widget, such as the <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--queue-draw">
      <title>gtk.Widget.queue_draw</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>queue_draw</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>queue_draw</methodname>() method is equivalent
to calling the <link
linkend="method-gtkwidget--queue-draw-area"><methodname>queue_draw_area</methodname>()</link> 
method for the entire area of a widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--queue-draw-area">
      <title>gtk.Widget.queue_draw_area</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>queue_draw_area</methodname>
	  <methodparam><parameter role="keyword">x</parameter></methodparam>
	  <methodparam><parameter role="keyword">y</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">width</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">height</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">x</parameter>&nbsp;:</term>
	  <listitem><simpara>the x coordinate of upper-left corner of
rectangle to redraw</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">y</parameter>&nbsp;:</term>
	  <listitem><simpara>the y coordinate of upper-left corner of
rectangle to redraw</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">width</parameter>&nbsp;:</term>
	  <listitem><simpara>the width of rectangle to
redraw</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">height</parameter>&nbsp;:</term>
	  <listitem><simpara>the height of rectangle to
redraw</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>queue_draw_area</methodname>() method
invalidates the rectangular area of the widget specified by
<parameter>x</parameter>, <parameter>y</parameter>,
<parameter>width</parameter> and <parameter>height</parameter> by calling
the <link
linkend="method-gdkwindow--invalidate-rect"><methodname>gtk.gdk.Window.invalidate_rect</methodname>()</link> 
method 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.</para>

      <para>Normally you would only use this method in widget
implementations. But you might also use it, or the <link
linkend="method-gdkwindow--invalidate-rect"><methodname>gtk.gdk.Window.invalidate_rect</methodname>()</link> 
method directly, to schedule a redraw of a <link
linkend="class-gtkdrawingarea"><classname>gtk.DrawingArea</classname></link>
or some portion thereof. Frequently you can just call the <link
linkend="method-gdkwindow--invalidate-rect"><methodname>gtk.gdk.Window.invalidate_rect</methodname>()</link> 
method instead of this method. This method will invalidate only a single
window, instead of the widget and all its children. The advantage of adding
to the invalidated region compared to simply drawing immediately is
efficiency; using an invalid region ensures that you only have to redraw one
time.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--queue-resize">
      <title>gtk.Widget.queue_resize</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>queue_resize</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>queue_resize</methodname>() method schedules the
widget to have its size renegotiated. This method should be called when a
widget for some reason has a new size request. For example, when you change
the text in a <link
linkend="class-gtklabel"><classname>gtk.Label</classname></link>, a resize
is queued to ensure there's enough space for the new text.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--queue-resize-no-redraw">
      <title>gtk.Widget.queue_resize_no_redraw</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>queue_resize_no_redraw</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>queue_resize_no_redraw</methodname>() method
works like the <link
linkend="method-gtkwidget--queue-resize"><methodname>queue_resize()</methodname></link>
method, except that the widget is not invalidated.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--size-request">
      <title>gtk.Widget.size_request</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>size_request</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing the widget's required width
and height.</simpara></listitem>
	</varlistentry>
      </variablelist>


      <para>The <methodname>size_request</methodname>() method returns the
preferred size of a widget as a tuple containing its required width and
height. This method is typically used when implementing a <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link>
subclass to arrange the container's child widgets and decide what size
allocations to give them with the <link
linkend="method-gtkwidget--size-allocate"><methodname>size_allocate</methodname>()</link> 
method. Obtaining a size request requires that the widget be associated with
a screen, because font information may be needed.</para>

      <para>Also remember that the size request is not necessarily the size
a widget will actually be allocated.</para>
      <para>See the <link
linkend="method-gtkwidget--get-child-requisition"><methodname>get_child_requisition</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--size-allocate">
      <title>gtk.Widget.size_allocate</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>size_allocate</methodname>
	  <methodparam><parameter
			 role="keyword">allocation</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">allocation</parameter>&nbsp;:</term>
	  <listitem><simpara>the position and size to be allocated to the
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>size_allocate</methodname>() method sets a size
allocation for the widget using the <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>
specified by <parameter>allocation</parameter>. This method is only used by
<link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link>
subclasses, to assign a size and position to their child widgets.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-child-requisition">
      <title>gtk.Widget.get_child_requisition</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_child_requisition</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing the required size of the
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_child_requisition</methodname>() method
returns a tuple containing the widget requisition width and height. This
method is only for use in widget container implementations since it obtains
the widget requisition directly. By comparison the <link
linkend="method-gtkwidget--size-request"><methodname>size_request</methodname>()</link> 
method actually computes the size request and fills in the widget
requisition before returning. Because this method does not recalculate the
size request, it can only be used when you know that the widget requisition
is up-to-date, i.e. the <link
linkend="method-gtkwidget--size-request"><methodname>size_request</methodname>()</link> 
method has been called since the last time a resize was queued. In general,
only container implementations have this information; applications should
use the <link
linkend="method-gtkwidget--size-request"><methodname>size_request</methodname>()</link> 
method instead.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--add-accelerator">
      <title>gtk.Widget.add_accelerator</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_accelerator</methodname>
	  <methodparam><parameter
			 role="keyword">accel_signal</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">accel_group</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">accel_key</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">accel_mods</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">accel_flags</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">accel_signal</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget signal to emit on accelerator
activation</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">accel_group</parameter>&nbsp;:</term>
	  <listitem><simpara>the accel group for this widget, added to its
toplevel</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">accel_key</parameter>&nbsp;:</term>
	  <listitem><simpara>the keyval of the accelerator e.g.
<literal>ord('q')</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">accel_mods</parameter>&nbsp;:</term>
	  <listitem><simpara>the modifier key combination of the
accelerator</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">accel_flags</parameter>&nbsp;:</term>
	  <listitem><simpara>the flag accelerators, e.g.
<literal>gtk.ACCEL_VISIBLE</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>add_accelerator</methodname>() method installs
      an accelerator for the widget in <parameter>accel_group</parameter>
      that causes <parameter>accel_signal</parameter> to be emitted if the
      accelerator is activated. The accelerator key and modifiers are
      specified by <parameter>accel_key</parameter> and
      <parameter>accel_mods</parameter>
      respectively. <parameter>accel_mods</parameter> should be a
      combination of the <xref linkend="gdk-modifier-constants"
      endterm="gdk-modifier-constants-title"></xref>. <parameter>accel_flags</parameter>
      is a combination of <literal>gtk.ACCEL_VISIBLE</literal> and
      <literal>gtk.ACCEL_LOCKED</literal> (see the <xref
      linkend="gtk-accel-flags-constants"
      endterm="gtk-accel-flags-constants-title"></xref>). The
      <parameter>accel_group</parameter> needs to be added to the widget's
      toplevel via the <link
      linkend="method-gtkwindow--add-accel-group"><methodname>gtk.Window.add_accel_group</methodname>()</link>
      method and the signal specified by <parameter>accel_signal</parameter>
      must have signal flags that include the
      <literal>gobject.SIGNAL_ACTION</literal> flag (see the <link
      linkend="gobject-signal-constants">GObject Signal Flag
      Constants</link> for more information). Accelerators added through
      this method are not user changeable during runtime. If you want to
      support accelerators that can be changed by the user, the <link
      linkend="method-gtkwidget--set-accel-path"><methodname>set_accel_path</methodname>()</link>
      or <link
      linkend="method-gtkmenuitem--set-accel-path"><methodname>gtk.MenuItem.set_accel_path</methodname>()</link>
      methods instead.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--remove-accelerator">
      <title>gtk.Widget.remove_accelerator</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>remove_accelerator</methodname>
	  <methodparam><parameter
			 role="keyword">accel_group</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">accel_key</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">accel_mods</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">accel_group</parameter>&nbsp;:</term>
	  <listitem><simpara>the accel group for this
widget</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">accel_key</parameter>&nbsp;:</term>
	  <listitem><simpara>the keyval of the
accelerator</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">accel_mods</parameter>&nbsp;:</term>
	  <listitem><simpara>the modifier key combination of the
accelerator</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the accelerator was
removed</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>remove_accelerator</methodname>() method removes
the accelerator specified by <parameter>accel_key</parameter> and
<parameter>accel_mods</parameter> from the widget's accelerator group
(specified by <parameter>accel_group</parameter>), previously installed with
the <link
linkend="method-gtkwidget--add-accelerator"><methodname>add_accelerator</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-accel-path">
      <title>gtk.Widget.set_accel_path</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_accel_path</methodname>
	  <methodparam><parameter
			 role="keyword">accel_path</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">accel_group</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">accel_path</parameter>&nbsp;:</term>
	  <listitem><simpara>the path used to look up the the
accelerator</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">accel_group</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkaccelgroup"><classname>gtk.AccelGroup</classname></link>.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_accel_path</methodname>() method sets an
accelerator (using the key bindings defined in
<parameter>accel_path</parameter>) in the accelerator group specified by
<parameter>accel_group</parameter>. This method removes any accelerators for
any accelerator group installed by previous calls to the
<methodname>set_accel_path</methodname>() method. Associating accelerators
with paths allows them to be modified by the user and the modifications to
be saved for future use. This method is a low level method that would most
likely be used by a menu creation system like <link
linkend="class-gtkitemfactory"><classname>gtk.ItemFactory</classname></link>. 
If you use <link
linkend="class-gtkitemfactory"><classname>gtk.ItemFactory</classname></link>, 
setting up accelerator paths will be done automatically. Even when you you
aren't using <link
linkend="class-gtkitemfactory"><classname>gtk.ItemFactory</classname></link>, 
if you only want to set up accelerators on menu items the <link
linkend="method-gtkmenuitem--set-accel-path"><methodname>gtk.MenuItem.set_accel_path</methodname>()</link> 
method provides a somewhat more convenient interface.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--can-activate-accel">
      <title>gtk.Widget.can_activate_accel</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>can_activate_accel</methodname>
	  <methodparam><parameter>signal_id</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter>signal_id</parameter>&nbsp;:</term>
	  <listitem><simpara>the ID of an installed signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the accelerator can
	  be activated.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>can_activate_accel</methodname>() method returns
<literal>True</literal> if an accelerator that activates the signal
specified by <parameter>signal_id</parameter> can currently be activated.
This is done by emitting the "<link
linkend="signal-gtkwidget--can-activate-accel">can-activate-accel</link>"
signal. 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.</para>

    </refsect2>

<!-- NOT IMPLEMENTED
    <refsect2 id="method-gtkwidget- -list-accel-closures">
      <title>gtk.Widget.list_accel_closures</title>

      <programlisting><methodsynopsis language="python">
          <methodname>list_accel_closures</methodname>
          <methodparam></methodparam>
        </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a </simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>The <methodname>list_accel_closures</methodname>() method
returns a lists of the closures used by the widget for accelerator group
connections with <link linkend="method-gtkaccelgroup-
-connect-by-path"><function>gtk.AccelGroup.connect_by_path()</function></link>
or <link linkend="method-gtkaccelgroup-
-connect"><function>gtk.AccelGroup.connect()</function></link>.  The
closures can be used to monitor accelerator changes on the widget, by
connecting to the ::accel_changed signal of the <link
linkend="class-gtkaccelgroup"><classname>gtk.AccelGroup</classname></link>
of a closure which can be found out with
<function>accel_group_from_accel_closure()</function>.</para>

    </refsect2>
END NOT IMPLEMENTED -->

    <refsect2 id="method-gtkwidget--mnemonic-activate">
      <title>gtk.Widget.mnemonic_activate</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>mnemonic_activate</methodname>
	  <methodparam><parameter
			 role="keyword">group_cycling</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">group_cycling</parameter>&nbsp;:</term>
	  <listitem><simpara>if True grab the focus instead of activating
the widget</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>True if the signal was
handled</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The<methodname> mnemonic_activate</methodname>() method emits
the "mnemonic-activate" signal on the widget and returns
<literal>True</literal> if the signal was handled.
<parameter>group_cycling</parameter> is <literal>True</literal> if the focus
is being shifted to the widget and <literal>False</literal> if the widget
should be activated.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--event">
      <title>gtk.Widget.event</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>event</methodname>
	  <methodparam><parameter
			 role="keyword">event</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">event</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the event was
handled</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>event</methodname>() method emits the event
signals on a widget (those signals should never be emitted without using
this method to do so). If you want to synthesize an event though, don't use
this method; instead, use the <link
linkend="function-gtk--main-do-event"><methodname>gtk.main_do_event</methodname>()</link> 
function so the event will behave as if it were in the event queue. Don't
synthesize expose events; instead, use the <link
linkend="method-gdkwindow--invalidate-rect"><methodname>gtk.gdk.Window.invalidate_rect</methodname>()</link> 
method to invalidate a region of the window.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--send-expose">
      <title>gtk.Widget.send_expose</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>send_expose</methodname>
	  <methodparam><parameter
			 role="keyword">event</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">event</parameter>&nbsp;:</term>
	  <listitem><simpara>an expose <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the event was
handled</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>send_expose</methodname>() method emits an
expose event signal on a widget. This method is usually used when
propagating an expose event to a child <literal>NO_WINDOW</literal> widget,
and that is normally done using the <link
linkend="method-gtkcontainer--propagate-expose"><methodname>gtk.Container.propagate_expose</methodname>()</link> 
method. If you want to force an area of a window to be redrawn, use the
<link
linkend="method-gdkwindow--invalidate-rect"><methodname>gtk.gdk.Window.invalidate_rect</methodname>()</link> 
method. To cause the redraw to be done immediately, follow that call with a
call to the <link
linkend="method-gdkwindow--process-updates"><methodname>gtk.gdk.Window.process_updates</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--activate">
      <title>gtk.Widget.activate</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>activate</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the widget was
activatable</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>activate</methodname>() method emits the
"activate" signal on the widget that activates it (if it can be activated).
Activation is what happens when you press <keycap>Enter</keycap> on a widget
during key navigation; clicking a button, selecting a menu item, etc. If the
widget isn't activatable, the method returns
<literal>False</literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-scroll-adjustments">
      <title>gtk.Widget.set_scroll_adjustments</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_scroll_adjustments</methodname>
	  <methodparam><parameter
			 role="keyword">hadjustment</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">vadjustment</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">hadjustment</parameter>&nbsp;:</term>
	  <listitem><simpara>an adjustment for horizontal scrolling, or
<literal>None</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">vadjustment</parameter>&nbsp;:</term>
	  <listitem><simpara>an adjustment for vertical scrolling, or
<literal>None</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the widget supports
scrolling</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_scroll_adjustments</methodname>() method
sets the horizontal and vertical scroll adjustments specified by
<parameter>hadjustment</parameter> and <parameter>vadjustment</parameter>
respectively and returns <literal>True</literal>. If the widget doesn't
support scrolling this method returns <literal>False</literal>. Widgets that
don't support scrolling can be scrolled by placing them in a <link
linkend="class-gtkviewport"><classname>gtk.Viewport</classname></link>,
which does support scrolling. This method emits the "set-scroll-adjustments"
signal on the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--reparent">
      <title>gtk.Widget.reparent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>reparent</methodname>
	  <methodparam><parameter
			 role="keyword">new_parent</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">new_parent</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link> to
move the widget into</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>reparent</methodname>() method moves a widget
from one <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link> to
another.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--intersect">
      <title>gtk.Widget.intersect</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>intersect</methodname>
	  <methodparam><parameter
			 role="keyword">area</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">intersection</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">area</parameter>&nbsp;:</term>
	  <listitem><simpara>a rectangle</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a rectangle of the intersection of the widget
and <parameter>area</parameter> or
<literal>None</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>intersect</methodname>() method computes the
intersection of a the widget's area and <parameter>area</parameter>, and
returns the intersection in a <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>. 
This method returns <literal>False</literal> if there is no
intersection.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--region-intersect">
      <title>gtk.Widget.region_intersect</title>

      <programlisting><methodsynopsis language="python">
        <methodname>region_intersect</methodname>
        <methodparam><parameter role="keyword">region</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">region</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-gdkregion"><classname>gtk.gdk.Region</classname></link>,
          in the same coordinate system as the widget.allocation. That is,
          relative to the widget.window for <literal>NO_WINDOW</literal>
          widgets; relative to the parent window of the widget.window for
          widgets with their own window.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a newly allocated <link
          linkend="class-gdkregion"><classname>gtk.gdk.Region</classname></link>
          holding the intersection of the widget and <parameter>region</parameter>. The coordinates of
          the returned region are relative to widget.window for <literal>NO_WINDOW</literal>
          widgets, and relative to the parent window of widget.window for
          widgets with their own window.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>region_intersect</methodname>() method computes
      and returns as a <link
      linkend="class-gdkregion"><classname>gtk.gdk.Region</classname></link>
      the intersection of a the widget's area and the <link
      linkend="class-gdkregion"><classname>gtk.gdk.Region</classname></link>
      specified by <parameter>region</parameter>. Since the result may be
      empty, use the <link
      linkend="method-gdkregion--empty"><methodname>gtk.gdk.Region.empty</methodname>()</link>
      method to check.</para>

    </refsect2>

  <refsect2 id="method-gtkwidget--freeze-child-notify">
      <title>gtk.Widget.freeze_child_notify</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>freeze_child_notify</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>freeze_child_notify</methodname>() method
freezes the child notify queue that is used to notify child widgets of child
property changes.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--child-notify">
      <title>gtk.Widget.child_notify</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>child_notify</methodname>
	  <methodparam><parameter
			 role="keyword">child_property</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">child_property</parameter>&nbsp;:</term>
	  <listitem><simpara>a child property</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>child_notify</methodname>() method adds a child
property to the widget's child notify queue that is used to notify child
widgets of a change to a child property.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--thaw-child-notify">
      <title>gtk.Widget.thaw_child_notify</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>thaw_child_notify</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>thaw_child_notify</methodname>() method reverses
the effect of a previous call to the <link
linkend="method-gtkwidget--freeze-child-notify"><methodname>freeze_child_notify</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--is-focus">
      <title>gtk.Widget.is_focus</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>is_focus</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the widget is the
focus widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>is_focus</methodname>() method returns
<literal>True</literal> if the widget is the focus widget within its
toplevel. This does not mean that the <literal>gtk.HAS_FOCUS</literal> flag
is necessarily set; <literal>gtk.HAS_FOCUS</literal> will only be set if the
toplevel widget additionally has the global input focus.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--grab-focus">
      <title>gtk.Widget.grab_focus</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>grab_focus</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>grab_focus</methodname>() method causes the
widget to have the keyboard focus for it's enclosing <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link>. The
widget must be a focusable widget, such as a <link
linkend="class-gtkentry"><classname>gtk.Entry</classname></link>. Also, the
widget must have the <literal>gtk.CAN_FOCUS</literal> flag set.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--grab-default">
      <title>gtk.Widget.grab_default</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>grab_default</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>grab_default</methodname>() method causes the
widget to become the default widget. The widget must have the
<literal>gtk.CAN_DEFAULT</literal> flag set by calling the <link
linkend="method-gtkobject--set-flags"><methodname>gtk.Object.set_flags</methodname>()</link> 
method.  The default widget is activated when the user presses
<keycap>Enter</keycap> in a window. Default widgets must be activatable, that is,
<link linkend="method-gtkwidget--activate"><methodname>gtk.Widget.activate</methodname>()</link>
should affect them.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-name">
      <title>gtk.Widget.set_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_name</methodname>
	  <methodparam><parameter
			 role="keyword">name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">name</parameter>&nbsp;:</term>
	  <listitem><simpara>the name for the widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_name</methodname>() method sets the "name"
property of the widget to the string specified by
<parameter>name</parameter>. Widgets can be named, which allows you to refer
to them in a GTK resource file.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-name">
      <title>gtk.Widget.get_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_name</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the name of the widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_name</methodname>() method returns the value
of the "name" property that contains the name of the widget or
<literal>None</literal> if the widget has no name.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-state">
      <title>gtk.Widget.set_state</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_state</methodname>
	  <methodparam><parameter
			 role="keyword">state</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">state</parameter>&nbsp;:</term>
	  <listitem><simpara>the new state for the
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The set_state() method sets the state of the widget to the value
specified by state. The value of state must be one of the <xref
linkend="gtk-state-type-constants"
endterm="gtk-state-type-constants-title"></xref>.</para>

      <para>Usually you should set the state using wrapper methods such as
<link
linkend="method-gtkwidget--set-sensitive"><methodname>set_sensitive</methodname>()</link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-sensitive">
      <title>gtk.Widget.set_sensitive</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_sensitive</methodname>
	  <methodparam><parameter
			 role="keyword">sensitive</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">sensitive</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> make the widget
sensitive</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_sensitive</methodname>() method sets the
"sensitive" property of the widget to the value specified by
<parameter>sensitive</parameter>. If <parameter>sensitive</parameter> is
<literal>True</literal> the widget will be sensitive and the user can
interact with it. An insensitive widget appears "grayed out" and the user
can't interact with it. Insensitive widgets are known as "inactive",
"disabled", or "ghosted" in some other toolkits.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-app-paintable">
      <title>gtk.Widget.set_app_paintable</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_app_paintable</methodname>
	  <methodparam><parameter
			 role="keyword">app_paintable</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">app_paintable</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> the application will
paint directly on the widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_app_paintable</methodname>() method sets the
"app-paintable" property to the value of
<parameter>app_paintable</parameter>. If
<parameter>app_paintable</parameter> is <literal>True</literal> the
application will paint directly on the widget.</para>

    </refsect2>

  <refsect2 id="method-gtkwidget--set-double-buffered">
      <title>gtk.Widget.set_double_buffered</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_double_buffered</methodname>
	  <methodparam><parameter
			 role="keyword">double_buffered</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">double_buffered</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> double-buffer a
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_double_buffered</methodname>() method sets
the widget's flags according to the value of
<parameter>double_buffered</parameter>. If
<parameter>double_buffered</parameter> is <literal>True</literal> the
<literal>gtk.DOUBLE_BUFFERED</literal> flag is set; otherwise it is unset.
Widgets are double buffered by default. "Double buffered" simply means that
the <link
linkend="method-gdkwindow--begin-paint-rect"><methodname>gtk.gdk.Window.begin_paint_rect</methodname>()</link> 
and <link
linkend="method-gdkwindow--end-paint"><methodname>gtk.gdk.Window.end_paint</methodname>()</link> 
methods are called automatically around expose events sent to the widget.
The <link
linkend="method-gdkwindow--begin-paint-rect"><methodname>gtk.gdk.Window.begin_paint_rect</methodname>()</link> 
method diverts all drawing to a widget's window to an off screen buffer, and
the <link
linkend="method-gdkwindow--end-paint"><methodname>gtk.gdk.Window.end_paint</methodname>()</link> 
method draws the buffer to the screen. The result is that users see the
window update in one smooth step, and don't see individual graphics
primitives being rendered. In very simple terms, double buffered widgets
don't flicker, so you would only use this method to turn off double
buffering if you had special needs and really knew what you were
doing.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-redraw-on-allocate">
      <title>gtk.Widget.set_redraw_on_allocate</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_redraw_on_allocate</methodname>
	  <methodparam><parameter
			 role="keyword">redraw_on_allocate</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">redraw_on_allocate</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>, 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.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_redraw_on_allocate</methodname>() method
sets a flag that determines if the entire widget is queued for drawing when
a widget's size allocation changes. By default, this setting is
<literal>True</literal> and the entire widget is redrawn on every size
change. If your widget leaves the upper left are unchanged when made bigger,
turning this setting on will improve performance.</para>

      <note>
	<para>For <literal>NO_WINDOW</literal> widgets setting this flag to
<literal>False</literal> turns off all allocation on resizing: the widget
will not redraw even 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 <literal>NO_WINDOW</literal> widget that <emphasis>does</emphasis> draw
on the widget's <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>, 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.</para>
      </note>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-parent">
      <title>gtk.Widget.set_parent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_parent</methodname>
	  <methodparam><parameter
			 role="keyword">parent</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">parent</parameter>&nbsp;:</term>
	  <listitem><simpara>a parent container</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_parent</methodname>() method is useful only
when implementing subclasses of <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link>.
This method sets the container as the parent of the widget, and takes care
of some details such as updating the state and style of the child to reflect
its new location. The reverse method is the <link
linkend="method-gtkwidget--unparent"><methodname>unparent</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-parent-window">
      <title>gtk.Widget.set_parent_window</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_parent_window</methodname>
	  <methodparam><parameter
			 role="keyword">parent_window</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">parent_window</parameter>&nbsp;:</term>
	  <listitem><simpara>the new parent window.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_parent_window</methodname>() method sets a
non default parent window for the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-child-visible">
      <title>gtk.Widget.set_child_visible</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_child_visible</methodname>
	  <methodparam><parameter
			 role="keyword">is_visible</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">is_visible</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>, the widget should
be mapped along with its parent.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_child_visible</methodname>() method
determines if the widget should be mapped along with its parent. If
<parameter>is_visible</parameter> is <literal>True</literal> the widget will
be mapped with its parent if it has called the <link
linkend="method-gtkwidget--show"><methodname>show</methodname>()</link>
method.</para>
      <para>
The child visibility can be set for widget before it is added to a container
to avoid mapping children unnecessarily. The widget's child visibility flag
will be reset to its default state of <literal>True</literal> when the
widget is removed from a container. Note that changing the child visibility
of a widget does not queue a resize on the widget. Most of the time, the
size of a widget is computed from all visible children, whether or not they
are mapped. If this is not the case, the container can queue a resize
itself. This method is only useful for container implementations and never
should be called by an application.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-child-visible">
      <title>gtk.Widget.get_child_visible</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_child_visible</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the widget is mapped
with the parent.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_child_visible</methodname>() method returns
the value set with the <link
linkend="method-gtkwidget--set-child-visible"><methodname>set_child_visible</methodname>()</link> 
method. This method is only useful for container implementations and never
should be called by an application.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-parent">
      <title>gtk.Widget.get_parent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_parent</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the parent container of the widget, or
<literal>None</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_parent</methodname>() method returns the
parent container of the widget or <literal>None</literal> if the widget has
no parent.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-parent-window">
      <title>gtk.Widget.get_parent_window</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_parent_window</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the parent <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> of
the widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_parent_window</methodname>() method returns
the widget's parent <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--child-focus">
      <title>gtk.Widget.child_focus</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>child_focus</methodname>
	  <methodparam><parameter
			 role="keyword">direction</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">direction</parameter>&nbsp;:</term>
	  <listitem><simpara>the direction of focus
movement</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if focus ended up
inside the widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>child_focus</methodname>() method is used by
custom widget implementations. If you're writing an application, use the
<link
linkend="method-gtkwidget--grab-focus"><methodname>grab_focus</methodname>()</link> 
method to move the focus to a particular widget, and the <link
linkend="method-gtkcontainer--set-focus-chain"><methodname>gtk.Container.set_focus_chain</methodname>()</link> 
method to change the focus tab order.</para>

      <para>The <methodname>child_focus</methodname>() method is called by
containers as the user moves around the window using keyboard shortcuts. The
value of <parameter>direction</parameter> indicates what kind of motion is
taking place: <literal>gtk.DIR_TAB_FORWARD</literal>,
<literal>gtk.DIR_TAB_BACKWARD</literal>, <literal>gtk.DIR_UP</literal>,
<literal>gtk.DIR_DOWN</literal>, <literal>gtk.DIR_LEFT</literal> or
<literal>gtk.DIR_RIGHT</literal></para>

      <para>This method emits the "focus" signal on the widget. Widgets
override the default handler for this signal in order to implement
appropriate focus behavior. The "focus" default handler for a widget should
return:</para>

      <itemizedlist>
	<listitem>
	  <simpara><literal>True</literal> if the focus is left on a
focusable location inside the widget, and</simpara>
	</listitem>
	<listitem>
	  <simpara><literal>False</literal> if the focus moved outside the
widget</simpara>
	</listitem>
      </itemizedlist>

      <para>If returning <literal>True</literal>, widgets normally call the
<link
linkend="method-gtkwidget--grab-focus"><methodname>grab_focus</methodname>()</link> 
method to place the focus accordingly; if returning
<literal>False</literal>, they don't modify the current focus
location.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-size-request">
      <title>gtk.Widget.set_size_request</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_size_request</methodname>
	  <methodparam><parameter
			 role="keyword">width</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">height</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">width</parameter>&nbsp;:</term>
	  <listitem><simpara>the width the widget should request, or -1 to
unset</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">height</parameter>&nbsp;:</term>
	  <listitem><simpara>the height the widget should request, or -1 to
unset</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_size_request</methodname>() method sets the
minimum size of a widget to the values specified by
<parameter>width</parameter> and <parameter>height</parameter>. You can use
this method to force a widget to be either larger or smaller than it
normally would be. In most cases, the <link
linkend="method-gtkwindow--set-default-size"><methodname>gtk.Window.set_default_size</methodname>()</link> 
is a better choice for toplevel windows than this method. Setting the
default size will still allow users to shrink the window but setting the
size request will force them to leave the window at least as large as the
size request. When dealing with window sizes, the <link
linkend="method-gtkwindow--set-geometry-hints"><methodname>gtk.Window.set_geometry_hints</methodname>()</link> 
can be a useful method as well.
</para>

      <note>
	<para>There is an inherent danger when 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 hard code a size that will always be correct.</para>
      </note>

      <para>The size request of a widget is the smallest size a widget can
accept while still functioning well and drawing itself correctly. However in
some strange cases a widget may be allocated less than its requested size,
and in many cases a widget may be allocated more space than it requested. If
the size request in a given direction is -1 (unset), then the "natural" size
request of the widget will be used instead. Widgets can't actually be
allocated a size less than 1 by 1, but you can pass 0,0 to this method to
mean "as small as possible".</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-size-request">
      <title>gtk.Widget.get_size_request</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_size_request</methodname>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a 2-tuple containing the requested width and
	  height</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_size_request</methodname>() method returns a
2-tuple containing the width and height of the widget that was explicitly
set for the widget using the <link
linkend="method-gtkwidget--set-size-request"><methodname>set_size_request()</methodname></link>. A
value of -1 for the width or height indicates that that dimension has not
been set explicitly and the natural requisition of the widget will be used
instead. See the <link
linkend="method-gtkwidget--set-size-request"><methodname>set_size_request()</methodname></link>
method for more information. To get the size a widget will actually use,
call the <link
linkend="method-gtkwidget--size-request"><methodname>size_request()</methodname></link>
instead of this method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-events">
      <title>gtk.Widget.set_events</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_events</methodname>
	  <methodparam><parameter
			 role="keyword">events</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">events</parameter>&nbsp;:</term>
	  <listitem><simpara>the event mask</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_events</methodname>() method sets the event
mask for a widget using the value specified by
<parameter>events</parameter>. 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 method must be called while a
widget is unrealized. Consider using the <link
linkend="method-gtkwidget--add-events"><methodname>add_events</methodname>()</link> 
method for widgets that are already realized, or if you want to preserve the
existing event mask. This method can't be used with
<literal>gtk.NO_WINDOW</literal> widgets since a widget must have a <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> to
receive events. To get events on <literal>gtk.NO_WINDOW</literal> widgets,
place them inside a <link
linkend="class-gtkeventbox"><classname>gtk.EventBox</classname></link> and
receive events on the event box.</para>

      <para>The value of <parameter>events</parameter> must be a combination
of the <xref linkend="gdk-event-mask-constants"
endterm="gdk-event-mask-constants-title"></xref>:</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--add-events">
      <title>gtk.Widget.add_events</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_events</methodname>
	  <methodparam><parameter
			 role="keyword">events</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">events</parameter>&nbsp;:</term>
	  <listitem><simpara>an event mask</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>add_events</methodname>() method adds the events
specified by <parameter>events</parameter> to the event mask for the widget.
See the <link
linkend="method-gtkwidget--set-events"><methodname>set_events</methodname>()</link> 
method for details.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-extension-events">
      <title>gtk.Widget.set_extension_events</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_extension_events</methodname>
	  <methodparam><parameter
			 role="keyword">mode</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">mode</parameter>&nbsp;:</term>
	  <listitem><simpara>the extension events to
receive</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_extension_events</methodname>() method sets
the extension events mask to the value specified by
<parameter>mode</parameter>. The value of mode must be one of the <xref
linkend="gdk-extension-mode-constants"
endterm="gdk-extension-mode-constants-title"></xref>.</para>

      <para>See the <link
linkend="method-gdkwindow--input-set-extension-events"><methodname>gtk.gdk.Window.input_set_extension_events</methodname>()</link> 
method for more information.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-extension-events">
      <title>gtk.Widget.get_extension_events</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_extension_events</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the extension events for the
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_extension_events</methodname>() method
returns the extension events the widget will receive. See the <link
linkend="method-gdkwindow--input-set-extension-events"><methodname>gtk.gdk.Window.input_set_extension_events</methodname>()</link> 
method for more information.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-toplevel">
      <title>gtk.Widget.get_toplevel</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_toplevel</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the topmost ancestor of the widget, or the
widget itself if there's no ancestor.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_toplevel</methodname>() method returns the
topmost widget in the container hierarchy that the widget is a part of. If
the widget has no parent widgets, it will be returned as the topmost
widget.</para>

      <para>Note the difference in behavior as compared to the <link
linkend="method-gtkwidget--get-ancestor"><methodname>get_ancestor</methodname>()</link> 
method that returns <literal>None</literal> if the widget isn't inside a
toplevel window, and if the window is inside a widget derived from <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link> that is
in turn inside the toplevel <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link>. While
the second case may seem unlikely, it actually happens when a <link
linkend="class-gtkplug"><classname>gtk.Plug</classname></link> is embedded
inside a <link
linkend="class-gtksocket"><classname>gtk.Socket</classname></link> within
the same application.</para>

      <para>To reliably find the toplevel <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link>, use the
<link
linkend="method-gtkwidget--get-toplevel"><methodname>get_toplevel</methodname>()</link> 
method and check if the <literal>gtk.TOPLEVEL</literal> flag is set on the
result.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-ancestor">
      <title>gtk.Widget.get_ancestor</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_ancestor</methodname>
	  <methodparam><parameter
			 role="keyword">widget_type</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">widget_type</parameter>&nbsp;:</term>
	  <listitem><simpara>a widget type</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the ancestor widget, or <literal>None</literal>
if not found</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_ancestor</methodname>() method returns the
first ancestor of the widget with the type specified by
<parameter>widget_type</parameter>. For example:</para>

      <programlisting>
  widget.get_ancestor(gtk.Box)
 </programlisting>

      <para>returns the first <link
linkend="class-gtkbox"><classname>gtk.Box</classname></link> that's an
ancestor of the widget. See the <link
linkend="method-gtkwidget--get-toplevel"><methodname>get_toplevel</methodname>()</link> 
method for information about checking for a toplevel <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-colormap">
      <title>gtk.Widget.get_colormap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_colormap</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the colormap used by the
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_colormap</methodname>() method returns the
colormap that will be used to render the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-visual">
      <title>gtk.Widget.get_visual</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_visual</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the visual for the widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_visual</methodname>() method returns the
visual that will be used to render the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-screen">
      <title>gtk.Widget.get_screen</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_screen</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the <link
	  linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
	  for the toplevel for this widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_screen</methodname>() method returns the
<link linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
from the toplevel window associated with the widget. This method can only be
called after the widget has been added to a widget hierarchy with a <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link> at the
top.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--has-screen">
      <title>gtk.Widget.has_screen</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>has_screen</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if there is a <link
	  linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
	  associated with the widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>has_screen</methodname>() method returns
<literal>True</literal> if a <link
linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link> is
associated with the widget. All toplevel widgets have an associated screen,
as do all widgets added into a hierarchy with a toplevel window.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-display">
      <title>gtk.Widget.get_display</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_display</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the <link
	  linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>
	  for the toplevel for this widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_display</methodname>() method returns the
<link
linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link> for
the toplevel window associated with the widget. This method can only be
called after the widget has been added to a widget hierarchy with a toplevel
<link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link></para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-root-window">
      <title>gtk.Widget.get_root_window</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_root_window</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the <link
	  linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
	  root window for the toplevel for this widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_root_window</methodname>() method returns
the root window containing the widget. This method should only be called
after the widget has been added to a widget hierarchy with a toplevel <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link></para>

      <para>The root window is useful for such purposes as creating a popup
<link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> associated with the window.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-settings">
      <title>gtk.Widget.get_settings</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_settings</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the associated <link
linkend="class-gtksettings"><classname>gtk.Settings</classname></link>
object</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_settings</methodname>() method returns the
settings object holding the settings (global property settings, RC file
information, etc) used for this widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-clipboard">
      <title>gtk.Widget.get_clipboard</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_clipboard</methodname>
	  <methodparam><parameter role="keyword">selection</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
	  role="keyword">selection</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
	  linkend="class-gdkatom"><classname>gtk.gdk.Atom</classname></link>
	  or string that identifies the clipboard to
	  use. <literal>gtk.gdk.SELECTION_CLIPBOARD</literal> gives the
	  default clipboard. Another common value is
	  <literal>gtk.gdk.SELECTION_PRIMARY</literal>, which gives the
	  primary X selection.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the appropriate <link
	  linkend="class-gtkclipboard"><classname>gtk.Clipboard</classname></link>
	  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.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_clipboard</methodname>() method returns the
<link
linkend="class-gtkclipboard"><classname>gtk.Clipboard</classname></link>
object for the selection specified by <parameter>selection</parameter>. The
widget must have a <link
linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>
associated with it, and so must be attached to a toplevel window.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-accessible">
      <title>gtk.Widget.get_accessible</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_accessible</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>an <link
	  linkend="class-atkobject"><classname>atk.Object</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_accessible</methodname>() method returns the
      Accessibility ToolKit (ATK) object for the widget as an <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-colormap">
      <title>gtk.Widget.set_colormap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_colormap</methodname>
	  <methodparam><parameter
			 role="keyword">colormap</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">colormap</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_colormap</methodname>() method sets the
<link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>
for the widget to the value specified by <parameter>colormap</parameter>.
Widget must not have been realized.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-events">
      <title>gtk.Widget.get_events</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_events</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the event mask for the
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_events</methodname>() method returns the
event mask for the widget that determines the events that the widget will
receive. See the <link
linkend="method-gtkwidget--set-events"><methodname>set_events</methodname>()</link> 
method for more detail about events.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-pointer">
      <title>gtk.Widget.get_pointer</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_pointer</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing the X and Y coordinates of
the mouse pointer</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_pointer</methodname>() method returns a
tuple containing the location of the mouse pointer in widget coordinates.
Widget coordinates are a bit odd; for historical reasons, they are defined
as:</para>

      <itemizedlist>
	<listitem>
	  <simpara>the widget <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
coordinates for widgets that are not <literal>gtk.NO_WINDOW</literal>
widgets, or</simpara>
	</listitem>
	<listitem>
	  <simpara>the coordinates relative to the widget allocation for
widgets that are <literal>gtk.NO_WINDOW</literal> widgets.</simpara>
	</listitem>
      </itemizedlist>

      <para></para>

    </refsect2>

    <refsect2 id="method-gtkwidget--is-ancestor">
      <title>gtk.Widget.is_ancestor</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>is_ancestor</methodname>
	  <methodparam><parameter
			 role="keyword">ancestor</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">ancestor</parameter>&nbsp;:</term>
	  <listitem><simpara>another <link
linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<parameter>ancestor</parameter> contains the widget as a child, grandchild,
great grandchild, etc.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>is_ancestor</methodname>() method returns
<literal>True</literal> if the widget is somewhere inside the hierarchy of
the widget specified by<parameter>ancestor</parameter></para>

    </refsect2>

    <refsect2 id="method-gtkwidget--translate-coordinates">
      <title>gtk.Widget.translate_coordinates</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>translate_coordinates</methodname>
	  <methodparam><parameter
			 role="keyword">dest_widget</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">src_x</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">src_y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">dest_widget</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">src_x</parameter>&nbsp;:</term>
	  <listitem><simpara>the X position relative to the
widget</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">src_y</parameter>&nbsp;:</term>
	  <listitem><simpara>the Y position relative to the
widget</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing the X and Y position
relative to <parameter>dest_widget</parameter></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>translate_coordinates</methodname>() method
returns a tuple containing the translation of the widget x and y coordinates
specified by <parameter>src_x</parameter> and <parameter>src_y</parameter>
respectively to coordinates relative to <parameter>dest_widget</parameter>.
In order to perform this operation, both widgets must be realized, and must
share a common toplevel.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--hide-on-delete">
      <title>gtk.Widget.hide_on_delete</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>hide_on_delete</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>hide_on_delete</methodname>() method is a
utility method that is intended to be connected to the "delete_event" signal
on a <link
linkend="class-gtkwindow"><classname>gtk.Window</classname></link>. The
method calls the <link
linkend="method-gtkwidget--hide"><methodname>hide</methodname>()</link>
method on the widget, then returns <literal>True</literal>. 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, <literal>PyGTK</literal> destroys windows when
"delete_event" is received.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-style">
      <title>gtk.Widget.set_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_style</methodname>
	  <methodparam><parameter
			 role="keyword">style</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">style</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link>, or
<literal>None</literal> to revert to the default style</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_style</methodname>() method sets the "style"
property to the value of <parameter>style</parameter>. The "style" property
contains the <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link> for the
widget. This method interacts badly with themes, because themes work by
replacing the <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--ensure-style">
      <title>gtk.Widget.ensure_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>ensure_style</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>ensure_style</methodname>() method makes sure
that the widget has a style. This method is useful if applied to an
unrealized widget. Usually, if you want the style, the widget is realized,
and guaranteed to have a style.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-style">
      <title>gtk.Widget.get_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_style</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the widget's <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_style</methodname>() method returns the
value of the "style" property.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--modify-style">
      <title>gtk.Widget.modify_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>modify_style</methodname>
	  <methodparam><parameter
			 role="keyword">style</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">style</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gtkrcstyle"><classname>gtk.RcStyle</classname></link> holding
the style modifications</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>modify_style</methodname>() method modifies the
style values on the widget using the values in <parameter>style</parameter>.
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 the <link
linkend="method-gtkwidget--set-style"><methodname>set_style</methodname>()</link> 
method. The <link
linkend="class-gtkrcstyle"><classname>gtk.RcStyle</classname></link> object
is designed so each attribute can either be set or unset, so it is possible,
using this method, to modify some style values and leave the others
unchanged.</para>

      <para>Note that modifications made with this method are not cumulative
with previous calls to the <methodname>modify_style</methodname>() method or
with such methods as the <link
linkend="method-gtkwidget--modify-fg"><methodname>modify_fg</methodname>()</link> 
method. If you wish to retain previous values, you must first call the <link
linkend="method-gtkwidget--get-modifier-style"><methodname>get_modifier_style</methodname>()</link> 
method, make your modifications to the returned style, then call the
<methodname>modify_style</methodname>() method with that style. On the other
hand, if you first call the <methodname>modify_style</methodname>() method,
subsequent calls to such methods as the <link
linkend="method-gtkwidget--modify-fg"><methodname>modify_fg</methodname>()</link> 
method will have a cumulative effect with the initial modifications.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-modifier-style">
      <title>gtk.Widget.get_modifier_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_modifier_style</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the modifier style for the widget. This <link
linkend="class-gtkrcstyle"><classname>gtk.RcStyle</classname></link> is
owned by the widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_modifier_style</methodname>() method returns
the current modifier style for the widget as set by the <link
linkend="method-gtkwidget--modify-style"><methodname>modify_style</methodname>()</link> 
method. If no style was previously set, a new <link
linkend="class-gtkrcstyle"><classname>gtk.RcStyle</classname></link> object
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 the <link
linkend="method-gtkwidget--modify-style"><methodname>modify_style</methodname>()</link> 
method, passing in the returned rc style, to make sure that your changes
take effect.</para>

      <caution>
	<para>Passing the style back to the <link
linkend="method-gtkwidget--modify-style"><methodname>modify_style</methodname>()</link> 
method will normally end up destroying it, because the <link
linkend="method-gtkwidget--modify-style"><methodname>modify_style</methodname>()</link> 
method copies the passed-in style and sets the copy as the new modifier
style, thus dropping any reference to the old modifier style.</para>
      </caution>

    </refsect2>

    <refsect2 id="method-gtkwidget--modify-fg">
      <title>gtk.Widget.modify_fg</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>modify_fg</methodname>
	  <methodparam><parameter
			 role="keyword">state</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">color</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">state</parameter>&nbsp;:</term>
	  <listitem><simpara>a widget state.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">color</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link> to
assign.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>modify_fg</methodname>() method sets the
foreground color to the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link>
specified by <parameter>color</parameter> for the widget in the specified
<parameter>state</parameter>. All other style values are left untouched. The
value of state must be one of the <xref
linkend="gtk-state-type-constants" endterm="gtk-state-type-constants-title"></xref>.</para>

    </refsect2>

  <refsect2 id="method-gtkwidget--modify-bg">
      <title>gtk.Widget.modify_bg</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>modify_bg</methodname>
	  <methodparam><parameter
			 role="keyword">state</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">color</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">state</parameter>&nbsp;:</term>
	  <listitem><simpara>a widget state.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">color</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link> to
assign</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>modify_bg</methodname>() method sets the
background color to the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link>
specified by <parameter>color</parameter> for the widget in the specified
<parameter>state</parameter>. All other style values are left untouched. See
<link
linkend="method-gtkwidget--modify-fg"><methodname>modify_fg</methodname>()</link> 
method for detail on the possible values of
<parameter>state</parameter>.</para>

      <note>
        <para><methodname>modify_bg</methodname>() only affects widgets that
have an associated <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>. Widgets
that do not have an associated window include <link
linkend="class-gtkarrow"><classname>gtk.Arrow</classname></link>, <link
linkend="class-gtkbin"><classname>gtk.Bin</classname></link>, <link
linkend="class-gtkbox"><classname>gtk.Box</classname></link>, <link
linkend="class-gtkbutton"><classname>gtk.Button</classname></link>, <link
linkend="class-gtkcheckbutton"><classname>gtk.CheckButton</classname></link>,
<link linkend="class-gtkfixed"><classname>gtk.Fixed</classname></link>,
<link linkend="class-gtkimage"><classname>gtk.Image</classname></link>,
<link linkend="class-gtklabel"><classname>gtk.Label</classname></link>,
<link
linkend="class-gtkmenuitem"><classname>gtk.MenuItem</classname></link>,
<link
linkend="class-gtknotebook"><classname>gtk.Notebook</classname></link>,
<link linkend="class-gtkpaned"><classname>gtk.Paned</classname></link>,
<link
linkend="class-gtkradiobutton"><classname>gtk.RadioButton</classname></link>,
<link linkend="class-gtkrange"><classname>gtk.Range</classname></link>,
<link
linkend="class-gtkscrolledwindow"><classname>gtk.ScrolledWindow</classname></link>,
<link
linkend="class-gtkseparator"><classname>gtk.Separator</classname></link>,
<link linkend="class-gtktable"><classname>gtk.Table</classname></link>,
<link linkend="class-gtktoolbar"><classname>gtk.Toolbar</classname></link>,
<link
linkend="class-gtkaspectframe"><classname>gtk.AspectFrame</classname></link>,
<link linkend="class-gtkframe"><classname>gtk.Frame</classname></link>,
<link linkend="class-gtkvbox"><classname>gtk.VBox</classname></link>, <link
linkend="class-gtkhbox"><classname>gtk.HBox</classname></link>, <link
linkend="class-gtkvseparator"><classname>gtk.VSeparator</classname></link>,
<link
linkend="class-gtkhseparator"><classname>gtk.HSeparator</classname></link>. These
widgets can be added to a <link
linkend="class-gtkeventbox"><classname>gtk.EventBox</classname></link> to
overcome this limitation.</para>
      </note>

    </refsect2>

    <refsect2 id="method-gtkwidget--modify-text">
      <title>gtk.Widget.modify_text</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>modify_text</methodname>
	  <methodparam><parameter
			 role="keyword">state</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">color</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">state</parameter>&nbsp;:</term>
	  <listitem><simpara>a widget state.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">color</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link> to
assign.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>modify_text</methodname>() method sets the text
color to the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link>
specified by <parameter>color</parameter> for the widget in the specified
<parameter>state</parameter>. All other style values are left untouched. The
text color is the foreground color used along with the base color (see the
<link
linkend="method-gtkwidget--modify-base"><methodname>modify_base</methodname>()</link> 
method) for widgets such as <link
linkend="class-gtkentry"><classname>gtk.Entry</classname></link> and <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>. See
the <link
linkend="method-gtkwidget--modify-fg"><methodname>modify_fg</methodname>()</link> 
method for detail on the possible values of
<parameter>state</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--modify-base">
      <title>gtk.Widget.modify_base</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>modify_base</methodname>
	  <methodparam><parameter
			 role="keyword">state</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">color</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">state</parameter>&nbsp;:</term>
	  <listitem><simpara>a widget state.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">color</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link> to
assign</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>modify_base</methodname>() method sets the base
color to the <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link>
specified by <parameter>color</parameter> for the widget in the specified
<parameter>state</parameter>. All other style values are left untouched. The
base color is the background color used along with the text color (see the
<link
linkend="method-gtkwidget--modify-text"><methodname>modify_text</methodname>()</link> 
method) for widgets such as <link
linkend="class-gtkentry"><classname>gtk.Entry</classname></link> and <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>. See
<link
linkend="method-gtkwidget--modify-fg"><methodname>modify_fg</methodname>()</link> 
method for detail on the possible values of
<parameter>state</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--modify-font">
      <title>gtk.Widget.modify_font</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>modify_font</methodname>
	  <methodparam><parameter
			 role="keyword">font_desc</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">font_desc</parameter>&nbsp;:</term>
	  <listitem><simpara>a font description to use</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>modify_font</methodname>() method sets the font
to use to the value specified by <parameter>font_desc</parameter> for the
widget. All other style values are left untouched.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--create-pango-context">
      <title>gtk.Widget.create_pango_context</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>create_pango_context</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the new <link
linkend="class-pangocontext"><classname>pango.Context</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>create_pango_context</methodname>() method
creates a new <link
linkend="class-pangocontext"><classname>pango.Context</classname></link>
with the appropriate colormap, font description, and base direction for
drawing text for this widget. See the <link
linkend="method-gtkwidget--get-pango-context"><methodname>get_pango_context</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-pango-context">
      <title>gtk.Widget.get_pango_context</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_pango_context</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-pangocontext"><classname>pango.Context</classname></link> for
the widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_pango_context</methodname>() method returns
the <link
linkend="class-pangocontext"><classname>pango.Context</classname></link>
with the appropriate colormap, font description and base direction for this
widget. Unlike the context returned by the <link
linkend="method-gtkwidget--create-pango-context"><methodname>create_pango_context</methodname>()</link> 
method, this context is owned by the widget (it can be used as long as
widget exists), and will be updated to match any changes to the widget's
attributes.</para>

      <para>If you create and keep a <link
linkend="class-pangolayout"><classname>pango.Layout</classname></link> using
this context, you must deal with changes to the context by calling the <link
linkend="method-pangolayout--context-changed"><methodname>pango.Layout.context_changed</methodname>()</link> 
method on the layout in response to the "style-set" and "direction-set"
signals for the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--create-pango-layout">
      <title>gtk.Widget.create_pango_layout</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>create_pango_layout</methodname>
	  <methodparam><parameter
			 role="keyword">text</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">text</parameter>&nbsp;:</term>
	  <listitem><simpara>the text to set on the
layout</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the new <link
linkend="class-pangolayout"><classname>pango.Layout</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>create_pango_layout</methodname>() method
creates a new <link
linkend="class-pangolayout"><classname>pango.Layout</classname></link> with
the appropriate colormap, font description, and base direction for drawing
the specified <parameter>text</parameter> for this widget. If you keep a
<link linkend="class-pangolayout"><classname>pango.Layout</classname></link>
created by this method, you must call <link
linkend="method-pangolayout--context-changed"><methodname>pango.Layout.context_changed()</methodname></link> 
in response to the "style-set" and "direction-set" signals for the widget to
notify the layout of changes to the base direction or font of this
widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--render-icon">
      <title>gtk.Widget.render_icon</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>render_icon</methodname>
	  <methodparam><parameter
			 role="keyword">stock_id</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">size</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">detail</parameter><initializer>None</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">stock_id</parameter>&nbsp;:</term>
	  <listitem><simpara>a stock ID</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">size</parameter>&nbsp;:</term>
	  <listitem><simpara>a stock size</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">detail</parameter>&nbsp;:</term>
	  <listitem><simpara>the render detail to pass to the theme engine or
<literal>None</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a new pixbuf, or <literal>None</literal> if the
stock ID wasn't known</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>render_icon</methodname>() method is a
convenience method that uses the theme engine and RC file settings for the
widget to look up the stock icon specified by
<parameter>stock_id</parameter> of the specified <parameter>size</parameter>
and to render it to a pixbuf that is returned.
<parameter>stock_id</parameter> should be a stock icon ID such as
<literal>gtk.STOCK_OPEN</literal> or <literal>gtk.STOCK_OK</literal>.
<parameter>size</parameter> should be one of the <xref
linkend="gtk-icon-size-constants"
endterm="gtk-icon-size-constants-title"></xref>:</para>

      <para><parameter>detail</parameter> is an optional string that
identifies the widget or code doing the rendering, so that theme engines can
special-case rendering for that widget or code.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-composite-name">
      <title>gtk.Widget.set_composite_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_composite_name</methodname>
	  <methodparam><parameter
			 role="keyword">name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">name</parameter>&nbsp;:</term>
	  <listitem><simpara>the name to set.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_composite_name</methodname>() method sets a
widgets composite name to the value specified by
<parameter>name</parameter>. The widget must be a composite child of its
parent</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-composite-name">
      <title>gtk.Widget.get_composite_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_composite_name</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the composite name of the widget or
<literal>None</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_composite_name</methodname>() method returns
the composite name of a widget or <literal>None</literal> if the widget is
not a composite.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--reset-rc-styles">
      <title>gtk.Widget.reset_rc_styles</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>reset_rc_styles</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>The <methodname>reset_rc_styles</methodname>() method resets the
styles of widget and all descendants to the correct values for the currently
loaded RC file settings. This method is not useful for applications.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--style-get-property">
      <title>gtk.Widget.style_get_property</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>style_get_property</methodname>
	  <methodparam><parameter role="keyword">property_name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">property_name</parameter>&nbsp;:</term>
	  <listitem><simpara>the name of a style property</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the property value</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>style_get_property</methodname>() method returns
the value of a style property specified by
<parameter>property_name</parameter>.</para>

    </refsect2>

<!-- NOT IMPLEMENTED
  <refsect2 id="method-gtkwidget- -style-get">
    <title>gtk.Widget.style_get</title>

<programlisting><methodsynopsis language="python">
    <methodname>style_get</methodname>
    <methodparam><parameter role="keyword">first_property_name</parameter></methodparam>
  </methodsynopsis></programlisting>
  <variablelist>
    <varlistentry>
      <term><parameter role="keyword">first_property_name</parameter>&nbsp;:</term>
      <listitem><simpara>the name of the first property to get</simpara></listitem>
    </varlistentry>
  </variablelist>
<para>
Gets the values of a multiple style properties of the widget.
</para>  </refsect2>
END NOT IMPLEMENTED -->


    <refsect2 id="method-gtkwidget--set-direction">
      <title>gtk.Widget.set_direction</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_direction</methodname>
	  <methodparam><parameter
			 role="keyword">dir</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">dir</parameter>&nbsp;:</term>
	  <listitem><simpara>the new direction</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_direction</methodname>() method sets the
"direction" property to the value specified by <parameter>dir</parameter>.
The "direction" property determines the reading direction of the widget that
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 to handle localization for languages with right-to-left
reading directions. Generally, applications will use the default reading
direction, except for containers that are arranged in an order that is
explicitly visual rather than logical (such as buttons for text
justification). The values of <parameter>dir</parameter> must be one of the
<xref linkend="gtk-text-direction-constants"
endterm="gtk-text-direction-constants-title"></xref>.</para>

      <para>If the direction is set to <literal>gtk.TEXT_DIR_NONE</literal>,
then the value set by the <link
linkend="function-gtk--widget-set-default-direction"><function>gtk.widget.set_default_direction</function>()</link>
function will be used.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-direction">
      <title>gtk.Widget.get_direction</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_direction</methodname>
	  <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the reading direction for the
widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_direction</methodname>() method returns the
reading direction for the widget. See the <link
linkend="method-gtkwidget--set-direction"><methodname>set_direction</methodname>()</link> 
method for more information.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--shape-combine-mask">
      <title>gtk.Widget.shape_combine_mask</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>shape_combine_mask</methodname>
	  <methodparam><parameter
			 role="keyword">shape_mask</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">offset_x</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">offset_y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">shape_mask</parameter>&nbsp;:</term>
	  <listitem><simpara>the shape to be added.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">offset_x</parameter>&nbsp;:</term>
	  <listitem><simpara>the X position of shape mask with respect to
the widget's <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">offset_y</parameter>&nbsp;:</term>
	  <listitem><simpara>Y position of shape mask with respect to the
widget's <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>shape_combine_mask</methodname>() method sets a
shape for the widget's <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> using
the mask specified by <parameter>shape_mask</parameter> at the location
specified by <parameter>offset_x</parameter> and
<parameter>offset_y</parameter>. This allows for transparent windows etc.,
see the <link
linkend="method-gdkwindow--shape-combine-mask"><methodname>gtk.gdk.Window.shape_combine_mask</methodname>()</link> 
method for more information.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--reset-shapes">
      <title>gtk.Widget.reset_shapes</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>reset_shapes</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <para>The <methodname>reset_shapes</methodname>() method recursively
resets the shapes of the widget and its descendants.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--path">
      <title>gtk.Widget.path</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>path</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the widget's path</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>path</methodname>() method returns the full path
to the widget. The path is simply the name of a widget and all its parents
in the container hierarchy, separated by periods. The name of a widget comes
from the <link
linkend="method-gtkwidget--get-name"><methodname>get_name</methodname>()</link> 
method. 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 the <link
linkend="method-gtkwidget--set-name"><methodname>set_name</methodname>()</link> 
method.  By setting the name of a widget, you allow users or theme authors
to apply styles to that specific widget in their gtkrc file.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--class-path">
      <title>gtk.Widget.class_path</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>class_path</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the widget's class path</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>class_path</methodname>() method is similar to
the <link
linkend="method-gtkwidget--path"><methodname>path</methodname>()</link>
method, but does not use a custom name set with the <link
linkend="method-gtkwidget--set-name"><methodname>set_name</methodname>()</link> 
(e.g. always uses "GtkButton" even if a custom name is available).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--list-mnemonic-labels">
      <title>gtk.Widget.list_mnemonic_labels</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>list_mnemonic_labels</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the list of mnemonic labels</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>list_mnemonic_labels</methodname>() method
returns a list of the widgets, normally labels, for which this widget is a
the target of a mnemonic (see for example, the <link
linkend="method-gtklabel--set-mnemonic-widget"><function>gtk.Label.set_mnemonic_widget()</function></link>
method).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--add-mnemonic-label">
      <title>gtk.Widget.add_mnemonic_label</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_mnemonic_label</methodname>
	  <methodparam><parameter>label</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter>label</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
	  linkend="class-gtkwidget"><classname>gtk.Widget</classname></link>
	  that acts as a mnemonic label.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>add_mnemonic_label</methodname>() method adds
the widget specified by <parameter>label</parameter> to the list of mnemonic
labels for the widget.(See the <link
linkend="method-gtkwidget--list-mnemonic-labels"><methodname>list_mnemonic_labels()</methodname></link>
method for more detail).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--remove-mnemonic-label">
      <title>gtk.Widget.remove_mnemonic_label</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>remove_mnemonic_label</methodname>
	  <methodparam><parameter>label</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter>label</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
	  linkend="class-gtkwidget"><classname>gtk.Widget</classname></link>
	  that was previously set as a mnemonic label.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>remove_mnemonic_label</methodname>() method
removes the widget specified by <parameter>label</parameter> from the list
of mnemonic labels for the widget. (See the <link
linkend="method-gtkwidget--list-mnemonic-labels"><methodname>list_mnemonic_labels()</methodname></link>
method). <parameter>label</parameter> must have previously been added to the
list with the <link
linkend="method-gtkwidget--add-mnemonic-label"><methodname>add_mnemonic_label()</methodname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--menu-get-for-attach-widget">
      <title>gtk.Widget.menu_get_for_attach_widget</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>menu_get_for_attach_widget</methodname>
	  <methodparam><parameter role="keyword"></parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a list of menus attached to this widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>menu_get_for_attach_widget</methodname>() method
returns a list of the menus that are attached to this widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-activate-signal">
      <title>gtk.Widget.set_activate_signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_activate_signal</methodname>
	  <methodparam><parameter role="keyword">signal_name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>signal_name</emphasis>&nbsp;:</term>
	  <listitem><simpara>a signal name</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.8 and above.</para>
      </note>

      <para>The <methodname>set_activate_signal</methodname>() method sets
the signal specified by <parameter>signal_name</parameter> as the signal to
be emitted when the widget is activated for example by a call to the <link
linkend="method-gtkwidget--activate"><methodname>activate</methodname>()</link>
method.</para>

    </refsect2>

     <refsect2 id="method-gtkwidget--set-set-scroll-adjustments-signal">
      <title>gtk.Widget.set_set_scroll_adjustments_signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_set_scroll_adjustments_signal</methodname>
	  <methodparam><parameter role="keyword">signal_name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>signal_name</emphasis>&nbsp;:</term>
	  <listitem><simpara>a signal name</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.8 and above.</para>
      </note>

      <para>The <methodname>set_scroll_adjustments_signal</methodname>()
method sets the signal specified by <parameter>signal_name</parameter> as
the signal to be emitted when the widget has its scroll adjustments set for
example by a call to the <link
linkend="method-gtkwidget--set-scroll-adjustments"><methodname>set_scroll_adjustments</methodname>()</link>
method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-action">
      <title>gtk.Widget.get_action</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_action</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the <link
          linkend="class-gtkaction"><classname>gtk.Action</classname></link>
          that a widget is a proxy for, or <literal>None</literal>, if it is
          not attached to an action.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_action</methodname>() method returns the
      <link
      linkend="class-gtkaction"><classname>gtk.Action</classname></link>
      that <parameter>widget</parameter> is a proxy for.  See also the <link
      linkend="method-gtkaction--get-proxies"><methodname>gtk.Action.get_proxies()</methodname></link>
      method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-set-track-motion">
      <title>gtk.Widget.drag_dest_set_track_motion</title>

      <programlisting><methodsynopsis language="python">
        <methodname>drag_dest_set_track_motion</methodname>
        <methodparam><parameter role="keyword">track_motion</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">track_motion</parameter>&nbsp;:</term>
          <listitem><simpara>if <literal>True</literal> accept all
          targets</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>drag_dest_set_track_motion</methodname>() method
      tells the widget to emit "drag-motion" and "drag-leave" events
      regardless of the targets and the
      <literal>gtk.DEST_DEFAULT_MOTION</literal> flag.</para>
      
      <para>This may be used when a widget wants to do generic actions
      regardless of the targets that the source offers.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--drag-dest-get-track-motion">
      <title>gtk.Widget.drag_dest_get_track_motion</title>

      <programlisting><methodsynopsis language="python">
        <methodname>drag_dest_get_track_motion</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget always
          emits "drag-motion events"</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>drag_dest_get_track_motion</methodname>() method
      returns <literal>True</literal> if the widget has been configured to
      always emit "drag-motion" signals.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--is-composited">
      <title>gtk.Widget.is_composited</title>

      <programlisting><methodsynopsis language="python">
        <methodname>is_composited</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget can rely
          on its alpha channel being drawn correctly.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>is_composited</methodname>() method returns
      <literal>True</literal> if the widget can rely on having its alpha
      channel drawn correctly. On X11 this function returns whether a
      compositing manager is running for the widget's screen</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--input-shape-combine-mask">
      <title>gtk.Widget.input_shape_combine_mask</title>

      <programlisting><methodsynopsis language="python">
        <methodname>input_shape_combine_mask</methodname>
        <methodparam><parameter role="keyword">shape_mask</parameter></methodparam>
        <methodparam><parameter role="keyword">offset_x</parameter></methodparam>
        <methodparam><parameter role="keyword">offset_y</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">shape_mask</parameter>&nbsp;:</term>
          <listitem><simpara>shape to be added, or <literal>None</literal>
          to remove an existing shape.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">offset_x</parameter>&nbsp;:</term>
          <listitem><simpara>X position of <parameter>shape_mask</parameter>
          with respect to the widget's window.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">offset_y</parameter>&nbsp;:</term>
          <listitem><simpara>Y position of <parameter>shape_mask</parameter>
          with respect to the widget's window.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>input_shape_combine_mask</methodname>() method
      sets an input shape for this widget's <link
      linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>.
      This allows for windows that react to a mouse click in a
      nonrectangular region, see the <link
      linkend="method-gdkwindow--input-shape-combine-mask"><methodname>gtk.gdk.Window.input_shape_combine_mask</methodname>()</link>
      method for more information.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-activate-signal">
      <title>gtk.Widget.get_activate_signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_activate_signal</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a signal name</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_activate_signal</methodname>() method
      returns the name of the signal that is emitted when the widget is
      activated for example by a call to the <link
      linkend="method-gtkwidget--activate"><methodname>activate</methodname>()</link>
      method. See the <link
      linkend="method-gtkwidget--set-activate-signal"><methodname>set_activate_signal</methodname>()</link>
      method for more information.</para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--error-bell">
        <title>gtk.Widget.error_bell</title>

        <programlisting><methodsynopsis language="python">
            <methodname>error_bell</methodname>
            <methodparam></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>

                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>error_bell</methodname>() method
            notifies the user about an input-related error on this widget. If the
            GtkSettings:gtk-error-bell setting is <literal>True</literal>, it calls
            <link linkend="method-gdkwindow--beep"><methodname>gtk.gdk.Window.beep</methodname>()</link>,
            otherwise it does nothing. Note that the effect of
            <link linkend="method-gdkwindow--beep"><methodname>gtk.gdk.Window.beep</methodname>()</link>
            can be configured in many ways, depending on the windowing backend and
            the desktop environment or window manager that is used.
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--get-has-tooltip">
        <title>gtk.Widget.get_has_tooltip</title>

        <programlisting><methodsynopsis language="python">
            <methodname>get_has_tooltip</methodname>
            <methodparam></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><emphasis>Returns</emphasis>&nbsp;:</term>
                        <listitem><simpara>the current value of has-tooltip on widget.</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>get_has_tooltip</methodname>() method
            returns the current value of the has-tooltip property.
            See <link linkend="properties-gtkwidget">GtkWidget:has-tooltip</link>
            for more information.
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--get-tooltip-markup">
        <title>gtk.Widget.get_tooltip_markup</title>

        <programlisting><methodsynopsis language="python">
            <methodname>get_tooltip_markup</methodname>
            <methodparam></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><emphasis>Returns</emphasis>&nbsp;:</term>
                        <listitem><simpara>the tooltip text, or
                        <literal>None</literal>.</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>get_tooltip_markup</methodname>() method
            gets the contents of the tooltip for widget.
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--get-tooltip-text">
        <title>gtk.Widget.get_tooltip_text</title>

        <programlisting><methodsynopsis language="python">
            <methodname>get_tooltip_text</methodname>
            <methodparam></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><emphasis>Returns</emphasis>&nbsp;:</term>
                        <listitem><simpara>the tooltip text, or
                        <literal>None</literal>.</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>get_tooltip_text</methodname>() method
            gets the contents of the tooltip for widget.
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--get-tooltip-window">
        <title>gtk.Widget.get_tooltip_window</title>

        <programlisting><methodsynopsis language="python">
            <methodname>get_tooltip_window</methodname>
            <methodparam></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><emphasis>Returns</emphasis>&nbsp;:</term>
                        <listitem><simpara>the <link linkend="class-gtkwindow"><classname>gtk.Window</classname>
                        </link> of the current tooltip.</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>get_tooltip_window</methodname>() method
            returns the <link linkend="class-gtkwindow"><classname>gtk.Window</classname></link>
            of the current tooltip. This can be the
            <link linkend="class-gtkwindow"><classname>gtk.Window</classname></link>
            created by default, or the custom tooltip window set using
            <link linkend="method-gtkwidget--set-tooltip-window"><methodname>gtk.Widget.set_tooltip_window</methodname></link>().
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--keynav-failed">
        <title>gtk.Widget.keynav_failed</title>

        <programlisting><methodsynopsis language="python">
            <methodname>keynav_failed</methodname>
            <methodparam><parameter role="keyword">direction</parameter></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><parameter role="keyword">direction</parameter>&nbsp;:</term>
                        <listitem><simpara>direction of focus movement.</simpara></listitem>
                    </varlistentry>
                    <varlistentry>
                        <term><emphasis>Returns</emphasis>&nbsp;:</term>
                        <listitem><simpara><literal>True</literal> if stopping keyboard
                        navigation is fine, <literal>False</literal>  if the emitting
                        widget should try to handle the keyboard navigation
                        attempt in its parent container(s).</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>keynav_failed</methodname>() should be called whenever keyboard
            navigation within a single widget hits a boundary. The function emits
            the GtkWidget::keynav-changed signal on the widget and its return value
            should be interpreted in a way similar to the return value of
            <methodname><link linkend="method-gtkwidget--child-focus">gtk.Widget.child_focus</link></methodname>():
        </para>
        <para>
            When <literal>True</literal> is returned, stay in the widget, the failed
            keyboard navigation is Ok and/or there is nowhere we can/should move the focus to.
        </para>
        <para>
            When <literal>False</literal> is returned, the caller should continue with
            keyboard navigation outside the widget, e.g. by calling gtk_widget_child_focus()
            on the widget's toplevel.
        </para>
        <para>
            The default ::keynav-failed handler returns <literal>True</literal> for
            gtk.DIR_TAB_FORWARD and gtk.DIR_TAB_BACKWARD. For the other values of
            GtkDirectionType, it looks at the GtkSettings:gtk-keynav-cursor-only"
            setting and returns <literal>False</literal> if the setting is <literal>True</literal>
            This way the entire user interface becomes cursor-navigatable on input
            devices such as mobile phones which only have cursor keys but no tab key.
        </para>
        <para>
            Whenever the default handler returns <literal>True</literal>, it also
            calls <methodname><link linkend="method-gtkwidget--error-bell">gtk.Widget.error_bell</link></methodname>()
            to notify the user of the failed keyboard navigation.
        </para>
        <para>
            A use case for providing an own implementation of ::keynav-failed (either
            by connecting to it or by overriding it) would be a row of GtkEntry
            widgets where the user should be able to navigate the entire row with
            the cursor keys, as e.g. known from user interfaces that require entering license keys.
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--modify-cursor">
        <title>gtk.Widget.modify_cursor</title>

        <programlisting><methodsynopsis language="python">
            <methodname>modify_cursor</methodname>
            <methodparam><parameter role="keyword">primary</parameter></methodparam>
            <methodparam><parameter role="keyword">secondary</parameter></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><parameter role="keyword">primary</parameter>&nbsp;:</term>
                        <listitem><simpara>the color to use for primary cursor (does not
                        need to be allocated), or <literal>None</literal> to undo the effect
                        of previous calls to of
                        <methodname><link linkend="method-gtkwidget--modify-cursor">gtk.Widget.modify_cursor</link>
                        </methodname>().</simpara></listitem>
                    </varlistentry>
                    <varlistentry>
                        <term><parameter role="keyword">secondary</parameter>&nbsp;:</term>
                        <listitem><simpara>the color to use for secondary cursor (does not
                        need to be allocated), or <literal>None</literal> to undo the effect
                        of previous calls to of
                        <methodname><link linkend="method-gtkwidget--modify-cursor">gtk.Widget.modify_cursor</link>
                        </methodname>().</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>modify_cursor</methodname>() sets the cursor color to
            use in a widget, overriding the GtkWidget:cursor-color and
            GtkWidget:secondary-cursor-color style properties. All other style
            values are left untouched. See also <methodname>
            <link linkend="method-gtkwidget--modify-style">gtk.Widget.modify_style</link></methodname>().
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--set-has-tooltip">
        <title>gtk.Widget.set_has_tooltip</title>

        <programlisting><methodsynopsis language="python">
            <methodname>set_has_tooltip</methodname>
            <methodparam><parameter role="keyword">has_tooltip</parameter></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><parameter role="keyword">has_tooltip</parameter>&nbsp;:</term>
                        <listitem><simpara>whether or not widget has a tooltip.</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>set_has_tooltip</methodname>() sets the has-tooltip
            property on widget to <parameter>has_tooltip</parameter>. See
            GtkWidget:has-tooltip for more information.
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--set-tooltip-markup">
        <title>gtk.Widget.set_tooltip_markup</title>

        <programlisting><methodsynopsis language="python">
            <methodname>set_tooltip_markup</methodname>
            <methodparam><parameter role="keyword">markup</parameter></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><parameter role="keyword">markup</parameter>&nbsp;:</term>
                        <listitem><simpara>the contents of the tooltip for widget, or
                        <literal>None</literal></simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>set_tooltip_markup</methodname>() sets markup as the
            contents of the tooltip, which is marked up with the Pango text markup language.
            This function will take care of setting GtkWidget:has-tooltip to
            <literal>True</literal> and of the default handler for the GtkWidget::query-tooltip signal.
            See also the GtkWidget:tooltip-markup property and
            <methodname><link linkend="method-gtktooltip--set-markup">gtk.Tooltip.set_markup</link></methodname>().
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--set-tooltip-text">
        <title>gtk.Widget.set_tooltip_text</title>

        <programlisting><methodsynopsis language="python">
            <methodname>set_tooltip_text</methodname>
            <methodparam><parameter role="keyword">text</parameter></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><parameter role="keyword">text</parameter>&nbsp;:</term>
                        <listitem><simpara>the contents of the tooltip for widget, or
                        <literal>None</literal></simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>set_tooltip_text</methodname>() sets <parameter>text</parameter>
            as the contents of the tooltip. This function will take care of setting
            GtkWidget:has-tooltip to <literal>True</literal> and of the default handler
            for the GtkWidget::query-tooltip signal. See also the GtkWidget:tooltip-text
            property and <methodname><link linkend="method-gtktooltip--set-text">gtk.Tooltip.set_text</link></methodname>().
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--set-tooltip-window">
        <title>gtk.Widget.set_tooltip_window</title>

        <programlisting><methodsynopsis language="python">
            <methodname>set_tooltip_window</methodname>
            <methodparam><parameter role="keyword">custom_window</parameter></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><parameter role="keyword">custom_window</parameter>&nbsp;:</term>
                        <listitem><simpara>a
                        <link linkend="class-gtkwindow"><classname>gtk.Window</classname></link>,
                        or <literal>None</literal></simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>set_tooltip_window</methodname>() replaces the
            default, usually yellow, window used for displaying tooltips with
            <parameter>custom_window</parameter>. GTK+ will take care of showing
            and hiding custom_window at the right moment, to behave likewise as
            the default tooltip window. If custom_window is <literal>None</literal>,
            the default tooltip window will be used.            
        </para>
	
	<note>
	  You have to connect to the <link linkend="signal-gtkwidget--query-tooltip">"query-tooltip"</link>
	  signal a callback to decide if the custom_window should be shown or not, return <literal>True</literal>
	  if you want to show the custom_window, False otherwise.
	  You have also to set the property "has-tooltip" to <literal>True</literal> or the "query-tooltip"
	  signal will not be emitted.
	</note>
	

    </refsect2>
    
    <refsect2 id="method-gtkwidget--trigger-tooltip-query">
        <title>gtk.Widget.trigger_tooltip_query</title>

        <programlisting><methodsynopsis language="python">
            <methodname>trigger_tooltip_query</methodname>
            <methodparam></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.12 and above.</para>
        </note>

        <para>
            The <methodname>trigger_tooltip_query</methodname>() triggers a tooltip
            query on the display where the toplevel of widget is located. See
            <methodname><link linkend="function-gtk--tooltip-trigger-tooltip-query">gtk.tooltip_trigger_tooltip_query</link>
            </methodname>() for more information.
        </para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--get-snapshot">
        <title>gtk.Widget.get_snapshot</title>

        <programlisting><methodsynopsis language="python">
            <methodname>get_snapshot</methodname>
            <methodparam><parameter role="keyword">clip_rect</parameter></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><parameter role="keyword">clip_rect</parameter>&nbsp;:</term>
                        <listitem><simpara>a <link linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>
			or <literal>None</literal>.</simpara></listitem>
                    </varlistentry>
                    <varlistentry>
                        <term><emphasis>Returns</emphasis>&nbsp;:</term>
                        <listitem><simpara>The <link linkend="class-gdkpixmap">
			<classname>gtk.gdk.PixmapWindow</classname></link>
			snapshot of the widget.</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.14 and above.</para>
        </note>

        <para>
            The <methodname>get_snapshot</methodname>() method
            creates a <link linkend="class-gdkpixmap"><classname>gtk.gdk.Pixmap</classname></link>
            of the contents of the widget and its children.
	</para>
	<para>
	    Works even if the widget is obscured. The depth and visual of the resulting pixmap
	    is dependent on the widget being snapshot and likely differs from those of a
	    target widget displaying the pixmap. The function
	    <link linkend="method-gdkpixbuf--get-from-drawable"><methodname>gtk.gdk.Pixbuf.get_from_drawable</methodname></link>()
	    can be used to convert the pixmap to a visual independant representation.
        </para>
	<para>
	    The snapshot area used by this function is the widget's allocation
	    plus any extra space occupied by additional windows belonging to
	    this widget (such as the arrows of a spin button). Thus, the resulting
	    snapshot pixmap is possibly larger than the allocation.
	</para>
	<para>
	    If clip_rect is non-<literal>None</literal>, the resulting pixmap is shrunken
	    to match the specified clip_rect. The (x,y) coordinates of clip_rect are
	    interpreted widget relative. If width or height of clip_rect are 0 or negative,
	    the width or height of the resulting pixmap will be shrunken by the respective amount.
	    For instance a clip_rect { +5, +5, -10, -10 } will chop off 5 pixels at each side
	    of the snapshot pixmap. If non-NULL, clip_rect will contain the exact widget-relative
	    snapshot coordinates upon return. A clip_rect of { -1, -1, 0, 0 } can be used to preserve
	    the auto-grown snapshot area and use clip_rect as a pure output parameter.
	</para>
	<para>
	    The returned pixmap can be <literal>None</literal>, if the resulting clip_area was empty.
	</para>

    </refsect2>
    
    <refsect2 id="method-gtkwidget--get-window">
        <title>gtk.Widget.get_window</title>

        <programlisting><methodsynopsis language="python">
            <methodname>get_window</methodname>
            <methodparam></methodparam>
            </methodsynopsis></programlisting>
                <variablelist>
                    <varlistentry>
                        <term><emphasis>Returns</emphasis>&nbsp;:</term>
                        <listitem><simpara>the widget's <link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname>
                        </link>.</simpara></listitem>
                    </varlistentry>
                </variablelist>

        <note>
            <para>This method is available in PyGTK 2.14 and above.</para>
        </note>

        <para>
            The <methodname>get_window</methodname>() method
            returns the widget's <link linkend="class-gtkwindow"><classname>gtk.Window</classname></link>
	    if it is realized, <literal>None</literal> otherwise.
        </para>

    </refsect2>

    <refsect2 id="method-gtkwidget--send-focus-change">
      <title>gtk.Widget.send_focus_change</title>

      <programlisting><methodsynopsis language="python">
        <methodname>send_focus_change</methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">event</parameter>&nbsp;:</term>
          <listitem><simpara>a FOCUS_CHANGE <link linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link>.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the return value from the event signal emission: <literal>True</literal> if the event was handled, and <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>send_focus_change</methodname>() method ends the focus change
      <parameter>event</parameter> to the widget.</para>
      
      <para>This method is not meant to be used by applications. The only time it should be used is when it is necessary for a
      <link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link> 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 <link linkend="class-gtktreeview"><classname>gtk.TreeView</classname></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-realized">
      <title>gtk.Widget.set_realized</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_realized</methodname>
        <methodparam><parameter role="keyword">realized</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">realized</parameter>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> to mark the widget as realized, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_realized</methodname>() method marks the widget as being realized.</para>
      
      <para>This method should only ever be called in a derived widget's "realize" or "unrealize" implementation.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-realized">
      <title>gtk.Widget.get_realized</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_realized</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if widget is realized, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_realized</methodname>() method determines whether widget is realized.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-mapped">
      <title>gtk.Widget.set_mapped</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_mapped</methodname>
        <methodparam><parameter role="keyword">mapped</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">mapped</parameter>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> to mark the widget as mapped, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_mapped</methodname>() method marks the widget as being mapped.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-mapped">
      <title>gtk.Widget.get_mapped</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_mapped</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is mapped, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_mapped</methodname>() method determines whether
      the widget is mapped.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-requisition">
      <title>gtk.Widget.get_requisition</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_requisition</methodname>
        <methodparam><parameter role="keyword">requisition</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gtkrequisition"><classname>gtk.Requisition</classname></link>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_requisition</methodname>() method retrieves the widget's requisition.</para>
      
      <para>This method 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
      <link linkend="method-gtkwidget--queue-resize"><methodname>queue_resize</methodname></link>()
      instead of
      <link linkend="method-gtkwidget--queue-draw"><methodname>gtk.Widget.queue_draw</methodname></link>()).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--style-attach">
      <title>gtk.Widget.style_attach</title>

      <programlisting><methodsynopsis language="python">
        <methodname>style_attach</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>style_attach</methodname>() method attaches the widget's
      <link linkend="class-gtkstyle"><classname>gtk.Style</classname></link> to the widget's
      <link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>. It is a
      replacement for the <link linkend="method-gtkstyle--attach"><methodname>gtk.Style.attach</methodname></link>()
      method 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 <link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link>)
      would attach the style itself.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--has-rc-style">
      <title>gtk.Widget.has_rc_style</title>

      <programlisting><methodsynopsis language="python">
        <methodname>has_rc_style</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal>if the widget has been looked up through the rc mechanism, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>has_rc_style</methodname>() method determines
      if the widget style has been looked up through the rc mechanism.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-app-paintable">
      <title>gtk.Widget.get_app_paintable</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_app_paintable</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is app paintable, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_app_paintable</methodname>() method determines
      whether the application intends to draw on the widget in an "expose-event"
      handler.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-can-default">
      <title>gtk.Widget.set_can_default</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_can_default</methodname>
        <methodparam><parameter role="keyword">can_default</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">can_default</parameter>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget can be a default widget, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_can_default</methodname>() method specifies whether
      the widget can be a default widget. See <link linkend="method-gtkwidget--grab-default"><methodname>gtk.Widget.grab_default</methodname>()</link>
      for details about the meaning of "default".</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-can-default">
      <title>gtk.Widget.get_can_default</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_can_default</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if widget can be a default widget, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_can_default</methodname>() method determines whether
      widget can be a default widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-can-focus">
      <title>gtk.Widget.set_can_focus</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_can_focus</methodname>
        <methodparam><parameter role="keyword">can_focus</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">can_focus</parameter>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget can own the input focus, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_can_focus</methodname>() method specifies whether
      the widget can own the input focus. See
      <link linkend="method-gtkwidget--grab-focus"><methodname>grab_focus</methodname>()</link>
      for actually setting the input focus on a widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-can-focus">
      <title>gtk.Widget.get_can_focus</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_can_focus</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget can own the input focus, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_can_focus</methodname>() method determines whether
      widget can own the input focus.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-double-buffered">
      <title>gtk.Widget.get_double_buffered</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_double_buffered</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is double buffered, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_double_buffered</methodname>() method determines whether
      the widget is double buffered.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-has-window">
      <title>gtk.Widget.set_has_window</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_has_window</methodname>
        <methodparam><parameter role="keyword">has_window</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">has_window</parameter>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget has a window, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_has_window</methodname>() method specifies whether
      the widget has a <link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
      of its own. Note that all realized widgets have a non-<literal>None</literal> "window"
      (<link linkend="method-gtkwidget--get-window"><methodname>get_window</methodname></link>()
      never returns a <literal>None</literal> window when a widget is realized), but for many of them it's
      actually the <link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> of one
      of its parent widgets. Widgets that do not create a window for themselves in their "realize" implementation
      must announce this by calling this function with <parameter>has_window</parameter> = <literal>False</literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-has-window">
      <title>gtk.Widget.get_has_window</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_has_window</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if widget has a window, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_has_window</methodname>() method determines whether
      widget has a <link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> of its own.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-receives-default">
      <title>gtk.Widget.set_receives_default</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_receives_default</methodname>
        <methodparam><parameter role="keyword">receives_default</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">receives_default</parameter>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget can be a default widget, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_receives_default</methodname>() method specifies whether
      the widget will be treated as the default widget within its toplevel when it has the
      focus, even if another widget is the default.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-receives-default">
      <title>gtk.Widget.get_receives_default</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_receives_default</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if widget acts as default widget when focussed, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_receives_default</methodname>() method determines whether
      the widget is alyways treated as default widget withing its toplevel when it has the
      focus, even if another widget is the default.</para>
      
      <para>The effective sensitivity of a widget is however determined by both its own and
      its parent widget's sensitivity. See 
      <link linkend="method-gtkaction--is-sensitive"><methodname>is_sensitive</methodname></link>().</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-sensitive">
      <title>gtk.Widget.get_sensitive</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_sensitive</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is sensitive, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_sensitive</methodname>() method returns the widget's sensitivity
      (in the sense of returning the value that has been set using
      <link linkend="method-gtkwidget--set-sensitive"><methodname>set_sensitive</methodname>()</link>).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-state">
      <title>gtk.Widget.get_state</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_state</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the state of the widget.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_state</methodname>() method returns the widget's state.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-visible">
      <title>gtk.Widget.set_visible</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_visible</methodname>
        <methodparam><parameter role="keyword">visible</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">visible</parameter>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget should be shown, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_visible</methodname>() method sets the visibility
      state of the widget. Note that setting this to <literal>True</literal> doesn't
      mean the widget is actually viewable, see
      <link linkend="method-gtkwidget--get-visible"><methodname>get_visible</methodname></link>().</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--get-visible">
      <title>gtk.Widget.get_visible</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_visible</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is visible, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_visible</methodname>() method determines whether
      the widget is visible. Note that this doesn't take into account whether the
      widget's parent is also visible or the widget is obscured in any way.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--set-window">
      <title>gtk.Widget.set_window</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_window</methodname>
        <methodparam><parameter role="keyword">window</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">window</parameter>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>set_window</methodname>() method sets the widget's
      window. This method should only be used in a widget's "realize" implementation.
      The window passed is usually either a new window or the window of its parent widget as returned by
      <link linkend="method-gtkwidget--get-parent-window"><methodname>get_parent_window</methodname></link>().</para>

      <para>Widgets must indicate whether they will create their own
      <link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
      by calling <link linkend="method-gtkwidget--set-has-window"><methodname>set_has_window</methodname></link>().
      This is usually done in the widget's init() method.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--has-default">
      <title>gtk.Widget.has_default</title>

      <programlisting><methodsynopsis language="python">
        <methodname>has_default</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if widget is the current default widget within its toplevel, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>has_default</methodname>() method determines whether
      widget is the current default widget within its toplevel.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--has-focus">
      <title>gtk.Widget.has_focus</title>

      <programlisting><methodsynopsis language="python">
        <methodname>has_focus</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget has the global input focus, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>has_focus</methodname>() method determines
      if the widget has the global input focus.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--has-grab">
      <title>gtk.Widget.has_grab</title>

      <programlisting><methodsynopsis language="python">
        <methodname>has_grab</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is in the grab_widgets stack, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>has_grab</methodname>() method determines whether
      the widget is currently grabbing events, so it is the only widget
      receiving input events (keyboard and mouse).</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--is-sensitive">
      <title>gtk.Widget.is_sensitive</title>

      <programlisting><methodsynopsis language="python">
        <methodname>is_sensitive</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is effectively sensitive, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>is_sensitive</methodname>() method returns the
      widget's effective sensitivity, which means it is sensitive itself and
      also its parent widget is sensntive.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--is-toplevel">
      <title>gtk.Widget.is_toplevel</title>

      <programlisting><methodsynopsis language="python">
        <methodname>is_toplevel</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is a toplevel, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>is_toplevel</methodname>() method determines whether
      widget is a toplevel widget. Toplevel widgets have no parent widget.</para>

    </refsect2>

    <refsect2 id="method-gtkwidget--is-drawable">
      <title>gtk.Widget.is_drawable</title>

      <programlisting><methodsynopsis language="python">
        <methodname>is_drawable</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the widget is drawable, <literal>False</literal> otherwise.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>is_drawable</methodname>() method determines whether
      the widget can be drawn to. A widget can be drawn to if it is mapped and visible.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Functions</title>

    <refsect2 id="function-gtk--widget-push-colormap">
      <title>gtk.widget_push_colormap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_push_colormap</methodname>
	  <methodparam><parameter
			 role="keyword">cmap</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">cmap</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <function>gtk.widget_push_colormap</function>() function
pushes the <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>
specified by <parameter>cmap</parameter> onto a global stack of colormaps.
The topmost colormap on the stack will be used when creating widgets. Remove
<parameter>cmap</parameter> with the <link
linkend="function-gtk--widget-pop-colormap"><function>gtk.widget_pop_colormap</function>()</link> 
function. There's little reason to use this function.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-push-composite-child">
      <title>gtk.widget_push_composite_child</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_push_composite_child</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <para>The <function>gtk.widget_push_composite_child</function>()
function creates all new widgets as composite children until the
corresponding <link
linkend="function-gtk--widget-pop-composite-child"><function>gtk.widget_pop_composite_child</function>()</link> 
function call. A composite child is a child that's an implementation detail
of the container it's inside and should not be visible to people using the
container. Composite children aren't treated differently (but see the <link
linkend="method-gtkcontainer--foreach"><methodname>gtk.Container.foreach</methodname>()</link> 
method vs. the <link
linkend="method-gtkcontainer--forall"><methodname>gtk.Container.forall</methodname>()</link> 
method), but e.g. GUI builders might want to treat them in a different
way.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-pop-composite-child">
      <title>gtk.widget_pop_composite_child</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_pop_composite_child</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <para>The <function>gtk.widget_pop_composite_child</function>()
function cancels the effect of a previous call to the <link
linkend="function-gtk--widget-push-composite-child"><function>gtk.widget_push_composite_child</function>()</link> 
function.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-pop-colormap">
      <title>gtk.widget_pop_colormap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_pop_colormap</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <para>The <function>gtk.widget_pop_colormap</function>() function
removes the <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>
on the top of the global stack of colormaps. This function reverses the
effect of the <link
linkend="function-gtk--widget-push-colormap"><function>gtk.widget_push_colormap</function>()</link>
function.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-get-default-style">
      <title>gtk.widget_get_default_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_get_default_style</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <function>gtk.widget_get_default_style</function>() function
returns the default <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link> used by all
newly created widgets</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-set-default-colormap">
      <title>gtk.widget_set_default_colormap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_set_default_colormap</methodname>
	  <methodparam><parameter
			 role="keyword">colormap</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">colormap</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>
object</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <function>gtk.widget_set_default_colormap</function>()
function sets the default <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>
to use when creating widgets to the value specified by
<parameter>colormap</parameter>. The <link
linkend="function-gtk--widget-push-colormap"><function>gtk.widget_push_colormap</function>()</link> 
function is a better function to use if you only want to affect a few
widgets, rather than all widgets.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-get-default-colormap">
      <title>gtk.widget_get_default_colormap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_get_default_colormap</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>
object</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <function>gtk.widget_get_default_colormap</function>()
function returns the default <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>
used when creating new widgets.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-get-default-visual">
      <title>gtk.widget_get_default_visual</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_get_default_visual</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default <link
linkend="class-gdkvisual"><classname>gtk.gdk.Visual</classname></link>
object</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <function>gtk.widget_get_default_visual</function>()
function returns the default <link
linkend="class-gdkvisual"><classname>gtk.gdk.Visual</classname></link> of
the default <link
linkend="class-gdkcolormap"><classname>gtk.gdk.Colormap</classname></link>.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-set-default-direction">
      <title>gtk.widget_set_default_direction</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_set_default_direction</methodname>
	  <methodparam><parameter
			 role="keyword">dir</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">dir</parameter>&nbsp;:</term>
	  <listitem><simpara>the new default direction - either
<literal>gtk.TEXT_DIR_RTL</literal> or
<literal>gtk.TEXT_DIR_LTR</literal>.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <function>gtk.widget_set_default_direction</function>()
function sets the default text direction to the value specified by
<parameter>dir</parameter>. The value of <parameter>dir</parameter> must be
either <literal>gtk.TEXT_DIR_RTL</literal> or
<literal>gtk.TEXT_DIR_LTR</literal>. The default text direction is used for
widgets that have not had a text direction set by the <link
linkend="method-gtkwidget--set-direction"><methodname>set_direction</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-get-default-direction">
      <title>gtk.widget_get_default_direction</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_get_default_direction</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default text direction</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <function>gtk.widget_get_default_direction</function>()
function returns the default text direction as set by the <link
linkend="function-gtk--widget-set-default-direction"><function>gtk.widget_set_default_direction</function>()</link> 
function.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-class-find-style-property">
      <title>gtk.widget_class_find_style_property</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_class_find_style_property</methodname>
	  <methodparam><parameter
			 role="keyword">widget</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">widget</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">property_name</parameter>&nbsp;:</term>
	  <listitem><simpara>a style property name</simpara></listitem>
	</varlistentry>
	<varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the style property as a GParam
	  object</simpara></listitem>
	</varlistentry>
      </variablelist>

       <note>
	<para>This function is available in PyGTK 2.4 and above.</para>
      </note>

     <para>The <function>gtk.widget_class_find_style_property</function>()
     function returns the GParam object corresponding to the style
     property specified by <parameter>property_name</parameter> of the <link
     linkend="class-gtkwidget"><classname>gtk.Widget</classname></link>
     specified by <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-class-list-style-properties">
      <title>gtk.widget_class_list_style_properties</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.widget_class_list_style_properties</methodname>
	  <methodparam><parameter
			 role="keyword">widget</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">widget</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a list of style properties as GParam objects </simpara></listitem>
	</varlistentry>
      </variablelist>

       <note>
	<para>This function is available in PyGTK 2.4 and above.</para>
      </note>

     <para>The <function>gtk.widget_class_list_style_properties</function>()
function returns a list of the style properties of the <link
linkend="class-gtkwidget"><classname>gtk.Widget</classname></link> specified
by <parameter>widget</parameter>. The list contains a GParam object for each
style property.</para>

    </refsect2>

    <refsect2 id="function-gtk--widget-class-install-style-property">
      <title>gtk.widget_class_install_style_property</title>

      <programlisting><methodsynopsis language="python">
        <methodname>gtk.widget_class_install_style_property</methodname>
        <methodparam><parameter role="keyword">widget</parameter></methodparam>
        <methodparam><parameter role="keyword">pspec</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">widget</parameter>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">pspec</parameter>&nbsp;:</term>
          <listitem><simpara>a tuple containing a parameter specifications</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This function is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <function>gtk.widget_class_install_style_property</function>() function
      installs the style property specified by <parameter>pspec</parameter> on the
      <link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link>
      specified by <parameter>widget</parameter>. <parameter>pspec</parameter> is
      a tuple containing at least 5 items. The first 4 items contain the
      following parameter specification items:</para>

      <itemizedlist>
        <listitem>
          <simpara>a string specifying the name of the property</simpara>
        </listitem>
        <listitem>
          <simpara>an object specifying the property type</simpara>
        </listitem>
        <listitem>
          <simpara>a string specifying the nickname for the property or <literal>None</literal></simpara>
        </listitem>
        <listitem>
          <simpara>a string specifying the short description for the property or <literal>None</literal></simpara>
        </listitem>
      </itemizedlist>

      <para>The last item must be a integer containing a combination of the
      <link linkend="gobject-param-constants">GObject Param Flag
      Constants</link>. Additional tuple items (if needed) are inserted
      between the fourth item and the last item depending on the property
      type:</para>

      <variablelist>
        <varlistentry>
          <term><literal>gobject.TYPE_CHAR</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_CHAR</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_BOOLEAN</literal></term>
          <listitem>
            <simpara>default value</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_INT</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_UINT</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_LONG</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_ULONG</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_INT64</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_UINT64</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_ENUM</literal></term>
          <listitem>
            <simpara>default value</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_FLAGS</literal></term>
          <listitem>
            <simpara>default value</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_FLOAT</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_DOUBLE</literal></term>
          <listitem>
            <simpara>minimum, maximum and default values</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_STRING</literal></term>
          <listitem>
            <simpara>default value</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_PARAM</literal></term>
          <listitem>
            <simpara>Not applicable</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_BOXED</literal></term>
          <listitem>
            <simpara>Not applicable</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_POINTER</literal></term>
          <listitem>
            <simpara>Not applicable</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>gobject.TYPE_OBJECT</literal></term>
          <listitem>
            <simpara>Not applicable</simpara>
          </listitem>
        </varlistentry>
      </variablelist>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gtkwidget--accel-closures-changed">
      <title>The "accel-closures-changed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "accel-closures-changed" signal is emitted when an
accelerator is added to or removed from the <link
linkend="class-gtkaccelgroup"><classname>gtk.AccelGroup</classname></link>
for <parameter>widget</parameter> or an accelerator path is setup.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--button-press-event">
      <title>The "button-press-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "button-press-event" signal is emitted when a mouse button
is pressed.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--button-release-event">
      <title>The "button-release-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "button-release-event" signal is emitted when a mouse button
is released.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--can-activate-accel">
      <title>The "can-activate-accel" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>signal_id</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>signal_id</parameter>&nbsp;:</term>
	  <listitem><simpara> the ID of a signal installed on
	  <parameter>widget</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This signal is available in GTK+ 2.4 and above.</para>
      </note>

      <para>The "can-activate-accel" signal is emitted when an accelerator
is about to activate <parameter>widget</parameter>. The handler determines
if the accelerator that activates the signal identified by
<parameter>signal_id</parameter> can currently be activated. This signal is
present to allow applications and derived widgets to override the default
GtkWidget handling for determining whether an accelerator can be
activated.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--child-notify">
      <title>The "child-notify" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>child_property</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>child_property</parameter>&nbsp;:</term>
	  <listitem><simpara>the name of a child property</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "child-notify" signal is emitted when
<parameter>child_property</parameter> is changed.</para>

      <para>Child properties are available with objects derived from <link
linkend="class-gtkcontainer"><classname>gtk.Container</classname></link>. Those
properties are not specific to either the container or the child widget but
to their relation. For example, the "pack-type" property of <link
linkend="class-gtkbox"><classname>gtk.Box</classname></link> or the
"menu-label" property of <link
linkend="class-gtknotebook"><classname>gtk.Notebook</classname></link> are
child properties.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--client-event">
      <title>The "client-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "client-event" signal is emitted when another application
has sent an event to <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--composited-changed">
      <title>The "composited-changed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
      <methodparam><parameter>widget</parameter></methodparam>
      <methodparam><parameter>user_param1</parameter></methodparam>
      <methodparam><parameter>...</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>widget</parameter>&nbsp;:</term>
          <listitem><simpara>the object which received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>


    </refsect2>

    <refsect2 id="signal-gtkwidget--configure-event">
      <title>The "configure-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "configure-event" signal is emitted when the widget's window
is allocated a size and width.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--damage-event">
      <title>The "damage-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>
	The "damage-event" signal is emitted when a redirected window belonging
	to widget gets drawn into. The region/area members of the event shows
	what area of the redirected drawable was drawn into.
      </para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--delete-event">
      <title>The "delete-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "delete-event" signal is emitted when a request is made to
delete <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--destroy-event">
      <title>The "destroy-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "destroy-event" signal is emitted when a <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link> 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.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--direction-changed">
      <title>The "direction-changed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>direction</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>direction</parameter>&nbsp;:</term>
	  <listitem><simpara>the previous direction:
<literal>gtk.TEXT_DIR_NONE</literal>, <literal>gtk.TEXT_DIR_LTR</literal> or
<literal>gtk.TEXT_DIR_RTL</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "direction-changed" signal is emitted when the reading
direction of <parameter>widget</parameter> is changed (usually with the
<link
linkend="method-gtkwidget--set-direction"><methodname>set_direction</methodname>()</link> 
method)</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-begin">
      <title>The "drag-begin" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-begin" signal is emitted when the user initiates a
drag operation on <parameter>widget</parameter>. A typical reason to connect
to this signal is to set up a custom drag icon with the <link
linkend="method-gtkwidget--drag-source-set-icon"><methodname>drag_source_set_icon</methodname>()</link>
method.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-data-delete">
      <title>The "drag-data-delete" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-data-delete" signal is emitted when the drag completes
a move operation and requires the source data to be deleted. The signal
handler is responsible for deleting the data that has been dropped.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-data-get">
      <title>The "drag-data-get" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
            <methodparam><parameter>selection_data</parameter></methodparam>
            <methodparam><parameter>info</parameter></methodparam>
            <methodparam><parameter>timestamp</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>selection_data</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link> object</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>info</parameter>&nbsp;:</term>
	  <listitem><simpara>an integer ID for the drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>timestamp</parameter>&nbsp;:</term>
	  <listitem><simpara>the time of the drag event</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-data-get" signal is emitted when a drag operation
completes that copies data or when a drag drop occurs using the
<literal>gtk.gdk.DRAG_PROTO_ROOTWIN</literal> protocol. The drag source
revceives this signal when the drag destination requests the data using the
<link
linkend="method-gtkwidget--drag-get-data"><methodname>drag_get_data</methodname>()</link>
method. The handler needs to fill <parameter>selection_data</parameter> with
the data in the format specified by the target associated with
<parameter>info</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-data-received">
      <title>The "drag-data-received" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
	  <methodparam><parameter>x</parameter></methodparam>
	  <methodparam><parameter>y</parameter></methodparam>
	  <methodparam><parameter>selection_data</parameter></methodparam>
	  <methodparam><parameter>info</parameter></methodparam>
	  <methodparam><parameter>timestamp</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>x</parameter>&nbsp;:</term>
	  <listitem><simpara>the X position of the drop</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>y</parameter>&nbsp;:</term>
	  <listitem><simpara>the Y position of the drop</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>selection_data</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link> 
object</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>info</parameter>&nbsp;:</term>
	  <listitem><simpara>an integer ID for the drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>timestamp</parameter>&nbsp;:</term>
	  <listitem><simpara>the time of the drag event</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-data-received" signal is emitted when the drag
destination receives the data from the drag operation. If the data was
received in order to determine whether the drop will be accepted, the
handler is expected to call the <link
linkend="method-gdkdragcontext--drag-status"><methodname>gtk.gdk.DragContext.drag_status</methodname>()</link>
method and not finish the drag. If the data was received in response to a
"drag-drop" signal (and this is the last target to be received), the handler
for this signal is expected to process the received data and then call the
<link
linkend="method-gdkdragcontext--finish"><methodname>gtk.gdk.DragContext.finish</methodname>()</link>
method, setting the <parameter>success</parameter> parameter to
<literal>True</literal> if the data was processed successfully.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-drop">
      <title>The "drag-drop" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
	  <methodparam><parameter>x</parameter></methodparam>
	  <methodparam><parameter>y</parameter></methodparam>
	  <methodparam><parameter>timestamp</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>x</parameter>&nbsp;:</term>
	  <listitem><simpara>the X position of the drop</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>y</parameter>&nbsp;:</term>
	  <listitem><simpara>the Y position of the drop</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>timestamp</parameter>&nbsp;:</term>
	  <listitem><simpara>the time of the drag event</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> if the cursor is in a
	drop zone</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-drop" signal is emitted when the drag initiates a drop
operation on the destination <parameter>widget</parameter>. 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 <literal>False</literal> and no
further processing is necessary. Otherwise, the handler returns
<literal>True</literal>. In this case, the handler must ensure that the
<link
linkend="method-gdkdragcontext--finish"><methodname>gtk.gdk.DragContext.finish</methodname>()</link>
method is called to let the source know that the drop is done. The call to
the <link
linkend="method-gdkdragcontext--finish"><methodname>gtk.gdk.DragContext.finish</methodname>()</link>
method can be done either directly or in a "drag-data-received" handler that
gets triggered by calling the <link
linkend="method-gtkwidget--drag-get-data"><methodname>drag_get_data</methodname>()</link>
method to receive the data for one or more of the supported targets.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-end">
      <title>The "drag-end" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-end" signal is emitted when the drag operation is
completed. A typical reason to connect to this signal is to undo things done
in a "drag-begin" handler.</para>

    </refsect2>
    
    <refsect2 id="signal-gtkwidget--drag-failed">
      <title>The "drag-failed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
      <methodparam><parameter>result</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
    <varlistentry>
	  <term><parameter>result</parameter>&nbsp;:</term>
	  <listitem><simpara>the result of the drag operation.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
    <varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> if the failed drag operation
    has been already handled.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>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 <literal>True</literal> is the failure has been
      already handled (not showing the default "drag operation failed" animation),
      otherwise it returns <literal>False</literal>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-leave">
      <title>The "drag-leave" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
	  <methodparam><parameter>timestamp</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>timestamp</parameter>&nbsp;:</term>
	  <listitem><simpara>the time of the drag event</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-leave" signal is emitted when the drag operation moves
off of a drop target widget. A typical reason to connect to this signal is
to undo things done in a "drag-motion" handler, e.g. undo highlighting with
the <link
linkend="method-gtkwidget--drag-unhighlight"><methodname>drag_unhighlight</methodname>()</link>
method.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--drag-motion">
      <title>The "drag-motion" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>drag_context</parameter></methodparam>
	  <methodparam><parameter>x</parameter></methodparam>
	  <methodparam><parameter>y</parameter></methodparam>
	  <methodparam><parameter>timestamp</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>drag_context</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
linkend="class-gdkdragcontext"><classname>gtk.gdk.DragContext</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>x</parameter>&nbsp;:</term>
	  <listitem><simpara>the X position of the drop</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>y</parameter>&nbsp;:</term>
	  <listitem><simpara>the Y position of the drop</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>timestamp</parameter>&nbsp;:</term>
	  <listitem><simpara>the time of the drag event</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> if the cursor is in a
	drop zone</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "drag-motion" signal is emitted when the drag operation
moves over a drop target widget. The signal handler must determine if the
cursor position is in a drop zone or not. If it is not in a drop zone, it
should return <literal>False</literal> and no further processing is
necessary. Otherwise, the handler should return <literal>True</literal>. In
this case, the handler is responsible for providing the necessary
information for displaying feedback to the user, by calling the <link
linkend="method-gdkdragcontext--drag-status"><methodname>gtk.gdk.DragContext.drag_status</methodname>()</link>
method. If the decision to accept or reject the drop 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 the <link
linkend="method-gtkwidget--drag-get-data"><methodname>drag_get_data</methodname>()</link>
method and defer the <link
linkend="method-gdkdragcontext--drag-status"><methodname>gtk.gdk.DragContext.drag_status</methodname>()</link>
method call to the "drag-data-received" handler.</para>

      <note>
        <para>There is no "drag-enter" signal. The drag receiver has to keep
track of any "drag-motion" signals received since the last "drag-leave"
signal. The first "drag-motion" signal received after a "drag_leave" signal
should be treated as an "enter" signal. Upon an "enter", the handler will
typically highlight the drop site with the <link
linkend="method-gtkwidget--drag-highlight"><methodname>drag_highlight</methodname>()</link>
method.</para>
      </note>

    </refsect2>

    <refsect2 id="signal-gtkwidget--enter-notify-event">
      <title>The "enter-notify-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "enter-notify-event" signal is emitted when the mouse
pointer enters <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--event">
      <title>The "event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "event" signal is emitted when any <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link> occurs
on <parameter>widget</parameter>. The "event" signal is emitted before any
of the specific <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link> signals
are emitted.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--event-after">
      <title>The "event-after" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "event-after" signal is emitted after any other event
handling has occurred for <parameter>widget</parameter></para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--expose-event">
      <title>The "expose-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "expose-event" signal is emitted when
<parameter>widget</parameter> needs to be repainted because it is first
displayed or has been partially or fully obscured by another window.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--focus">
      <title>The "focus" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>direction</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>direction</parameter>&nbsp;:</term>
	  <listitem><simpara>the direction:
<literal>gtk.DIR_TAB_FORWARD</literal>,
<literal>gtk.DIR_TAB_BACKWARD</literal>, <literal>gtk.DIR_UP</literal>,
<literal>gtk.DIR_DOWN</literal>, <literal>gtk.DIR_LEFT</literal> or
<literal>gtk.DIR_RIGHT</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "focus" signal is emitted when <parameter>widget</parameter>
receives the focus.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--focus-in-event">
      <title>The "focus-in-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "focus-in-event" signal is emitted when the focus changes to
<parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--focus-out-event">
      <title>The "focus-out-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "focus-out-event" signal is emitted when the focus leaves
<parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--grab-broken-event">
      <title>The "grab-broken-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>event</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>widget</parameter>&nbsp;:</term>
          <listitem><simpara>the object which received the
          signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>event</parameter>&nbsp;:</term>
          <listitem><simpara>the gtk.gdk.EventGrabBroken
          event</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> to stop other handlers
          from being invoked for the event.  <literal>False</literal> to
          propagate the event further.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This signal is available in GTK+ 2.8 and above.</para>
      </note>

      <para>Emitted when a pointer or keyboard grab on a window belonging to
      <parameter>widget</parameter> gets broken. </para>
      
      <para>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.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--grab-focus">
      <title>The "grab-focus" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "grab-focus" signal is emitted when
<parameter>widget</parameter> grabs the focus usually by calling the <link
linkend="method-gtkwidget--grab-focus"><methodname>grab_focus</methodname>()</link> 
method or by the user using a mnemonic accelerator..</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--grab-notify">
      <title>The "grab-notify" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>was_grabbed</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>was_grabbed</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>
<parameter>widget</parameter> had grabbed the focus</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "grab-notify" signal is emitted when widget (or its
ancestor) either is grabbing the focus or has the focus grabbed from
it.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--hide">
      <title>The "hide" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "hide" signal is emitted when <parameter>widget</parameter>
is hidden usually by calling the <link
linkend="method-gtkwidget--hide"><methodname>hide</methodname>()</link>
method.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--hierarchy-changed">
      <title>The "hierarchy-changed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>previous_toplevel</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>previous_toplevel</parameter>&nbsp;:</term>
	  <listitem><simpara>the toplevel widget in the previous hierarchy
containing <parameter>widget</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "hierarchy-changed" signal is emitted when
<parameter>widget</parameter> is unparented or has a new parent set.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--key-press-event">
      <title>The "key-press-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "key-press-event" signal is emitted when the user presses a
key on the keyboard.</para>

    </refsect2>
    
    <refsect2 id="signal-gtkwidget--keynav-failed">
      <title>The "keynav-failed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>direction</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>direction</parameter>&nbsp;:</term>
	  <listitem><simpara>the direction of movement.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> if stopping keyboard navigation is fine,
    <literal>False</literal> if the emitting widget should try to handle the keyboard
    navigation attempt in its parent container(s).</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "key-press-event" signal gets emitted if keyboard navigation fails.
      See <methodname><link linkend="method-gtkwidget--keynav-failed">gtk.Widget.keynav_failed</link>
      </methodname>() for details.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--key-release-event">
      <title>The "key-release-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "key-release-event" signal is emitted when the user releases
a key on the keyboard.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--leave-notify-event">
      <title>The "leave-notify-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "leave-notify-event" signal is emitted when the mouse
pointer leaves the area of <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--map">
      <title>The "map" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "map" signal is emitted when <parameter>widget</parameter>
requests to be mapped onto the display usually by calling the <link
linkend="method-gtkwidget--show"><methodname>show</methodname>()</link> or
<link linkend="method-gtkwidget--map"><methodname>map</methodname>()</link>
methods.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--map-event">
      <title>The "map-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "map-event" signal is emitted when
<parameter>widget</parameter> has been mapped onto the display.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--mnemonic-activate">
      <title>The "mnemonic-activate" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>group_cycling</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>group_cycling</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> shifts the focus instead of activating <parameter>widget</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "mnemonic-activate" signal is emitted when the user uses a
mnemonic accelerator to activate <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--motion-notify-event">
      <title>The "motion-notify-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "motion-notify-event" signal is emitted when the mouse
pointer moves while over <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--no-expose-event">
      <title>The "no-expose-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "no-expose-event" signal is emitted when a no expose event
occurs.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--parent-set">
      <title>The "parent-set" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>old_parent</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>old_parent</parameter>&nbsp;:</term>
	  <listitem><simpara>the previous parent of
<parameter>widget</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "parent-set" signal is emitted when the parent of
<parameter>widget</parameter> is set or unset.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--popup-menu">
      <title>The "popup-menu" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> if a menu was
	activated</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "popup-menu" signal is emitted when the user presses the
<keycombo
action="simul"><keycap>Shift</keycap><keycap>F10</keycap></keycombo> or
<keycap>Menu</keycap> keys when <parameter>widget</parameter> has the focus
to popup a menu.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--property-notify-event">
      <title>The "property-notify-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "property-notify-event" signal is emitted when a window
property value has changed. This is used for selection data
retrieval.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--proximity-in-event">
      <title>The "proximity-in-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "proximity-in-event" (available for devices like touch
screens or graphics tablets) is emitted when the pen touches the tablet or
when the user's finger touches the screen.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--proximity-out-event">
      <title>The "proximity-out-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "proximity-out-event" (available for devices like touch
screens or graphics tablets) is emitted when the pen leaves the tablet or
when the user's finger leaves the screen.</para>

    </refsect2>
    
    <refsect2 id="signal-gtkwidget--query-tooltip">
      <title>The "query-tooltip" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>x</parameter></methodparam>
      <methodparam><parameter>y</parameter></methodparam>
      <methodparam><parameter>keyboard_mode</parameter></methodparam>
      <methodparam><parameter>tooltip</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>x</parameter>&nbsp;:</term>
	  <listitem><simpara>the x coordinate of the cursor position where the request
      has been emitted, relative to widget->window</simpara></listitem>
	</varlistentry>
    <varlistentry>
	  <term><parameter>y</parameter>&nbsp;:</term>
	  <listitem><simpara>the y coordinate of the cursor position where the request
      has been emitted, relative to widget->window</simpara></listitem>
	</varlistentry>
    <varlistentry>
	  <term><parameter>keyboard_mode</parameter>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the tooltip was trigged
      using the keyboard</simpara></listitem>
	</varlistentry>
    <varlistentry>
	  <term><parameter>tooltip</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link linkend="class-gtktooltip"><classname>gtk.Tooltip</classname>
      </link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
    <varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> if tooltip should be shown right now,
    <literal>False</literal> otherwise.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "query-tooltip" signal is emitted when the GtkSettings:gtk-tooltip-timeout
      has expired with the cursor hovering "above" widget; or emitted when widget
      got focus in keyboard mode.
      Using the given coordinates, the signal handler should determine whether a
      tooltip should be shown for widget. If this is the case <literal>True</literal>
      should be returned, <literal>False</literal> otherwise. Note that if
      <parameter>keyboard_mode</parameter> is <literal>True</literal>, the values
      of x and y are undefined and should not be used.
      The signal handler is free to manipulate tooltip with the therefore destined function calls.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--realize">
      <title>The "realize" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "realize" signal is emitted when
<parameter>widget</parameter> requests to be realized by calling the <link
linkend="method-gtkwidget--realize"><methodname>realize</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--screen-changed">
      <title>The "screen-changed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>screen</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	<varlistentry>
	  <term><parameter>screen</parameter>&nbsp;:</term>
	  <listitem><simpara>the new <link
	  linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link></simpara></listitem>
	</varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This signal is available in GTK+ 2.4 and above.</para>
      </note>

      <para>The "screen-changed" signal is emitted when
<parameter>screen</parameter> becomes the new <link
linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link> for
<parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--scroll-event">
      <title>The "scroll-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "scroll-event" signal is emitted when widget receives a
scroll event.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--selection-clear-event">
      <title>The "selection-clear-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "selection-clear-event" signal is emitted when the selection
needs to be cleared.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--selection-get">
      <title>The "selection-get" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>selection_data</parameter></methodparam>
	  <methodparam><parameter>info</parameter></methodparam>
	  <methodparam><parameter>timestamp</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>selection_data</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link> 
object</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>info</parameter>&nbsp;:</term>
	  <listitem><simpara>an integer ID for the
selection</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>timestamp</parameter>&nbsp;:</term>
	  <listitem><simpara>the time the event
occurred</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "selection-get" signal is emitted when the selection data is
requested from <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--selection-notify-event">
      <title>The "selection-notify-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "selection-notify-event" signal is emitted when the
selection owner has responded to the selection conversion request.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--selection-received">
      <title>The "selection-received" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>selection_data</parameter></methodparam>
	  <methodparam><parameter>timestamp</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>selection_data</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link> 
object</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>timestamp</parameter>&nbsp;:</term>
	  <listitem><simpara>the time the event
occurred</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "selection-received" signal is emitted when the selection
owner has responded to the request for the selection data.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--selection-request-event">
      <title>The "selection-request-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "selection-request-event" signal is emitted when a selection
request is made on <parameter>widget</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--show">
      <title>The "show" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "show" signal is emitted when <parameter>widget</parameter>
requests to be displayed using either the <link
linkend="method-gtkwidget--show"><methodname>show</methodname>()</link> or
<link
linkend="method-gtkwidget--show-all"><methodname>show_all</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--show-help">
      <title>The "show-help" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>help_type</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>help_type</parameter>&nbsp;:</term>
	  <listitem><simpara>the help type; either
<literal>gtk.WIDGET_HELP_TOOLTIP</literal> or
<literal>gtk.WIDGET_HELP_WHATS_THIS</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "show-help" signal is emitted when the user presses the
<keycombo
action="simul"><keycap>Control</keycap><keycap>F1</keycap></keycombo> key
combination.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--size-allocate">
      <title>The "size-allocate" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>allocation</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>allocation</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget's space allocation in a <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "size-allocate" signal is emitted when widget is given a new
space allocation.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--size-request">
      <title>The "size-request" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>requisition</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>requisition</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget's requested size as a <link
linkend="class-gtkrequisition"><classname>gtk.Requisition</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "size-request" signal is emitted when a new size is
requested for <parameter>widget</parameter> using the <link
linkend="method-gtkwidget--set-size-request"><methodname>set_size_request</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--state-changed">
      <title>The "state-changed" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>state</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>state</parameter>&nbsp;:</term>
	  <listitem><simpara>the previous widget state:
<literal>gtk.STATE_NORMAL</literal>, <literal>gtk.STATE_ACTIVE</literal>,
<literal>gtk.STATE_PRELIGHT</literal>, <literal>gtk.STATE_SELECTED</literal>
or <literal>gtk.STATE_INSENSITIVE</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "state-changed" signal is emitted when the state of
<parameter>widget</parameter> changes.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--style-set">
      <title>The "style-set" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>previous_style</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>previous_style</parameter>&nbsp;:</term>
	  <listitem><simpara>the previous widget <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "style-set" signal is emitted when the <link
linkend="class-gtkstyle"><classname>gtk.Style</classname></link> of
<parameter>widget</parameter> is set.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--unmap">
      <title>The "unmap" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "unmap" signal is emitted when <parameter>widget</parameter>
requests to be unmapped from the display.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--unmap-event">
      <title>The "unmap-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "unmap-event" signal is emitted when
<parameter>widget</parameter> has been unmapped from the display.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--unrealize">
      <title>The "unrealize" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "unrealize" signal is emitted when
<parameter>widget</parameter> requests to be unrealized (i.e. have all its
resources released).</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--visibility-notify-event">
      <title>The "visibility-notify-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "visibility-notify-event" signal is emitted when the
visibility of <parameter>widget</parameter> changes i.e. it has been
obscured or unobscured.</para>

    </refsect2>

    <refsect2 id="signal-gtkwidget--window-state-event">
      <title>The "window-state-event" gtk.Widget Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>widget</parameter></methodparam>
	  <methodparam><parameter>event</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the widget that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>event</parameter>&nbsp;:</term>
	  <listitem><simpara>the event that triggered the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara><literal>True</literal> to stop other handlers
	from being invoked for the event. <literal>False</literal> to
	propagate the event further.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "window-state-event" signal is emitted when window state of
widget changes. For example, for a toplevel window this event is signaled
when the window is iconified, deiconified, minimized, maximized, made
sticky, made not sticky, shaded or unshaded.</para>

    </refsect2>

  </refsect1>

</refentry>
