From 4c913f485d35f272fc6996aa64014f728a80b74b Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 4 Sep 2014 16:42:16 +0300 Subject: [PATCH] RegExp for validation label name. --HG-- branch : feature --- src/app/dialogs/app/dialogincrements.cpp | 4 +--- src/app/options.cpp | 3 +++ src/app/options.h | 2 ++ src/app/tools/vabstracttool.cpp | 4 +--- src/app/widgets/vmaingraphicsview.h | 2 ++ src/app/widgets/vtooloptionspropertybrowser.cpp | 3 ++- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/app/dialogs/app/dialogincrements.cpp b/src/app/dialogs/app/dialogincrements.cpp index d2fd0853f..e40893726 100644 --- a/src/app/dialogs/app/dialogincrements.cpp +++ b/src/app/dialogs/app/dialogincrements.cpp @@ -69,9 +69,7 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par } } - //Same regex in pattern.xsd shema file. Don't forget synchronize. - TextDelegate *textDelegate = new TextDelegate("^([^0-9-*/^+=\\s\\(\\)%:;!.,]){1,1}([^-*/^+=\\s\\(\\)%:;!.,]){0,}$", - data, ui->tableWidgetIncrement); + TextDelegate *textDelegate = new TextDelegate(nameRegExp, data, ui->tableWidgetIncrement); ui->tableWidgetIncrement->setItemDelegateForColumn(0, textDelegate);// name DoubleSpinBoxDelegate *doubleDelegate = new DoubleSpinBoxDelegate(ui->tableWidgetIncrement); ui->tableWidgetIncrement->setItemDelegateForColumn(2, doubleDelegate);// base value diff --git a/src/app/options.cpp b/src/app/options.cpp index 5e2f5139c..58b9da8da 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -29,6 +29,9 @@ #include "options.h" #include +//Same regexp in pattern.xsd shema file. Don't forget synchronize. +const QString nameRegExp = QStringLiteral("^([^0-9-*/^+=\\s\\(\\)%:;!.,]){1,1}([^-*/^+=\\s\\(\\)%:;!.,]){0,}$"); + // Keep synchronize all names with initialization in VApllication class. //measurements const QString headGirth_M = QStringLiteral("head_girth"); diff --git a/src/app/options.h b/src/app/options.h index 601214707..b12d19129 100644 --- a/src/app/options.h +++ b/src/app/options.h @@ -43,6 +43,8 @@ static const quint32 null_id = 0; #define DefPointRadius 2.0//mm #define NULL_ID null_id//use this value for initialization variables that keeps id values. 0 mean uknown id value. +extern const QString nameRegExp; + enum class SceneObject : char { Point, Line, Spline, Arc, SplinePath, Detail, Unknown }; enum class Tool : unsigned char { diff --git a/src/app/tools/vabstracttool.cpp b/src/app/tools/vabstracttool.cpp index 90a6e66d1..3147abb45 100644 --- a/src/app/tools/vabstracttool.cpp +++ b/src/app/tools/vabstracttool.cpp @@ -95,9 +95,7 @@ VAbstractTool::VAbstractTool(VPattern *doc, VContainer *data, quint32 id, QObjec //--------------------------------------------------------------------------------------------------------------------- VAbstractTool::~VAbstractTool() -{ - delete vis; -} +{} //--------------------------------------------------------------------------------------------------------------------- /** diff --git a/src/app/widgets/vmaingraphicsview.h b/src/app/widgets/vmaingraphicsview.h index abec4a09e..810b83427 100644 --- a/src/app/widgets/vmaingraphicsview.h +++ b/src/app/widgets/vmaingraphicsview.h @@ -84,6 +84,7 @@ private: bool eventFilter(QObject* object, QEvent* event); private: + Q_DISABLE_COPY(GraphicsViewZoom) /** @brief _numScheduledScalings keep number scheduled scalings. */ qint32 _numScheduledScalings; }; @@ -121,6 +122,7 @@ protected: void mousePressEvent(QMouseEvent *mousePress); void mouseReleaseEvent(QMouseEvent *event); private: + Q_DISABLE_COPY(VMainGraphicsView) GraphicsViewZoom* zoom; bool showToolOptions; }; diff --git a/src/app/widgets/vtooloptionspropertybrowser.cpp b/src/app/widgets/vtooloptionspropertybrowser.cpp index d224da1b3..e55e5bd51 100644 --- a/src/app/widgets/vtooloptionspropertybrowser.cpp +++ b/src/app/widgets/vtooloptionspropertybrowser.cpp @@ -369,7 +369,8 @@ void VToolOptionsPropertyBrowser::SetPointName(const QString &name) return; } - if (name.isEmpty() || VContainer::IsUnique(name) == false) + QRegExp rx(nameRegExp); + if (name.isEmpty() || VContainer::IsUnique(name) == false || rx.exactMatch(name) == false) { idToProperty[VAbstractTool::AttrName]->setValue(i->name()); }