   This file documents GTK, the GIMP Toolkit

   Copyright (C) 1996 Peter Mattis Copyright (C) 1997 Peter Mattis

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by Peter Mattis.

The scrolled window widget
==========================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_scrolled_window_get_type (void)
     Returns the `GtkScrolledWindow' type identifier.

 - Function: GtkWidget* gtk_scrolled_window_new (GtkAdjustment
          *HADJUSTMENT, GtkAdjustment *VADJUSTMENT)
     Create a new `GtkScrolledWindow' object initializing it with the
     values in ADJUSTMENT and ADJUSTMENT. The new widget is returned as
     a pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkAdjustment* gtk_scrolled_window_get_hadjustment
          (GtkScrolledWindow *SCROLLED_WINDOW)

 - Function: GtkAdjustment* gtk_scrolled_window_get_vadjustment
          (GtkScrolledWindow *SCROLLED_WINDOW)

 - Function: void gtk_scrolled_window_set_policy (GtkScrolledWindow
          *SCROLLED_WINDOW, GtkPolicyType HSCROLLBAR_POLICY,
          GtkPolicyType VSCROLLBAR_POLICY)

 - Function: GtkScrolledWindow* GTK_SCROLLED_WINDOW (gpointer OBJ)
     Cast a generic pointer to `GtkScrolledWindow*'. See Standard Macros,
     for more info.

 - Function: GtkScrolledWindowClass* GTK_SCROLLED_WINDOW_CLASS
          (gpointer CLASS)
     Cast a generic pointer to `GtkScrolledWindowClass*'. See
     Standard Macros, for more info.

 - Function: gint GTK_IS_SCROLLED_WINDOW (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkScrolledWindow'
     object. See Standard Macros, for more info.

The separator widget
====================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_separator_get_type (void)
     Returns the `GtkSeparator' type identifier.

 - Function: GtkSeparator* GTK_SEPARATOR (gpointer OBJ)
     Cast a generic pointer to `GtkSeparator*'. See Standard Macros,
     for more info.

 - Function: GtkSeparatorClass* GTK_SEPARATOR_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkSeparatorClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_SEPARATOR (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkSeparator' object.
     See Standard Macros, for more info.

The statusbar widget
====================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_statusbar_get_type (void)
     Returns the `GtkStatusbar' type identifier.

 - Function: GtkWidget* gtk_statusbar_new (void)
     Create a new `GtkStatusbar' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: gint gtk_statusbar_push (GtkStatusbar *STATUSBAR, gchar
          *TEXT)

 - Function: void gtk_statusbar_pop (GtkStatusbar *STATUSBAR, gint
          CONTEXT_ID)

 - Function: GtkStatusbar* GTK_STATUSBAR (gpointer OBJ)
     Cast a generic pointer to `GtkStatusbar*'. See Standard Macros,
     for more info.

 - Function: GtkStatusbarClass* GTK_STATUSBAR_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkStatusbarClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_STATUSBAR (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkStatusbar' object.
     See Standard Macros, for more info.

The table widget
================

Description
-----------

Options
-------

 - User Option: rows

 - User Option: columns

 - User Option: homogeneous
     This option controls whether all child widgets in the `GtkTable'
     will be of the same size. The child widgets will be the size of
     the largest child.

Signals
-------

Functions
---------

 - Function: guint gtk_table_get_type (void)
     Returns the `GtkTable' type identifier.

 - Function: GtkWidget* gtk_table_new (gint ROWS, gint COLUMNS, gint
          HOMOGENEOUS)
     Create a new `GtkTable' object initializing it with the values in
     ROWS, COLUMNS and HOMOGENEOUS. The new widget is returned as a
     pointer to a `GtkWidget'. `NULL' is returned on failure.

 - Function: void gtk_table_attach (GtkTable *TABLE, GtkWidget *CHILD,
          gint LEFT_ATTACH, gint RIGHT_ATTACH, gint TOP_ATTACH, gint
          BOTTOM_ATTACH, gint XOPTIONS, gint YOPTIONS, gint XPADDING,
          gint YPADDING)

 - Function: void gtk_table_attach_defaults (GtkTable *TABLE, GtkWidget
          *WIDGET, gint LEFT_ATTACH, gint RIGHT_ATTACH, gint
          TOP_ATTACH, gint BOTTOM_ATTACH)

 - Function: void gtk_table_set_row_spacing (GtkTable *TABLE, gint ROW,
          gint SPACING)

 - Function: void gtk_table_set_col_spacing (GtkTable *TABLE, gint COL,
          gint SPACING)

 - Function: void gtk_table_set_row_spacings (GtkTable *TABLE, gint
          SPACING)

 - Function: void gtk_table_set_col_spacings (GtkTable *TABLE, gint
          SPACING)

 - Function: GtkTable* GTK_TABLE (gpointer OBJ)
     Cast a generic pointer to `GtkTable*'. See Standard Macros, for
     more info.

 - Function: GtkTableClass* GTK_TABLE_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkTableClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_TABLE (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkTable' object.
     See Standard Macros, for more info.

The text widget
===============

Description
-----------

Signals
-------

Functions
---------

 - Function: guint gtk_text_get_type (void)
     Returns the `GtkText' type identifier.

 - Function: GtkWidget* gtk_text_new (GtkAdjustment *HADJ,
          GtkAdjustment *VADJ);
     Create a new `GtkText' object initializing it with the values in
     HADJ and VADJ. The new widget is returned as a pointer to a
     `GtkWidget'. `NULL' is returned on failure.

 - Function: void gtk_text_set_editable (GtkText *TEXT, gint EDITABLE)

 - Function: void gtk_text_set_adjustments (GtkText *TEXT,
          GtkAdjustment *HADJ, GtkAdjustment *VADJ)

 - Function: void gtk_text_set_point (GtkText *TEXT, guint INDEX)

 - Function: guint gtk_text_get_point (GtkText *TEXT)

 - Function: guint gtk_text_get_length (GtkText *TEXT)

 - Function: void gtk_text_freeze (GtkText *TEXT)

 - Function: void gtk_text_thaw (GtkText *TEXT)

 - Function: void gtk_text_insert (GtkText *TEXT, GdkFont *FONT,
          GdkColor *FORE, GdkColor *BACK, char *CHARS, gint LENGTH)

 - Function: gint gtk_text_forward_delete (GtkText *TEXT, guint NCHARS)

 - Function: gint gtk_text_backward_delete (GtkText *TEXT, guint NCHARS)

 - Function: GtkText* GTK_TEXT (gpointer OBJ)
     Cast a generic pointer to `GtkText*'. See Standard Macros, for
     more info.

 - Function: GtkTextClass* GTK_TEXT_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkTextClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_TEXT (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkText' object. See
     Standard Macros, for more info.

The toggle button widget
========================

Description
-----------

   Another form of button (see GtkButton) with two states: on and
off.  The appearance is that of a button which stays pressed on the
first click, and is released on the second click.

Options
-------

 - User Option: state

Signals
-------

 - Signal: void GtkToggleButton::toggled (GtkToggleButton
          *TOGGLE_BUTTON)

Functions
---------

 - Function: guint gtk_toggle_button_get_type (void)
     Returns the `GtkToggleButton' type identifier.

 - Function: GtkWidget* gtk_toggle_button_new (void)
     Create a new `GtkToggleButton' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkWidget* gtk_toggle_button_new_with_label (gchar *LABEL)
     Create a new `GtkToggleButton' object initializing it with the
     values in LABEL. The new widget is returned as a pointer to a
     `GtkWidget' object. `NULL' is returned on failure.

 - Function: void gtk_toggle_button_set_mode (GtkToggleButton
          *TOGGLE_BUTTON, gint DRAW_INDICATOR)

 - Function: void gtk_toggle_button_set_state (GtkToggleButton
          *TOGGLE_BUTTON, gint STATE)

 - Function: void gtk_toggle_button_toggled (GtkToggleButton
          *TOGGLE_BUTTON)

 - Function: GtkToggleButton* GTK_TOGGLE_BUTTON (gpointer OBJ)
     Cast a generic pointer to `GtkToggleButton*'. See Standard Macros,
     for more info.

 - Function: GtkToggleButtonClass* GTK_TOGGLE_BUTTON_CLASS (gpointer
          CLASS)
     Cast a generic pointer to `GtkToggleButtonClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_TOGGLE_BUTTON (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkToggleButton'
     object. See Standard Macros, for more info.

The tool bar widget
===================

Description
-----------

Options
-------

 - User Option: orientation
        * GTK_ORIENTATION_HORIZONTAL

        * GTK_ORIENTATION_VERTICAL

 - User Option: style
        * GTK_TOOLBAR_ICONS

        * GTK_TOOLBAR_TEXT

        * GTK_TOOLBAR_BOTH

 - User Option: space_size

Signals
-------

Functions
---------

 - Function: guint gtk_toolbar_get_type (void)
     Returns the `GtkToolbar' type identifier.

 - Function: GtkWidget* gtk_toolbar_new (GtkOrientation ORIENTATION,
          GtkToolbarStyle STYLE)
     Create a new `GtkToolbar' object initializing it with the values
     ORIENTATION and STYLE. `NULL' is returned on failure.

 - Function: void gtk_toolbar_append_item (GtkToolbar *TOOLBAR, char
          *TEXT, char *TOOLTIP_TEXT, GtkPixmap *ICON, GtkSignalFunc
          CALLBACK, gpointer USER_DATA)

 - Function: void gtk_toolbar_prepend_item (GtkToolbar *TOOLBAR, char
          *TEXT, char *TOOLTIP_TEXT, GtkPixmap *ICON, GtkSignalFunc
          CALLBACK, gpointer USER_DATA)

 - Function: void gtk_toolbar_insert_item (GtkToolbar *TOOLBAR, char
          *TEXT, char *TOOLTIP_TEXT, GtkPixmap *ICON, GtkSignalFunc
          CALLBACK, gpointer USER_DATA, gint POSITION)

 - Function: void gtk_toolbar_append_space (GtkToolbar *TOOLBAR)

 - Function: void gtk_toolbar_prepend_space (GtkToolbar *TOOLBAR)

 - Function: void gtk_toolbar_insert_space (GtkToolbar *TOOLBAR, gint
          POSITION)

 - Function: void gtk_toolbar_set_orientation (GtkToolbar *TOOLBAR,
          GtkOrientation ORIENTATION)

 - Function: void gtk_toolbar_set_style (GtkToolbar *TOOLBAR,
          GtkToolbarStyle STYLE)
     Set the STYLE of the TOOLBAR to STYLE.

 - Function: void gtk_toolbar_set_space_size (GtkToolbar *TOOLBAR, gint
          SPACE_SIZE)

 - Function: void gtk_toolbar_set_tooltips (GtkToolbar *TOOLBAR, gint
          ENABLE)

 - Function: GtkToolbar* GTK_TOOLBAR (gpointer OBJ)
     Cast a generic pointer to `GtkToolbar*'. See Standard Macros,
     for more info.

 - Function: GtkToolbarClass* GTK_TOOLBAR_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkToolbarClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_TOOLBAR (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkToolbar' object.
     See Standard Macros, for more info.

The tool tips widget
====================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: GtkTooltips* gtk_tooltips_new (void)
     Create a new `GtkTooltips' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkTooltips* gtk_tooltips_ref (GtkTooltips *TOOLTIPS)

 - Function: void gtk_tooltips_unref (GtkTooltips *TOOLTIPS)

 - Function: void gtk_tooltips_free_string (gpointer DATA, gpointer
          USER_DATA)

 - Function: void gtk_tooltips_enable (GtkTooltips *TOOLTIPS)

 - Function: void gtk_tooltips_disable (GtkTooltips *TOOLTIPS)

 - Function: void gtk_tooltips_set_delay (GtkTooltips *TOOLTIPS,
          GtkWidget *WIDGET, gchar *TIPS_TEXT)

 - Function: void gtk_tooltips_set_colors (GtkTooltips *TOOLTIPS,
          GdkColor *BACKGROUND, GdkColor *FOREGROUND)

 - Function: GtkTooltips* GTK_TOOLTIPS (gpointer OBJ)
     Cast a generic pointer to `GtkTooltips*'. See Standard Macros,
     for more info.

 - Function: GtkTooltipsClass* GTK_TOOLTIPS_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkTooltipsClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_TOOLTIPS (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkTooltips' object.
     See Standard Macros, for more info.

The tree widget
===============

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_tree_get_type (void)
     Returns the `GtkTree' type identifier.

 - Function: GtkWidget* gtk_tree_new (void)
     Create a new `GtkTree' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: void gtk_tree_append (GtkTree *TREE, GtkWidget *CHILD)

 - Function: void gtk_tree_prepend (GtkTree *TREE, GtkWidget *CHILD)

 - Function: void gtk_tree_insert (GtkTree *TREE, GtkWidget *CHILD,
          gint POSITION)

 - Function: gint gtk_tree_child_position (GtkTree *TREE, GtkWidget
          *CHILD)

 - Function: void gtk_tree_clear_items (GtkTree *TREE, gint START, gint
          END)

 - Function: void gtk_tree_remove_items (GtkTree *TREE, GList *ITEMS)

 - Function: void gtk_tree_select_child (GtkTree *TREE, GtkWidget
          *CHILD)

 - Function: void gtk_tree_select_item (GtkTree *TREE, gint ITEM)

 - Function: void gtk_tree_unselect_child (GtkTree *TREE, GtkWidget
          *CHILD)

 - Function: void gtk_tree_unselect_item (GtkTree *TREE, gint ITEM)

 - Function: void gtk_tree_set_selection_mode (GtkTree *TREE,
          GtkSelectionMode MODE)

 - Function: void gtk_tree_set_view_mode (GtkTree *TREE,
          GtkTreeViewMode MODE)

 - Function: void gtk_tree_set_view_lines (GtkTree *TREE, guint FLAG)

 - Function: GtkTree* GTK_TREE (gpointer OBJ)
     Cast a generic pointer to `GtkTree*'. See Standard Macros, for
     more info.

 - Function: GtkTreeClass* GTK_TREE_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkTreeClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_TREE (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkTree' object. See
     Standard Macros, for more info.

The tree item widget
====================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_tree_item_get_type (void)
     Returns the `GtkTreeItem' type identifier.

 - Function: GtkWidget* gtk_tree_item_new (void)
     Create a new `GtkTreeItem' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkWidget* gtk_tree_item_new_with_label (gchar *LABEL)
     Create a new `GtkTreeItem' object initializing it with the values
     in LABEL. The new widget is returned as a pointer to a `GtkWidget'
     object. `NULL' is returned on failure.

 - Function: void gtk_tree_item_set_subtree (GtkTreeItem *TREE_ITEM,
          GtkWidget *SUBTREE)

 - Function: void gtk_tree_item_select (GtkTreeItem *TREE_ITEM)

 - Function: void gtk_tree_item_deselect (GtkTreeItem *TREE_ITEM)

 - Function: void gtk_tree_item_expand (GtkTreeItem *TREE_ITEM)

 - Function: void gtk_tree_item_collapse (GtkTreeItem *TREE_ITEM)

 - Function: void gtk_tree_item_remove_subtree (GtkTreeItem *ITEM)

 - Function: GtkTreeItem* GTK_TREE_ITEM (gpointer OBJ)
     Cast a generic pointer to `GtkTreeItem*'. See Standard Macros,
     for more info.

 - Function: GtkTreeItemClass* GTK_TREE_ITEM_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkTreeItemClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_TREE_ITEM (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkTreeItem' object.
     See Standard Macros, for more info.

The vertical box widget
=======================

Description
-----------

Options
-------

 - User Option: homogeneous
     This option controls whether each object in the box has the same
     size. In the case of the `GtkVBox', this refers to the height. If
     this option is set then the EXPAND option to the `gtk_box_pack'
     (see GtkBox) routines is always turned on.

 - User Option: spacing
     This option sets the amount of space that is added between the
     objects packed into this `GtkVBox' object.

Signals
-------

   This widget does not define any new signals.

Functions
---------

 - Function: guint gtk_vbox_get_type (void)
     Returns the `GtkVBox' type identifier.

 - Function: GtkWidget* gtk_vbox_new (gint HOMOGENEOUS, gint SPACING)
     Create a new `GtkVBox' object initializing it with the values in
     HOMOGENEOUS and SPACING. The new widget is returned as a pointer
     to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkVBox* GTK_VBOX (gpointer OBJ)
     Cast a generic pointer to `GtkVBox*'. See Standard Macros, for
     more info.

 - Function: GtkVBoxClass* GTK_VBOX_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkVBoxClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VBOX (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkVBox' object. See
     Standard Macros, for more info.

The vertical button box widget
==============================

Description
-----------

Options
-------

 - User Option: spacing

 - User Option: layout

Signals
-------

Functions
---------

 - Function: guint gtk_vbutton_box_get_type (void)
     Returns the `GtkVButtonBox' type identifier.

 - Function: GtkWidget* gtk_vbutton_box_new (void)
     Create a new `GtkVButtonBox' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: void gtk_vbutton_box_set_spacing_default (gint SPACING)

 - Function: void gtk_vbutton_box_set_layout_default (gint LAYOUT)

 - Function: gint gtk_vbutton_box_get_spacing_default (void)

 - Function: gint gtk_vbutton_box_get_layout_default (void)

 - Function: GtkVButtonBox* GTK_VBUTTON_BOX (gpointer OBJ)
     Cast a generic pointer to `GtkVButtonBox*'. See Standard Macros,
     for more info.

 - Function: GtkVButtonBoxClass* GTK_VBUTTON_BOX_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkVButtonBoxClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VBUTTON_BOX (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkVButtonBox' object.
     See Standard Macros, for more info.

The viewport widget
===================

Description
-----------

Signals
-------

Functions
---------

 - Function: guint gtk_viewport_get_type (void)
     Returns the `GtkViewport' type identifier.

 - Function: GtkWidget* gtk_viewport_new (GtkAdjustment *HADJUSTMENT,
          GtkAdjustment *VADJUSTMENT)

 - Function: GtkAdjustment* gtk_viewport_get_hadjustment (GtkViewport
          *VIEWPORT)

 - Function: GtkAdjustment* gtk_viewport_get_vadjustment (GtkViewport
          *VIEWPORT)

 - Function: void gtk_viewport_set_hadjustment (GtkViewport *VIEWPORT,
          GtkAdjustment *ADJUSTMENT)

 - Function: void gtk_viewport_set_vadjustment (GtkViewport *VIEWPORT,
          GtkAdjustment *ADJUSTMENT)

 - Function: void gtk_viewport_set_shadow_type (GtkViewport *VIEWPORT,
          GtkShadowType TYPE)

 - Function: GtkViewport* GTK_VIEWPORT (gpointer OBJ)
     Cast a generic pointer to `GtkViewport*'. See Standard Macros,
     for more info.

 - Function: GtkViewportClass* GTK_VIEWPORT_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkViewportClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VIEWPORT (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkViewport' object.
     See Standard Macros, for more info.

The vertical paned widget
=========================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_vpaned_get_type (void)
     Returns the `GtkVPaned' type identifier.

 - Function: GtkWidget* gtk_vpaned_new (void)
     Create a new `GtkVPaned' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkVPaned* GTK_VPANED (gpointer OBJ)
     Cast a generic pointer to `GtkVPaned*'. See Standard Macros,
     for more info.

 - Function: GtkVPanedClass* GTK_VPANED_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkVPanedClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VPANED (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkVPaned' object.
     See Standard Macros, for more info.

The vertical ruler widget
=========================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_vruler_get_type (void)
     Returns the `GtkVRuler' type identifier.

 - Function: GtkWidget* gtk_vruler_new (void)
     Create a new `GtkVRuler' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkVRuler* GTK_VRULER (gpointer OBJ)
     Cast a generic pointer to `GtkVRuler*'. See Standard Macros,
     for more info.

 - Function: GtkVRulerClass* GTK_VRULER_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkVRulerClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VRULER (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkVRuler' object.
     See Standard Macros, for more info.

The vertical ruler widget
=========================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_vscale_get_type (void)
     Returns the `GtkVScale' type identifier.

 - Function: GtkWidget* gtk_vscale_new (GtkAdjustment *ADJUSTMENT)
     Create a new `GtkVScale' object returning the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkVScale* GTK_VSCALE (gpointer OBJ)
     Cast a generic pointer to `GtkVScale*'. See Standard Macros,
     for more info.

 - Function: GtkVScaleClass* GTK_VSCALE_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkVScaleClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VSCALE (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkVScale' object.
     See Standard Macros, for more info.

The vertical scrollbar widget
=============================

Description
-----------

Options
-------

Signals
-------

Functions
---------

 - Function: guint gtk_vscrollbar_get_type (void)
     Returns the `GtkVScrollbar' type identifier.

 - Function: GtkWidget* gtk_vscrollbar_new (GtkAdjustment *ADJUSTMENT)
     Create a new `GtkVScrollbar' object initializing it with the
     values in ADJUSTMENT. The new widget is returned as a pointer to a
     `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkVScrollbar* GTK_VSCROLLBAR (gpointer OBJ)
     Cast a generic pointer to `GtkVScrollbar*'. See Standard Macros,
     for more info.

 - Function: GtkVScrollbarClass* GTK_VSCROLLBAR_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkVScrollbarClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VSCROLLBAR (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkVScrollbar' object.
     See Standard Macros, for more info.

The vertical separator widget
=============================

Description
-----------

Signals
-------

Functions
---------

 - Function: guint gtk_vseparator_get_type (void)
     Returns the `GtkVSeparator' type identifier.

 - Function: GtkWidget* gtk_vseparator_new (void)
     Create a new `GtkVSeparator' object and return the new widget as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.

 - Function: GtkVSeparator* GTK_VSEPARATOR (gpointer OBJ)
     Cast a generic pointer to `GtkVSeparator*'. See Standard Macros,
     for more info.

 - Function: GtkVSeparatorClass* GTK_VSEPARATOR_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkVSeparatorClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_VSEPARATOR (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkVSeparator' object.
     See Standard Macros, for more info.

The base widget
===============

Description
-----------

Signals
-------

 - Signal: void GtkWidget::show (GtkWidget *WIDGET)

 - Signal: void GtkWidget::hide (GtkWidget *WIDGET)

 - Signal: void GtkWidget::map (GtkWidget *WIDGET)

 - Signal: void GtkWidget::unmap (GtkWidget *WIDGET)

 - Signal: void GtkWidget::realize (GtkWidget *WIDGET)

 - Signal: void GtkWidget::unrealize (GtkWidget *WIDGET)

 - Signal: void GtkWidget::draw (GtkWidget *WIDGET, GdkRectangle *AREA)

 - Signal: void GtkWidget::draw_focus (GtkWidget *WIDGET)

 - Signal: void GtkWidget::draw_default (GtkWidget *WIDGET)

 - Signal: void GtkWidget::size_request (GtkWidget *WIDGET,
          GtkRequisition *REQUISITION)

 - Signal: void GtkWidget::size_allocate (GtkWidget *WIDGET,
          GtkAllocation *ALLOCATION)

 - Signal: void GtkWidget::state_changed (GtkWidget *WIDGET)

 - Signal: gint GtkWidget::install_accelerator (GtkWidget *WIDGET,
          gchar *SIGNAL_NAME, gchar KEY, guint8 MODIFIERS)

 - Signal: void GtkWidget::remove_accelerator (GtkWidget *WIDGET, gchar
          *SIGNAL_NAME)

 - Signal: gint GtkWidget::event (GtkWidget *WIDGET, GdkEvent *EVENT)

 - Signal: gint GtkWidget::button_press_event (GtkWidget *WIDGET,
          GdkEventButton *EVENT)

 - Signal: gint GtkWidget::button_release_event (GtkWidget *WIDGET,
          GdkEventButton *EVENT)

 - Signal: gint GtkWidget::motion_notify_event (GtkWidget *WIDGET,
          GdkEventMotion *EVENT)

 - Signal: gint GtkWidget::delete_event (GtkWidget *WIDGET, GdkEventAny
          *EVENT)

 - Signal: gint GtkWidget::destroy_event (GtkWidget *WIDGET,
          GdkEventAny *EVENT)

 - Signal: gint GtkWidget::expose_event (GtkWidget *WIDGET,
          GdkEventExpose *EVENT)

 - Signal: gint GtkWidget::key_press_event (GtkWidget *WIDGET,
          GdkEventKey *EVENT)

 - Signal: gint GtkWidget::key_release_event (GtkWidget *WIDGET,
          GdkEventKey *EVENT)

 - Signal: gint GtkWidget::enter_notify_event (GtkWidget *WIDGET,
          GdkEventCrossing *EVENT)

 - Signal: gint GtkWidget::leave_notify_event (GtkWidget *WIDGET,
          GdkEventCrossing *EVENT)

 - Signal: gint GtkWidget::configure_event (GtkWidget *WIDGET,
          GdkEventConfigure *EVENT)

 - Signal: gint GtkWidget::focus_in_event (GtkWidget *WIDGET,
          GdkEventFocus *EVENT)

 - Signal: gint GtkWidget::focus_out_event (GtkWidget *WIDGET,
          GdkEventFocus *EVENT)

 - Signal: gint GtkWidget::map_event (GtkWidget *WIDGET, GdkEventAny
          *EVENT)

 - Signal: gint GtkWidget::unmap_event (GtkWidget *WIDGET, GdkEventAny
          *EVENT)

 - Signal: gint GtkWidget::property_notify_event (GtkWidget *WIDGET,
          GdkEventProperty *EVENT)

 - Signal: gint GtkWidget::selection_clear_event (GtkWidget *WIDGET,
          GdkEventSelection *EVENT)

 - Signal: gint GtkWidget::selection_request_event (GtkWidget *WIDGET,
          GdkEventSelection *EVENT)

 - Signal: gint GtkWidget::selection_notify_event (GtkWidget *WIDGET,
          GdkEventSelection *EVENT)

 - Signal: gint GtkWidget::drop_event (GtkWidget *WIDGET, GdkEventDrop
          *EVENT)

 - Signal: gint GtkWidget::drag_begin_event (GtkWidget *WIDGET,
          GdkEventDragBegin *EVENT)

 - Signal: gint GtkWidget::other_event (GtkWidget *WIDGET,
          GdkEventOther *EVENT)

Functions
---------

 - Function: guint gtk_widget_get_type (void)
     Returns the `GtkWidget' type identifier.

 - Function: void gtk_widget_class_init (GtkWidgetClass *CLASS)

 - Function: void gtk_widget_init (GtkWidget *WIDGET)

 - Function: void gtk_widget_destroy (GtkWidget *WIDGET)

 - Function: void gtk_widget_show (GtkWidget *WIDGET)

 - Function: void gtk_widget_hide (GtkWidget *WIDGET)

 - Function: void gtk_widget_map (GtkWidget *WIDGET)

 - Function: void gtk_widget_unmap (GtkWidget *WIDGET)

 - Function: void gtk_widget_realize (GtkWidget *WIDGET)

 - Function: void gtk_widget_unrealize (GtkWidget *WIDGET)

 - Function: void gtk_widget_draw (GtkWidget *WIDGET, GdkRectangle
          *AREA)

 - Function: void gtk_widget_draw_focus (GtkWidget *WIDGET)

 - Function: void gtk_widget_draw_children (GtkWidget *WIDGET)

 - Function: void gtk_widget_size_request (GtkWidget *WIDGET,
          GtkRequisition *REQUISITION)

 - Function: void gtk_widget_size_allocate (GtkWidget *WIDGET,
          GtkAllocation *ALLOCATION)

 - Function: void gtk_widget_install_accelerator (GtkWidget *WIDGET,
          GtkAcceleratorTable *TABLE, gchar *SIGNAL_NAME, gchar KEY,
          guint8 MODIFIERS)

 - Function: void gtk_widget_remove_accelerator (GtkWidget *WIDGET,
          GtkAcceleratorTable *TABLE, gchar *SIGNAL_NAME)

 - Function: gint gtk_widget_event (GtkWidget *WIDGET, GdkEvent *EVENT)

 - Function: void gtk_widget_reparent (GtkWidget *WIDGET, GtkWidget
          *NEW_PARENT)

 - Function: void gtk_widget_popup (GtkWidget *WIDGET, gint X, gint Y)

 - Function: gint gtk_widget_intersect (GtkWidget *WIDGET, GdkRectangle
          *AREA, GdkRectangle *INTERSECTION)

 - Function: void gtk_widget_grab_focus (GtkWidget *WIDGET)

 - Function: void gtk_widget_grab_default (GtkWidget *WIDGET)

 - Function: void gtk_widget_restore_state (GtkWidget *WIDGET)

 - Function: void gtk_widget_set_name (GtkWidget *WIDGET, gchar *NAME)

 - Function: void gtk_widget_set_state (GtkWidget *WIDGET, GtkStateType
          STATE)

 - Function: void gtk_widget_set_sensitive (GtkWidget *WIDGET, gint
          sensitive)

 - Function: void gtk_widget_set_parent (GtkWidget *WIDGET, GtkWidget
          *PARENT)

 - Function: void gtk_widget_set_style (GtkWidget *WIDGET, GtkStyle
          *STYLE)

 - Function: void gtk_widget_set_uposition (GtkWidget *WIDGET, gint X,
          gint Y)

 - Function: void gtk_widget_set_usize (GtkWidget *WIDGET, gint WIDTH,
          gint HEIGHT)

 - Function: GtkWidget* gtk_widget_get_toplevel (GtkWidget *WIDGET)

 - Function: GtkWidget* gtk_widget_get_ancestor (GtkWidget *WIDGET,
          gint TYPE)

 - Function: GdkColormap* gtk_widget_get_colormap (GtkWidget *WIDGET)

 - Function: GdkVisual* gtk_widget_get_visual (GtkWidget *VISUAL)

 - Function: GtkStyle* gtk_widget_get_style (GtkWidget *STYLE)

 - Function: GtkWidget* GTK_WIDGET (gpointer OBJ)
     Cast a generic pointer to `GtkWidget*'. See Standard Macros,
     for more info.

 - Function: GtkWidgetClass* GTK_WIDGET_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkWidgetClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_WIDGET (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkWidget' object.
     See Standard Macros, for more info.

The window widget
=================

Description
-----------

Options
-------

 - User Option: type
     The TYPE options specify how this widget will interact with the
     window manager. Currently the following types and the effect they
     have on the window to window manager interaction is as follows.
        * `GTK_WINDOW_TOPLEVEL'
             * The option `GTK_WINDOW_TOPLEVEL' is usually used for the
               main application window that will remain for the entire
               application run.

        * `GTK_WINDOW_DIALOG'
             * The option `GTK_WINDOW_DIALOG' is usually used for
               transient windows. These windows will open up, gather
               some input or provide some application specific updates,
               then close. The window manager is free not to provide
               all the 'normal' window functions to this window.

        * `GTK_WINDOW_POPUP'
             * The option `GTK_WINDOW_POPUP' is usually used for
               transient windows.  These windows are typically used for
               when no user interaction is required, to notify the user
               of some condition. Other uses for these types of windows
               are for 'about windows', startup windows and the like.
               Typically the window manager will *not* provide the
               usual widgets that surround the window. At the most all
               that will be provided is a border. Also note that
               windows that set this TYPE will not be in any window
               list of the window manager. Though this window will
               *not* get the kill and close widgets of the window
               manager they still can receive said events and should be
               taken into account.

 - User Option: title
     The TITLE option will set the title of the window in the window
     manager.  *Note:* On windows that have the TYPE option set to
     `GTK_WINDOW_POPUP' there is a strong possibility that this will
     text will not be seen.

 - User Option: position
     The POSITION option will determine where the window will be
     displayed when it is finally drawn to the screen. Currently the
     following positions  and the effect they have on window placement
     can be specified.

        * `GTK_WIN_POS_NONE'
             * This POSITION type will allow the window manager full
               freedom, depending on the current settings in the window
               manager. As to where the window will be placed.

        * `GTK_WIN_POS_CENTER'
             * This POSITION option will cause the window to center
               itself on the the screen. This option setting will take
               into account the VIRTUAL SCREEN size when calculating
               the center. This is *not* the same as the VIRTUAL
               DESKTOP setting of many window managers. It will center
               itself on the current VIRTUAL DESKTOP.

        * `GTK_WIN_POS_MOUSE'
               This POSITION option will cause the window to center
               itself under the mouse pointers' current location.
               Typical uses for this setting is in
               warning/error/informational dialogs where user
               interaction is desired.

Signals
-------

 - Signal: void GtkWindow::move_resize (GtkWindow *WINDOW, gint *X,
          gint *Y, gint WIDTH, gint HEIGHT)

 - Signal: void GtkWindow::set_focus (GtkWindow *WINDOW, GtkWidget
          *FOCUS)

Functions
---------

 - Function: guint gtk_window_get_type (void)
     Returns the `GtkWindow' type identifier.

 - Function: GtkWidget* gtk_window_new (GtkWindowType TYPE)
     Create a new `GtkWindow' object. The new widget is returned as a
     pointer to a `GtkWidget' object. `NULL' is returned on failure.
     The TYPE can be one of `GTK_WINDOW_TOPLEVEL', `GTK_WINDOW_DIALOG'
     or, `GTK_WINDOW_POPUP'. The TYPE value determines how this widget
     will interact with the window manager.

 - Function: void gtk_window_set_title (GtkWindow *WINDOW, gchar *TITLE)
     Set the title of this window to the text in the TITLE argument. It
     is important to not set the fields of the `GtkWindow' structure
     directly.

 - Function: void gtk_window_set_focus (GtkWindow *WINDOW, GtkWidget
          *FOCUS)

 - Function: void gtk_window_set_default (GtkWindow *WINDOW, GtkWidget
          *DEFAULTW)

 - Function: void gtk_window_set_policy (GtkWindow *WINDOW, gint
          ALLOW_SHRINK, gint ALLOW_GROW, gint AUTO_SHRINK)

 - Function: void gtk_window_add_accelerator_table (GtkWindow *WINDOW,
          GtkAcceleratorTable *TABLE)

 - Function: void gtk_window_remove_accelerator_table (GtkWindow
          *WINDOW, GtkAcceleratorTable *TABLE)

 - Function: void gtk_window_position (GtkWindow *WINDOW,
          GtkWindowPosition POSITION)
     Set the position that the window will be at when it is finally
     drawn to the screen. The POSITION argument effects the the
     position as described above.

 - Function: GtkWindow* GTK_WINDOW (gpointer OBJ)
     Cast a generic pointer to `GtkWindow*'. See Standard Macros,
     for more info.

 - Function: GtkWindowClass* GTK_WINDOW_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkWindowClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_WINDOW (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkWindow' object.
     See Standard Macros, for more info.

Utility objects
***************

The accelerator table object
============================

Description
-----------

Functions
---------

 - Function: GtkAcceleratorTable* gtk_accelerator_table_new (void)

 - Function: GtkAcceleratorTable* gtk_accelerator_table_find (GtkObject
          *OBJECT, gchar *SIGNAL_NAME, guchar ACCELERATOR_KEY, guint8
          ACCELERATOR_MODS)

 - Function: GtkAccelerator *gtk_accelerator_table_ref
          (GtkAcceleratorTable *TABLE)

 - Function: void gtk_accelerator_table_unref (GtkAcceleratorTable
          *TABLE)

 - Function: void gtk_accelerator_table_install (GtkAcceleratorTable
          *TABLE, GtkObject *OBJECT, gchar *SIGNAL_NAME, guchar
          ACCELERATOR_KEY, guint8 ACCELERATOR_MODS)

 - Function: void gtk_accelerator_table_remove (GtkAcceleratorTable
          *TABLE, GtkObject *OBJECT, gchar *SIGNAL_NAME)

 - Function: void gtk_accelerator_table_check (GtkAcceleratorTable
          *TABLE, guchar ACCELERATOR_KEY, guint8 ACCELERATOR_MODS)

 - Function: void gtk_accelerator_table_set_mod_mask
          (GtkAcceleratorTable *TABLE, guint8 MODIFIER_MASK)

The adjustment object
=====================

Description
-----------

Functions
---------

 - Function: guint gtk_adjustment_get_type (void)
     Returns the `GtkAdjustment' type identifier.

 - Function: GtkObject* gtk_adjustment_new (gfloat VALUE, gfloat LOWER,
          gfloat UPPER, gfloat STEP_INCREMENT, gfloat PAGE_INCREMENT,
          gfloat PAGE_SIZE)

 - Function: GtkGtkAdjustment* GTK_ADJUSTMENT (gpointer OBJ)
     Cast a generic pointer to `GtkGtkAdjustment*'. See Standard Macros,
     for more info.

 - Function: GtkGtkAdjustmentClass* GTK_ADJUSTMENT_CLASS (gpointer
          CLASS)
     Cast a generic pointer to `GtkGtkAdjustmentClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_ADJUSTMENT (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkGtkAdjustment'
     object. See Standard Macros, for more info.

The GC object
=============

Description
-----------

Functions
---------

 - Function: GdkGC* gtk_gc_get (gint DEPTH, GdkColormap *COLORMAP,
          GdkGCValues *VALUES, GdkGCValuesMask VALUES_MASK)

 - Function: void gtk_gc_release (GdkGC *GC)

The data object
===============

Description
-----------

Functions
---------

 - Function: guint gtk_data_get_type (void)
     Returns the `GtkData' type identifier.

 - Function: GtkData* GTK_DATA (gpointer OBJ)
     Cast a generic pointer to `GtkData*'. See Standard Macros, for
     more info.

 - Function: GtkDataClass* GTK_DATA_CLASS (gpointer CLASS)
     Cast a generic pointer to `GtkDataClass*'. See Standard Macros,
     for more info.

 - Function: gint GTK_IS_DATA (gpointer OBJ)
     Determine if a generic pointer refers to a `GtkData' object. See
     Standard Macros, for more info.

The style object
================

Description
-----------

Functions
---------

Initialization, exit and other features
***************************************

Initializing and exiting GTK
============================

Initializing
------------

   Before any GTK functions can be utilized the library must be
initialized. This can be accomplished by calling the `gtk_init'
function. The arguments you pass to this function should be the same
arguments that were passed to your application. This function will
parse the arguments that it understands and handle initializing the GDK
library for you.

Exiting
-------

Functions
---------

 - Function: void gtk_init (int *ARGC, char **ARGV)
     Function to initialize GTK and GDK for you. This function will
     remove any command line arguments from ARGC and ARGV that it
     understands.

          int main (int argc, char *argv[])
          {
             ...Any local variables or non GTK/GDK initialization

             /* Initialize GTK. */
             gtk_init(&argc, &argc);

          }

 - Function: void gtk_exit (int ERROR_CODE)
     Exit GTK and perform any necessary cleanup. `gtk_exit' will call
     the systems `exit' function passing ERROR_CODE as the parameter.

 - Function: gint gtk_events_pending (void)
     Returns the number of events pending on the event queue.

 - Function: void gtk_main (void)

 - Function: guint gtk_main_level (void)

 - Function: void gtk_main_quit (void)
     A call to this function will cause the `gtk_main' function to exit,
     thereby allowing your application to exit.

Customization of the library
============================

Description
-----------

   Like other X-windows applications the GTK library provides a way for
the user and application programmer to change the colors of just about
any widget.  You can also specify what pixmap should be tiled onto the
background of some widgets. All this is handled through a similar
method as in the standard X-windows environment, through the use of
'rc' files. The format and functions available in these files is
discussed below.

Functions
---------

   The following functions are available to handle the rc files.

 - Function: void gtk_rc_parse (char *FILENAME)
     This function will parse the FILENAME that is passed to it as its
     argument. It will use the style settings for the widget types
     defined there.

 - Function: void gtk_rc_init (void)
     This function will initialize the rc file parser, normally this
     need not be called directly as the `gtk_rc_parse' function will
     handle this for you.

Simplified menu creation
========================

Simplified tree creation
========================

Pop up help mechanism
=====================

Description
-----------

Resource Files
==============

Macros defined by all objects
=============================

   There are three macros that are defined by all object types. The
first two are used for performing casts and the last is for querying
whether an object is of a particular type. These macros are both
conveniences and debugging tools. If the GTK library was compiled with
`NDEBUG' defined as a preprocessor symbol (via the -DNDEBUG to cc),
then the macros check the object type and emit a warning if the cast is
invalid. Doing such checking is fairly expensive since the cast macros
are used everywhere in GTK and would normally be turned off in a public
release of a product. Note: The functions below are indeed macros, but
they may be considered functions for most purposes.

 - Function: Gtk<ObjectType>* GTK_<OBJECT_TYPE> (gpointer OBJ)
     Cast a generic pointer to `Gtk<ObjectType>*'. This function is
     provided in order to be able to provide checking during development
     stages of code development since it is possible to examine the
     actual type of object (using `gtk_type_is_a') before performing
     the cast.

 - Function: Gtk<ObjectType>Class* GTK_<OBJECT_TYPE>_CLASS (gpointer
          CLASS)
     Cast a generic pointer to `Gtk<ObjectType>Class*'. Like
     `GTK_<ObjectType>', this function is, in reality, a macro.

 - Function: gint GTK_IS_<ObjectType> (gpointer OBJ)
     Determine if a generic pointer refers to a `Gtk<ObjectType>'
     object. This function is, in reality, a macro wrapper around the
     `gtk_type_is_a' function (see Types).

Using GTK
*********

The simplest GTK program
========================

   The 16 line GTK program shown below is just about the simplest
possible program which uses GTK. (Well, technically, you don't have to
create the window and it would still be a program which uses GTK). The
program, when compiled and run, will create a single window 200x200
pixels in size. The program does not exit until its is explicitly
killed using the shell or a window manager function.

     #include <gtk/gtk.h>

     int
     main (int argc, char *argv[])
     {
       GtkWidget *window;

       gtk_init (&argc, &argv);

       window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
       gtk_widget_show (window);

       gtk_main ();

       return 0;
     }

   The first point of interest in this program is the standard
initialization line.

       gtk_init (&argc, &argv);

   Almost every GTK program will contain such a line. GTK will
initialize itself and GDK and remove any command line arguments it
recognizes from ARGC and ARGV.

   The next two lines of code create and display a window.

       window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
       gtk_widget_show (window);

   The `GTK_WINDOW_TOPLEVEL' argument specifies that we want the window
to undergo window manager decoration and placement. One might be lead
to think that the window, since it has no children, would be 0x0 pixels
in size. But, this is not the case because a window that has no
children defaults to 200x200 pixels in size. Mainly because 0x0 windows
are annoying to manipulate or even see in some cases.

   The last line enters the GTK main processing loop.

       gtk_main ();

   Normally, `gtk_main' is called once and the program should exit when
it returns. See Initialization and exit.