diff options
Diffstat (limited to 'src/templates/qquicklabel.cpp')
-rw-r--r-- | src/templates/qquicklabel.cpp | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/src/templates/qquicklabel.cpp b/src/templates/qquicklabel.cpp deleted file mode 100644 index 4eec06b3..00000000 --- a/src/templates/qquicklabel.cpp +++ /dev/null @@ -1,240 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Labs Templates 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 "qquicklabel_p.h" -#include "qquicklabel_p_p.h" -#include "qquickcontrol_p.h" -#include "qquickcontrol_p_p.h" - -#include <QtQuick/private/qquickitem_p.h> -#include <QtQuick/private/qquicktext_p.h> -#include <QtQuick/private/qquickclipnode_p.h> - -#ifndef QT_NO_ACCESSIBILITY -#include <QtQuick/private/qquickaccessibleattached_p.h> -#endif - -QT_BEGIN_NAMESPACE - -/*! - \qmltype Label - \inherits Text - \instantiates QQuickLabel - \inqmlmodule Qt.labs.controls - \ingroup text - \brief A text label. - - Label extends \l Text with styling and \l {Control::font}{font} - inheritance. The default colors and font are style specific. Label - can also have a visual \l background item. - - \image qtlabscontrols-label.png - - \snippet qtlabscontrols-label.qml 1 - - \labs - - \sa {Customizing Label} -*/ - -QQuickLabel::QQuickLabel(QQuickItem *parent) : - QQuickText(*(new QQuickLabelPrivate), parent) -{ - Q_D(QQuickLabel); - QObjectPrivate::connect(this, &QQuickText::textChanged, - d, &QQuickLabelPrivate::_q_textChanged); -} - -QQuickLabel::~QQuickLabel() -{ -} - -QQuickLabelPrivate::QQuickLabelPrivate() - : background(Q_NULLPTR), accessibleAttached(Q_NULLPTR) -{ -#ifndef QT_NO_ACCESSIBILITY - QAccessible::installActivationObserver(this); -#endif -} - -QQuickLabelPrivate::~QQuickLabelPrivate() -{ -#ifndef QT_NO_ACCESSIBILITY - QAccessible::removeActivationObserver(this); -#endif -} - -/*! - \internal - - Determine which font is implicitly imposed on this control by its ancestors - and QGuiApplication::font, resolve this against its own font (attributes from - the implicit font are copied over). Then propagate this font to this - control's children. -*/ -void QQuickLabelPrivate::resolveFont() -{ - Q_Q(QQuickLabel); - inheritFont(QQuickControlPrivate::naturalControlFont(q)); -} - -void QQuickLabelPrivate::inheritFont(const QFont &f) -{ - Q_Q(QQuickLabel); - QFont parentFont = font.resolve(f); - parentFont.resolve(font.resolve() | f.resolve()); - - const QFont defaultFont = QQuickControlPrivate::themeFont(QPlatformTheme::LabelFont); - const QFont resolvedFont = parentFont.resolve(defaultFont); - - const bool changed = resolvedFont != sourceFont; - q->QQuickText::setFont(resolvedFont); - if (changed) - emit q->fontChanged(); -} - -void QQuickLabelPrivate::_q_textChanged(const QString &text) -{ -#ifndef QT_NO_ACCESSIBILITY - if (accessibleAttached) - accessibleAttached->setName(text); -#else - Q_UNUSED(text) -#endif -} - -#ifndef QT_NO_ACCESSIBILITY -void QQuickLabelPrivate::accessibilityActiveChanged(bool active) -{ - if (accessibleAttached || !active) - return; - - Q_Q(QQuickLabel); - accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true)); - if (accessibleAttached) { - accessibleAttached->setRole(accessibleRole()); - accessibleAttached->setName(text); - } else { - qWarning() << "QQuickLabel: " << q << " QQuickAccessibleAttached object creation failed!"; - } -} - -QAccessible::Role QQuickLabelPrivate::accessibleRole() const -{ - return QAccessible::StaticText; -} -#endif - -QFont QQuickLabel::font() const -{ - return QQuickText::font(); -} - -void QQuickLabel::setFont(const QFont &font) -{ - Q_D(QQuickLabel); - if (d->font.resolve() == font.resolve() && d->font == font) - return; - - d->font = font; - d->resolveFont(); -} - -/*! - \qmlproperty Item Qt.labs.controls::Label::background - - This property holds the background item. - - \note If the background item has no explicit size specified, it automatically - follows the control's size. In most cases, there is no need to specify - width or height for a background item. - - \sa {Customizing Label} -*/ -QQuickItem *QQuickLabel::background() const -{ - Q_D(const QQuickLabel); - return d->background; -} - -void QQuickLabel::setBackground(QQuickItem *background) -{ - Q_D(QQuickLabel); - if (d->background != background) { - delete d->background; - d->background = background; - if (background) { - background->setParentItem(this); - if (qFuzzyIsNull(background->z())) - background->setZ(-1); - } - emit backgroundChanged(); - } -} - -void QQuickLabel::classBegin() -{ - Q_D(QQuickLabel); - QQuickText::classBegin(); - d->resolveFont(); -} - -void QQuickLabel::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value) -{ - Q_D(QQuickLabel); - QQuickText::itemChange(change, value); - if (change == ItemParentHasChanged && value.item) - d->resolveFont(); -} - -void QQuickLabel::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) -{ - Q_D(QQuickLabel); - QQuickText::geometryChanged(newGeometry, oldGeometry); - if (d->background) { - QQuickItemPrivate *p = QQuickItemPrivate::get(d->background); - if (!p->widthValid) { - d->background->setWidth(newGeometry.width()); - p->widthValid = false; - } - if (!p->heightValid) { - d->background->setHeight(newGeometry.height()); - p->heightValid = false; - } - } -} - -QT_END_NAMESPACE |