5#ifndef QQSTYLEKITGLOBAL_P_H
6#define QQSTYLEKITGLOBAL_P_H
23class QQSK:
public QObject
34 HandleSecond = 0x0010,
36 IndicatorForeground = 0x0040,
37 IndicatorFirst = 0x0080,
38 IndicatorFirstForeground = 0x0100,
39 IndicatorSecond = 0x0200,
40 IndicatorSecondForeground = 0x0400,
44 Q_DECLARE_FLAGS(Delegates, Delegate)
47 enum class PropertyGroup {
60
66
67
68
75 enum class PropertyPathFlag : quint8 {
77 DelegateSubtype0 = 0x1,
78 DelegateSubtype1 = 0x2,
79 DelegateSubtype2 = 0x4,
82 Q_DECLARE_FLAGS(PropertyPathFlags, PropertyPathFlag)
83 Q_FLAG(PropertyPathFlag)
134 enum class StateFlag {
146 Q_DECLARE_FLAGS(State, StateFlag)
149 enum class Subclass {
156 template <
typename T,
typename Owner,
typename... Args>
157 static inline T *lazyCreate(T *
const &ptr,
const Owner *self, Args&&... args)
160 auto *mutableSelf =
const_cast<Owner *>(self);
161 auto *&mutablePtr =
const_cast<T *&>(ptr);
162 mutablePtr =
new T(std::forward<Args>(args)..., mutableSelf);
168Q_DECLARE_OPERATORS_FOR_FLAGS(QQSK::State)
169Q_DECLARE_OPERATORS_FOR_FLAGS(QQSK::Delegates)
170Q_DECLARE_OPERATORS_FOR_FLAGS(QQSK::PropertyPathFlags)
QQStyleKitDelegateProperties * delegateStyle() const
~QQStyleKitDelegateContainer() override
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 geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) override
void setDelegateStyle(QQStyleKitDelegateProperties *delegateProperties)
QQuickItem * delegateInstance() const
QQStyleKitDelegateProperties * first() const
void forEachExistingNestedGroup(const std::function< void(QQStyleKitPropertyGroup *)> &f) const override
QQStyleKitDelegateProperties * second() const
QQStyleKitDelegateProperties * foreground() const
void emitGlobally(QQStyleKitExtendableControlType controlType, CHANGED_SIGNALS... changedSignals) const
void forEachExistingNestedGroup(const std::function< void(QQStyleKitPropertyGroup *)> &f) const override
void emitGlobally(QQStyleKitExtendableControlType controlType, CHANGED_SIGNALS... changedSignals) const
void forEachExistingNestedGroup(const std::function< void(QQStyleKitPropertyGroup *)> &f) const override
QQStyleKitDelegateProperties * foreground() const
QQStyleKitIndicatorProperties * down() const
QQStyleKitIndicatorProperties * up() const
QQStyleKitIndicatorProperties * second() const
QQStyleKitIndicatorProperties * first() 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
virtual void forEachExistingNestedGroup(const std::function< void(QQStyleKitPropertyGroup *)> &f) const
void handleStylePropertiesChanged(CHANGED_SIGNALS... changedSignals)
bool isDefined(QQSK::Property property) const
QQStyleKitControlProperties * controlProperties() const
bool isControlProperties() const
QQStyleKitPropertyGroupSpace groupSpace() const
PropertyPathId pathId() const
static QQSK::PropertyGroup extractSubtype(PropertyPathId pathId)
static QQSK::State extractState(PropertyStorageId storageId)
static QString pathIdToPathString(PropertyPathId pathId)
static QString storageIdToPathString(PropertyStorageId storageId)
static PropertyPathId extractPropertyPathId(PropertyStorageId storageId, QQStyleKitPropertyPath::Flag flag=QQStyleKitPropertyPath::Flag::IncludeSubtype)
PropertyStorageId createStorageId(QQSK::State state) const
QQSK::PropertyGroup subType() const
QQSK::Property property() const
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)
void forEachExistingNestedGroup(const std::function< void(QQStyleKitPropertyGroup *)> &f) const override
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
QQStyleKitTextProperties * first() const
void rightPaddingChanged()
QQStyleKitTextProperties * second() const
void leftPaddingChanged()
qreal leftPadding() const
Combined button and popup list for selecting options.
constexpr PropertyPathId subtypeStorageSpaceSize
constexpr PropertyPathId stateStorageSpaceSize
constexpr PropertyPathId maxPropertyStorageSpaceSize
constexpr PropertyPathId nestedGroupCount
constexpr PropertyPathId maxStateCombinationCount
constexpr PropertyPathId nestedGroupsStartSize
constexpr PropertyPathId subtypeCount