summaryrefslogtreecommitdiffstats
path: root/examples/widgets/tools/settingseditor/variantdelegate.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets/tools/settingseditor/variantdelegate.h')
-rw-r--r--examples/widgets/tools/settingseditor/variantdelegate.h37
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