Blob Blame History Raw
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<!--ENTITY index-Objects-Grouped SYSTEM "objects_grouped.sgml"-->
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
  <bookinfo>
    <title>GTK+ 2 Reference Manual</title>
    <releaseinfo>
      This document is for the GTK+ 2 library; the latest versions can be found online at
      <ulink role="online-location"
      url="http://library.gnome.org/devel/gtk2/">http://library.gnome.org/devel/gtk2</ulink>.
      If you're looking for the newer GTK+ 3 series of libraries,
      see <ulink role="online-location"
      url="http://library.gnome.org/devel/gtk3/">http://library.gnome.org/devel/gtk3/</ulink>.
    </releaseinfo>
  </bookinfo>

  <part id="gtk">
    <title>GTK+ Overview</title>
    <partintro>
    <para>
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.
    </para>
    <para>
GTK+ depends on the following libraries:
<variablelist>

<varlistentry>
<term>GLib</term>
<listitem><para>
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.
</para></listitem>
</varlistentry>

<varlistentry>
<term>Pango</term>
<listitem><para>
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.
</para></listitem>
</varlistentry>

<varlistentry>
<term>ATK</term>
<listitem><para>
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.
</para></listitem>
</varlistentry>

<varlistentry>
<term>GdkPixbuf</term>
<listitem><para>
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.
</para></listitem>
</varlistentry>

<varlistentry>
<term>GDK</term>
<listitem><para>
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.
</para></listitem>
</varlistentry>

<varlistentry>
<term>GTK+</term>
<listitem><para>
The GTK+ library itself contains <firstterm>widgets</firstterm>, 
that is, GUI components such as #GtkButton or #GtkTextView.
</para></listitem>
</varlistentry>
</variablelist>
    </para>
