diff options
Diffstat (limited to 'examples/widgets/tools/settingseditor/variantdelegate.h')
-rw-r--r-- | examples/widgets/tools/settingseditor/variantdelegate.h | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/examples/widgets/tools/settingseditor/variantdelegate.h b/examples/widgets/tools/settingseditor/variantdelegate.h index 96e44fd181..9d46aa77a5 100644 --- a/examples/widgets/tools/settingseditor/variantdelegate.h +++ b/examples/widgets/tools/settingseditor/variantdelegate.h @@ -53,13 +53,34 @@ #include <QStyledItemDelegate> #include <QRegularExpression> +#include <QSharedPointer> + +struct TypeChecker +{ + TypeChecker(); + + QRegularExpression boolExp; + QRegularExpression byteArrayExp; + QRegularExpression charExp; + QRegularExpression colorExp; + QRegularExpression dateExp; + QRegularExpression dateTimeExp; + QRegularExpression doubleExp; + QRegularExpression pointExp; + QRegularExpression rectExp; + QRegularExpression signedIntegerExp; + QRegularExpression sizeExp; + QRegularExpression timeExp; + QRegularExpression unsignedIntegerExp; +}; class VariantDelegate : public QStyledItemDelegate { Q_OBJECT public: - VariantDelegate(QObject *parent = nullptr); + explicit VariantDelegate(const QSharedPointer<TypeChecker> &typeChecker, + QObject *parent = nullptr); void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; @@ -73,19 +94,7 @@ public: static QString displayText(const QVariant &value); private: - mutable QRegularExpression boolExp; - mutable QRegularExpression byteArrayExp; - mutable QRegularExpression charExp; - mutable QRegularExpression colorExp; - mutable QRegularExpression dateExp; - mutable QRegularExpression dateTimeExp; - mutable QRegularExpression doubleExp; - mutable QRegularExpression pointExp; - mutable QRegularExpression rectExp; - mutable QRegularExpression signedIntegerExp; - mutable QRegularExpression sizeExp; - mutable QRegularExpression timeExp; - mutable QRegularExpression unsignedIntegerExp; + QSharedPointer<TypeChecker> m_typeChecker; }; #endif |