# GTK+ Reference Manual

for GTK+ &version; The latest version of this documentation can be found on-line at http://library.gnome.org/devel/gtk/unstable/.

## 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+ Core Reference

## GTK+ Widgets and Objects

### Object Hierarchy

### Widget Gallery

### Windows

### Display Widgets

### Buttons and Toggles

### Numeric/Text Data Entry

### Multiline Text Editor

### Tree, List and Icon Grid Widgets

### Menus, Combo Box, Toolbar

### Action-based menus and toolbars

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

### Layout Containers

### Ornaments

### Scrolling

### Printing

### Miscellaneous

### Abstract Base Classes

### Cross-process Embedding

### Special-purpose features

### Recently Used Documents

### Interface builder

### Deprecated

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

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