aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickgroupbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicktemplates2/qquickgroupbox.cpp')
-rw-r--r--src/quicktemplates2/qquickgroupbox.cpp287
1 files changed, 0 insertions, 287 deletions
diff --git a/src/quicktemplates2/qquickgroupbox.cpp b/src/quicktemplates2/qquickgroupbox.cpp
deleted file mode 100644
index 4a58f163..00000000
--- a/src/quicktemplates2/qquickgroupbox.cpp
+++ /dev/null
@@ -1,287 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** 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 http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickgroupbox_p.h"
-#include "qquickframe_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype GroupBox
- \inherits Frame
-//! \instantiates QQuickGroupBox
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \brief Visual frame and title for a logical group of controls.
-
- GroupBox is used to layout a logical group of controls together, within
- a \l {title}{titled} visual frame. GroupBox does not provide a layout of its own, but
- requires you to position its contents, for instance by creating a \l RowLayout
- or a \l ColumnLayout.
-
- Items declared as children of a GroupBox are automatically parented to the
- GroupBox's \l {Control::}{contentItem}. Items created dynamically need to be
- explicitly parented to the contentItem.
-
- If only a single item is used within a GroupBox, it will resize to fit the
- implicit size of its contained item. This makes it particularly suitable
- for use together with layouts.
-
- \image qtquickcontrols2-groupbox.png
-
- \snippet qtquickcontrols2-groupbox.qml 1
-
- \section2 Checkable GroupBox
-
- Even though GroupBox has no built-in check box, it is straightforward
- to create a checkable GroupBox by pairing it with a CheckBox.
-
- \image qtquickcontrols2-groupbox-checkable.png
-
- It is a common pattern to enable or disable the groupbox's children when
- its checkbox is toggled on or off, but it is up to the application to decide
- on the behavior of the checkbox.
-
- \snippet qtquickcontrols2-groupbox-checkable.qml 1
-
- \sa CheckBox, {Customizing GroupBox}, {Container Controls}
-*/
-
-class QQuickGroupBoxPrivate : public QQuickFramePrivate
-{
- Q_DECLARE_PUBLIC(QQuickGroupBox)
-
-public:
- void cancelLabel();
- void executeLabel(bool complete = false);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- QPalette defaultPalette() const override { return QQuickTheme::palette(QQuickTheme::GroupBox); }
-
- QString title;
- QQuickDeferredPointer<QQuickItem> label;
-};
-
-static inline QString labelName() { return QStringLiteral("label"); }
-
-void QQuickGroupBoxPrivate::cancelLabel()
-{
- Q_Q(QQuickGroupBox);
- quickCancelDeferred(q, labelName());
-}
-
-void QQuickGroupBoxPrivate::executeLabel(bool complete)
-{
- Q_Q(QQuickGroupBox);
- if (label.wasExecuted())
- return;
-
- if (!label || complete)
- quickBeginDeferred(q, labelName(), label);
- if (complete)
- quickCompleteDeferred(q, labelName(), label);
-}
-
-void QQuickGroupBoxPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickGroupBox);
- QQuickFramePrivate::itemImplicitWidthChanged(item);
- if (item == label)
- emit q->implicitLabelWidthChanged();
-}
-
-void QQuickGroupBoxPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickGroupBox);
- QQuickFramePrivate::itemImplicitHeightChanged(item);
- if (item == label)
- emit q->implicitLabelHeightChanged();
-}
-
-QQuickGroupBox::QQuickGroupBox(QQuickItem *parent)
- : QQuickFrame(*(new QQuickGroupBoxPrivate), parent)
-{
-}
-
-QQuickGroupBox::~QQuickGroupBox()
-{
- Q_D(QQuickGroupBox);
- d->removeImplicitSizeListener(d->label);
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::GroupBox::title
-
- This property holds the title.
-
- The title is typically displayed above the groupbox to
- summarize its contents.
-*/
-QString QQuickGroupBox::title() const
-{
- Q_D(const QQuickGroupBox);
- return d->title;
-}
-
-void QQuickGroupBox::setTitle(const QString &title)
-{
- Q_D(QQuickGroupBox);
- if (d->title == title)
- return;
-
- d->title = title;
- maybeSetAccessibleName(title);
- emit titleChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::GroupBox::label
-
- This property holds the label item that visualizes \l title.
-
- \sa {Customizing GroupBox}
-*/
-QQuickItem *QQuickGroupBox::label() const
-{
- QQuickGroupBoxPrivate *d = const_cast<QQuickGroupBoxPrivate *>(d_func());
- if (!d->label)
- d->executeLabel();
- return d->label;
-}
-
-void QQuickGroupBox::setLabel(QQuickItem *label)
-{
- Q_D(QQuickGroupBox);
- if (d->label == label)
- return;
-
- if (!d->label.isExecuting())
- d->cancelLabel();
-
- const qreal oldImplicitLabelWidth = implicitLabelWidth();
- const qreal oldImplicitLabelHeight = implicitLabelHeight();
-
- d->removeImplicitSizeListener(d->label);
- QQuickControlPrivate::hideOldItem(d->label);
- d->label = label;
-
- if (label) {
- if (!label->parentItem())
- label->setParentItem(this);
- d->addImplicitSizeListener(label);
- }
-
- if (!qFuzzyCompare(oldImplicitLabelWidth, implicitLabelWidth()))
- emit implicitLabelWidthChanged();
- if (!qFuzzyCompare(oldImplicitLabelHeight, implicitLabelHeight()))
- emit implicitLabelHeightChanged();
- if (!d->label.isExecuting())
- emit labelChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::GroupBox::implicitLabelWidth
- \readonly
-
- This property holds the implicit label width.
-
- The value is equal to \c {label ? label.implicitWidth : 0}.
-
- \sa implicitLabelHeight
-*/
-qreal QQuickGroupBox::implicitLabelWidth() const
-{
- Q_D(const QQuickGroupBox);
- if (!d->label)
- return 0;
- return d->label->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::GroupBox::implicitLabelHeight
- \readonly
-
- This property holds the implicit label height.
-
- The value is equal to \c {label ? label.implicitHeight : 0}.
-
- \sa implicitLabelWidth
-*/
-qreal QQuickGroupBox::implicitLabelHeight() const
-{
- Q_D(const QQuickGroupBox);
- if (!d->label)
- return 0;
- return d->label->implicitHeight();
-}
-
-void QQuickGroupBox::componentComplete()
-{
- Q_D(QQuickGroupBox);
- d->executeLabel(true);
- QQuickFrame::componentComplete();
-}
-
-QFont QQuickGroupBox::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::GroupBox);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickGroupBox::accessibleRole() const
-{
- return QAccessible::Grouping;
-}
-
-void QQuickGroupBox::accessibilityActiveChanged(bool active)
-{
- Q_D(QQuickGroupBox);
- QQuickFrame::accessibilityActiveChanged(active);
-
- if (active)
- maybeSetAccessibleName(d->title);
-}
-#endif
-
-QT_END_NAMESPACE