5#ifndef QQSTYLEKITPROPERTYRESOLVER_P_H
6#define QQSTYLEKITPROPERTYRESOLVER_P_H
29class QQStyleKitReader;
36using AttachedVariationList = QVarLengthArray<
const QQStyleKitVariationAttached *, 20>;
57 const QQSK::Property property,
62 const QQSK::Property property,
63 const QVariant &value);
67 const QQSK::Property property);
70 QQStyleKitExtendableControlType exactType);
73 static bool s_styleWarningsIssued;
74 static bool s_isReadingProperty;
75 static QQSK::State s_cachedState;
76 static QVarLengthArray<QQSK::StateFlag, 10> s_cachedStateList;
80 static QVariant readPropertyInStorageForState(
82 const T *storageProvider, QQSK::State state);
84 template <
class INDICES_CONTAINER>
85 static QVariant readPropertyInControlForStates(
88 int startIndex,
int recursionLevel);
90 static QVariant readPropertyInControl(
93 static QVariant readPropertyInRelevantControls(
95 const QQStyleKitExtendableControlType exactType,
96 const QList<QQStyleKitExtendableControlType> baseTypes);
98 static QVariant readPropertyInVariations(
99 const QList<QPointer<QQStyleKitVariation>> &variations,
101 const PropertyPathIds &ids,
102 const QQStyleKitExtendableControlType exactType,
103 const QList<QQStyleKitExtendableControlType> baseTypes);
105 static QVariant readPropertyInStyle(
106 QQStyleKitStyle *style,
107 const PropertyPathIds &ids,
108 QQStyleKitReader *styleReader);
110 static void cacheReaderState(QQSK::State state);
112 static inline void addVariationToReader(
113 QQStyleKitReader *styleReader,
117 static void addInstanceVariationsToReader(
118 QQStyleKitReader *styleReader,
120 const AttachedVariationList &attachedVariations);
122 static void addTypeVariationsToReader(
123 QQStyleKitReader *styleReader,
125 const AttachedVariationList &attachedVariations);
127 static void rebuildVariationsForReader(QQStyleKitReader *styleReader, QQStyleKitStyle *style);
QQSK::Property property() const
PropertyStorageId storageId(QQSK::State state) const
PropertyPathId_t pathId() const
QQStyleKitDelegateProperties * delegateStyle() const
~QQStyleKitDelegateContainer() override
bool usingDefaultDelegate() const
void usingDefaultDelegateChanged()
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
QObject * quickControl() const
void setQuickControl(QObject *control)
void quickControlChanged()
void delegateInstanceChanged()
void setDelegateStyle(QQStyleKitDelegateProperties *delegateProperties)
QQuickItem * delegateInstance() const
QQStyleKitDelegateProperties * first() const
QQStyleKitDelegateProperties * second() const
QQStyleKitDelegateProperties * foreground() const
void emitGlobally(QQStyleKitExtendableControlType controlType, CHANGED_SIGNALS... changedSignals) const
void emitGlobally(QQStyleKitExtendableControlType controlType, CHANGED_SIGNALS... changedSignals) const
QQStyleKitDelegateProperties * foreground() const
QQStyleKitIndicatorProperties * down() const
QQStyleKitIndicatorProperties * up() const
bool setStyleProperty(QQSK::Property property, T value)
QQStyleKitPropertyGroupSpace m_groupSpace
void emitChangedForAllStylePropertiesRecursive(EmitFlags emitFlags)
T styleProperty(QQSK::Property property, const T &defaultValue) const
T styleProperty(QQSK::Property property, QQSK::Property alternative=QQSK::Property::NoProperty) const
T * lazyCreateGroup(T *const &ptr, QQSK::PropertyGroup group) const
QQSK::PropertyPathFlags pathFlags() const
void handleStylePropertyChanged(void(SUBCLASS::*changedSignal)())
QQSK::PropertyPathFlags m_pathFlags
PropertyPathId propertyPathId(QQSK::Property property, PropertyPathId::Flag flag) const
void handleStylePropertiesChanged(CHANGED_SIGNALS... changedSignals)
bool isDefined(QQSK::Property property) const
QQStyleKitControlProperties * controlProperties() const
QString pathToString() const
bool isControlProperties() const
static QVariant readStyleProperty(const QQStyleKitPropertyGroup *group, const QQSK::Property property, const QQSK::Property alternative=QQSK::Property::NoProperty)
static bool hasLocalStyleProperty(const QQStyleKitPropertyGroup *group, const QQSK::Property property)
static const QList< QQStyleKitExtendableControlType > baseTypesForType(QQStyleKitExtendableControlType exactType)
static bool writeStyleProperty(const QQStyleKitPropertyGroup *group, const QQSK::Property property, const QVariant &value)
void setRightPadding(qreal rightPadding)
void setBottomPadding(qreal bottomPadding)
void setTopPadding(qreal topPadding)
void setLeftPadding(qreal leftPadding)
void setPadding(qreal padding)
qreal rightPadding() const
void setItalic(bool italic)
void setAlignment(Qt::Alignment alignment)
qreal bottomPadding() const
void setPointSize(qreal pointSize)
void setColor(const QColor &color)
void bottomPaddingChanged()
Qt::Alignment alignment() const
void emitGlobally(QQStyleKitExtendableControlType controlType, CHANGED_SIGNALS... changedSignals) const
void rightPaddingChanged()
void leftPaddingChanged()
qreal leftPadding() const
Combined button and popup list for selecting options.
constexpr PropertyPathId_t nestedGroupCount
constexpr PropertyPathId_t nestedGroupsStartSize
constexpr PropertyPathId_t maxStateCombinationCount
constexpr PropertyPathId_t subtypeStorageSpaceSize
constexpr PropertyPathId_t stateStorageSpaceSize
constexpr PropertyPathId_t subtypeCount
constexpr PropertyPathId_t maxPropertyStorageSpaceSize