Qt 6.x
The Qt SDK
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 <array>
20
22
24
25class Q_QUICK_PRIVATE_EXPORT QQuickPalette : public QQuickColorGroup
26{
28
29 Q_PROPERTY(QQuickColorGroup *active READ active WRITE setActive RESET resetActive NOTIFY activeChanged FINAL)
30 Q_PROPERTY(QQuickColorGroup *inactive READ inactive WRITE setInactive RESET resetInactive NOTIFY inactiveChanged FINAL)
31 Q_PROPERTY(QQuickColorGroup *disabled READ disabled WRITE setDisabled RESET resetDisabled NOTIFY disabledChanged FINAL)
32 QML_NAMED_ELEMENT(Palette)
34
35public: // Types
37
38public:
39 Q_DISABLE_COPY_MOVE(QQuickPalette)
40 explicit QQuickPalette(QObject *parent = nullptr);
41
42 QQuickColorGroup *active() const;
43 QQuickColorGroup *inactive() const;
45 void resetActive();
46 void resetInactive();
47 void resetDisabled();
48
50 void setCurrentGroup(QPalette::ColorGroup currentGroup);
51
52 void fromQPalette(QPalette palette);
53 QPalette toQPalette() const;
54
55 const QQuickAbstractPaletteProvider *paletteProvider() const;
56 void setPaletteProvider(const QQuickAbstractPaletteProvider *paletteProvider);
57
58 void reset();
59
60 void inheritPalette(const QPalette &palette);
61
62public Q_SLOTS:
63 void setActive(QQuickColorGroup *active);
64 void setInactive(QQuickColorGroup *inactive);
65 void setDisabled(QQuickColorGroup *disabled);
66
71
72private:
73 void setColorGroup(QPalette::ColorGroup groupTag,
75 void (QQuickPalette::*notifier)());
76
77 QQuickColorGroup::GroupPtr colorGroup(QPalette::ColorGroup groupTag) const;
78 QQuickColorGroup::GroupPtr findColorGroup(QPalette::ColorGroup groupTag) const;
79
80 void registerColorGroup(QQuickColorGroup *group, QPalette::ColorGroup groupTag);
81
82 bool isValidColorGroup(QPalette::ColorGroup groupTag,
83 const QQuickColorGroup::GroupPtr &colorGroup) const;
84
85 static constexpr QPalette::ColorGroup defaultCurrentGroup() { return QPalette::Active; }
86
87private:
88 std::array<QQuickColorGroup::GroupPtr, QPalette::NColorGroups> m_colorGroups = {};
89 QPalette::ColorGroup m_currentGroup;
90};
91
93
95
96#endif // QQUICKPALETTE_H
DarwinBluetooth::LECBManagerNotifier * notifier
\inmodule QtCore
Definition qobject.h:90
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:48
\inmodule QtCore
Definition qpointer.h:18
virtual QPalette::ColorGroup currentColorGroup() const
Contains color groups for each QML item state. \inmodule QtQuick.
void activeChanged()
void disabledChanged()
void inactiveChanged()
Combined button and popup list for selecting options.
GLboolean GLuint group
GLboolean reset
#define QML_DECLARE_TYPE(TYPE)
Definition qqml.h:19
#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
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent