# GTK+ Reference Manual

for GTK+ &version;

## GTK+ Overview

GTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and on framebuffer devices. GTK+ is released under the GNU Library General Public License (GNU LGPL), which allows for flexible licensing of client applications. GTK+ has a C-based object-oriented architecture that allows for maximum flexibility. Bindings for other languages have been written, including C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel.

GTK+ depends on the following libraries:

GLib

  A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on.

Pango

  Pango is a library for internationalized text handling. It centers around the #PangoLayout object, representing a paragraph of text. Pango provides the engine for #GtkTextView, #GtkLabel, #GtkEntry, and other widgets that display text.

ATK

  ATK is the Accessibility Toolkit. It provides a set of generic interfaces allowing accessibility technologies to interact with a graphical user interface. For example, a screen reader uses ATK to discover the text in an interface and read it to blind users. GTK+ widgets have built-in support for accessibility using the ATK framework.

GdkPixbuf

  This is a small library which allows you to create #GdkPixbuf ("pixel buffer") objects from image data or image files. Use a #GdkPixbuf in combination with #GtkImage to display images.

GDK

  GDK is the abstraction layer that allows GTK+ to support multiple windowing systems. GDK provides drawing and window system facilities on X11, Windows, and the Linux framebuffer device.

GTK+

  The GTK+ library itself contains widgets, that is, GUI components such as #GtkButton or #GtkTextView.

&gtk-Building; &gtk-Compiling; &gtk-Running; &gtk-X11; &gtk-Windows; &gtk-OSX; &gtk-DirectFB; &gtk-Resources; &gtk-Questions;

## GTK+ Core Reference

&gtk-General; &GtkAccelGroup; &gtk-accel-map; &gtk-Clipboards; &gtk-Drag-and-Drop; &gtk-Named-Icons; &gtk-Stock-Items; &gtk-Themeable-Stock-Images; &gtk-Resource-Files; &gtk-Settings; &gtk-Bindings; &gtk-Standard-Enumerations; &gtk-Graphics-Contexts; &gtk-Styles; &gtk-Selections; &gtk-Feature-Test-Macros; &gtk-Signals; &gtk-Types;

## GTK+ Widgets and Objects

### Object Hierarchy

&index-Object-Tree;

### Widget Gallery

&visual-index;

### Windows

&GtkDialog; &GtkInvisible; &GtkMessageDialog; &GtkWindow; &GtkWindowGroup; &GtkAboutDialog; &GtkAssistant;

### Display Widgets

&GtkAccelLabel; &GtkImage; &GtkLabel; &GtkProgressBar; &GtkStatusbar; &GtkStatusIcon;

### Buttons and Toggles

&GtkButton; &GtkCheckButton; &GtkRadioButton; &GtkToggleButton; &GtkLinkButton; &GtkScaleButton; &GtkVolumeButton;

### Numeric/Text Data Entry

&GtkEntry; &GtkEntryCompletion; &GtkHScale; &GtkVScale; &GtkSpinButton; &GtkEditable;

### Multiline Text Editor

&gtk-TextWidget; &GtkTextIter; &GtkTextMark; &GtkTextBuffer; &GtkTextTag; &GtkTextTagTable; &GtkTextView;

### Tree, List and Icon Grid Widgets

&gtk-TreeWidget; &GtkTreeModel; &GtkTreeSelection; &GtkTreeViewColumn; &GtkTreeView; &GtkTreeDND; &GtkCellView; &GtkIconView; &GtkTreeSortable; &GtkTreeModelSort; &GtkTreeModelFilter; &GtkCellLayout; &GtkCellRenderer; &GtkCellEditable; &GtkCellRendererAccel; &GtkCellRendererCombo; &GtkCellRendererPixbuf; &GtkCellRendererProgress; &GtkCellRendererSpin; &GtkCellRendererText; &GtkCellRendererToggle; &GtkListStore; &GtkTreeStore;

### Menus, Combo Box, Toolbar

