/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/

/*!
//! [pathview]

    \section1 Path View

    A \uicontrol {Path View} component lays out data provided by data models
    on a \l{Path}.

    A graphical spline editor enables you to specify path view paths, which
    is a non-trivial task to do in \uicontrol {Text Editor}.

    \image qmldesigner-pathview-editor.png "Path View editor"

    To start editing the path, double-click the path view in
    \l {Form Editor}. The editor composes the path of PathCubic path
    objects. They are cubic Bezier curves to a given position with two control
    points. Drag and drop the control points in \uicontrol {Form Editor} to
    construct the curve.

    In addition, PathLine and PathQuad path objects are supported indirectly.
    To make a curve segment linear, select \uicontrol {Make Curve Segment Straight} in
    the context menu.

    By default, the path is closed, which means that its start and end points
    are identical. To create separate start and end points for it, right-click
    an edit point to open a context menu, and deselect \uicontrol {Closed Path}.

    To add intermediary points to a curve segment, select \uicontrol {Split Segment}
    in the context menu.

    In the \uicontrol {Path View} section, you can specify other properties for
    the path view. The value of the \uicontrol {Drag margin} field specifies
    the maximum distance from the path that initiates mouse dragging.

    \image qtquick-designer-pathview-properties.png "Path View properties"

    Select the \uicontrol Interactive check box to make an item flickable.
    The value of the \uicontrol {Flick deceleration} field specifies the
    rate at which a flick will decelerate.

    In the \uicontrol Offset field, specify how far along the path the items
    are from their initial positions. This is a real number that ranges from
    0 to the value of the \uicontrol {Item count} field, which displays the
    number of items in the model.

    In the \uicontrol {Path View Highlight} section, you can specify properties
    for \l{View Highlight}{highlighting} path objects.

    \if defined(qtdesignstudio)
    \note You can also use the \l {SVG Path Item} Studio Component to specify an
    SVG path data string that draws a path.
    \endif

//! [pathview]

//! [svgpath]

    \section1 SVG Path Item

    The \uicontrol {SVG Path Item} component uses an SVG path data string to
    draw a path as a line.

    Setting path colors is described in \l {Picking Colors}.

    The stroke property values that specify the appearance of the path are
    described in \l{Strokes}.

    \image studio-svgpath-properties.png "SVG Path Item properties"

    The \uicontrol {Path data} field in the \uicontrol {Path Info} section
    contains the SVG path data string that specifies the path. For more
    information, see \l{https://www.w3.org/TR/SVG/paths.html#PathData}
    {W3C SVG Path Data}.

//! [svgpath]
*/
