# GTK+ Reference Manual

## 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-Windows; &gtk-Framebuffer; &gtk-X11; &gtk-Changes-1-2; &gtk-Changes-2-0; &gtk-Resources; &gtk-Questions;

## GTK+ Core Reference

&gtk-General; &GtkAccelGroup; &gtk-accel-map; &gtk-Clipboards; &gtk-Drag-and-Drop; &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;

### Windows

&GtkDialog; &GtkInvisible; &GtkMessageDialog; &GtkPlug; &GtkWindow; &GtkWindowGroup;

### Display Widgets

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

### Buttons and Toggles

&GtkButton; &GtkCheckButton; &GtkRadioButton; &GtkToggleButton;

### Numeric/Text Data Entry

&GtkEntry; &GtkHScale; &GtkVScale; &GtkSpinButton;

### Multiline Text Editor

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

### Tree and List Widget

&gtk-TreeWidget; &GtkTreeModel; &GtkTreeSelection; &GtkTreeViewColumn; &GtkTreeView; &GtkTreeDND; &GtkTreeSortable; &GtkTreeModelSort; &GtkCellRenderer; &GtkCellEditable; &GtkCellRendererPixbuf; &GtkCellRendererText; &GtkCellRendererToggle; &GtkListStore; &GtkTreeStore;

### Menus, Combo Box, Toolbar

&GtkCombo; &GtkItemFactory; &GtkMenu; &GtkMenuBar; &GtkMenuItem; &GtkMenuShell; &GtkOptionMenu; &GtkImageMenuItem; &GtkRadioMenuItem; &GtkCheckMenuItem; &GtkSeparatorMenuItem; &GtkTearoffMenuItem; &GtkToolbar;

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

&GtkColorSelection; &GtkColorSelectionDialog; &GtkFileSelection; &GtkFontSelection; &GtkFontSelectionDialog; &GtkInputDialog;

### Layout Containers

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

### Ornaments

&GtkFrame; &GtkHSeparator; &GtkVSeparator;

### Scrolling

&GtkHScrollbar; &GtkVScrollbar; &GtkScrolledWindow;

### Miscellaneous

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

### Abstract Base Classes

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

### Cross-process Embedding

&GtkSocket;

### Special-purpose features

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

### Deprecated

&GtkCList; &GtkCTree; &GtkList; &GtkListItem; &GtkPixmap; &GtkProgress; &GtkPreview; &GtkOldEditable; &GtkText; &GtkTipsQuery; &GtkTree; &GtkTreeItem;