&GtkComboBox; &GtkComboBoxEntry; &GtkMenu; &GtkMenuBar; &GtkMenuItem; &GtkImageMenuItem; &GtkRadioMenuItem; &GtkCheckMenuItem; &GtkSeparatorMenuItem; &GtkTearoffMenuItem; &GtkToolbar; &GtkToolItem; &GtkSeparatorToolItem; &GtkToolButton; &GtkMenuToolButton; &GtkToggleToolButton; &GtkRadioToolButton;

### Action-based menus and toolbars

&GtkUIManager; &GtkActionGroup; &GtkAction; &GtkToggleAction; &GtkRadioAction; &GtkRecentAction;

### Selectors (File/Font/Color/Input Devices)

&GtkColorButton; &GtkColorSelection; &GtkColorSelectionDialog; &GtkFileChooser; &GtkFileChooserButton; &GtkFileChooserDialog; &GtkFileChooserWidget; &GtkFileFilter; &GtkFontButton; &GtkFontSelection; &GtkFontSelectionDialog; &GtkInputDialog;

### Layout Containers

&GtkAlignment; &GtkAspectFrame; &GtkHBox; &GtkVBox; &GtkHButtonBox; &GtkVButtonBox; &GtkFixed; &GtkHPaned; &GtkVPaned; &GtkLayout; &GtkNotebook; &GtkTable; &GtkExpander;

### Ornaments

&GtkFrame; &GtkHSeparator; &GtkVSeparator;

### Scrolling

&GtkHScrollbar; &GtkVScrollbar; &GtkScrolledWindow;

### Printing

&GtkPrintOperation; &GtkPrintContext; &GtkPrintSettings; &GtkPageSetup; &GtkPaperSize; &GtkPrinter; &GtkPrintJob; &GtkPrintUnixDialog; &GtkPageSetupUnixDialog;

### Miscellaneous

&GtkAdjustment; &GtkArrow; &GtkCalendar; &GtkDrawingArea; &GtkEventBox; &GtkHandleBox; &GtkIMContextSimple; &GtkIMMulticontext; &GtkSizeGroup; &GtkTooltip; &GtkViewport; &GtkAccessible;

### Abstract Base Classes

&GtkBin; &GtkBox; &GtkButtonBox; &GtkContainer; &GtkItem; &GtkMenuShell; &GtkMisc; &GtkObject; &GtkPaned; &GtkRange; &GtkScale; &GtkScrollbar; &GtkSeparator; &GtkWidget; &GtkIMContext;

### Cross-process Embedding

&GtkPlug; &GtkSocket;

### Special-purpose features

&GtkCurve; &GtkGammaCurve; &GtkRuler; &GtkHRuler; &GtkVRuler;

### Recently Used Documents

&GtkRecentManager; &GtkRecentChooser; &GtkRecentChooserDialog; &GtkRecentChooserMenu; &GtkRecentChooserWidget; &GtkRecentFilter;

### Interface builder

&GtkBuildable; &GtkBuilder;

### Deprecated

&GtkCList; &GtkCTree; &GtkCombo; &GtkFileSelection; &GtkItemFactory; &GtkList; &GtkListItem; &GtkOldEditable; &GtkOptionMenu; &GtkPixmap; &GtkPreview; &GtkProgress; &GtkText; &GtkTooltips; &GtkTipsQuery; &GtkTree; &GtkTreeItem;

## Migrating from Previous Versions of GTK+

This part describes what you need to change in programs use older versions of GTK+ so that they can use the new features. It also mentions how to convert applications using widgets found in the libgnomeui library to use their counterparts in GTK+.

&gtk-migrating-checklist; &gtk-Changes-1-2; &gtk-Changes-2-0; &gtk-migrating-GtkFileChooser; &gtk-migrating-GtkAction; &gtk-migrating-GtkComboBox; &gtk-migrating-GtkIconView; &gtk-migrating-GtkAboutDialog; &gtk-migrating-GtkColorButton; &gtk-migrating-GtkAssistant; &gtk-migrating-GtkRecentChooser; &gtk-migrating-GtkLinkButton; &gtk-migrating-GtkBuilder; &gtk-migrating-GtkTooltip;

## GTK+ Tools

&gtk-query-immodules; &gtk-update-icon-cache; &gtk-builder-convert;

&gtk-glossary;

## Index

## 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