Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqstylekitpalette_p.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QQSTYLEKITPALETTE_P_H
6#define QQSTYLEKITPALETTE_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtQml/QtQml>
20#include <QtQuickTemplates2/private/qquicktheme_p.h>
21#include <QtQuick/private/qquickpalette_p.h>
22
24
26{
27 Q_OBJECT
28 Q_PROPERTY(QQuickPalette *system READ system NOTIFY systemChanged FINAL)
42
44
45public:
47
48 QQuickPalette *system() const;
49 QQuickPalette *checkBox() const;
50 QQuickPalette *button() const;
51 QQuickPalette *comboBox() const;
52 QQuickPalette *groupBox() const;
53 QQuickPalette *itemDelegate() const;
54 QQuickPalette *label() const;
55 QQuickPalette *radioButton() const;
56 QQuickPalette *spinBox() const;
57 QQuickPalette *switchControl() const;
58 QQuickPalette *tabBar() const;
59 QQuickPalette *textArea() const;
60 QQuickPalette *textField() const;
61 QQuickPalette *toolBar() const;
62
65
82
83private:
85 /*
86 The following properties are lazy-created, since it's unlikely that a style
87 sets them all. And since a QQuickPalette is not a QObject, we use std::unique_ptr
88 for memory management. Since each palette is logically independent of this class,
89 we make them mutable so that the getter functions can be const.
90 */
92 mutable std::unique_ptr<QQuickPalette> m_checkBox;
93 mutable std::unique_ptr<QQuickPalette> m_button;
94 mutable std::unique_ptr<QQuickPalette> m_comboBox;
95 mutable std::unique_ptr<QQuickPalette> m_groupBox;
96 mutable std::unique_ptr<QQuickPalette> m_itemDelegate;
97 mutable std::unique_ptr<QQuickPalette> m_label;
98 mutable std::unique_ptr<QQuickPalette> m_radioButton;
99 mutable std::unique_ptr<QQuickPalette> m_spinBox;
100 mutable std::unique_ptr<QQuickPalette> m_switchControl;
101 mutable std::unique_ptr<QQuickPalette> m_tabBar;
102 mutable std::unique_ptr<QQuickPalette> m_textArea;
103 mutable std::unique_ptr<QQuickPalette> m_textField;
104 mutable std::unique_ptr<QQuickPalette> m_toolBar;
105
106 QQStyleKitPalette *m_fallbackPalette = nullptr;
107
108 quint32 m_setMask = 0;
109 bool isSet(QQuickTheme::Scope scope) const { return (m_setMask & (1u << int(scope))) != 0; }
110 void markSet(QQuickTheme::Scope scope) { m_setMask |= (1u << int(scope)); }
111
112 friend class QQStyleKitTheme;
113};
114
115QT_END_NAMESPACE
116
117#endif // QQSTYLEKITPALETTE_P_H
Q_INVOKABLE bool styleLoaded() const
QQStyleKitStyle * style() const
QUrl styleUrl() const
void transitionsEnabledChanged()
void setStyle(QQStyleKitStyle *style)
void setTransitionsEnabled(bool enabled)
QQStyleKitDebug * debug() const
bool transitionsEnabled() const
void setStyleUrl(const QUrl &styleUrl)
void switchDelegateChanged()
void swipeDelegateChanged()
void scrollIndicatorChanged()
void treeViewDelegateChanged()
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void menuSeparatorChanged()
const QList< QObject * > children() const
void verticalHeaderViewDelegateChanged()
void checkDelegateChanged()
void radioDelegateChanged()
void busyIndicatorChanged()
void abstractButtonChanged()
void itemDelegateChanged()
void horizontalHeaderViewDelegateChanged()
void tableViewDelegateChanged()
void classBegin() override
Invoked after class creation, but before any properties have been set.
void dialogButtonBoxChanged()
void switchControlChanged()
QQmlListProperty< QObject > data()
void applicationWindowChanged()
void toolSeparatorChanged()
void pageIndicatorChanged()
QQmlComponent * theme() const
void setName(const QString &newName)
void setTheme(QQmlComponent *newTheme)
void filterChanged()
QString filter() const
void setFilter(const QString &filter)
void setControl(QQuickItem *item)
static Q_INVOKABLE bool insideControl(const QObject *child)
void switchControlChanged()
QQuickPalette * groupBox() const
QQuickPalette * checkBox() const
QQuickPalette * toolBar() const
QQuickPalette * textField() const
QQuickPalette * spinBox() const
QQuickPalette * system() const
QQuickPalette * switchControl() const
void itemDelegateChanged()
QQuickPalette * comboBox() const
QQuickPalette * itemDelegate() const
QQuickPalette * button() const
QQuickPalette * radioButton() const
QQStyleKitPalette * fallbackPalette() const
void radioButtonChanged()
QQuickPalette * textArea() const
void fallbackPaletteChanged()
QQuickPalette * tabBar() const
void setFallbackPalette(QQStyleKitPalette *fallback)
QQuickPalette * label() const
QQStyleKitPalette * palettes()
QQStyleKitFont * fonts()
QList< QQStyleKitVariation * > m_styleVariations
static QQStyleKitAttached * qmlAttachedProperties(QObject *obj=nullptr)
Combined button and popup list for selecting options.
#define IMPLEMENT_ACCESSORS(NAME, TYPE)