<?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 pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
  <bookinfo>
    <title>GTK 4 Reference Manual</title>
    <releaseinfo>
      This document is for the GTK 4 library, version &version;.
      The latest versions can be found online at
      <ulink role="online-location" url="https://developer.gnome.org/gtk4/">https://developer.gnome.org/gtk4/</ulink>.
      If you are looking for the older GTK 3 series of libraries,
      see <ulink role="online-location" url="https://developer.gnome.org/gtk3/">https://developer.gnome.org/gtk3/</ulink>.
    </releaseinfo>
  </bookinfo>

  <part id="gtk">
    <title>Introduction</title>
    <xi:include href="overview.xml"/>
    <xi:include href="xml/getting_started.xml"/>
    <xi:include href="resources.xml" />
    <xi:include href="xml/question_index.xml" />
  </part>

  <part id="concepts">
    <title>GTK Concepts</title>
    <xi:include href="xml/drawing-model.xml" />
    <xi:include href="xml/input-handling.xml" />
    <xi:include href="xml/actions.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="Lists">
      <title>GListModel support</title>
      <xi:include href="xml/gtkfilterlistmodel.xml" />
      <xi:include href="xml/gtkflattenlistmodel.xml" />
      <xi:include href="xml/gtkmaplistmodel.xml" />
      <xi:include href="xml/gtkslicelistmodel.xml" />
      <xi:include href="xml/gtksortlistmodel.xml" />
      <xi:include href="xml/gtkselectionmodel.xml" />
      <xi:include href="xml/gtknoselection.xml" />
      <xi:include href="xml/gtksingleselection.xml" />
    </chapter>

    <chapter id="Trees">
      <xi:include href="xml/gtktreelistrow.xml" />
      <xi:include href="xml/gtktreelistmodel.xml" />
    </chapter>

    <chapter id="Application">
      <title>Application support</title>
      <xi:include href="xml/gtkapplication.xml" />
      <xi:include href="xml/gtkapplicationwindow.xml" />
      <xi:include href="xml/gtkactionable.xml" />
    </chapter>

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

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

    <chapter id="LayoutContainers">
      <title>Layout Containers</title>
      <xi:include href="xml/gtkbox.xml" />
      <xi:include href="xml/gtkcenterbox.xml" />
      <xi:include href="xml/gtkgrid.xml" />
      <xi:include href="xml/gtkrevealer.xml" />
      <xi:include href="xml/gtklistbox.xml" />
      <xi:include href="xml/gtkflowbox.xml" />
      <xi:include href="xml/gtkstack.xml" />
      <xi:include href="xml/gtkstackswitcher.xml" />
      <xi:include href="xml/gtkstacksidebar.xml" />
      <xi:include href="xml/gtkactionbar.xml" />
      <xi:include href="xml/gtkheaderbar.xml" />
      <xi:include href="xml/gtkoverlay.xml" />
      <xi:include href="xml/gtkpaned.xml" />
      <xi:include href="xml/gtknotebook.xml" />
      <xi:include href="xml/gtkexpander.xml" />
      <xi:include href="xml/gtkorientable.xml" />
      <xi:include href="xml/gtkaspectframe.xml" />
      <xi:include href="xml/gtkfixed.xml" />
    </chapter>

    <chapter id="LayoutManagers">
      <title>Layout Managers</title>
      <xi:include href="xml/gtklayoutmanager.xml" />
      <xi:include href="xml/gtklayoutchild.xml" />
      <xi:include href="xml/gtkbinlayout.xml" />
      <xi:include href="xml/gtkboxlayout.xml" />
      <xi:include href="xml/gtkcenterlayout.xml" />
      <xi:include href="xml/gtkfixedlayout.xml" />
      <xi:include href="xml/gtkgridlayout.xml" />
      <xi:include href="xml/gtkcustomlayout.xml" />
      <xi:include href="xml/gtkconstraintlayout.xml" />
      <xi:include href="xml/gtkconstraint.xml" />
      <xi:include href="xml/gtkconstraintguide.xml" />
    </chapter>

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

    <chapter id="MediaSupport">
      <title>Media Support</title>
      <xi:include href="xml/gtkvideo.xml" />
      <xi:include href="xml/gtkmediacontrols.xml" />
      <xi:include href="xml/gtkmediastream.xml" />
      <xi:include href="xml/gtkmediafile.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/gtkmenubutton.xml" />
      <xi:include href="xml/gtkswitch.xml" />
      <xi:include href="xml/gtkscalebutton.xml" />
      <xi:include href="xml/gtkvolumebutton.xml" />
      <xi:include href="xml/gtklockbutton.xml" />
    </chapter>

    <chapter id="NumericEntry">
      <title>Numeric and Text Data Entry</title>
      <xi:include href="xml/gtkeditable.xml" />
      <xi:include href="xml/gtkentrybuffer.xml" />
      <xi:include href="xml/gtktext.xml" />
      <xi:include href="xml/gtkentry.xml" />
      <xi:include href="xml/gtkentrycompletion.xml" />
      <xi:include href="xml/gtkpasswordentry.xml" />
      <xi:include href="xml/gtkscale.xml" />
      <xi:include href="xml/gtkspinbutton.xml" />
      <xi:include href="xml/gtksearchentry.xml" />
      <xi:include href="xml/gtksearchbar.xml" />
    </chapter>

    <chapter id="TextWidgetObjects">
      <title>Multiline Text Editor</title>
      <xi:include href="xml/text_widget.xml" />
      <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.xml" />
      <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/gtkcellarea.xml" />
      <xi:include href="xml/gtkcellareabox.xml" />
      <xi:include href="xml/gtkcellareacontext.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</title>
      <xi:include href="xml/gtkcombobox.xml" />
      <xi:include href="xml/gtkcomboboxtext.xml" />
      <xi:include href="xml/gtkpopover.xml" />
      <xi:include href="xml/gtkpopovermenu.xml" />
      <xi:include href="xml/gtkpopovermenubar.xml" />
    </chapter>

    <chapter id="SelectorWidgets">
      <title>Selector Widgets and Dialogs</title>
      <xi:include href="xml/gtkcolorchooser.xml" />
      <xi:include href="xml/gtkcolorbutton.xml" />
      <xi:include href="xml/gtkcolorchooserwidget.xml" />
      <xi:include href="xml/gtkcolorchooserdialog.xml" />
      <xi:include href="xml/gtkfilechooser.xml" />
      <xi:include href="xml/gtkfilechooserbutton.xml" />
      <xi:include href="xml/gtkfilechoosernative.xml" />
      <xi:include href="xml/gtkfilechooserdialog.xml" />
      <xi:include href="xml/gtkfilechooserwidget.xml" />
      <xi:include href="xml/gtkfilefilter.xml" />
      <xi:include href="xml/gtkfontchooser.xml" />
      <xi:include href="xml/gtkfontbutton.xml" />
      <xi:include href="xml/gtkfontchooserwidget.xml" />
      <xi:include href="xml/gtkfontchooserdialog.xml" />
      <xi:include href="xml/gtkemojichooser.xml" />
    </chapter>

    <chapter id="DrawingWidgets">
      <title>Widgets for custom drawing</title>
      <xi:include href="xml/gtkdrawingarea.xml" />
      <xi:include href="xml/gtkglarea.xml" />
    </chapter>

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

    <chapter id="ScrollingWidgets">
      <title>Scrolling</title>
      <xi:include href="xml/gtkscrollbar.xml" />
      <xi:include href="xml/gtkscrolledwindow.xml" />
      <xi:include href="xml/gtkscrollable.xml" />
      <xi:include href="xml/gtkviewport.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="ShortcutsOverview">
      <title>Shortcuts Overview</title>
      <xi:include href="xml/gtkshortcutswindow.xml" />
      <xi:include href="xml/gtkshortcutssection.xml" />
      <xi:include href="xml/gtkshortcutsgroup.xml" />
      <xi:include href="xml/gtkshortcutsshortcut.xml" />
      <xi:include href="xml/gtkshortcutlabel.xml" />
    </chapter>

    <chapter id="MiscObjects">
      <title>Miscellaneous</title>
      <xi:include href="xml/gtkadjustment.xml" />
      <xi:include href="xml/gtkimcontextsimple.xml" />
      <xi:include href="xml/gtkimmulticontext.xml" />
      <xi:include href="xml/gtksizegroup.xml" />
      <xi:include href="xml/gtksnapshot.xml" />
      <xi:include href="xml/gtktooltip.xml" />
      <xi:include href="xml/gtkwidgetpaintable.xml" />
      <xi:include href="xml/gtkwindowcontrols.xml" />
      <xi:include href="xml/gtkwindowhandle.xml" />
    </chapter>

    <chapter id="AbstractObjects">
      <title>Abstract Base Classes</title>
      <xi:include href="xml/gtkwidget.xml" />
      <xi:include href="xml/gtkrange.xml" />
      <xi:include href="xml/gtkimcontext.xml" />
      <xi:include href="xml/gtknativedialog.xml" />
      <xi:include href="xml/gtkaccessible.xml" />
    </chapter>

    <chapter id="RecentDocuments">
      <title>Recently Used Documents</title>
      <xi:include href="xml/gtkrecentmanager.xml" />
    </chapter>

    <chapter id="ApplicationChoosing">
      <title>Choosing from installed applications</title>
      <xi:include href="xml/gtkappchooser.xml" />
      <xi:include href="xml/gtkappchooserbutton.xml" />
      <xi:include href="xml/gtkappchooserdialog.xml" />
      <xi:include href="xml/gtkappchooserwidget.xml" />
    </chapter>

    <chapter id="Gestures">
      <title>Gestures and event handling</title>
      <xi:include href="xml/gtkeventcontroller.xml" />
      <xi:include href="xml/gtkeventcontrollerkey.xml" />
      <xi:include href="xml/gtkeventcontrollerfocus.xml" />
      <xi:include href="xml/gtkeventcontrollerlegacy.xml" />
      <xi:include href="xml/gtkeventcontrollerscroll.xml" />
      <xi:include href="xml/gtkeventcontrollermotion.xml" />
      <xi:include href="xml/gtkgesture.xml" />
      <xi:include href="xml/gtkgesturesingle.xml" />
      <xi:include href="xml/gtkgesturedrag.xml" />
      <xi:include href="xml/gtkgesturelongpress.xml" />
      <xi:include href="xml/gtkgestureclick.xml" />
      <xi:include href="xml/gtkgesturepan.xml" />
      <xi:include href="xml/gtkgestureswipe.xml" />
      <xi:include href="xml/gtkgesturerotate.xml" />
      <xi:include href="xml/gtkgesturezoom.xml" />
      <xi:include href="xml/gtkgesturestylus.xml" />
      <xi:include href="xml/gtkpadcontroller.xml" />
      <xi:include href="xml/gtkshortcutcontroller.xml" />
    </chapter>

    <chapter>
      <title>Keyboard shortcuts</title>
      <xi:include href="xml/gtkaccelgroup.xml" />
      <xi:include href="xml/gtkshortcut.xml" />
      <xi:include href="xml/gtkshortcuttrigger.xml" />
      <xi:include href="xml/gtkshortcutaction.xml" />
      <xi:include href="xml/gtkshortcutmanager.xml" />
    </chapter>

    <chapter>
      <title>Data exchange, clipboards and Drag-and-Drop</title>
      <xi:include href="xml/gtkdragsource.xml"/>
      <xi:include href="xml/gtkdragicon.xml"/>
      <xi:include href="xml/gtkdroptarget.xml"/>
      <xi:include href="xml/gtkdroptargetasync.xml"/>
      <xi:include href="xml/gtkdropcontrollermotion.xml"/>
    </chapter>

  </part>

  <part  id="gtkbase">
    <title>GTK Core Reference</title>
    <xi:include href="xml/gtkmain.xml" />
    <xi:include href="xml/gtkfeatures.xml" />
    <xi:include href="xml/gtksettings.xml" />
    <xi:include href="xml/gtkenums.xml" />
    <xi:include href="xml/gtktesting.xml" />
    <xi:include href="xml/filesystem.xml" />
  </part>

  <part id="theming">
    <title>Theming in GTK</title>
    <xi:include href="css-overview.xml" />
    <xi:include href="xml/gtkstylecontext.xml" />
    <xi:include href="xml/gtkcssprovider.xml" />
    <xi:include href="xml/gtkstyleprovider.xml" />
    <xi:include href="xml/gtkicontheme.xml" />
  </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-2to4.xml" />
    <xi:include href="xml/migrating-3to4.xml" />
  </part>

  <part>
    <title>GTK Tools</title>
    <xi:include href="gtk4-demo.xml" />
    <xi:include href="gtk4-demo-application.xml" />
    <xi:include href="gtk4-widget-factory.xml" />
    <xi:include href="gtk4-icon-browser.xml" />
    <xi:include href="gtk4-update-icon-cache.xml" />
    <xi:include href="gtk4-encode-symbolic-svg.xml" />
    <xi:include href="gtk4-builder-tool.xml" />
    <xi:include href="gtk4-launch.xml" />
    <xi:include href="gtk4-query-settings.xml" />
    <xi:include href="gtk4-broadwayd.xml" />
  </part>

  <part id="platform-support">
    <title>GTK Platform Support</title>
    <xi:include href="building.xml" />
    <xi:include href="xml/compiling.xml" />
    <xi:include href="running.xml" />
    <xi:include href="x11.xml" />
    <xi:include href="windows.xml" />
    <xi:include href="osx.xml" />
    <xi:include href="broadway.xml" />
    <xi:include href="wayland.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>

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

</book>
