From a0cfebf10db4a8fb9f9c13ed9fe1146d79ed025a Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Thu, 1 Oct 2020 14:16:21 +0300 Subject: [PATCH] Save option Full Circumference. --- src/app/tape/dialogs/dialogsetupmultisize.cpp | 6 ++++ src/app/tape/dialogs/dialogsetupmultisize.h | 2 ++ src/app/tape/tmainwindow.cpp | 1 + .../schema/standard_measurements/v0.5.0.xsd | 1 + src/libs/vformat/vmeasurements.cpp | 31 +++++++++++++++++++ src/libs/vformat/vmeasurements.h | 4 +++ 6 files changed, 45 insertions(+) diff --git a/src/app/tape/dialogs/dialogsetupmultisize.cpp b/src/app/tape/dialogs/dialogsetupmultisize.cpp index 16db93d50..4d22fcf7e 100644 --- a/src/app/tape/dialogs/dialogsetupmultisize.cpp +++ b/src/app/tape/dialogs/dialogsetupmultisize.cpp @@ -197,6 +197,12 @@ QVector DialogSetupMultisize::Dimensions() const return dimensions; } +//--------------------------------------------------------------------------------------------------------------------- +bool DialogSetupMultisize::FullCircumference() const +{ + return ui->checkBoxFullCircumference->isChecked(); +} + //--------------------------------------------------------------------------------------------------------------------- void DialogSetupMultisize::changeEvent(QEvent *event) { diff --git a/src/app/tape/dialogs/dialogsetupmultisize.h b/src/app/tape/dialogs/dialogsetupmultisize.h index 38bf76735..9751f5587 100644 --- a/src/app/tape/dialogs/dialogsetupmultisize.h +++ b/src/app/tape/dialogs/dialogsetupmultisize.h @@ -50,6 +50,8 @@ public: QVector Dimensions() const; + bool FullCircumference() const; + protected: virtual void changeEvent(QEvent* event) override; virtual void showEvent(QShowEvent *event) override; diff --git a/src/app/tape/tmainwindow.cpp b/src/app/tape/tmainwindow.cpp index 8b8fd2c1e..05d5726cc 100644 --- a/src/app/tape/tmainwindow.cpp +++ b/src/app/tape/tmainwindow.cpp @@ -381,6 +381,7 @@ void TMainWindow::FileNew() data = new VContainer(qApp->TrVars(), &mUnit, VContainer::UniqueNamespace()); m = new VMeasurements(mUnit, setup.Dimensions(), data); + m->SetFullCircumference(setup.FullCircumference()); m_curFileFormatVersion = VVSTConverter::MeasurementMaxVer; m_curFileFormatVersionStr = VVSTConverter::MeasurementMaxVerStr; } diff --git a/src/libs/ifc/schema/standard_measurements/v0.5.0.xsd b/src/libs/ifc/schema/standard_measurements/v0.5.0.xsd index 00a520ec5..c7981e296 100644 --- a/src/libs/ifc/schema/standard_measurements/v0.5.0.xsd +++ b/src/libs/ifc/schema/standard_measurements/v0.5.0.xsd @@ -22,6 +22,7 @@ + diff --git a/src/libs/vformat/vmeasurements.cpp b/src/libs/vformat/vmeasurements.cpp index b566c2685..17eccc695 100644 --- a/src/libs/vformat/vmeasurements.cpp +++ b/src/libs/vformat/vmeasurements.cpp @@ -83,6 +83,7 @@ const QString VMeasurements::AttrMin = QStringLiteral("min"); const QString VMeasurements::AttrMax = QStringLiteral("max"); const QString VMeasurements::AttrStep = QStringLiteral("step"); const QString VMeasurements::AttrCircumference = QStringLiteral("circumference"); +const QString VMeasurements::AttrFullCircumference = QStringLiteral("fullCircumference"); const QString VMeasurements::GenderMale = QStringLiteral("male"); const QString VMeasurements::GenderFemale = QStringLiteral("female"); @@ -509,6 +510,36 @@ void VMeasurements::SetReadOnly(bool ro) setTagText(TagReadOnly, ro ? trueStr : falseStr); } +//--------------------------------------------------------------------------------------------------------------------- +bool VMeasurements::IsFullCircumference() const +{ + QDomElement dimenstionsTag = firstChildElement(TagDimensions); + if (not dimenstionsTag.isNull()) + { + return GetParametrBool(dimenstionsTag, AttrFullCircumference, falseStr); + } + else + { + qDebug()<<"Can't read full circumference "<