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 <!--ENTITY index-Objects-Grouped SYSTEM "objects_grouped.sgml"-->
8 <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
10 <title>GTK+ Reference Manual</title>
13 The latest version of this documentation can be found on-line at
14 <ulink role="online-location" url="http://library.gnome.org/devel/gtk/unstable/">http://library.gnome.org/devel/gtk/unstable/</ulink>.
19 <title>GTK+ Overview</title>
22 GTK+ is a library for creating graphical user interfaces. It
23 works on many UNIX-like platforms, Windows, and on framebuffer
24 devices. GTK+ is released under the GNU Library General Public License
25 (GNU LGPL), which allows for flexible licensing of client
26 applications. GTK+ has a C-based object-oriented architecture that
27 allows for maximum flexibility. Bindings for other languages have
28 been written, including C++, Objective-C, Guile/Scheme, Perl, Python,
29 TOM, Ada95, Free Pascal, and Eiffel.
32 GTK+ depends on the following libraries:
38 A general-purpose utility library, not specific to graphical user interfaces.
39 GLib provides many useful data types, macros, type conversions,
40 string utilities, file utilities, a main loop abstraction, and so on.
47 Pango is a library for internationalized text handling. It centers
48 around the #PangoLayout object, representing a paragraph of text.
49 Pango provides the engine for #GtkTextView, #GtkLabel, #GtkEntry, and
50 other widgets that display text.
57 ATK is the Accessibility Toolkit. It provides a set of generic
58 interfaces allowing accessibility technologies to interact with a
59 graphical user interface. For example, a screen reader uses ATK to
60 discover the text in an interface and read it to blind users. GTK+
61 widgets have built-in support for accessibility using the ATK
67 <term>GdkPixbuf</term>
69 This is a small library which allows you to create #GdkPixbuf
70 ("pixel buffer") objects from image data or image files.
71 Use a #GdkPixbuf in combination with #GtkImage to display images.
78 GDK is the abstraction layer that allows GTK+ to support multiple
79 windowing systems. GDK provides drawing and window system facilities
80 on X11, Windows, and the Linux framebuffer device.
87 The GTK+ library itself contains <firstterm>widgets</firstterm>,
88 that is, GUI components such as #GtkButton or #GtkTextView.
94 <xi:include href="building.sgml" />
95 <xi:include href="compiling.sgml" />
96 <xi:include href="running.sgml" />
97 <xi:include href="x11.sgml" />
98 <xi:include href="windows.sgml" />
99 <xi:include href="osx.sgml" />
100 <xi:include href="directfb.sgml" />
101 <xi:include href="resources.sgml" />
102 <xi:include href="xml/question_index.sgml" />
103 <xi:include href="drawing-model.xml" />
108 <title>GTK+ Core Reference</title>
109 <xi:include href="xml/gtkmain.xml" />
110 <xi:include href="xml/gtkaccelgroup.xml" />
111 <xi:include href="xml/gtkaccelmap.xml" />
112 <xi:include href="xml/gtkclipboard.xml" />
113 <xi:include href="xml/gtkdnd.xml" />
114 <xi:include href="xml/gtkicontheme.xml" />
115 <xi:include href="xml/gtkstock.xml" />
116 <xi:include href="xml/gtkiconfactory.xml" />
117 <xi:include href="xml/gtkrc.xml" />
118 <xi:include href="xml/gtksettings.xml" />
119 <xi:include href="xml/gtkbindings.xml" />
120 <xi:include href="xml/gtkenums.xml" />
121 <xi:include href="xml/gtkgc.xml" />
122 <xi:include href="xml/gtkstyle.xml" />
123 <xi:include href="xml/gtkselection.xml" />
124 <xi:include href="xml/gtkfeatures.xml" />
125 <xi:include href="xml/gtksignal.xml" />
126 <xi:include href="xml/gtktypeutils.xml" />
127 <xi:include href="xml/gtktesting.xml" />
128 <xi:include href="xml/filesystem.xml" />
131 <part id="gtkobjects">
132 <title>GTK+ Widgets and Objects</title>
135 <title>Object Hierarchy</title>
136 <xi:include href="xml/tree_index.sgml" />
140 <title>Widget Gallery</title>
141 <xi:include href="visual_index.xml" />
144 <chapter id="WindowWidgets">
145 <title>Windows</title>
146 <xi:include href="xml/gtkdialog.xml" />
147 <xi:include href="xml/gtkinvisible.xml" />
148 <xi:include href="xml/gtkmessagedialog.xml" />
149 <xi:include href="xml/gtkwindow.xml" />
150 <xi:include href="xml/gtkwindowgroup.xml" />
151 <xi:include href="xml/gtkaboutdialog.xml" />
152 <xi:include href="xml/gtkassistant.xml" />
153 <xi:include href="xml/gtkoffscreenwindow.xml" />
156 <chapter id="DisplayWidgets">
157 <title>Display Widgets</title>
158 <xi:include href="xml/gtkaccellabel.xml" />
159 <xi:include href="xml/gtkimage.xml" />
160 <xi:include href="xml/gtklabel.xml" />
161 <xi:include href="xml/gtkprogressbar.xml" />
162 <xi:include href="xml/gtkstatusbar.xml" />
163 <xi:include href="xml/gtkinfobar.xml" />
164 <xi:include href="xml/gtkstatusicon.xml" />
165 <xi:include href="xml/gtkspinner.xml" />
168 <chapter id="ButtonWidgets">
169 <title>Buttons and Toggles</title>
170 <xi:include href="xml/gtkbutton.xml" />
171 <xi:include href="xml/gtkcheckbutton.xml" />
172 <xi:include href="xml/gtkradiobutton.xml" />
173 <xi:include href="xml/gtktogglebutton.xml" />
174 <xi:include href="xml/gtklinkbutton.xml" />
175 <xi:include href="xml/gtkscalebutton.xml" />
176 <xi:include href="xml/gtkvolumebutton.xml" />
179 <chapter id="NumericEntry">
180 <title>Numeric/Text Data Entry</title>
181 <xi:include href="xml/gtkentry.xml" />
182 <xi:include href="xml/gtkentrybuffer.xml" />
183 <xi:include href="xml/gtkentrycompletion.xml" />
184 <xi:include href="xml/gtkhscale.xml" />
185 <xi:include href="xml/gtkvscale.xml" />
186 <xi:include href="xml/gtkspinbutton.xml" />
187 <xi:include href="xml/gtkeditable.xml" />
190 <chapter id="TextWidgetObjects">
191 <title>Multiline Text Editor</title>
192 <xi:include href="xml/text_widget.sgml" />
193 <xi:include href="xml/gtktextiter.xml" />
194 <xi:include href="xml/gtktextmark.xml" />
195 <xi:include href="xml/gtktextbuffer.xml" />
196 <xi:include href="xml/gtktexttag.xml" />
197 <xi:include href="xml/gtktexttagtable.xml" />
198 <xi:include href="xml/gtktextview.xml" />
201 <chapter id="TreeWidgetObjects">
202 <title>Tree, List and Icon Grid Widgets</title>
203 <xi:include href="xml/tree_widget.sgml" />
204 <xi:include href="xml/gtktreemodel.xml" />
205 <xi:include href="xml/gtktreeselection.xml" />
206 <xi:include href="xml/gtktreeviewcolumn.xml" />
207 <xi:include href="xml/gtktreeview.xml" />
208 <xi:include href="xml/gtktreednd.xml" />
209 <xi:include href="xml/gtkcellview.xml" />
210 <xi:include href="xml/gtkiconview.xml" />
211 <xi:include href="xml/gtktreesortable.xml" />
212 <xi:include href="xml/gtktreemodelsort.xml" />
213 <xi:include href="xml/gtktreemodelfilter.xml" />
214 <xi:include href="xml/gtkcelllayout.xml" />
215 <xi:include href="xml/gtkcellrenderer.xml" />
216 <xi:include href="xml/gtkcelleditable.xml" />
217 <xi:include href="xml/gtkcellrendereraccel.xml" />
218 <xi:include href="xml/gtkcellrenderercombo.xml" />
219 <xi:include href="xml/gtkcellrendererpixbuf.xml" />
220 <xi:include href="xml/gtkcellrendererprogress.xml" />
221 <xi:include href="xml/gtkcellrendererspin.xml" />
222 <xi:include href="xml/gtkcellrenderertext.xml" />
223 <xi:include href="xml/gtkcellrenderertoggle.xml" />
224 <xi:include href="xml/gtkcellrendererspinner.xml" />
225 <xi:include href="xml/gtkliststore.xml" />
226 <xi:include href="xml/gtktreestore.xml" />
229 <chapter id="MenusAndCombos">
230 <title>Menus, Combo Box, Toolbar</title>
231 <xi:include href="xml/gtkcombobox.xml" />
232 <xi:include href="xml/gtkcomboboxentry.xml" />
233 <xi:include href="xml/gtkmenu.xml" />
234 <xi:include href="xml/gtkmenubar.xml" />
235 <xi:include href="xml/gtkmenuitem.xml" />
236 <xi:include href="xml/gtkimagemenuitem.xml" />
237 <xi:include href="xml/gtkradiomenuitem.xml" />
238 <xi:include href="xml/gtkcheckmenuitem.xml" />
239 <xi:include href="xml/gtkseparatormenuitem.xml" />
240 <xi:include href="xml/gtktearoffmenuitem.xml" />
241 <xi:include href="xml/gtktoolshell.xml" />
242 <xi:include href="xml/gtktoolbar.xml" />
243 <xi:include href="xml/gtktoolitem.xml" />
244 <xi:include href="xml/gtktoolpalette.xml" />
245 <xi:include href="xml/gtktoolitemgroup.xml" />
246 <xi:include href="xml/gtkseparatortoolitem.xml" />
247 <xi:include href="xml/gtktoolbutton.xml" />
248 <xi:include href="xml/gtkmenutoolbutton.xml" />
249 <xi:include href="xml/gtktoggletoolbutton.xml" />
250 <xi:include href="xml/gtkradiotoolbutton.xml" />
253 <chapter id="Actions">
254 <title>Action-based menus and toolbars</title>
255 <xi:include href="xml/gtkuimanager.xml" />
256 <xi:include href="xml/gtkactiongroup.xml" />
257 <xi:include href="xml/gtkaction.xml" />
258 <xi:include href="xml/gtktoggleaction.xml" />
259 <xi:include href="xml/gtkradioaction.xml" />
260 <xi:include href="xml/gtkrecentaction.xml" />
261 <xi:include href="xml/gtkactivatable.xml" />
264 <chapter id="SelectorWidgets">
265 <title>Selectors (File/Font/Color/Input Devices)</title>
266 <xi:include href="xml/gtkcolorbutton.xml" />
267 <xi:include href="xml/gtkcolorseldlg.xml" />
268 <xi:include href="xml/gtkcolorsel.xml" />
269 <xi:include href="xml/gtkhsv.xml" />
270 <xi:include href="xml/gtkfilechooser.xml" />
271 <xi:include href="xml/gtkfilechooserbutton.xml" />
272 <xi:include href="xml/gtkfilechooserdialog.xml" />
273 <xi:include href="xml/gtkfilechooserwidget.xml" />
274 <xi:include href="xml/gtkfilefilter.xml" />
275 <xi:include href="xml/gtkfontbutton.xml" />
276 <xi:include href="xml/gtkfontsel.xml" />
277 <xi:include href="xml/gtkfontseldlg.xml" />
278 <xi:include href="xml/gtkinputdialog.xml" />
281 <chapter id="LayoutContainers">
282 <title>Layout Containers</title>
283 <xi:include href="xml/gtkalignment.xml" />
284 <xi:include href="xml/gtkaspectframe.xml" />
285 <xi:include href="xml/gtkhbox.xml" />
286 <xi:include href="xml/gtkvbox.xml" />
287 <xi:include href="xml/gtkhbbox.xml" />
288 <xi:include href="xml/gtkvbbox.xml" />
289 <xi:include href="xml/gtkfixed.xml" />
290 <xi:include href="xml/gtkhpaned.xml" />
291 <xi:include href="xml/gtkvpaned.xml" />
292 <xi:include href="xml/gtklayout.xml" />
293 <xi:include href="xml/gtknotebook.xml" />
294 <xi:include href="xml/gtktable.xml" />
295 <xi:include href="xml/gtkexpander.xml" />
296 <xi:include href="xml/gtkorientable.xml" />
297 <xi:include href="xml/gtkextendedlayout.xml" />
300 <chapter id="Ornaments">
301 <title>Ornaments</title>
302 <xi:include href="xml/gtkframe.xml" />
303 <xi:include href="xml/gtkhseparator.xml" />
304 <xi:include href="xml/gtkvseparator.xml" />
307 <chapter id="ScrollingWidgets">
308 <title>Scrolling</title>
309 <xi:include href="xml/gtkhscrollbar.xml" />
310 <xi:include href="xml/gtkvscrollbar.xml" />
311 <xi:include href="xml/gtkscrolledwindow.xml" />
314 <chapter id="Printing">
315 <title>Printing</title>
316 <xi:include href="xml/gtkprintoperation.xml" />
317 <xi:include href="xml/gtkprintcontext.xml" />
318 <xi:include href="xml/gtkprintsettings.xml" />
319 <xi:include href="xml/gtkpagesetup.xml" />
320 <xi:include href="xml/gtkpapersize.xml" />
321 <xi:include href="xml/gtkprinter.xml" />
322 <xi:include href="xml/gtkprintjob.xml" />
323 <xi:include href="xml/gtkprintunixdialog.xml" />
324 <xi:include href="xml/gtkpagesetupunixdialog.xml" />
327 <chapter id="MiscObjects">
328 <title>Miscellaneous</title>
329 <xi:include href="xml/gtkadjustment.xml" />
330 <xi:include href="xml/gtkarrow.xml" />
331 <xi:include href="xml/gtkcalendar.xml" />
332 <xi:include href="xml/gtkdrawingarea.xml" />
333 <xi:include href="xml/gtkeventbox.xml" />
334 <xi:include href="xml/gtkhandlebox.xml" />
335 <xi:include href="xml/gtkimcontextsimple.xml" />
336 <xi:include href="xml/gtkimmulticontext.xml" />
337 <xi:include href="xml/gtksizegroup.xml" />
338 <xi:include href="xml/gtktooltip.xml" />
339 <xi:include href="xml/gtkviewport.xml" />
340 <xi:include href="xml/gtkaccessible.xml" />
343 <chapter id="AbstractObjects">
344 <title>Abstract Base Classes</title>
345 <xi:include href="xml/gtkbin.xml" />
346 <xi:include href="xml/gtkbox.xml" />
347 <xi:include href="xml/gtkbbox.xml" />
348 <xi:include href="xml/gtkcontainer.xml" />
349 <xi:include href="xml/gtkitem.xml" />
350 <xi:include href="xml/gtkmenushell.xml" />
351 <xi:include href="xml/gtkmisc.xml" />
352 <xi:include href="xml/gtkobject.xml" />
353 <xi:include href="xml/gtkpaned.xml" />
354 <xi:include href="xml/gtkrange.xml" />
355 <xi:include href="xml/gtkscale.xml" />
356 <xi:include href="xml/gtkscrollbar.xml" />
357 <xi:include href="xml/gtkseparator.xml" />
358 <xi:include href="xml/gtkwidget.xml" />
359 <xi:include href="xml/gtkimcontext.xml" />
362 <chapter id="PlugSocket">
363 <title>Cross-process Embedding</title>
364 <xi:include href="xml/gtkplug.xml" />
365 <xi:include href="xml/gtksocket.xml" />
368 <chapter id="SpecialObjects">
369 <title>Special-purpose features</title>
370 <xi:include href="xml/gtkcurve.xml" />
371 <xi:include href="xml/gtkgamma.xml" />
372 <xi:include href="xml/gtkruler.xml" />
373 <xi:include href="xml/gtkhruler.xml" />
374 <xi:include href="xml/gtkvruler.xml" />
377 <chapter id="RecentDocuments">
378 <title>Recently Used Documents</title>
379 <xi:include href="xml/gtkrecentmanager.xml" />
380 <xi:include href="xml/gtkrecentchooser.xml" />
381 <xi:include href="xml/gtkrecentchooserdialog.xml" />
382 <xi:include href="xml/gtkrecentchoosermenu.xml" />
383 <xi:include href="xml/gtkrecentchooserwidget.xml" />
384 <xi:include href="xml/gtkrecentfilter.xml" />
387 <chapter id="Builder">
388 <title>Interface builder</title>
389 <xi:include href="xml/gtkbuildable.xml" />
390 <xi:include href="xml/gtkbuilder.xml" />
394 <part id="migrating">
395 <title>Migrating from Previous Versions of GTK+</title>
399 This part describes what you need to change in programs use
400 older versions of GTK+ so that they can use the new features.
401 It also mentions how to convert applications using widgets
402 found in the libgnomeui library to use their counterparts
407 <xi:include href="xml/migrating-checklist.sgml" />
408 <xi:include href="changes-1.2.sgml" />
409 <xi:include href="changes-2.0.sgml" />
410 <xi:include href="xml/migrating-GtkFileChooser.sgml" />
411 <xi:include href="xml/migrating-GtkAction.sgml" />
412 <xi:include href="xml/migrating-GtkComboBox.sgml" />
413 <xi:include href="xml/migrating-GtkIconView.sgml" />
414 <xi:include href="xml/migrating-GtkAboutDialog.sgml" />
415 <xi:include href="xml/migrating-GtkColorButton.sgml" />
416 <xi:include href="xml/migrating-GtkAssistant.sgml" />
417 <xi:include href="xml/migrating-GtkRecentChooser.sgml" />
418 <xi:include href="xml/migrating-GtkLinkButton.sgml" />
419 <xi:include href="xml/migrating-GtkBuilder.sgml" />
420 <xi:include href="xml/migrating-GtkTooltip.sgml" />
421 <xi:include href="xml/migrating-GtkEntry-icons.sgml" />
422 <xi:include href="xml/migrating-GtkLabel-links.sgml" />
423 <xi:include href="xml/migrating-ClientSideWindows.sgml" />
427 <title>GTK+ Tools</title>
428 <xi:include href="gtk-query-immodules-2.0.xml" />
429 <xi:include href="gtk-update-icon-cache.xml" />
430 <xi:include href="gtk-builder-convert.xml" />
433 <xi:include href="glossary.xml" />
435 <index id="api-index-full">
436 <title>Index of all symbols</title>
437 <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
439 <index id="api-index-deprecated" role="deprecated">
440 <title>Index of deprecated symbols</title>
441 <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
443 <index id="api-index-2-2" role="2.2">
444 <title>Index of new symbols in 2.2</title>
445 <xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
447 <index id="api-index-2-4" role="2.4">
448 <title>Index of new symbols in 2.4</title>
449 <xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
451 <index id="api-index-2-6" role="2.6">
452 <title>Index of new symbols in 2.6</title>
453 <xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
455 <index id="api-index-2-8" role="2.8">
456 <title>Index of new symbols in 2.8</title>
457 <xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
459 <index id="api-index-2-10" role="2.10">
460 <title>Index of new symbols in 2.10</title>
461 <xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
463 <index id="api-index-2-12" role="2.12">
464 <title>Index of new symbols in 2.12</title>
465 <xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
467 <index id="api-index-2-14" role="2.14">
468 <title>Index of new symbols in 2.14</title>
469 <xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
471 <index id="api-index-2-16" role="2.16">
472 <title>Index of new symbols in 2.16</title>
473 <xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
475 <index id="api-index-2-18" role="2.18">
476 <title>Index of new symbols in 2.18</title>
477 <xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
479 <index id="api-index-2-20" role="2.20">
480 <title>Index of new symbols in 2.20</title>
481 <xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
483 <index id="api-index-2-22" role="2.22">
484 <title>Index of new symbols in 2.20</title>
485 <xi:include href="xml/api-index-2.22.xml"><xi:fallback /></xi:include>
487 <index id="api-index-3-0" role="3.0">
488 <title>Index of new symbols in 3.0</title>
489 <xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
492 <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>