Fix label size for case with two pins.

(cherry picked from commit 64f70a58cf)
This commit is contained in:
Roman Telezhynskyi 2020-09-23 16:54:06 +03:00
parent 047ace3f26
commit 054560c7a0
2 changed files with 4 additions and 11 deletions

View File

@ -92,6 +92,7 @@
- Incorrect conversion to newer curve format.
- Elide a variable description in the formula wizard.
- Fix removing a pin in the Seam Allowance tool dialog.
- Fix label size for case with two pins.
# Version 0.6.1 October 23, 2018
- [#885] Regression. Broken support for multi size measurements.

View File

@ -135,9 +135,11 @@ bool FindLabelGeometry(const VPatternLabelData &labelData, const VContainer *pat
{
Calculator cal1;
labelWidth = cal1.EvalFormula(pattern->DataVariables(), labelData.GetLabelWidth());
labelWidth = ToPixel(labelWidth, *pattern->GetPatternUnit());
Calculator cal2;
labelHeight = cal2.EvalFormula(pattern->DataVariables(), labelData.GetLabelHeight());
labelHeight = ToPixel(labelHeight, *pattern->GetPatternUnit());
}
catch(qmu::QmuParserError &e)
{
@ -151,11 +153,7 @@ bool FindLabelGeometry(const VPatternLabelData &labelData, const VContainer *pat
try
{
const auto centerPinPoint = pattern->GeometricObject<VPointF>(centerPin);
const qreal lWidth = ToPixel(labelWidth, *pattern->GetPatternUnit());
const qreal lHeight = ToPixel(labelHeight, *pattern->GetPatternUnit());
pos = static_cast<QPointF>(*centerPinPoint) - QRectF(0, 0, lWidth, lHeight).center();
pos = static_cast<QPointF>(*centerPinPoint) - QRectF(0, 0, labelWidth, labelHeight).center();
}
catch(const VExceptionBadId &)
{
@ -679,9 +677,6 @@ void VLayoutPiece::SetPieceText(const QString& qsName, const VPieceLabelData& da
return;
}
labelWidth = ToPixel(labelWidth, *pattern->GetPatternUnit());
labelHeight = ToPixel(labelHeight, *pattern->GetPatternUnit());
QVector<QPointF> v;
v << ptPos
<< QPointF(ptPos.x() + labelWidth, ptPos.y())
@ -740,9 +735,6 @@ void VLayoutPiece::SetPatternInfo(VAbstractPattern* pDoc, const VPatternLabelDat
return;
}
labelWidth = ToPixel(labelWidth, *pattern->GetPatternUnit());
labelHeight = ToPixel(labelHeight, *pattern->GetPatternUnit());
QVector<QPointF> v;
v << ptPos
<< QPointF(ptPos.x() + labelWidth, ptPos.y())