Read/Write pattern label.
--HG-- branch : feature
This commit is contained in:
parent
b9bd1b60e4
commit
8466e84eef
|
@ -602,9 +602,9 @@ void DialogPatternProperties::SaveTemplateData()
|
||||||
{
|
{
|
||||||
if (templateDataChanged)
|
if (templateDataChanged)
|
||||||
{
|
{
|
||||||
//doc->SetTemplate(templateLines);
|
doc->SetPatternLabelTemplate(templateLines);
|
||||||
templateDataChanged = false;
|
templateDataChanged = false;
|
||||||
//emit doc->patternChanged(false);
|
emit doc->patternChanged(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -884,14 +884,7 @@ void DialogPatternProperties::EditLabel()
|
||||||
|
|
||||||
DialogEditLabel editor(doc);
|
DialogEditLabel editor(doc);
|
||||||
|
|
||||||
// if (templateDataChanged)
|
templateDataChanged ? editor.SetTemplate(templateLines) : editor.SetTemplate(doc->GetPatternLabelTemplate());
|
||||||
// {
|
|
||||||
// editor.SetTemplate(templateLines);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// editor.SetTemplate(doc->GetTemplate());
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (QDialog::Accepted == editor.exec())
|
if (QDialog::Accepted == editor.exec())
|
||||||
{
|
{
|
||||||
|
|
|
@ -213,4 +213,17 @@ extern const QString currentSeamAllowance;
|
||||||
|
|
||||||
extern const QStringList builInVariables;
|
extern const QStringList builInVariables;
|
||||||
|
|
||||||
|
QT_WARNING_PUSH
|
||||||
|
QT_WARNING_DISABLE_GCC("-Weffc++")
|
||||||
|
|
||||||
|
struct VLabelTemplateLine
|
||||||
|
{
|
||||||
|
QString line;
|
||||||
|
bool bold;
|
||||||
|
bool italic;
|
||||||
|
int alignment;
|
||||||
|
};
|
||||||
|
|
||||||
|
QT_WARNING_POP
|
||||||
|
|
||||||
#endif // IFCDEF_H
|
#endif // IFCDEF_H
|
||||||
|
|
|
@ -87,6 +87,7 @@ const QString VAbstractPattern::TagPatternName = QStringLiteral("patternNam
|
||||||
const QString VAbstractPattern::TagPatternNum = QStringLiteral("patternNumber");
|
const QString VAbstractPattern::TagPatternNum = QStringLiteral("patternNumber");
|
||||||
const QString VAbstractPattern::TagCustomerName = QStringLiteral("customer");
|
const QString VAbstractPattern::TagCustomerName = QStringLiteral("customer");
|
||||||
const QString VAbstractPattern::TagCompanyName = QStringLiteral("company");
|
const QString VAbstractPattern::TagCompanyName = QStringLiteral("company");
|
||||||
|
const QString VAbstractPattern::TagPatternLabel = QStringLiteral("patternLabel");
|
||||||
const QString VAbstractPattern::TagSize = QStringLiteral("size");
|
const QString VAbstractPattern::TagSize = QStringLiteral("size");
|
||||||
const QString VAbstractPattern::TagShowDate = QStringLiteral("showDate");
|
const QString VAbstractPattern::TagShowDate = QStringLiteral("showDate");
|
||||||
const QString VAbstractPattern::TagShowMeasurements = QStringLiteral("showMeasurements");
|
const QString VAbstractPattern::TagShowMeasurements = QStringLiteral("showMeasurements");
|
||||||
|
@ -1374,6 +1375,25 @@ void VAbstractPattern::SetMesurementsVisible(bool bVisible)
|
||||||
emit patternChanged(false);
|
emit patternChanged(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VAbstractPattern::SetPatternLabelTemplate(const QVector<VLabelTemplateLine> &lines)
|
||||||
|
{
|
||||||
|
QDomElement tag = CheckTagExists(TagPatternLabel);
|
||||||
|
RemoveAllChildren(tag);
|
||||||
|
SetLabelTemplate(tag, lines);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QVector<VLabelTemplateLine> VAbstractPattern::GetPatternLabelTemplate() const
|
||||||
|
{
|
||||||
|
const QDomNodeList list = elementsByTagName(TagPatternLabel);
|
||||||
|
if (list.isEmpty())
|
||||||
|
{
|
||||||
|
return QVector<VLabelTemplateLine>();
|
||||||
|
}
|
||||||
|
return GetLabelTemplate(list.at(0).toElement());
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QString VAbstractPattern::GetImage() const
|
QString VAbstractPattern::GetImage() const
|
||||||
{
|
{
|
||||||
|
@ -1516,7 +1536,8 @@ QDomElement VAbstractPattern::CheckTagExists(const QString &tag)
|
||||||
{
|
{
|
||||||
const QStringList tags = QStringList() << TagUnit << TagImage << TagAuthor << TagDescription << TagNotes
|
const QStringList tags = QStringList() << TagUnit << TagImage << TagAuthor << TagDescription << TagNotes
|
||||||
<< TagGradation << TagPatternName << TagPatternNum << TagCompanyName
|
<< TagGradation << TagPatternName << TagPatternNum << TagCompanyName
|
||||||
<< TagCustomerName << TagSize << TagShowDate << TagShowMeasurements;
|
<< TagCustomerName << TagPatternLabel << TagSize << TagShowDate
|
||||||
|
<< TagShowMeasurements;
|
||||||
switch (tags.indexOf(tag))
|
switch (tags.indexOf(tag))
|
||||||
{
|
{
|
||||||
case 1: //TagImage
|
case 1: //TagImage
|
||||||
|
@ -1556,13 +1577,16 @@ QDomElement VAbstractPattern::CheckTagExists(const QString &tag)
|
||||||
case 9: // TagCustomerName
|
case 9: // TagCustomerName
|
||||||
element = createElement(TagCustomerName);
|
element = createElement(TagCustomerName);
|
||||||
break;
|
break;
|
||||||
case 10: // TagSize
|
case 10: // TagPatternLabel
|
||||||
|
element = createElement(TagPatternLabel);
|
||||||
|
break;
|
||||||
|
case 11: // TagSize
|
||||||
element = createElement(TagSize);
|
element = createElement(TagSize);
|
||||||
break;
|
break;
|
||||||
case 11: // TagShowDate
|
case 12: // TagShowDate
|
||||||
element = createElement(TagShowDate);
|
element = createElement(TagShowDate);
|
||||||
break;
|
break;
|
||||||
case 12: // TagShowMeasurements
|
case 13: // TagShowMeasurements
|
||||||
element = createElement(TagShowMeasurements);
|
element = createElement(TagShowMeasurements);
|
||||||
break;
|
break;
|
||||||
case 0: //TagUnit (Mandatory tag)
|
case 0: //TagUnit (Mandatory tag)
|
||||||
|
|
|
@ -154,6 +154,9 @@ public:
|
||||||
bool IsMeasurementsVisible() const;
|
bool IsMeasurementsVisible() const;
|
||||||
void SetMesurementsVisible(bool bVisible);
|
void SetMesurementsVisible(bool bVisible);
|
||||||
|
|
||||||
|
void SetPatternLabelTemplate(const QVector<VLabelTemplateLine> &lines);
|
||||||
|
QVector<VLabelTemplateLine> GetPatternLabelTemplate() const;
|
||||||
|
|
||||||
QString GetImage() const;
|
QString GetImage() const;
|
||||||
QString GetImageExtension() const;
|
QString GetImageExtension() const;
|
||||||
void SetImage(const QString &text, const QString &extension);
|
void SetImage(const QString &text, const QString &extension);
|
||||||
|
@ -209,6 +212,7 @@ public:
|
||||||
static const QString TagPatternNum;
|
static const QString TagPatternNum;
|
||||||
static const QString TagCompanyName;
|
static const QString TagCompanyName;
|
||||||
static const QString TagCustomerName;
|
static const QString TagCustomerName;
|
||||||
|
static const QString TagPatternLabel;
|
||||||
static const QString TagSize;
|
static const QString TagSize;
|
||||||
static const QString TagShowDate;
|
static const QString TagShowDate;
|
||||||
static const QString TagShowMeasurements;
|
static const QString TagShowMeasurements;
|
||||||
|
|
|
@ -179,8 +179,14 @@ void MessageHandler::handleMessage(QtMsgType type, const QString &description, c
|
||||||
Q_LOGGING_CATEGORY(vXML, "v.xml")
|
Q_LOGGING_CATEGORY(vXML, "v.xml")
|
||||||
|
|
||||||
const QString VDomDocument::AttrId = QStringLiteral("id");
|
const QString VDomDocument::AttrId = QStringLiteral("id");
|
||||||
|
const QString VDomDocument::AttrText = QStringLiteral("text");
|
||||||
|
const QString VDomDocument::AttrBold = QStringLiteral("bold");
|
||||||
|
const QString VDomDocument::AttrItalic = QStringLiteral("italic");
|
||||||
|
const QString VDomDocument::AttrAlignment = QStringLiteral("alignment");
|
||||||
|
|
||||||
const QString VDomDocument::TagVersion = QStringLiteral("version");
|
const QString VDomDocument::TagVersion = QStringLiteral("version");
|
||||||
const QString VDomDocument::TagUnit = QStringLiteral("unit");
|
const QString VDomDocument::TagUnit = QStringLiteral("unit");
|
||||||
|
const QString VDomDocument::TagLine = QStringLiteral("line");
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VDomDocument::VDomDocument()
|
VDomDocument::VDomDocument()
|
||||||
|
@ -899,3 +905,48 @@ bool VDomDocument::SafeCopy(const QString &source, const QString &destination, Q
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QVector<VLabelTemplateLine> VDomDocument::GetLabelTemplate(const QDomElement &element) const
|
||||||
|
{
|
||||||
|
QVector<VLabelTemplateLine> lines;
|
||||||
|
|
||||||
|
if (not element.isNull())
|
||||||
|
{
|
||||||
|
QDomElement tagLine = element.firstChildElement();
|
||||||
|
while (tagLine.isNull() == false)
|
||||||
|
{
|
||||||
|
if (tagLine.tagName() == TagLine)
|
||||||
|
{
|
||||||
|
VLabelTemplateLine line;
|
||||||
|
line.line = GetParametrString(tagLine, AttrText, tr("<empty>"));
|
||||||
|
line.bold = GetParametrBool(tagLine, AttrBold, falseStr);
|
||||||
|
line.italic = GetParametrBool(tagLine, AttrItalic, falseStr);
|
||||||
|
line.alignment = GetParametrUInt(tagLine, AttrAlignment, "0");
|
||||||
|
lines.append(line);
|
||||||
|
}
|
||||||
|
tagLine = tagLine.nextSiblingElement(TagLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return lines;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VDomDocument::SetLabelTemplate(QDomElement &element, const QVector<VLabelTemplateLine> &lines)
|
||||||
|
{
|
||||||
|
if (not element.isNull())
|
||||||
|
{
|
||||||
|
for (int i=0; i < lines.size(); ++i)
|
||||||
|
{
|
||||||
|
QDomElement tagLine = createElement(TagLine);
|
||||||
|
|
||||||
|
SetAttribute(tagLine, AttrText, lines.at(i).line);
|
||||||
|
SetAttribute(tagLine, AttrBold, lines.at(i).bold);
|
||||||
|
SetAttribute(tagLine, AttrItalic, lines.at(i).italic);
|
||||||
|
SetAttribute(tagLine, AttrAlignment, lines.at(i).alignment);
|
||||||
|
|
||||||
|
element.appendChild(tagLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -83,8 +83,14 @@ class VDomDocument : public QDomDocument
|
||||||
Q_DECLARE_TR_FUNCTIONS(VDomDocument)
|
Q_DECLARE_TR_FUNCTIONS(VDomDocument)
|
||||||
public:
|
public:
|
||||||
static const QString AttrId;
|
static const QString AttrId;
|
||||||
|
static const QString AttrText;
|
||||||
|
static const QString AttrBold;
|
||||||
|
static const QString AttrItalic;
|
||||||
|
static const QString AttrAlignment;
|
||||||
|
|
||||||
static const QString TagVersion;
|
static const QString TagVersion;
|
||||||
static const QString TagUnit;
|
static const QString TagUnit;
|
||||||
|
static const QString TagLine;
|
||||||
|
|
||||||
VDomDocument();
|
VDomDocument();
|
||||||
virtual ~VDomDocument() Q_DECL_EQ_DEFAULT;
|
virtual ~VDomDocument() Q_DECL_EQ_DEFAULT;
|
||||||
|
@ -130,6 +136,9 @@ protected:
|
||||||
void TestUniqueId() const;
|
void TestUniqueId() const;
|
||||||
void CollectId(const QDomElement &node, QVector<quint32> &vector)const;
|
void CollectId(const QDomElement &node, QVector<quint32> &vector)const;
|
||||||
|
|
||||||
|
QVector<VLabelTemplateLine> GetLabelTemplate(const QDomElement &element) const;
|
||||||
|
void SetLabelTemplate(QDomElement &element, const QVector<VLabelTemplateLine> &lines);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(VDomDocument)
|
Q_DISABLE_COPY(VDomDocument)
|
||||||
/** @brief Map used for finding element by id. */
|
/** @brief Map used for finding element by id. */
|
||||||
|
|
|
@ -31,12 +31,6 @@
|
||||||
|
|
||||||
const QString VLabelTemplate::TagTemplate = QStringLiteral("template");
|
const QString VLabelTemplate::TagTemplate = QStringLiteral("template");
|
||||||
const QString VLabelTemplate::TagLines = QStringLiteral("lines");
|
const QString VLabelTemplate::TagLines = QStringLiteral("lines");
|
||||||
const QString VLabelTemplate::TagLine = QStringLiteral("line");
|
|
||||||
|
|
||||||
const QString VLabelTemplate::AttrText = QStringLiteral("text");
|
|
||||||
const QString VLabelTemplate::AttrBold = QStringLiteral("bold");
|
|
||||||
const QString VLabelTemplate::AttrItalic = QStringLiteral("italic");
|
|
||||||
const QString VLabelTemplate::AttrAlignment = QStringLiteral("alignment");
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VLabelTemplate::VLabelTemplate()
|
VLabelTemplate::VLabelTemplate()
|
||||||
|
@ -69,52 +63,18 @@ void VLabelTemplate::AddLines(const QVector<VLabelTemplateLine> &lines)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDomElement tagLines = listLines.at(0).toElement();
|
QDomElement tag = listLines.at(0).toElement();
|
||||||
if (not tagLines.isNull())
|
VDomDocument::SetLabelTemplate(tag, lines);
|
||||||
{
|
|
||||||
for (int i=0; i < lines.size(); ++i)
|
|
||||||
{
|
|
||||||
QDomElement tagLine = createElement(TagLine);
|
|
||||||
|
|
||||||
SetAttribute(tagLine, AttrText, lines.at(i).line);
|
|
||||||
SetAttribute(tagLine, AttrBold, lines.at(i).bold);
|
|
||||||
SetAttribute(tagLine, AttrItalic, lines.at(i).italic);
|
|
||||||
SetAttribute(tagLine, AttrAlignment, lines.at(i).alignment);
|
|
||||||
|
|
||||||
tagLines.appendChild(tagLine);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QVector<VLabelTemplateLine> VLabelTemplate::ReadLines() const
|
QVector<VLabelTemplateLine> VLabelTemplate::ReadLines() const
|
||||||
{
|
{
|
||||||
QVector<VLabelTemplateLine> lines;
|
|
||||||
|
|
||||||
const QDomNodeList listLines = elementsByTagName(TagLines);
|
const QDomNodeList listLines = elementsByTagName(TagLines);
|
||||||
if (listLines.size() == 0)
|
if (listLines.size() == 0)
|
||||||
{
|
{
|
||||||
return lines;
|
return QVector<VLabelTemplateLine>();
|
||||||
}
|
}
|
||||||
|
|
||||||
QDomElement tagLines = listLines.at(0).toElement();
|
return VDomDocument::GetLabelTemplate(listLines.at(0).toElement());
|
||||||
if (not tagLines.isNull())
|
|
||||||
{
|
|
||||||
QDomElement tagLine = tagLines.firstChildElement();
|
|
||||||
while (tagLine.isNull() == false)
|
|
||||||
{
|
|
||||||
if (tagLine.tagName() == TagLine)
|
|
||||||
{
|
|
||||||
VLabelTemplateLine line;
|
|
||||||
line.line = GetParametrString(tagLine, AttrText, tr("<empty>"));
|
|
||||||
line.bold = GetParametrBool(tagLine, AttrBold, falseStr);
|
|
||||||
line.italic = GetParametrBool(tagLine, AttrItalic, falseStr);
|
|
||||||
line.alignment = GetParametrUInt(tagLine, AttrAlignment, "0");
|
|
||||||
lines.append(line);
|
|
||||||
}
|
|
||||||
tagLine = tagLine.nextSiblingElement(TagLine);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return lines;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,19 +31,6 @@
|
||||||
|
|
||||||
#include "../ifc/xml/vdomdocument.h"
|
#include "../ifc/xml/vdomdocument.h"
|
||||||
|
|
||||||
QT_WARNING_PUSH
|
|
||||||
QT_WARNING_DISABLE_GCC("-Weffc++")
|
|
||||||
|
|
||||||
struct VLabelTemplateLine
|
|
||||||
{
|
|
||||||
QString line;
|
|
||||||
bool bold;
|
|
||||||
bool italic;
|
|
||||||
int alignment;
|
|
||||||
};
|
|
||||||
|
|
||||||
QT_WARNING_POP
|
|
||||||
|
|
||||||
class VLabelTemplate : public VDomDocument
|
class VLabelTemplate : public VDomDocument
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -52,12 +39,6 @@ public:
|
||||||
|
|
||||||
static const QString TagTemplate;
|
static const QString TagTemplate;
|
||||||
static const QString TagLines;
|
static const QString TagLines;
|
||||||
static const QString TagLine;
|
|
||||||
|
|
||||||
static const QString AttrText;
|
|
||||||
static const QString AttrBold;
|
|
||||||
static const QString AttrItalic;
|
|
||||||
static const QString AttrAlignment;
|
|
||||||
|
|
||||||
void CreateEmptyTemplate();
|
void CreateEmptyTemplate();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user