32 Q_PROPERTY(QQuickColorGroup *active READ active WRITE setActive RESET resetActive NOTIFY activeChanged FINAL)
33 Q_PROPERTY(QQuickColorGroup *inactive READ inactive WRITE setInactive RESET resetInactive NOTIFY inactiveChanged FINAL)
34 Q_PROPERTY(QQuickColorGroup *disabled READ disabled WRITE setDisabled RESET resetDisabled NOTIFY disabledChanged FINAL)
35 QML_NAMED_ELEMENT(Palette)
36 QML_ADDED_IN_VERSION(6, 0)
39 using PalettePtr = QPointer<QQuickPalette>;
42 Q_DISABLE_COPY_MOVE(QQuickPalette)
43 explicit QQuickPalette(QObject *parent =
nullptr);
45 QQuickColorGroup *active()
const;
46 QQuickColorGroup *inactive()
const;
47 QQuickColorGroup *disabled()
const;
52 QPalette::ColorGroup currentColorGroup()
const override;
53 void setCurrentGroup(QPalette::ColorGroup currentGroup);
55 void fromQPalette(QPalette palette);
56 QPalette toQPalette()
const;
58 const QQuickAbstractPaletteProvider *paletteProvider()
const;
59 void setPaletteProvider(
const QQuickAbstractPaletteProvider *paletteProvider);
63 void inheritPalette(
const QPalette &palette);
66 void setActive(QQuickColorGroup *active);
67 void setInactive(QQuickColorGroup *inactive);
68 void setDisabled(QQuickColorGroup *disabled);
72 void inactiveChanged();
73 void disabledChanged();
76 void setColorGroup(QPalette::ColorGroup groupTag,
77 const QQuickColorGroup::GroupPtr &group,
78 void (QQuickPalette::*notifier)());
80 QQuickColorGroup::GroupPtr colorGroup(QPalette::ColorGroup groupTag)
const;
81 QQuickColorGroup::GroupPtr findColorGroup(QPalette::ColorGroup groupTag)
const;
83 void registerColorGroup(QQuickColorGroup *group, QPalette::ColorGroup groupTag);
85 bool isValidColorGroup(QPalette::ColorGroup groupTag,
86 const QQuickColorGroup::GroupPtr &colorGroup)
const;
88 static constexpr QPalette::ColorGroup defaultCurrentGroup() {
return QPalette::Active; }
91 std::array<QQuickColorGroup::GroupPtr, QPalette::NColorGroups> m_colorGroups = {};
92 QPalette::ColorGroup m_currentGroup;