GTK+ 2 Reference Manual

This document is for the GTK+ 2 library; the latest versions can be found online at http://library.gnome.org/devel/gtk. If you're looking for the newer GTK+ 3 series of libraries, see http://library.gnome.org/devel/gtk3/.

I. GTK+ Overview
  Compiling the GTK+ libraries — How to compile GTK+ itself
  Compiling GTK+ Applications — How to compile your GTK+ application
  Running GTK+ Applications — How to run and debug your GTK+ application
  Using GTK+ on the X Window System — X11 aspects of using GTK+
  Using GTK+ on Windows — Windows-specific aspects of using GTK+
  Using GTK+ on Mac OS X — OS X-specific aspects of using GTK+
  Using GTK+ on DirectFB — DirectFB-specific aspects of using GTK+
  Mailing lists and bug reports — Getting help with GTK+
  Common Questions — Find answers to common questions in the GTK+ manual
  The GTK+ Drawing Model — The GTK+ drawing model in detail
II. GTK+ Core Reference
  Main loop and Events — Library initialization, main event loop, and events
  Accelerator Groups — Groups of global keyboard accelerators for an entire GtkWindow
  Accelerator Maps — Loadable keyboard accelerator specifications
  Clipboards — Storing data on clipboards
  Drag and Drop — Functions for controlling drag and drop handling
  GtkIconTheme — Looking up icons by name
  Stock Items — Prebuilt common menu/toolbar items and corresponding icons
  Themeable Stock Images — Manipulating stock icons
  Resource Files — Routines for handling resource files
  Settings — Sharing settings between applications
  Bindings — Key bindings for individual widgets
  Standard Enumerations — Public enumerated types used throughout GTK+
  Graphics Contexts — A shared pool of GdkGC objects
  Styles — Functions for drawing widget parts
  Selections — Functions for handling inter-process communication via selections
  Version Information — Variables and functions to check the GTK+ version
  Signals — Object methods and callbacks
  Types — Handle run-time type creation
  Testing — Utilities for testing GTK+ applications
  Filesystem utilities — Functions for working with GIO
III. GTK+ Widgets and Objects
  Object Hierarchy
  Widget Gallery
  Windows
    GtkDialog — Create popup windows
    GtkInvisible — A widget which is not displayed
    GtkMessageDialog — A convenient message window
    GtkWindow — Toplevel which can contain other widgets
    GtkWindowGroup — Limit the effect of grabs
    GtkAboutDialog — Display information about an application
    GtkAssistant — A widget used to guide users through multi-step operations
    GtkOffscreenWindow — A toplevel container widget used to manage offscreen rendering of child widgets.
  Display Widgets
    GtkAccelLabel — A label which displays an accelerator key on the right of the text
    GtkImage — A widget displaying an image
    GtkLabel — A widget that displays a small to medium amount of text
    GtkProgressBar — A widget which indicates progress visually
    GtkStatusbar — Report messages of minor importance to the user
    GtkInfoBar — Report important messages to the user
    GtkStatusIcon — Display an icon in the system tray
    GtkSpinner — Show a spinner animation
  Buttons and Toggles
    GtkButton — A widget that creates a signal when clicked on
    GtkCheckButton — Create widgets with a discrete toggle button
    GtkRadioButton — A choice from multiple check buttons
    GtkToggleButton — Create buttons which retain their state
    GtkLinkButton — Create buttons bound to a URL
    GtkScaleButton — A button which pops up a scale
    GtkVolumeButton — A button which pops up a volume control
  Numeric/Text Data Entry
    GtkEntry — A single line text entry field
    GtkEntryBuffer — Text buffer for GtkEntry
    GtkEntryCompletion — Completion functionality for GtkEntry
    GtkHScale — A horizontal slider widget for selecting a value from a range
    GtkVScale — A vertical slider widget for selecting a value from a range
    GtkSpinButton — Retrieve an integer or floating-point number from the user
    GtkEditable — Interface for text-editing widgets
  Multiline Text Editor
    Text Widget Overview — Overview of GtkTextBuffer, GtkTextView, and friends
    GtkTextIter — Text buffer iterator
    GtkTextMark — A position in the buffer preserved across buffer modifications
    GtkTextBuffer — Stores attributed text for display in a GtkTextView
    GtkTextTag — A tag that can be applied to text in a GtkTextBuffer
    GtkTextTagTable — Collection of tags that can be used together
    GtkTextView — Widget that displays a GtkTextBuffer
  Tree, List and Icon Grid Widgets
    Tree and List Widget Overview — Overview of GtkTreeModel, GtkTreeView, and friends
    GtkTreeModel — The tree interface used by GtkTreeView
    GtkTreeSelection — The selection object for GtkTreeView
    GtkTreeViewColumn — A visible column in a GtkTreeView widget
    GtkTreeView — A widget for displaying both trees and lists
    GtkTreeView drag-and-drop — Interfaces for drag-and-drop support in GtkTreeView
    GtkCellView — A widget displaying a single row of a GtkTreeModel
    GtkIconView — A widget which displays a list of icons in a grid
    GtkTreeSortable — The interface for sortable models used by GtkTreeView
    GtkTreeModelSort — A GtkTreeModel which makes an underlying tree model sortable
    GtkTreeModelFilter — A GtkTreeModel which hides parts of an underlying tree model
    GtkCellLayout — An interface for packing cells
    GtkCellRenderer — An object for rendering a single cell on a GdkDrawable
    GtkCellEditable — Interface for widgets which can are used for editing cells
    GtkCellRendererAccel — Renders a keyboard accelerator in a cell
    GtkCellRendererCombo — Renders a combobox in a cell
    GtkCellRendererPixbuf — Renders a pixbuf in a cell
    GtkCellRendererProgress — Renders numbers as progress bars
    GtkCellRendererSpin — Renders a spin button in a cell
    GtkCellRendererText — Renders text in a cell
    GtkCellRendererToggle — Renders a toggle button in a cell
    GtkCellRendererSpinner — Renders a spinning animation in a cell
    GtkListStore — A list-like data structure that can be used with the GtkTreeView
    GtkTreeStore — A tree-like data structure that can be used with the GtkTreeView
  Menus, Combo Box, Toolbar
    GtkComboBox — A widget used to choose from a list of items
    GtkComboBoxText — A simple, text-only combo box
    GtkComboBoxEntry — A text entry field with a dropdown list
    GtkMenu — A menu widget
    GtkMenuBar — A subclass widget for GtkMenuShell which holds GtkMenuItem widgets
    GtkMenuItem — The widget used for item in menus
    GtkImageMenuItem — A menu item with an icon
    GtkRadioMenuItem — A choice from multiple check menu items
    GtkCheckMenuItem — A menu item with a check box
    GtkSeparatorMenuItem — A separator used in menus
    GtkTearoffMenuItem — A menu item used to tear off and reattach its menu
    GtkToolShell — Interface for containers containing GtkToolItem widgets
    GtkToolbar — Create bars of buttons and other widgets
    GtkToolItem — The base class of widgets that can be added to GtkToolShell
    GtkToolPalette — A tool palette with categories
    GtkToolItemGroup — A sub container used in a tool palette
    GtkSeparatorToolItem — A toolbar item that separates groups of other toolbar items
    GtkToolButton — A GtkToolItem subclass that displays buttons
    GtkMenuToolButton — A GtkToolItem containing a button with an additional dropdown menu
    GtkToggleToolButton — A GtkToolItem containing a toggle button
    GtkRadioToolButton — A toolbar item that contains a radio button
  Action-based menus and toolbars
    GtkUIManager — Constructing menus and toolbars from an XML description
    GtkActionGroup — A group of actions
    GtkAction — An action which can be triggered by a menu or toolbar item
    GtkToggleAction — An action which can be toggled between two states
    GtkRadioAction — An action of which only one in a group can be active
    GtkRecentAction — An action of which represents a list of recently used files
    GtkActivatable — An interface for activatable widgets
  Selectors (File/Font/Color/Input Devices)
    GtkColorButton — A button to launch a color selection dialog
    GtkColorSelectionDialog — A standard dialog box for selecting a color
    GtkColorSelection — A widget used to select a color
    GtkHSV — A 'color wheel' widget
    GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog
    GtkFileChooserButton — A button to launch a file selection dialog
    GtkFileChooserDialog — A file chooser dialog, suitable for "File/Open" or "File/Save" commands
    GtkFileChooserWidget — File chooser widget that can be embedded in other widgets
    GtkFileFilter — A filter for selecting a file subset
    GtkFontButton — A button to launch a font selection dialog
    GtkFontSelection — A widget for selecting fonts
    GtkFontSelectionDialog — A dialog box for selecting fonts
    GtkInputDialog — Configure devices for the XInput extension
  Layout Containers
    GtkAlignment — A widget which controls the alignment and size of its child
    GtkAspectFrame — A frame that constrains its child to a particular aspect ratio
    GtkHBox — A horizontal container box
    GtkVBox — A vertical container box
    GtkHButtonBox — A container for arranging buttons horizontally
    GtkVButtonBox — A container for arranging buttons vertically
    GtkFixed — A container which allows you to position widgets at fixed coordinates
    GtkHPaned — A container with two panes arranged horizontally
    GtkVPaned — A container with two panes arranged vertically
    GtkLayout — Infinite scrollable area containing child widgets and/or custom drawing
    GtkNotebook — A tabbed notebook container
    GtkTable — Pack widgets in regular patterns
    GtkExpander — A container which can hide its child
    GtkOrientable — An interface for flippable widgets
  Ornaments
    GtkFrame — A bin with a decorative frame and optional label
    GtkHSeparator — A horizontal separator
    GtkVSeparator — A vertical separator
  Scrolling
    GtkHScrollbar — A horizontal scrollbar
    GtkVScrollbar — A vertical scrollbar
    GtkScrolledWindow — Adds scrollbars to its child widget
  Printing
    GtkPrintOperation — High-level Printing API
    GtkPrintContext — Encapsulates context for drawing pages
    GtkPrintSettings — Stores print settings
    GtkPageSetup — Stores page setup information
    GtkPaperSize — Support for named paper sizes
    GtkPrinter — Represents a printer
    GtkPrintJob — Represents a print job
    GtkPrintUnixDialog — A print dialog
    GtkPageSetupUnixDialog — A page setup dialog
  Miscellaneous
    GtkAdjustment — A GtkObject representing an adjustable bounded value
    GtkArrow — Displays an arrow
    GtkCalendar — Displays a calendar and allows the user to select a date
    GtkDrawingArea — A widget for custom user interface elements
    GtkEventBox — A widget used to catch events for widgets which do not have their own window
    GtkHandleBox — a widget for detachable window portions
    GtkIMContextSimple — An input method context supporting table-based input methods
    GtkIMMulticontext — An input method context supporting multiple, loadable input methods
    GtkSizeGroup — Grouping widgets so they request the same size
    GtkTooltip — Add tips to your widgets
    GtkViewport — An adapter which makes widgets scrollable
    GtkAccessible — Accessibility support for widgets
  Abstract Base Classes
    GtkBin — A container with just one child
    GtkBox — Base class for box containers
    GtkButtonBox — Base class for GtkHButtonBox and GtkVButtonBox
    GtkContainer — Base class for widgets which contain other widgets
    GtkItem — Abstract base class for GtkMenuItem, GtkListItem and GtkTreeItem
    GtkMenuShell — A base class for menu objects
    GtkMisc — Base class for widgets with alignments and padding
    GtkObject — The base class of the GTK+ type hierarchy
    GtkPaned — Base class for widgets with two adjustable panes
    GtkRange — Base class for widgets which visualize an adjustment
    GtkScale — Base class for GtkHScale and GtkVScale
    GtkScrollbar — Base class for GtkHScrollbar and GtkVScrollbar
    GtkSeparator — Base class for GtkHSeparator and GtkVSeparator
    GtkWidget — Base class for all widgets
    GtkIMContext — Base class for input method contexts
  Cross-process Embedding
    GtkPlug — Toplevel for embedding into other processes
    GtkSocket — Container for widgets from other processes
  Special-purpose features
    GtkCurve — Allows direct editing of a curve
    GtkGammaCurve — A subclass of GtkCurve for editing gamma curves
    GtkRuler — Base class for horizontal or vertical rulers
    GtkHRuler — A horizontal ruler
    GtkVRuler — A vertical ruler
  Recently Used Documents
    GtkRecentManager — Managing Recently Used Files
    GtkRecentChooser — Interface implemented by widgets displaying recently used files
    GtkRecentChooserDialog — Displays recently used files in a dialog
    GtkRecentChooserMenu — Displays recently used files in a menu
    GtkRecentChooserWidget — Displays recently used files
    GtkRecentFilter — A filter for selecting a subset of recently used files
  Interface builder
    GtkBuildable — Interface for objects that can be built by GtkBuilder
    GtkBuilder — Build an interface from an XML UI definition
  Deprecated
    GtkCList — A multi-columned scrolling list widget
    GtkCTree — A widget displaying a hierarchical tree
    GtkCombo — A text entry field with a dropdown list
    GtkFileSelection — Prompt the user for a file or directory name
    GtkItemFactory — A factory for menus
    GtkList — Widget for packing a list of selectable items
    GtkListItem — An item in a GtkList
    GtkOldEditable — Base class for text-editing widgets
    GtkOptionMenu — A widget used to choose from a list of valid choices
    GtkPixmap — A widget displaying a graphical image or icon
    GtkPreview — A widget to display RGB or grayscale data
    GtkProgress — Base class for GtkProgressBar
    GtkText — A text widget
    GtkTooltips — Add tips to your widgets
    GtkTipsQuery — Displays help about widgets in the user interface
    GtkTree — A tree widget
    GtkTreeItem — The widget used for items in a GtkTree
