diff options
Diffstat (limited to 'src/quicktemplates/qquicktoolseparator.cpp')
-rw-r--r-- | src/quicktemplates/qquicktoolseparator.cpp | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/quicktemplates/qquicktoolseparator.cpp b/src/quicktemplates/qquicktoolseparator.cpp new file mode 100644 index 0000000000..afb3caa9cd --- /dev/null +++ b/src/quicktemplates/qquicktoolseparator.cpp @@ -0,0 +1,117 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#include "qquicktoolseparator_p.h" + +#include "qquickcontrol_p_p.h" + +QT_BEGIN_NAMESPACE + +/*! + \qmltype ToolSeparator + \inherits Control +//! \instantiates QQuickToolSeparator + \inqmlmodule QtQuick.Controls + \since 5.8 + \ingroup qtquickcontrols-separators + \brief Separates a group of items in a toolbar from adjacent items. + + ToolSeparator is used to visually distinguish between groups of items in a + toolbar by separating them with a line. It can be used in horizontal or + vertical toolbars by setting the \l orientation property to \c Qt.Vertical + or \c Qt.Horizontal, respectively. + + \image qtquickcontrols-toolseparator.png + + \snippet qtquickcontrols-toolseparator.qml 1 + + \sa {Customizing ToolSeparator}, {Separator Controls} +*/ + +class QQuickToolSeparatorPrivate : public QQuickControlPrivate +{ + Q_DECLARE_PUBLIC(QQuickToolSeparator) + +public: + QPalette defaultPalette() const override { return QQuickTheme::palette(QQuickTheme::ToolBar); } + + Qt::Orientation orientation = Qt::Vertical; +}; + +QQuickToolSeparator::QQuickToolSeparator(QQuickItem *parent) + : QQuickControl(*(new QQuickToolSeparatorPrivate), parent) +{ +} + +/*! + \qmlproperty enumeration QtQuick.Controls::ToolSeparator::orientation + + This property holds the orientation of the tool separator. + + Possible values: + \value Qt.Horizontal A horizontal separator is used in a vertical toolbar. + \value Qt.Vertical A vertical separator is used in a horizontal toolbar. (default) +*/ +Qt::Orientation QQuickToolSeparator::orientation() const +{ + Q_D(const QQuickToolSeparator); + return d->orientation; +} + +void QQuickToolSeparator::setOrientation(Qt::Orientation orientation) +{ + Q_D(QQuickToolSeparator); + if (d->orientation == orientation) + return; + + d->orientation = orientation; + emit orientationChanged(); +} + +/*! + \readonly + \qmlproperty bool QtQuick.Controls::ToolSeparator::horizontal + + This property holds whether \l orientation is equal to \c Qt.Horizontal. + + It is useful for \l {Customizing ToolSeparator}{customizing ToolSeparator}. + + \sa orientation, vertical +*/ +bool QQuickToolSeparator::isHorizontal() const +{ + Q_D(const QQuickToolSeparator); + return d->orientation == Qt::Horizontal; +} + +/*! + \readonly + \qmlproperty bool QtQuick.Controls::ToolSeparator::vertical + + This property holds whether \l orientation is equal to \c Qt.Vertical. + + It is useful for \l {Customizing ToolSeparator}{customizing ToolSeparator}. + + \sa orientation, horizontal +*/ +bool QQuickToolSeparator::isVertical() const +{ + Q_D(const QQuickToolSeparator); + return d->orientation == Qt::Vertical; +} + +QFont QQuickToolSeparator::defaultFont() const +{ + return QQuickTheme::font(QQuickTheme::ToolBar); +} + +#if QT_CONFIG(accessibility) +QAccessible::Role QQuickToolSeparator::accessibleRole() const +{ + return QAccessible::Separator; +} +#endif + +QT_END_NAMESPACE + +#include "moc_qquicktoolseparator_p.cpp" |