// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \page qtquickcontrols-containers.html
    \title Container Controls
    \ingroup qtquickcontrols-guidelines
    \brief Guidelines for container controls

    Qt Quick Controls offers a selection of container-like controls.

    \annotatedlist qtquickcontrols-containers

    Each type of container can be used to group a set of controls together.
    The following sections offer guidelines for choosing the appropriate type
    of container, depending on the use case.

    \section1 ApplicationWindow Control

    \image qtquickcontrols-applicationwindow-wireframe.png
           {Window layout with Menu bar, Header, Content area, and Footer}

    \l ApplicationWindow creates the root window of an application, and makes
    it easy to add an optional header and footer to that window.

    \section1 Frame Control

    \image qtquickcontrols-frame.png
           {Frame containing check boxes labeled E-mail, Calendar, Contacts}

    \l Frame is used to layout a logical group of controls together, within
    a visual frame.

    \section1 GroupBox Control

    \image qtquickcontrols-groupbox.png
           {Group box with title and border containing checkboxes}

    \l GroupBox is used to layout a logical group of controls together,
    within a titled visual frame.

    \section1 Page Control

    \image qtquickcontrols-page-wireframe.webp
           {Page wireframe with header, content area, and footer}

    \l Page provides page-specific header and footer items.
    It is perfectly possible to use ApplicationWindow for setting the header
    and the footer, but if you have a header and footer which varies per
    screen, then it is better to use \l Page.

    \section1 Pane Control

    \image qtquickcontrols-pane.png
           {Pane containing items with background}

    \l Pane provides a background color that matches with the application
    style and theme. Pane does not provide a layout of its own, but requires
    you to position its contents, for instance by using a \l RowLayout or
    a \l ColumnLayout.

    \section1 ScrollView Control

    \image qtquickcontrols-scrollview-wireframe.webp
           {ScrollView layout showing scrollable content area with scroll bars}

    \l ScrollView provides scrolling for user-defined content.

    \section1 StackView Control

    \image qtquickcontrols-stackview-wireframe.webp
           {Stack view diagram showing stacked pages with top page visible}

    \l StackView organizes content pages into a stack using a last-in-first-out
    principle: the last item to be "pushed" onto the stack is the first one to
    be removed, and the top-most item is always the one that is visible.

    \section1 SwipeView Control

    \image qtquickcontrols-swipeview-wireframe.webp
           {Swipe view diagram showing pages arranged in swipable strip}

    \l SwipeView organizes content pages into a swipable strip.

    \section1 TabBar Control

    \image qtquickcontrols-tabbar-wireframe.webp
           {Tab bar diagram showing multiple tabs for organizing content}

    \l TabBar organizes content pages into tabs.

    \section1 ToolBar Control

    \image qtquickcontrols-toolbar.png
           {Toolbar containing tool buttons}

    \l ToolBar is a container of application-wide and context-sensitive
    actions and controls.
*/
