Added the optional measurements line to the pattern info label
--HG-- branch : feature
This commit is contained in:
parent
a625c35616
commit
a6e38b54d0
|
@ -173,6 +173,7 @@ DialogPatternProperties::DialogPatternProperties(const QString &filePath, VPatte
|
|||
ui->labelCreationDate->setText(QDate::currentDate().toString(Qt::SystemLocaleLongDate));
|
||||
ui->lineEditSize->setText(doc->GetPatternSize());
|
||||
ui->checkBoxShowDate->setChecked(doc->IsDateVisible());
|
||||
ui->checkBoxShowMeasurements->setChecked(doc->IsMeasurementsVisible());
|
||||
|
||||
connect(ui->lineEditPatternName, &QLineEdit::editingFinished, this, &DialogPatternProperties::GeneralInfoChanged);
|
||||
connect(ui->lineEditPatternNumber, &QLineEdit::editingFinished, this, &DialogPatternProperties::GeneralInfoChanged);
|
||||
|
@ -561,6 +562,7 @@ void DialogPatternProperties::SaveGeneralInfo()
|
|||
doc->SetCustomerName(ui->lineEditCustomerName->text());
|
||||
doc->SetPatternSize(ui->lineEditSize->text());
|
||||
doc->SetDateVisible(ui->checkBoxShowDate->isChecked());
|
||||
doc->SetMesurementsVisible(ui->checkBoxShowMeasurements->isChecked());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -1053,7 +1053,7 @@
|
|||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>401</width>
|
||||
<height>221</height>
|
||||
<height>241</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
|
@ -1068,7 +1068,11 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="lineEditPatternName"/>
|
||||
<widget class="QLineEdit" name="lineEditPatternName">
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
|
@ -1078,7 +1082,11 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="lineEditPatternNumber"/>
|
||||
<widget class="QLineEdit" name="lineEditPatternNumber">
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
|
@ -1088,7 +1096,11 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLineEdit" name="lineEditCompanyName"/>
|
||||
<widget class="QLineEdit" name="lineEditCompanyName">
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
|
@ -1098,7 +1110,11 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QLineEdit" name="lineEditCustomerName"/>
|
||||
<widget class="QLineEdit" name="lineEditCustomerName">
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QLabel" name="labelCreationDate">
|
||||
|
@ -1122,9 +1138,20 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLineEdit" name="lineEditSize"/>
|
||||
<widget class="QLineEdit" name="lineEditSize">
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="2">
|
||||
<item row="9" column="0">
|
||||
<widget class="QCheckBox" name="checkBoxShowMeasurements">
|
||||
<property name="text">
|
||||
<string>Show measurements</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QCheckBox" name="checkBoxShowDate">
|
||||
<property name="text">
|
||||
<string>Show date of creation</string>
|
||||
|
|
|
@ -134,7 +134,7 @@ void VPattern::Parse(const Document &parse)
|
|||
QStringList tags = QStringList() << TagDraw << TagIncrements << TagAuthor << TagDescription << TagNotes
|
||||
<< TagMeasurements << TagVersion << TagGradation << TagImage << TagUnit
|
||||
<< TagPatternName << TagPatternNum << TagCompanyName << TagCustomerName
|
||||
<< TagSize << TagShowDate;
|
||||
<< TagSize << TagShowDate << TagShowMeasurements;
|
||||
PrepareForParse(parse);
|
||||
QDomNode domNode = documentElement().firstChild();
|
||||
while (domNode.isNull() == false)
|
||||
|
@ -212,6 +212,9 @@ void VPattern::Parse(const Document &parse)
|
|||
case 15:
|
||||
qCDebug(vXML, "Show creation date");
|
||||
break;
|
||||
case 16:
|
||||
qCDebug(vXML, "Show creation measurements");
|
||||
break;
|
||||
default:
|
||||
qCDebug(vXML, "Wrong tag name %s", qUtf8Printable(domElement.tagName()));
|
||||
break;
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
<xs:element name="customer" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="size" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="showDate" type="xs:boolean" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="showMeasurements" type="xs:boolean" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="measurements" type="xs:string"></xs:element>
|
||||
<xs:element name="increments" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
|
|
|
@ -69,7 +69,7 @@ const QString VAbstractPattern::TagCustomerName = QStringLiteral("customer");
|
|||
const QString VAbstractPattern::TagCompanyName = QStringLiteral("company");
|
||||
const QString VAbstractPattern::TagSize = QStringLiteral("size");
|
||||
const QString VAbstractPattern::TagShowDate = QStringLiteral("showDate");
|
||||
|
||||
const QString VAbstractPattern::TagShowMeasurements = QStringLiteral("showMeasurements");
|
||||
|
||||
const QString VAbstractPattern::AttrName = QStringLiteral("name");
|
||||
const QString VAbstractPattern::AttrVisible = QStringLiteral("visible");
|
||||
|
@ -1085,6 +1085,21 @@ void VAbstractPattern::SetDateVisible(bool bVisible)
|
|||
emit patternChanged(false);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
bool VAbstractPattern::IsMeasurementsVisible() const
|
||||
{
|
||||
return UniqueTagText(TagShowMeasurements) == trueStr;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VAbstractPattern::SetMesurementsVisible(bool bVisible)
|
||||
{
|
||||
CheckTagExists(TagShowMeasurements);
|
||||
setTagText(TagShowMeasurements, bVisible == true? trueStr : falseStr);
|
||||
modified = true;
|
||||
emit patternChanged(false);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QString VAbstractPattern::GetImage() const
|
||||
{
|
||||
|
@ -1199,7 +1214,7 @@ QDomElement VAbstractPattern::CheckTagExists(const QString &tag)
|
|||
{
|
||||
const QStringList tags = QStringList() << TagUnit << TagImage << TagAuthor << TagDescription << TagNotes
|
||||
<< TagGradation << TagPatternName << TagPatternNum << TagCompanyName
|
||||
<< TagCustomerName << TagSize << TagShowDate;
|
||||
<< TagCustomerName << TagSize << TagShowDate << TagShowMeasurements;
|
||||
switch (tags.indexOf(tag))
|
||||
{
|
||||
case 0: //TagUnit
|
||||
|
@ -1270,6 +1285,11 @@ QDomElement VAbstractPattern::CheckTagExists(const QString &tag)
|
|||
element = createElement(TagShowDate);
|
||||
break;
|
||||
}
|
||||
case 12: // TagShowMeasurements
|
||||
{
|
||||
element = createElement(TagShowMeasurements);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
|
|
|
@ -120,6 +120,8 @@ public:
|
|||
void SetPatternSize(const QString &qsSize);
|
||||
bool IsDateVisible() const;
|
||||
void SetDateVisible(bool bVisible);
|
||||
bool IsMeasurementsVisible() const;
|
||||
void SetMesurementsVisible(bool bVisible);
|
||||
|
||||
QString GetImage() const;
|
||||
QString GetImageExtension() const;
|
||||
|
@ -178,6 +180,7 @@ public:
|
|||
static const QString TagCustomerName;
|
||||
static const QString TagSize;
|
||||
static const QString TagShowDate;
|
||||
static const QString TagShowMeasurements;
|
||||
|
||||
static const QString AttrName;
|
||||
static const QString AttrVisible;
|
||||
|
|
|
@ -141,6 +141,11 @@ bool VTextManager::IsBigEnough(qreal fW, qreal fH, int iFontSize)
|
|||
QStringList qslLines = SplitString(tlOut.m_qsText, fW, fm);
|
||||
for (int iL = 0; iL < qslLines.count(); ++iL)
|
||||
{
|
||||
// check if every line fits within the label width
|
||||
if (fm.width(qslLines[iL]) + 2*GetSpacing() > fW)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
tlOut.m_qsText = qslLines[iL];
|
||||
m_liOutput << tlOut;
|
||||
iY += tlOut.m_iHeight + GetSpacing();
|
||||
|
@ -275,6 +280,15 @@ void VTextManager::Update(const VAbstractPattern *pDoc)
|
|||
tl.m_iFontSize = 0;
|
||||
AddLine(tl);
|
||||
}
|
||||
// Measurements
|
||||
tl.m_qsText = pDoc->MPath();
|
||||
if (tl.m_qsText.isEmpty() == false && pDoc->IsMeasurementsVisible() == true)
|
||||
{
|
||||
tl.m_eFontWeight = QFont::Normal;
|
||||
tl.m_eStyle = QFont::StyleNormal;
|
||||
tl.m_iFontSize = 0;
|
||||
AddLine(tl);
|
||||
}
|
||||
// Date
|
||||
QDate date;
|
||||
if (pDoc->IsDateVisible() == true)
|
||||
|
@ -317,7 +331,10 @@ QStringList VTextManager::SplitString(const QString &qs, qreal fW, const QFontMe
|
|||
if (fm.width(qsCurrent + qslWords[i]) > fW)
|
||||
{
|
||||
// if not, add the current line into the list of text lines
|
||||
if (qsCurrent.isEmpty() == false)
|
||||
{
|
||||
qslLines << qsCurrent;
|
||||
}
|
||||
// and set the current line to contain the current word
|
||||
qsCurrent = qslWords[i];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user