Fixed issue #885. Regression. Broken support for multi size measurements.
(grafted from 1a0becf32c00518f126cd0e7325c0eb2bbdcc18e) --HG-- branch : develop
This commit is contained in:
parent
409f34d205
commit
db478562ee
|
@ -1,3 +1,6 @@
|
||||||
|
# Version 0.6.1 (unreleased)
|
||||||
|
- [#885] Regression. Broken support for multi size measurements.
|
||||||
|
|
||||||
# Version 0.6.0 October 1, 2018
|
# Version 0.6.0 October 1, 2018
|
||||||
- [#682] New feature. Export increments to Excel .csv.
|
- [#682] New feature. Export increments to Excel .csv.
|
||||||
- [#681] Enhance feature: Dashed line options for curves, arcs, etc.
|
- [#681] Enhance feature: Dashed line options for curves, arcs, etc.
|
||||||
|
|
|
@ -2429,7 +2429,7 @@ void TMainWindow::RefreshData(bool freshCall)
|
||||||
{
|
{
|
||||||
data->ClearUniqueNames();
|
data->ClearUniqueNames();
|
||||||
data->ClearVariables(VarType::Measurement);
|
data->ClearVariables(VarType::Measurement);
|
||||||
m->ReadMeasurements();
|
m->ReadMeasurements(currentHeight, currentSize);
|
||||||
|
|
||||||
RefreshTable(freshCall);
|
RefreshTable(freshCall);
|
||||||
}
|
}
|
||||||
|
|
|
@ -420,6 +420,9 @@ bool MainWindow::LoadMeasurements(const QString &path)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const qreal size = UnitConvertor(m->BaseSize(), m->MUnit(), *m->GetData()->GetPatternUnit());
|
||||||
|
const qreal height = UnitConvertor(m->BaseHeight(), m->MUnit(), *m->GetData()->GetPatternUnit());
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
qApp->setPatternType(m->Type());
|
qApp->setPatternType(m->Type());
|
||||||
|
@ -429,7 +432,7 @@ bool MainWindow::LoadMeasurements(const QString &path)
|
||||||
}
|
}
|
||||||
ToolBarOption();
|
ToolBarOption();
|
||||||
pattern->ClearVariables(VarType::Measurement);
|
pattern->ClearVariables(VarType::Measurement);
|
||||||
m->ReadMeasurements();
|
m->ReadMeasurements(height, size);
|
||||||
}
|
}
|
||||||
catch (VExceptionEmptyParameter &e)
|
catch (VExceptionEmptyParameter &e)
|
||||||
{
|
{
|
||||||
|
@ -444,8 +447,8 @@ bool MainWindow::LoadMeasurements(const QString &path)
|
||||||
|
|
||||||
if (m->Type() == MeasurementsType::Multisize)
|
if (m->Type() == MeasurementsType::Multisize)
|
||||||
{
|
{
|
||||||
pattern->SetSize(UnitConvertor(m->BaseSize(), m->MUnit(), *m->GetData()->GetPatternUnit()));
|
pattern->SetSize(size);
|
||||||
pattern->SetHeight(UnitConvertor(m->BaseHeight(), m->MUnit(), *m->GetData()->GetPatternUnit()));
|
pattern->SetHeight(height);
|
||||||
|
|
||||||
doc->SetPatternWasChanged(true);
|
doc->SetPatternWasChanged(true);
|
||||||
emit doc->UpdatePatternLabel();
|
emit doc->UpdatePatternLabel();
|
||||||
|
@ -481,7 +484,7 @@ bool MainWindow::UpdateMeasurements(const QString &path, int size, int height)
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pattern->ClearVariables(VarType::Measurement);
|
pattern->ClearVariables(VarType::Measurement);
|
||||||
m->ReadMeasurements();
|
m->ReadMeasurements(height, size);
|
||||||
if (m->Type() == MeasurementsType::Individual)
|
if (m->Type() == MeasurementsType::Individual)
|
||||||
{
|
{
|
||||||
qApp->SetCustomerName(m->Customer());
|
qApp->SetCustomerName(m->Customer());
|
||||||
|
|
|
@ -250,7 +250,7 @@ void VMeasurements::MoveBottom(const QString &name)
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VMeasurements::ReadMeasurements() const
|
void VMeasurements::ReadMeasurements(qreal height, qreal size) const
|
||||||
{
|
{
|
||||||
// For conversion values we must first calculate all data in measurement file's unit.
|
// For conversion values we must first calculate all data in measurement file's unit.
|
||||||
// That's why we need two containers: one for converted values, second for real data.
|
// That's why we need two containers: one for converted values, second for real data.
|
||||||
|
@ -278,6 +278,8 @@ void VMeasurements::ReadMeasurements() const
|
||||||
|
|
||||||
tempMeash = QSharedPointer<VMeasurement>(new VMeasurement(static_cast<quint32>(i), name, BaseSize(),
|
tempMeash = QSharedPointer<VMeasurement>(new VMeasurement(static_cast<quint32>(i), name, BaseSize(),
|
||||||
BaseHeight(), base, ksize, kheight));
|
BaseHeight(), base, ksize, kheight));
|
||||||
|
tempMeash->SetSize(size);
|
||||||
|
tempMeash->SetHeight(height);
|
||||||
tempMeash->SetUnit(data->GetPatternUnit());
|
tempMeash->SetUnit(data->GetPatternUnit());
|
||||||
|
|
||||||
base = UnitConvertor(base, MUnit(), *data->GetPatternUnit());
|
base = UnitConvertor(base, MUnit(), *data->GetPatternUnit());
|
||||||
|
@ -289,6 +291,8 @@ void VMeasurements::ReadMeasurements() const
|
||||||
|
|
||||||
meash = QSharedPointer<VMeasurement>(new VMeasurement(static_cast<quint32>(i), name, baseSize, baseHeight,
|
meash = QSharedPointer<VMeasurement>(new VMeasurement(static_cast<quint32>(i), name, baseSize, baseHeight,
|
||||||
base, ksize, kheight, fullName, description));
|
base, ksize, kheight, fullName, description));
|
||||||
|
meash->SetSize(size);
|
||||||
|
meash->SetHeight(height);
|
||||||
meash->SetUnit(data->GetPatternUnit());
|
meash->SetUnit(data->GetPatternUnit());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -62,7 +62,7 @@ public:
|
||||||
void MoveDown(const QString &name);
|
void MoveDown(const QString &name);
|
||||||
void MoveBottom(const QString &name);
|
void MoveBottom(const QString &name);
|
||||||
|
|
||||||
void ReadMeasurements() const;
|
void ReadMeasurements(qreal height, qreal size) const;
|
||||||
void ClearForExport();
|
void ClearForExport();
|
||||||
|
|
||||||
MeasurementsType Type() const;
|
MeasurementsType Type() const;
|
||||||
|
|
|
@ -219,7 +219,7 @@ bool VMeasurement::IsGradationHeightValid(const QString &height)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
qreal VMeasurement::CalcValue() const
|
qreal VMeasurement::CalcValue() const
|
||||||
{
|
{
|
||||||
if (d->currentUnit == nullptr || d->currentSize == nullptr || d->currentHeight == nullptr)
|
if (d->currentUnit == nullptr || qFuzzyIsNull(d->currentSize) || qFuzzyIsNull(d->currentHeight))
|
||||||
{
|
{
|
||||||
return VInternalVariable::GetValue();
|
return VInternalVariable::GetValue();
|
||||||
}
|
}
|
||||||
|
@ -234,8 +234,8 @@ qreal VMeasurement::CalcValue() const
|
||||||
const qreal heightIncrement = UnitConvertor(6.0, Unit::Cm, *d->currentUnit);
|
const qreal heightIncrement = UnitConvertor(6.0, Unit::Cm, *d->currentUnit);
|
||||||
|
|
||||||
// Formula for calculation gradation
|
// Formula for calculation gradation
|
||||||
const qreal k_size = ( *d->currentSize - d->baseSize ) / sizeIncrement;
|
const qreal k_size = ( d->currentSize - d->baseSize ) / sizeIncrement;
|
||||||
const qreal k_height = ( *d->currentHeight - d->baseHeight ) / heightIncrement;
|
const qreal k_height = ( d->currentHeight - d->baseHeight ) / heightIncrement;
|
||||||
return d->base + k_size * d->ksize + k_height * d->kheight;
|
return d->base + k_size * d->ksize + k_height * d->kheight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -310,6 +310,18 @@ VContainer *VMeasurement::GetData()
|
||||||
return d->data.data();
|
return d->data.data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VMeasurement::SetSize(qreal size)
|
||||||
|
{
|
||||||
|
d->currentSize = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VMeasurement::SetHeight(qreal height)
|
||||||
|
{
|
||||||
|
d->currentHeight = height;
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VMeasurement::SetUnit(const Unit *unit)
|
void VMeasurement::SetUnit(const Unit *unit)
|
||||||
{
|
{
|
||||||
|
|
|
@ -87,6 +87,9 @@ public:
|
||||||
|
|
||||||
VContainer *GetData();
|
VContainer *GetData();
|
||||||
|
|
||||||
|
void SetSize(qreal size);
|
||||||
|
void SetHeight(qreal height);
|
||||||
|
|
||||||
void SetUnit(const Unit *unit);
|
void SetUnit(const Unit *unit);
|
||||||
|
|
||||||
qreal GetBase() const;
|
qreal GetBase() const;
|
||||||
|
|
|
@ -50,8 +50,8 @@ public:
|
||||||
gui_text(gui_text),
|
gui_text(gui_text),
|
||||||
_tagName(tagName),
|
_tagName(tagName),
|
||||||
formulaOk(true),
|
formulaOk(true),
|
||||||
currentSize(nullptr),
|
currentSize(0),
|
||||||
currentHeight(nullptr),
|
currentHeight(0),
|
||||||
currentUnit(nullptr),
|
currentUnit(nullptr),
|
||||||
base(base),
|
base(base),
|
||||||
ksize(ksize),
|
ksize(ksize),
|
||||||
|
@ -68,8 +68,8 @@ public:
|
||||||
gui_text(gui_text),
|
gui_text(gui_text),
|
||||||
_tagName(tagName),
|
_tagName(tagName),
|
||||||
formulaOk(ok),
|
formulaOk(ok),
|
||||||
currentSize(nullptr),
|
currentSize(0),
|
||||||
currentHeight(nullptr),
|
currentHeight(0),
|
||||||
currentUnit(nullptr),
|
currentUnit(nullptr),
|
||||||
base(base),
|
base(base),
|
||||||
ksize(0),
|
ksize(0),
|
||||||
|
@ -105,8 +105,8 @@ public:
|
||||||
QString _tagName;
|
QString _tagName;
|
||||||
bool formulaOk;
|
bool formulaOk;
|
||||||
|
|
||||||
qreal *currentSize;
|
qreal currentSize;
|
||||||
qreal *currentHeight;
|
qreal currentHeight;
|
||||||
const Unit *currentUnit;
|
const Unit *currentUnit;
|
||||||
|
|
||||||
/** @brief base value in base size and height */
|
/** @brief base value in base size and height */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user