Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickpalette_p.h
Go to the documentation of this file.
1// Copyright (C) 2020 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#ifndef QQUICKPALETTE_H
4#define QQUICKPALETTE_H
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the Qt API. It exists for the convenience
11// of QQuickPalette. This header file may change from version to
12// version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <QtQuick/private/qquickcolorgroup_p.h>
18
19#include <QtCore/qpointer.h>
20
21#include <array>
22
24
26
27class Q_QUICK_EXPORT QQuickPalette : public QQuickColorGroup
28{
30
31 Q_PROPERTY(QQuickColorGroup *active READ active WRITE setActive RESET resetActive NOTIFY activeChanged FINAL)
32 Q_PROPERTY(QQuickColorGroup *inactive READ inactive WRITE setInactive RESET resetInactive NOTIFY inactiveChanged FINAL)
33 Q_PROPERTY(QQuickColorGroup *disabled READ disabled WRITE setDisabled RESET resetDisabled NOTIFY disabledChanged FINAL)
34 QML_NAMED_ELEMENT(Palette)
36
37public: // Types
39
40public:
41 Q_DISABLE_COPY_MOVE(QQuickPalette)
42 explicit QQuickPalette(QObject *parent = nullptr);
43
44 QQuickColorGroup *active() const;
45 QQuickColorGroup *inactive() const;
47 void resetActive();
48 void resetInactive();
49 void resetDisabled();
50
51 QPalette::ColorGroup currentColorGroup() const override;
52 void setCurrentGroup(QPalette::ColorGroup currentGroup);
53
54 void fromQPalette(QPalette palette);
55 QPalette toQPalette() const;
56
57 const QQuickAbstractPaletteProvider *paletteProvider() const;
58 void setPaletteProvider(const QQuickAbstractPaletteProvider *paletteProvider);
59
60 void reset();
61
62 void inheritPalette(const QPalette &palette);
63
64public Q_SLOTS:
65 void setActive(QQuickColorGroup *active);
66 void setInactive(QQuickColorGroup *inactive);
67 void setDisabled(QQuickColorGroup *disabled);
68
70 void activeChanged();
71 void inactiveChanged();
72 void disabledChanged();
73
75 void setColorGroup(QPalette::ColorGroup groupTag,
77 void (QQuickPalette::*notifier)());
78
79 QQuickColorGroup::GroupPtr colorGroup(QPalette::ColorGroup groupTag) const;
80 QQuickColorGroup::GroupPtr findColorGroup(QPalette::ColorGroup groupTag) const;
81
82 void registerColorGroup(QQuickColorGroup *group, QPalette::ColorGroup groupTag);
83
84 bool isValidColorGroup(QPalette::ColorGroup groupTag,
85 const QQuickColorGroup::GroupPtr &colorGroup) const;
86
87 static constexpr QPalette::ColorGroup defaultCurrentGroup() { return QPalette::Active; }
88
89private:
90 std::array<QQuickColorGroup::GroupPtr, QPalette::NColorGroups> m_colorGroups = {};
91 QPalette::ColorGroup m_currentGroup;
92};
93
95
96#endif // QQUICKPALETTE_H
DarwinBluetooth::LECBManagerNotifier * notifier
\inmodule QtCore
Definition qobject.h:103
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
ColorGroup
\value Disabled \value Active \value Inactive \value Normal synonym for Active
Definition qpalette.h:49
Contains color groups for each QML item state. \inmodule QtQuick.
Combined button and popup list for selecting options.
GLboolean GLuint group
GLboolean reset
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_SLOTS
#define Q_SIGNALS
#define disabled
#define explicit