IV. Migrating from Previous Versions of GTK+
  Migration Checklist
    Implement GtkWidget::popup_menu
    Use GdkEventExpose.region
    Test for modifier keys correctly
    Use named icons
  Changes from 1.0 to 1.2 — Incompatible changes made between version 1.0 and version 1.2
  Changes from 1.2 to 2.0 — Incompatible changes made between version 1.2 and version 2.0
  Migrating from GtkFileSelection to GtkFileChooser
    Creating a GtkFileChooserDialog
    Selection Modes
    Installing a Preview widget
    Installing Extra Widgets
    New features
  Migrating from old menu and toolbar systems to GtkAction
    Actions and Action Groups
    User Interface Manager Object
    Migrating from GnomeUIInfo
  Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry
    Migrating from GtkOptionMenu to GtkComboBox
    Migrating from GtkCombo to GtkComboBoxEntry
    New features
  Migrating from GnomeIconList to GtkIconView
  Migrating from GnomeAbout to GtkAboutDialog
  Migrating from GnomeColorPicker to GtkColorButton
  Migrating from GnomeDruid to GtkAssistant
    Inserting pages
    Decorating the assistant pages
    Setting the page flow
  Migrating from EggRecent to GtkRecentChooser
    Managing the Recently Used Documents
    Displaying the Recently Used Documents
    Advanced usage
  Migrating from GnomeHRef to GtkLinkButton
  Migrating from libglade to GtkBuilder
  Migrating from GtkTooltips to GtkTooltip
  Migrating from SexyIconEntry to GtkEntry
  Migrating from SexyUrlLabel to GtkLabel
  Migrating to client-side windows
V. GTK+ Tools
  gtk-query-immodules-2.0 — Input method module registration utility
  gtk-update-icon-cache — Icon theme caching utility
  gtk-builder-convert — Glade file conversion utility
Glossary
Index of all symbols
Index of deprecated symbols
Index of new symbols in 2.2
Index of new symbols in 2.4
Index of new symbols in 2.6
Index of new symbols in 2.8
Index of new symbols in 2.10
Index of new symbols in 2.12
Index of new symbols in 2.14
Index of new symbols in 2.16
Index of new symbols in 2.18
Index of new symbols in 2.20
Index of new symbols in 2.22
Index of new symbols in 2.24
Annotation Glossary

Generated by GTK-Doc V1.17