2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
5 <!ENTITY version SYSTEM "version.xml">
7 <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
9 <title>GTK+ Reference Manual</title>
12 The latest version of this documentation can be found on-line at
13 <ulink role="online-location" url="http://library.gnome.org/devel/gtk/unstable/">http://library.gnome.org/devel/gtk/unstable/</ulink>.
18 <title>GTK+ Overview</title>
21 GTK+ is a library for creating graphical user interfaces. It
22 works on many UNIX-like platforms, Windows, and OS X.
23 GTK+ is released under the GNU Library General Public License
24 (GNU LGPL), which allows for flexible licensing of client
25 applications. GTK+ has a C-based object-oriented architecture that
26 allows for maximum flexibility. Bindings for many other languages have
27 been written, including C++, Objective-C, Guile/Scheme, Perl, Python,
28 TOM, Ada95, Free Pascal, and Eiffel.
31 GTK+ depends on the following libraries:
37 A general-purpose utility library, not specific to graphical user interfaces.
38 GLib provides many useful data types, macros, type conversions,
39 string utilities, file utilities, a main loop abstraction, and so on.
45 <listitem><para>A library that provides a type system, a collection of
46 fundamental types including an object type, a signal system.
52 <listitem><para>A modern, easy-to-use VFS API including abstractions for
53 files, drives, volumes, stream IO, as well as network programming and
60 <listitem><para>Cairo is a 2D graphics library with support for multiple
68 Pango is a library for internationalized text handling. It centers
69 around the PangoLayout object, representing a paragraph of text.
70 Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and
71 other widgets that display text.
78 ATK is the Accessibility Toolkit. It provides a set of generic
79 interfaces allowing accessibility technologies to interact with a
80 graphical user interface. For example, a screen reader uses ATK to
81 discover the text in an interface and read it to blind users. GTK+
82 widgets have built-in support for accessibility using the ATK
88 <term>GdkPixbuf</term>
90 This is a small library which allows you to create GdkPixbuf
91 ("pixel buffer") objects from image data or image files.
92 Use a GdkPixbuf in combination with GtkImage to display images.
99 GDK is the abstraction layer that allows GTK+ to support multiple
100 windowing systems. GDK provides window system facilities on X11, Windows,
108 The GTK+ library itself contains <firstterm>widgets</firstterm>,
109 that is, GUI components such as GtkButton or GtkTextView.
115 <xi:include href="building.sgml" />
116 <xi:include href="compiling.sgml" />
117 <xi:include href="running.sgml" />
118 <xi:include href="x11.sgml" />
119 <xi:include href="windows.sgml" />
120 <xi:include href="osx.sgml" />
121 <xi:include href="resources.sgml" />
122 <xi:include href="xml/question_index.sgml" />
123 <xi:include href="drawing-model.xml" />
128 <title>GTK+ Core Reference</title>
129 <xi:include href="xml/gtkmain.xml" />
130 <xi:include href="xml/gtkfeatures.xml" />
131 <xi:include href="xml/gtkaccelgroup.xml" />
132 <xi:include href="xml/gtkaccelmap.xml" />
133 <xi:include href="xml/gtkclipboard.xml" />
134 <xi:include href="xml/gtkdnd.xml" />
135 <xi:include href="xml/gtkicontheme.xml" />
136 <xi:include href="xml/gtkstock.xml" />
137 <xi:include href="xml/gtkiconfactory.xml" />
138 <xi:include href="xml/gtkrc.xml" />
139 <xi:include href="xml/gtksettings.xml" />
140 <xi:include href="xml/gtkbindings.xml" />
141 <xi:include href="xml/gtkenums.xml" />
142 <xi:include href="xml/gtkstyle.xml" />
143 <xi:include href="xml/gtkselection.xml" />
144 <xi:include href="xml/gtktesting.xml" />
145 <xi:include href="xml/filesystem.xml" />
148 <part id="gtkobjects">
149 <title>GTK+ Widgets and Objects</title>
152 <title>Object Hierarchy</title>
153 <xi:include href="xml/tree_index.sgml" />
157 <title>Widget Gallery</title>
158 <xi:include href="visual_index.xml" />
161 <chapter id="WindowWidgets">
162 <title>Windows</title>
163 <xi:include href="xml/gtkdialog.xml" />
164 <xi:include href="xml/gtkinvisible.xml" />
165 <xi:include href="xml/gtkmessagedialog.xml" />
166 <xi:include href="xml/gtkwindow.xml" />
167 <xi:include href="xml/gtkwindowgroup.xml" />
168 <xi:include href="xml/gtkaboutdialog.xml" />
169 <xi:include href="xml/gtkassistant.xml" />
170 <xi:include href="xml/gtkoffscreenwindow.xml" />
173 <chapter id="DisplayWidgets">
174 <title>Display Widgets</title>
175 <xi:include href="xml/gtkaccellabel.xml" />
176 <xi:include href="xml/gtkimage.xml" />
177 <xi:include href="xml/gtklabel.xml" />
178 <xi:include href="xml/gtkprogressbar.xml" />
179 <xi:include href="xml/gtkstatusbar.xml" />
180 <xi:include href="xml/gtkinfobar.xml" />
181 <xi:include href="xml/gtkstatusicon.xml" />
182 <xi:include href="xml/gtkspinner.xml" />
185 <chapter id="ButtonWidgets">
186 <title>Buttons and Toggles</title>
187 <xi:include href="xml/gtkbutton.xml" />
188 <xi:include href="xml/gtkcheckbutton.xml" />
189 <xi:include href="xml/gtkradiobutton.xml" />
190 <xi:include href="xml/gtktogglebutton.xml" />
191 <xi:include href="xml/gtklinkbutton.xml" />
192 <xi:include href="xml/gtkscalebutton.xml" />
193 <xi:include href="xml/gtkvolumebutton.xml" />
196 <chapter id="NumericEntry">
197 <title>Numeric/Text Data Entry</title>
198 <xi:include href="xml/gtkentry.xml" />
199 <xi:include href="xml/gtkentrybuffer.xml" />
200 <xi:include href="xml/gtkentrycompletion.xml" />
201 <xi:include href="xml/gtkscale.xml" />
202 <xi:include href="xml/gtkhscale.xml" />
203 <xi:include href="xml/gtkvscale.xml" />
204 <xi:include href="xml/gtkspinbutton.xml" />
205 <xi:include href="xml/gtkeditable.xml" />
208 <chapter id="TextWidgetObjects">
209 <title>Multiline Text Editor</title>
210 <xi:include href="xml/text_widget.sgml" />
211 <xi:include href="xml/gtktextiter.xml" />
212 <xi:include href="xml/gtktextmark.xml" />
213 <xi:include href="xml/gtktextbuffer.xml" />
214 <xi:include href="xml/gtktexttag.xml" />
215 <xi:include href="xml/gtktexttagtable.xml" />
216 <xi:include href="xml/gtktextview.xml" />
219 <chapter id="TreeWidgetObjects">
220 <title>Tree, List and Icon Grid Widgets</title>
221 <xi:include href="xml/tree_widget.sgml" />
222 <xi:include href="xml/gtktreemodel.xml" />
223 <xi:include href="xml/gtktreeselection.xml" />
224 <xi:include href="xml/gtktreeviewcolumn.xml" />
225 <xi:include href="xml/gtktreeview.xml" />
226 <xi:include href="xml/gtktreednd.xml" />
227 <xi:include href="xml/gtkcellview.xml" />
228 <xi:include href="xml/gtkiconview.xml" />
229 <xi:include href="xml/gtktreesortable.xml" />
230 <xi:include href="xml/gtktreemodelsort.xml" />
231 <xi:include href="xml/gtktreemodelfilter.xml" />
232 <xi:include href="xml/gtkcelllayout.xml" />
233 <xi:include href="xml/gtkcellrenderer.xml" />
234 <xi:include href="xml/gtkcelleditable.xml" />
235 <xi:include href="xml/gtkcellrendereraccel.xml" />
236 <xi:include href="xml/gtkcellrenderercombo.xml" />
237 <xi:include href="xml/gtkcellrendererpixbuf.xml" />
238 <xi:include href="xml/gtkcellrendererprogress.xml" />
239 <xi:include href="xml/gtkcellrendererspin.xml" />
240 <xi:include href="xml/gtkcellrenderertext.xml" />
241 <xi:include href="xml/gtkcellrenderertoggle.xml" />
242 <xi:include href="xml/gtkcellrendererspinner.xml" />
243 <xi:include href="xml/gtkliststore.xml" />
244 <xi:include href="xml/gtktreestore.xml" />
247 <chapter id="MenusAndCombos">
248 <title>Menus, Combo Box, Toolbar</title>
249 <xi:include href="xml/gtkcombobox.xml" />
250 <xi:include href="xml/gtkcomboboxentry.xml" />
251 <xi:include href="xml/gtkmenu.xml" />
252 <xi:include href="xml/gtkmenubar.xml" />
253 <xi:include href="xml/gtkmenuitem.xml" />
254 <xi:include href="xml/gtkimagemenuitem.xml" />
255 <xi:include href="xml/gtkradiomenuitem.xml" />
256 <xi:include href="xml/gtkcheckmenuitem.xml" />
257 <xi:include href="xml/gtkseparatormenuitem.xml" />
258 <xi:include href="xml/gtktearoffmenuitem.xml" />
259 <xi:include href="xml/gtktoolshell.xml" />
260 <xi:include href="xml/gtktoolbar.xml" />
261 <xi:include href="xml/gtktoolitem.xml" />
262 <xi:include href="xml/gtktoolpalette.xml" />
263 <xi:include href="xml/gtktoolitemgroup.xml" />
264 <xi:include href="xml/gtkseparatortoolitem.xml" />
265 <xi:include href="xml/gtktoolbutton.xml" />
266 <xi:include href="xml/gtkmenutoolbutton.xml" />
267 <xi:include href="xml/gtktoggletoolbutton.xml" />
268 <xi:include href="xml/gtkradiotoolbutton.xml" />
271 <chapter id="Actions">
272 <title>Action-based menus and toolbars</title>
273 <xi:include href="xml/gtkuimanager.xml" />
274 <xi:include href="xml/gtkactiongroup.xml" />
275 <xi:include href="xml/gtkaction.xml" />
276 <xi:include href="xml/gtktoggleaction.xml" />
277 <xi:include href="xml/gtkradioaction.xml" />
278 <xi:include href="xml/gtkrecentaction.xml" />
279 <xi:include href="xml/gtkactivatable.xml" />
282 <chapter id="SelectorWidgets">
283 <title>Selectors (Color/File/Font)</title>
284 <xi:include href="xml/gtkcolorbutton.xml" />
285 <xi:include href="xml/gtkcolorseldlg.xml" />
286 <xi:include href="xml/gtkcolorsel.xml" />
287 <xi:include href="xml/gtkhsv.xml" />
288 <xi:include href="xml/gtkfilechooser.xml" />
289 <xi:include href="xml/gtkfilechooserbutton.xml" />
290 <xi:include href="xml/gtkfilechooserdialog.xml" />
291 <xi:include href="xml/gtkfilechooserwidget.xml" />
292 <xi:include href="xml/gtkfilefilter.xml" />
293 <xi:include href="xml/gtkfontbutton.xml" />
294 <xi:include href="xml/gtkfontsel.xml" />
295 <xi:include href="xml/gtkfontseldlg.xml" />
298 <chapter id="LayoutContainers">
299 <title>Layout Containers</title>
300 <xi:include href="xml/gtkalignment.xml" />
301 <xi:include href="xml/gtkaspectframe.xml" />
302 <xi:include href="xml/gtkbox.xml" />
303 <xi:include href="xml/gtkhbox.xml" />
304 <xi:include href="xml/gtkvbox.xml" />
305 <xi:include href="xml/gtkbbox.xml" />
306 <xi:include href="xml/gtkhbbox.xml" />
307 <xi:include href="xml/gtkvbbox.xml" />
308 <xi:include href="xml/gtkwrapbox.xml" />
309 <xi:include href="xml/gtkfixed.xml" />
310 <xi:include href="xml/gtkpaned.xml" />
311 <xi:include href="xml/gtkhpaned.xml" />
312 <xi:include href="xml/gtkvpaned.xml" />
313 <xi:include href="xml/gtklayout.xml" />
314 <xi:include href="xml/gtknotebook.xml" />
315 <xi:include href="xml/gtktable.xml" />
316 <xi:include href="xml/gtkexpander.xml" />
317 <xi:include href="xml/gtkorientable.xml" />
320 <chapter id="Ornaments">
321 <title>Ornaments</title>
322 <xi:include href="xml/gtkframe.xml" />
323 <xi:include href="xml/gtkseparator.xml" />
324 <xi:include href="xml/gtkhseparator.xml" />
325 <xi:include href="xml/gtkvseparator.xml" />
328 <chapter id="ScrollingWidgets">
329 <title>Scrolling</title>
330 <xi:include href="xml/gtkscrollbar.xml" />
331 <xi:include href="xml/gtkhscrollbar.xml" />
332 <xi:include href="xml/gtkvscrollbar.xml" />
333 <xi:include href="xml/gtkscrolledwindow.xml" />
336 <chapter id="Printing">
337 <title>Printing</title>
338 <xi:include href="xml/gtkprintoperation.xml" />
339 <xi:include href="xml/gtkprintcontext.xml" />
340 <xi:include href="xml/gtkprintsettings.xml" />
341 <xi:include href="xml/gtkpagesetup.xml" />
342 <xi:include href="xml/gtkpapersize.xml" />
343 <xi:include href="xml/gtkprinter.xml" />
344 <xi:include href="xml/gtkprintjob.xml" />
345 <xi:include href="xml/gtkprintunixdialog.xml" />
346 <xi:include href="xml/gtkpagesetupunixdialog.xml" />
349 <chapter id="MiscObjects">
350 <title>Miscellaneous</title>
351 <xi:include href="xml/gtkadjustment.xml" />
352 <xi:include href="xml/gtkarrow.xml" />
353 <xi:include href="xml/gtkcalendar.xml" />
354 <xi:include href="xml/gtkdrawingarea.xml" />
355 <xi:include href="xml/gtkeventbox.xml" />
356 <xi:include href="xml/gtkhandlebox.xml" />
357 <xi:include href="xml/gtkimcontextsimple.xml" />
358 <xi:include href="xml/gtkimmulticontext.xml" />
359 <xi:include href="xml/gtksizegroup.xml" />
360 <xi:include href="xml/gtktooltip.xml" />
361 <xi:include href="xml/gtkviewport.xml" />
362 <xi:include href="xml/gtkaccessible.xml" />
365 <chapter id="AbstractObjects">
366 <title>Abstract Base Classes</title>
367 <xi:include href="xml/gtkwidget.xml" />
368 <xi:include href="xml/gtkcontainer.xml" />
369 <xi:include href="xml/gtkbin.xml" />
370 <xi:include href="xml/gtkmenushell.xml" />
371 <xi:include href="xml/gtkmisc.xml" />
372 <xi:include href="xml/gtkrange.xml" />
373 <xi:include href="xml/gtkimcontext.xml" />
376 <chapter id="PlugSocket">
377 <title>Cross-process Embedding</title>
378 <xi:include href="xml/gtkplug.xml" />
379 <xi:include href="xml/gtksocket.xml" />
382 <chapter id="SpecialObjects">
383 <title>Special-purpose features</title>
384 <xi:include href="xml/gtkruler.xml" />
385 <xi:include href="xml/gtkhruler.xml" />
386 <xi:include href="xml/gtkvruler.xml" />
389 <chapter id="RecentDocuments">
390 <title>Recently Used Documents</title>
391 <xi:include href="xml/gtkrecentmanager.xml" />
392 <xi:include href="xml/gtkrecentchooser.xml" />
393 <xi:include href="xml/gtkrecentchooserdialog.xml" />
394 <xi:include href="xml/gtkrecentchoosermenu.xml" />
395 <xi:include href="xml/gtkrecentchooserwidget.xml" />
396 <xi:include href="xml/gtkrecentfilter.xml" />
399 <chapter id="Builder">
400 <title>Interface builder</title>
401 <xi:include href="xml/gtkbuildable.xml" />
402 <xi:include href="xml/gtkbuilder.xml" />
405 <chapter id="Application">
406 <title>Application support</title>
407 <xi:include href="xml/gtkapplication.xml" />
411 <part id="migrating">
412 <title>Migrating from Previous Versions of GTK+</title>
416 This part describes what you need to change in programs use
417 older versions of GTK+ so that they can use the new features.
418 It also mentions how to convert applications using widgets
419 found in the libgnomeui library to use their counterparts
424 <xi:include href="xml/migrating-checklist.sgml" />
425 <xi:include href="xml/migrating-2to3.xml" />
429 <title>GTK+ Tools</title>
430 <xi:include href="gtk-query-immodules-3.0.xml" />
431 <xi:include href="gtk-update-icon-cache-3.0.xml" />
432 <xi:include href="gtk-builder-convert-3.0.xml" />
435 <xi:include href="glossary.xml" />
437 <index id="api-index-full">
438 <title>Index of all symbols</title>
439 <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
441 <index id="api-index-deprecated" role="deprecated">
442 <title>Index of deprecated symbols</title>
443 <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
445 <index id="api-index-3-0" role="3.0">
446 <title>Index of new symbols in 3.0</title>
447 <xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
450 <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>