</partintro>
    <xi:include href="building.sgml" />
    <xi:include href="compiling.sgml" />
    <xi:include href="running.sgml" />
    <xi:include href="x11.sgml" />
    <xi:include href="windows.sgml" />
    <xi:include href="osx.sgml" />
    <xi:include href="directfb.sgml" />
    <xi:include href="resources.sgml" />
    <xi:include href="xml/question_index.sgml" />
    <xi:include href="drawing-model.xml" />
  </part>


  <part  id="gtkbase">
    <title>GTK+ Core Reference</title>
    <xi:include href="xml/gtkmain.xml" />
    <xi:include href="xml/gtkaccelgroup.xml" />
    <xi:include href="xml/gtkaccelmap.xml" />
    <xi:include href="xml/gtkclipboard.xml" />
    <xi:include href="xml/gtkdnd.xml" />
    <xi:include href="xml/gtkicontheme.xml" />
    <xi:include href="xml/gtkstock.xml" />
    <xi:include href="xml/gtkiconfactory.xml" />
    <xi:include href="xml/gtkrc.xml" />
    <xi:include href="xml/gtksettings.xml" />
    <xi:include href="xml/gtkbindings.xml" />
    <xi:include href="xml/gtkenums.xml" />
    <xi:include href="xml/gtkgc.xml" />
    <xi:include href="xml/gtkstyle.xml" />
    <xi:include href="xml/gtkselection.xml" />
    <xi:include href="xml/gtkfeatures.xml" />
    <xi:include href="xml/gtksignal.xml" />
    <xi:include href="xml/gtktypeutils.xml" />
    <xi:include href="xml/gtktesting.xml" />
    <xi:include href="xml/filesystem.xml" />
  </part>

  <part id="gtkobjects">
    <title>GTK+ Widgets and Objects</title>

    <chapter>
      <title>Object Hierarchy</title>
      <xi:include href="xml/tree_index.sgml" />
    </chapter>

    <chapter>
      <title>Widget Gallery</title>
      <xi:include href="visual_index.xml" />
    </chapter>

    <chapter id="WindowWidgets">
      <title>Windows</title>
      <xi:include href="xml/gtkdialog.xml" />
      <xi:include href="xml/gtkinvisible.xml" />
      <xi:include href="xml/gtkmessagedialog.xml" />
      <xi:include href="xml/gtkwindow.xml" />
      <xi:include href="xml/gtkwindowgroup.xml" />
      <xi:include href="xml/gtkaboutdialog.xml" />
      <xi:include href="xml/gtkassistant.xml" />
      <xi:include href="xml/gtkoffscreenwindow.xml" />
    </chapter>

    <chapter id="DisplayWidgets">
      <title>Display Widgets</title>
      <xi:include href="xml/gtkaccellabel.xml" />
      <xi:include href="xml/gtkimage.xml" />
      <xi:include href="xml/gtklabel.xml" />
      <xi:include href="xml/gtkprogressbar.xml" />
      <xi:include href="xml/gtkstatusbar.xml" />
      <xi:include href="xml/gtkinfobar.xml" />
      <xi:include href="xml/gtkstatusicon.xml" />
      <xi:include href="xml/gtkspinner.xml" />
    </chapter>

    <chapter id="ButtonWidgets">
      <title>Buttons and Toggles</title>
      <xi:include href="xml/gtkbutton.xml" />
      <xi:include href="xml/gtkcheckbutton.xml" />
      <xi:include href="xml/gtkradiobutton.xml" />
      <xi:include href="xml/gtktogglebutton.xml" />
      <xi:include href="xml/gtklinkbutton.xml" />
      <xi:include href="xml/gtkscalebutton.xml" />
      <xi:include href="xml/gtkvolumebutton.xml" />
    </chapter>

    <chapter id="NumericEntry">
      <title>Numeric/Text Data Entry</title>
      <xi:include href="xml/gtkentry.xml" />
      <xi:include href="xml/gtkentrybuffer.xml" />
      <xi:include href="xml/gtkentrycompletion.xml" />
      <xi:include href="xml/gtkhscale.xml" />
      <xi:include href="xml/gtkvscale.xml" />
      <xi:include href="xml/gtkspinbutton.xml" />
      <xi:include href="xml/gtkeditable.xml" />
    </chapter>

    <chapter id="TextWidgetObjects">
      <title>Multiline Text Editor</title>
      <xi:include href="xml/text_widget.sgml" />
      <xi:include href="xml/gtktextiter.xml" />
      <xi:include href="xml/gtktextmark.xml" />
      <xi:include href="xml/gtktextbuffer.xml" />
      <xi:include href="xml/gtktexttag.xml" />
      <xi:include href="xml/gtktexttagtable.xml" />
      <xi:include href="xml/gtktextview.xml" />
    </chapter>

    <chapter id="TreeWidgetObjects">
      <title>Tree, List and Icon Grid Widgets</title>
      <xi:include href="xml/tree_widget.sgml" />
      <xi:include href="xml/gtktreemodel.xml" />
      <xi:include href="xml/gtktreeselection.xml" />
      <xi:include href="xml/gtktreeviewcolumn.xml" />
      <xi:include href="xml/gtktreeview.xml" />
      <xi:include href="xml/gtktreednd.xml" />
      <xi:include href="xml/gtkcellview.xml" />
      <xi:include href="xml/gtkiconview.xml" />
      <xi:include href="xml/gtktreesortable.xml" />
      <xi:include href="xml/gtktreemodelsort.xml" />
      <xi:include href="xml/gtktreemodelfilter.xml" />
      <xi:include href="xml/gtkcelllayout.xml" />
      <xi:include href="xml/gtkcellrenderer.xml" />
      <xi:include href="xml/gtkcelleditable.xml" />
      <xi:include href="xml/gtkcellrendereraccel.xml" />
      <xi:include href="xml/gtkcellrenderercombo.xml" />
      <xi:include href="xml/gtkcellrendererpixbuf.xml" />
      <xi:include href="xml/gtkcellrendererprogress.xml" />
      <xi:include href="xml/gtkcellrendererspin.xml" />
      <xi:include href="xml/gtkcellrenderertext.xml" />
      <xi:include href="xml/gtkcellrenderertoggle.xml" />
      <xi:include href="xml/gtkcellrendererspinner.xml" />
      <xi:include href="xml/gtkliststore.xml" />
      <xi:include href="xml/gtktreestore.xml" />
    </chapter>

    <chapter id="MenusAndCombos">
      <title>Menus, Combo Box, Toolbar</title>
      <xi:include href="xml/gtkcombobox.xml" />
      <xi:include href="xml/gtkcomboboxtext.xml" />
      <xi:include href="xml/gtkcomboboxentry.xml" />
      <xi:include href="xml/gtkmenu.xml" />
      <xi:include href="xml/gtkmenubar.xml" />
      <xi:include href="xml/gtkmenuitem.xml" />
      <xi:include href="xml/gtkimagemenuitem.xml" />
      <xi:include href="xml/gtkradiomenuitem.xml" />
      <xi:include href="xml/gtkcheckmenuitem.xml" />
      <xi:include href="xml/gtkseparatormenuitem.xml" />
      <xi:include href="xml/gtktearoffmenuitem.xml" />
      <xi:include href="xml/gtktoolshell.xml" />
      <xi:include href="xml/gtktoolbar.xml" />
      <xi:include href="xml/gtktoolitem.xml" />
      <xi:include href="xml/gtktoolpalette.xml" />
      <xi:include href="xml/gtktoolitemgroup.xml" />
      <xi:include href="xml/gtkseparatortoolitem.xml" />
      <xi:include href="xml/gtktoolbutton.xml" />
      <xi:include href="xml/gtkmenutoolbutton.xml" />
      <xi:include href="xml/gtktoggletoolbutton.xml" />
      <xi:include href="xml/gtkradiotoolbutton.xml" />
    </chapter>

    <chapter id="Actions">
      <title>Action-based menus and toolbars</title>
      <xi:include href="xml/gtkuimanager.xml" />
      <xi:include href="xml/gtkactiongroup.xml" />
      <xi:include href="xml/gtkaction.xml" />
      <xi:include href="xml/gtktoggleaction.xml" />
      <xi:include href="xml/gtkradioaction.xml" />
      <xi:include href="xml/gtkrecentaction.xml" />
      <xi:include href="xml/gtkactivatable.xml" />
    </chapter>

    <chapter id="SelectorWidgets">
      <title>Selectors (File/Font/Color/Input Devices)</title>
      <xi:include href="xml/gtkcolorbutton.xml" />
      <xi:include href="xml/gtkcolorseldlg.xml" />
      <xi:include href="xml/gtkcolorsel.xml" />
      <xi:include href="xml/gtkhsv.xml" />
      <xi:include href="xml/gtkfilechooser.xml" />
      <xi:include href="xml/gtkfilechooserbutton.xml" />
      <xi:include href="xml/gtkfilechooserdialog.xml" />
      <xi:include href="xml/gtkfilechooserwidget.xml" />
      <xi:include href="xml/gtkfilefilter.xml" />
      <xi:include href="xml/gtkfontbutton.xml" />
      <xi:include href="xml/gtkfontsel.xml" />
      <xi:include href="xml/gtkfontseldlg.xml" />
      <xi:include href="xml/gtkinputdialog.xml" />
    </chapter>
    
    <chapter id="LayoutContainers">
      <title>Layout Containers</title>
      <xi:include href="xml/gtkalignment.xml" />
      <xi:include href="xml/gtkaspectframe.xml" />
      <xi:include href="xml/gtkhbox.xml" />
      <xi:include href="xml/gtkvbox.xml" />
      <xi:include href="xml/gtkhbbox.xml" />
      <xi:include href="xml/gtkvbbox.xml" />
      <xi:include href="xml/gtkfixed.xml" />
      <xi:include href="xml/gtkhpaned.xml" />
      <xi:include href="xml/gtkvpaned.xml" />
      <xi:include href="xml/gtklayout.xml" />
      <xi:include href="xml/gtknotebook.xml" />
      <xi:include href="xml/gtktable.xml" />
      <xi:include href="xml/gtkexpander.xml" />
      <xi:include href="xml/gtkorientable.xml" />
    </chapter>

    <chapter id="Ornaments">
      <title>Ornaments</title>
      <xi:include href="xml/gtkframe.xml" />
      <xi:include href="xml/gtkhseparator.xml" />
      <xi:include href="xml/gtkvseparator.xml" />
    </chapter>

    <chapter id="ScrollingWidgets">
      <title>Scrolling</title>
      <xi:include href="xml/gtkhscrollbar.xml" />
      <xi:include href="xml/gtkvscrollbar.xml" />
      <xi:include href="xml/gtkscrolledwindow.xml" />
    </chapter>

    <chapter id="Printing">
      <title>Printing</title>
      <xi:include href="xml/gtkprintoperation.xml" />
      <xi:include href="xml/gtkprintcontext.xml" />
      <xi:include href="xml/gtkprintsettings.xml" />
      <xi:include href="xml/gtkpagesetup.xml" />
      <xi:include href="xml/gtkpapersize.xml" />
      <xi:include href="xml/gtkprinter.xml" />
      <xi:include href="xml/gtkprintjob.xml" />
      <xi:include href="xml/gtkprintunixdialog.xml" />
      <xi:include href="xml/gtkpagesetupunixdialog.xml" />
    </chapter>

    <chapter id="MiscObjects">
      <title>Miscellaneous</title>
      <xi:include href="xml/gtkadjustment.xml" />
      <xi:include href="xml/gtkarrow.xml" />
      <xi:include href="xml/gtkcalendar.xml" />
      <xi:include href="xml/gtkdrawingarea.xml" />
      <xi:include href="xml/gtkeventbox.xml" />
      <xi:include href="xml/gtkhandlebox.xml" />
      <xi:include href="xml/gtkimcontextsimple.xml" />
      <xi:include href="xml/gtkimmulticontext.xml" />
      <xi:include href="xml/gtksizegroup.xml" />
      <xi:include href="xml/gtktooltip.xml" />
      <xi:include href="xml/gtkviewport.xml" />
      <xi:include href="xml/gtkaccessible.xml" />
    </chapter>

    <chapter id="AbstractObjects">
      <title>Abstract Base Classes</title>
      <xi:include href="xml/gtkbin.xml" />
      <xi:include href="xml/gtkbox.xml" />
      <xi:include href="xml/gtkbbox.xml" />
      <xi:include href="xml/gtkcontainer.xml" />
      <xi:include href="xml/gtkitem.xml" />
      <xi:include href="xml/gtkmenushell.xml" />
      <xi:include href="xml/gtkmisc.xml" />
      <xi:include href="xml/gtkobject.xml" />
      <xi:include href="xml/gtkpaned.xml" />
      <xi:include href="xml/gtkrange.xml" />
      <xi:include href="xml/gtkscale.xml" />
      <xi:include href="xml/gtkscrollbar.xml" />
      <xi:include href="xml/gtkseparator.xml" />
      <xi:include href="xml/gtkwidget.xml" />
      <xi:include href="xml/gtkimcontext.xml" />
    </chapter>

    <chapter id="PlugSocket">
      <title>Cross-process Embedding</title>
      <xi:include href="xml/gtkplug.xml" />
      <xi:include href="xml/gtksocket.xml" />
    </chapter>

    <chapter id="SpecialObjects">
      <title>Special-purpose features</title>
      <xi:include href="xml/gtkcurve.xml" />
      <xi:include href="xml/gtkgamma.xml" />
      <xi:include href="xml/gtkruler.xml" />
      <xi:include href="xml/gtkhruler.xml" />
      <xi:include href="xml/gtkvruler.xml" />
    </chapter>

    <chapter id="RecentDocuments">
      <title>Recently Used Documents</title>
      <xi:include href="xml/gtkrecentmanager.xml" />
      <xi:include href="xml/gtkrecentchooser.xml" />
      <xi:include href="xml/gtkrecentchooserdialog.xml" />
      <xi:include href="xml/gtkrecentchoosermenu.xml" />
      <xi:include href="xml/gtkrecentchooserwidget.xml" />
      <xi:include href="xml/gtkrecentfilter.xml" />
    </chapter>

    <chapter id="Builder">
      <title>Interface builder</title>
      <xi:include href="xml/gtkbuildable.xml" />
      <xi:include href="xml/gtkbuilder.xml" />
    </chapter>

    <chapter id="DeprecatedObjects">
      <title>Deprecated</title>
      <xi:include href="xml/gtkclist.xml" />
      <xi:include href="xml/gtkctree.xml" />
      <xi:include href="xml/gtkcombo.xml" />
      <xi:include href="xml/gtkfilesel.xml" />
      <xi:include href="xml/gtkitemfactory.xml" />
      <xi:include href="xml/gtklist.xml" />
      <xi:include href="xml/gtklistitem.xml" />
      <xi:include href="xml/gtkoldeditable.xml" />
      <xi:include href="xml/gtkoptionmenu.xml" />
      <xi:include href="xml/gtkpixmap.xml" />
      <xi:include href="xml/gtkpreview.xml" />
      <xi:include href="xml/gtkprogress.xml" />
      <xi:include href="xml/gtktext.xml" />
      <xi:include href="xml/gtktooltips.xml" />
      <xi:include href="xml/gtktipsquery.xml" />
      <xi:include href="xml/gtktree.xml" />
      <xi:include href="xml/gtktreeitem.xml" />
    </chapter>
  </part>

  <part id="migrating">
    <title>Migrating from Previous Versions of GTK+</title>

    <partintro>
      <para>
	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+.
      </para>
    </partintro>

    <xi:include href="xml/migrating-checklist.sgml" />
    <xi:include href="changes-1.2.sgml" />
    <xi:include href="changes-2.0.sgml" />
    <xi:include href="xml/migrating-GtkFileChooser.sgml" />
    <xi:include href="xml/migrating-GtkAction.sgml" />
    <xi:include href="xml/migrating-GtkComboBox.sgml" />
    <xi:include href="xml/migrating-GtkIconView.sgml" />
    <xi:include href="xml/migrating-GtkAboutDialog.sgml" />
    <xi:include href="xml/migrating-GtkColorButton.sgml" />
    <xi:include href="xml/migrating-GtkAssistant.sgml" />
    <xi:include href="xml/migrating-GtkRecentChooser.sgml" />
    <xi:include href="xml/migrating-GtkLinkButton.sgml" />
    <xi:include href="xml/migrating-GtkBuilder.sgml" />
    <xi:include href="xml/migrating-GtkTooltip.sgml" />
    <xi:include href="xml/migrating-GtkEntry-icons.sgml" />
    <xi:include href="xml/migrating-GtkLabel-links.sgml" />
    <xi:include href="xml/migrating-ClientSideWindows.sgml" />
  </part>

  <part>
    <title>GTK+ Tools</title>
    <xi:include href="gtk-query-immodules-2.0.xml" />
    <xi:include href="gtk-update-icon-cache.xml" />
    <xi:include href="gtk-builder-convert.xml" />
  </part>

  <xi:include href="glossary.xml" />

  <index id="api-index-full">
    <title>Index of all symbols</title>
    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-deprecated" role="deprecated">
    <title>Index of deprecated symbols</title>
    <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-2" role="2.2">
    <title>Index of new symbols in 2.2</title>
    <xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-4" role="2.4">
    <title>Index of new symbols in 2.4</title>
    <xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-6" role="2.6">
    <title>Index of new symbols in 2.6</title>
    <xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-8" role="2.8">
    <title>Index of new symbols in 2.8</title>
    <xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-10" role="2.10">
    <title>Index of new symbols in 2.10</title>
    <xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-12" role="2.12">
    <title>Index of new symbols in 2.12</title>
    <xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-14" role="2.14">
    <title>Index of new symbols in 2.14</title>
    <xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-16" role="2.16">
    <title>Index of new symbols in 2.16</title>
    <xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-18" role="2.18">
    <title>Index of new symbols in 2.18</title>
    <xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-20" role="2.20">
    <title>Index of new symbols in 2.20</title>
    <xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-22" role="2.22">
    <title>Index of new symbols in 2.22</title>
    <xi:include href="xml/api-index-2.22.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-2-24" role="2.24">
    <title>Index of new symbols in 2.24</title>
    <xi:include href="xml/api-index-2.24.xml"><xi:fallback /></xi:include>
  </index>

  <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>

</book>