Added pattern size field and creation date visibility flag to pattern properties

--HG--
branch : feature
This commit is contained in:
BojanKverh 2016-07-16 01:12:51 +02:00
parent 37425be026
commit 25a58421cc
10 changed files with 149 additions and 43 deletions

View file

@ -166,6 +166,8 @@ DialogPatternProperties::DialogPatternProperties(const QString &filePath, VPatte
ui->lineEditCompanyName->setText(doc->GetCompanyName()); ui->lineEditCompanyName->setText(doc->GetCompanyName());
ui->lineEditCustomerName->setText(doc->GetCustomerName()); ui->lineEditCustomerName->setText(doc->GetCustomerName());
ui->labelCreationDate->setText(doc->GetCreationDate().toString(Qt::SystemLocaleLongDate)); ui->labelCreationDate->setText(doc->GetCreationDate().toString(Qt::SystemLocaleLongDate));
ui->lineEditSize->setText(doc->GetPatternSize());
ui->checkBoxShowDate->setChecked(doc->IsDateVisible());
connect(ui->lineEditPatternName, &QLineEdit::editingFinished, this, &DialogPatternProperties::GeneralInfoChanged); connect(ui->lineEditPatternName, &QLineEdit::editingFinished, this, &DialogPatternProperties::GeneralInfoChanged);
connect(ui->lineEditPatternNumber, &QLineEdit::editingFinished, this, &DialogPatternProperties::GeneralInfoChanged); connect(ui->lineEditPatternNumber, &QLineEdit::editingFinished, this, &DialogPatternProperties::GeneralInfoChanged);
@ -552,6 +554,8 @@ void DialogPatternProperties::SaveGeneralInfo()
doc->SetPatternNumber(ui->lineEditPatternNumber->text()); doc->SetPatternNumber(ui->lineEditPatternNumber->text());
doc->SetCompanyName(ui->lineEditCompanyName->text()); doc->SetCompanyName(ui->lineEditCompanyName->text());
doc->SetCustomerName(ui->lineEditCustomerName->text()); doc->SetCustomerName(ui->lineEditCustomerName->text());
doc->SetPatternSize(ui->lineEditSize->text());
doc->SetDateVisible(ui->checkBoxShowDate->isChecked());
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------

View file

@ -1053,7 +1053,7 @@
<x>10</x> <x>10</x>
<y>10</y> <y>10</y>
<width>401</width> <width>401</width>
<height>171</height> <height>221</height>
</rect> </rect>
</property> </property>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
@ -1100,17 +1100,34 @@
<item row="5" column="1"> <item row="5" column="1">
<widget class="QLineEdit" name="lineEditCustomerName"/> <widget class="QLineEdit" name="lineEditCustomerName"/>
</item> </item>
<item row="6" column="0"> <item row="7" column="1">
<widget class="QLabel" name="labelCreationDate">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_11"> <widget class="QLabel" name="label_11">
<property name="text"> <property name="text">
<string>Created:</string> <string>Created:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="6" column="0">
<widget class="QLabel" name="labelCreationDate"> <widget class="QLabel" name="label_12">
<property name="text"> <property name="text">
<string/> <string>Pattern size:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="lineEditSize"/>
</item>
<item row="8" column="0" colspan="2">
<widget class="QCheckBox" name="checkBoxShowDate">
<property name="text">
<string>Show date of creation</string>
</property> </property>
</widget> </widget>
</item> </item>

View file

@ -139,7 +139,7 @@ void VPattern::Parse(const Document &parse)
QStringList tags = QStringList() << TagDraw << TagIncrements << TagAuthor << TagDescription << TagNotes QStringList tags = QStringList() << TagDraw << TagIncrements << TagAuthor << TagDescription << TagNotes
<< TagMeasurements << TagVersion << TagGradation << TagImage << TagUnit << TagMeasurements << TagVersion << TagGradation << TagImage << TagUnit
<< TagPatternName << TagPatternNum << TagCompanyName << TagCustomerName << TagPatternName << TagPatternNum << TagCompanyName << TagCustomerName
<< TagCreationDate; << TagCreationDate << TagSize << TagShowDate;
PrepareForParse(parse); PrepareForParse(parse);
QDomNode domNode = documentElement().firstChild(); QDomNode domNode = documentElement().firstChild();
while (domNode.isNull() == false) while (domNode.isNull() == false)
@ -214,6 +214,12 @@ void VPattern::Parse(const Document &parse)
case 14: // TagCreationDate case 14: // TagCreationDate
qCDebug(vXML, "Creation date."); qCDebug(vXML, "Creation date.");
break; break;
case 15: // TagSize
qCDebug(vXML, "Size");
break;
case 16:
qCDebug(vXML, "Show creation date");
break;
default: default:
qCDebug(vXML, "Wrong tag name %s", qUtf8Printable(domElement.tagName())); qCDebug(vXML, "Wrong tag name %s", qUtf8Printable(domElement.tagName()));
break; break;

View file

@ -23,6 +23,8 @@
<xs:element name="company" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element> <xs:element name="company" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
<xs:element name="customer" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element> <xs:element name="customer" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
<xs:element name="created" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element> <xs:element name="created" 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="gradation" minOccurs="0" maxOccurs="1"> <xs:element name="gradation" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>

View file

@ -68,6 +68,9 @@ 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::TagCreationDate = QStringLiteral("created"); const QString VAbstractPattern::TagCreationDate = QStringLiteral("created");
const QString VAbstractPattern::TagSize = QStringLiteral("size");
const QString VAbstractPattern::TagShowDate = QStringLiteral("showDate");
const QString VAbstractPattern::AttrName = QStringLiteral("name"); const QString VAbstractPattern::AttrName = QStringLiteral("name");
const QString VAbstractPattern::AttrVisible = QStringLiteral("visible"); const QString VAbstractPattern::AttrVisible = QStringLiteral("visible");
@ -1076,6 +1079,36 @@ QDate VAbstractPattern::GetCreationDate() const
return QDate::currentDate(); return QDate::currentDate();
} }
//---------------------------------------------------------------------------------------------------------------------
QString VAbstractPattern::GetPatternSize() const
{
return UniqueTagText(TagSize);
}
//---------------------------------------------------------------------------------------------------------------------
void VAbstractPattern::SetPatternSize(QString qsSize)
{
CheckTagExists(TagSize);
setTagText(TagSize, qsSize);
modified = true;
emit patternChanged(false);
}
//---------------------------------------------------------------------------------------------------------------------
bool VAbstractPattern::IsDateVisible() const
{
return UniqueTagText(TagShowDate) != QStringLiteral("false");
}
//---------------------------------------------------------------------------------------------------------------------
void VAbstractPattern::SetDateVisible(bool bVisible)
{
CheckTagExists(TagShowDate);
setTagText(TagShowDate, bVisible == true? QStringLiteral("true") : QStringLiteral("false"));
modified = true;
emit patternChanged(false);
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QString VAbstractPattern::GetImage() const QString VAbstractPattern::GetImage() const
{ {
@ -1178,7 +1211,7 @@ 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 << TagCreationDate; << TagCustomerName << TagCreationDate << TagSize << TagShowDate;
switch (tags.indexOf(tag)) switch (tags.indexOf(tag))
{ {
case 0: //TagUnit case 0: //TagUnit
@ -1244,6 +1277,16 @@ QDomElement VAbstractPattern::CheckTagExists(const QString &tag)
element = createElement(TagCreationDate); element = createElement(TagCreationDate);
break; break;
} }
case 11: // TagSize
{
element = createElement(TagSize);
break;
}
case 12: // TagShowDate
{
element = createElement(TagShowDate);
break;
}
default: default:
{ {

View file

@ -117,6 +117,10 @@ public:
QString GetCustomerName() const; QString GetCustomerName() const;
void SetCustomerName(QString qsName); void SetCustomerName(QString qsName);
QDate GetCreationDate() const; QDate GetCreationDate() const;
QString GetPatternSize() const;
void SetPatternSize(QString qsSize);
bool IsDateVisible() const;
void SetDateVisible(bool bVisible);
QString GetImage() const; QString GetImage() const;
QString GetImageExtension() const; QString GetImageExtension() const;
@ -174,6 +178,8 @@ public:
static const QString TagCompanyName; static const QString TagCompanyName;
static const QString TagCustomerName; static const QString TagCustomerName;
static const QString TagCreationDate; static const QString TagCreationDate;
static const QString TagSize;
static const QString TagShowDate;
static const QString AttrName; static const QString AttrName;
static const QString AttrVisible; static const QString AttrVisible;

View file

@ -18,7 +18,8 @@ SOURCES += \
$$PWD/variables/vmeasurement.cpp \ $$PWD/variables/vmeasurement.cpp \
$$PWD/variables/vvariable.cpp \ $$PWD/variables/vvariable.cpp \
$$PWD/vformula.cpp \ $$PWD/vformula.cpp \
$$PWD/vpatternpiecedata.cpp $$PWD/vpatternpiecedata.cpp \
$$PWD/vpatterninfogeometry.cpp
win32-msvc*:SOURCES += $$PWD/stable.cpp win32-msvc*:SOURCES += $$PWD/stable.cpp
@ -51,4 +52,5 @@ HEADERS += \
$$PWD/variables/vvariable.h \ $$PWD/variables/vvariable.h \
$$PWD/variables/vvariable_p.h \ $$PWD/variables/vvariable_p.h \
$$PWD/vformula.h \ $$PWD/vformula.h \
$$PWD/vpatternpiecedata.h $$PWD/vpatternpiecedata.h \
$$PWD/vpatterninfogeometry.h

View file

@ -100,10 +100,3 @@ CONFIG(debug, debug|release){
} }
} }
} }
HEADERS += \
vpatterninfogeometry.h
SOURCES += \
vpatterninfogeometry.cpp

View file

@ -32,6 +32,7 @@
#include <QGraphicsView> #include <QGraphicsView>
#include <QTransform> #include <QTransform>
#include <QCursor> #include <QCursor>
#include <QtMath>
#include <QDebug> #include <QDebug>
#include "../vmisc/def.h" #include "../vmisc/def.h"
@ -311,7 +312,7 @@ void VTextGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent* pME)
m_dAngle = GetAngle(pME->scenePos()); m_dAngle = GetAngle(pME->scenePos());
return; return;
} }
double dAng = 180*(GetAngle(pME->scenePos()) - m_dAngle)/M_PI; double dAng = qRadiansToDegrees(GetAngle(pME->scenePos()) - m_dAngle);
rectBB.setTopLeft(m_ptStartPos); rectBB.setTopLeft(m_ptStartPos);
rectBB.setWidth(m_rectBoundingBox.width()); rectBB.setWidth(m_rectBoundingBox.width());
rectBB.setHeight(m_rectBoundingBox.height()); rectBB.setHeight(m_rectBoundingBox.height());
@ -480,7 +481,7 @@ QRectF VTextGraphicsItem::GetBoundingRect(QRectF rectBB, qreal dRot) const
qreal dY1 = 0; qreal dY1 = 0;
qreal dY2 = 0; qreal dY2 = 0;
double dAng = M_PI*dRot/180; double dAng = qDegreesToRadians(dRot);
for (int i = 0; i < 4; ++i) for (int i = 0; i < 4; ++i)
{ {
QPointF pt = apt[i] - ptCenter; QPointF pt = apt[i] - ptCenter;

View file

@ -689,16 +689,25 @@ void VToolDetail::UpdateLabel()
TextLine tl; TextLine tl;
// letter // letter
tl.m_qsText = data.GetLetter(); tl.m_qsText = data.GetLetter();
tl.m_eAlign = Qt::AlignCenter; if (tl.m_qsText.isEmpty() == false)
tl.m_eFontWeight = QFont::Bold; {
tl.m_eStyle = QFont::StyleNormal; tl.m_eAlign = Qt::AlignCenter;
tl.m_iFontSize = 6; tl.m_eFontWeight = QFont::Bold;
dataLabel->AddLine(tl); tl.m_eStyle = QFont::StyleNormal;
tl.m_iFontSize = 6;
dataLabel->AddLine(tl);
}
// name
tl.m_qsText = detail.getName(); tl.m_qsText = detail.getName();
tl.m_eAlign = Qt::AlignCenter; if (tl.m_qsText.isEmpty() == false)
tl.m_eFontWeight = QFont::DemiBold; {
tl.m_iFontSize = 2; tl.m_eAlign = Qt::AlignCenter;
dataLabel->AddLine(tl); tl.m_eFontWeight = QFont::DemiBold;
tl.m_iFontSize = 2;
dataLabel->AddLine(tl);
}
// MCP // MCP
tl.m_eAlign = Qt::AlignLeft | Qt::AlignVCenter; tl.m_eAlign = Qt::AlignLeft | Qt::AlignVCenter;
tl.m_eFontWeight = QFont::Normal; tl.m_eFontWeight = QFont::Normal;
@ -761,33 +770,56 @@ void VToolDetail::UpdatePatternInfo()
// Company name // Company name
tl.m_qsText = doc->GetCompanyName(); tl.m_qsText = doc->GetCompanyName();
tl.m_eAlign = Qt::AlignCenter; if (tl.m_qsText.isEmpty() == false)
tl.m_eFontWeight = QFont::DemiBold; {
tl.m_eStyle = QFont::StyleNormal; tl.m_eAlign = Qt::AlignCenter;
tl.m_iFontSize = 4; tl.m_eFontWeight = QFont::DemiBold;
patternInfo->AddLine(tl); tl.m_eStyle = QFont::StyleNormal;
tl.m_iFontSize = 4;
patternInfo->AddLine(tl);
}
// Pattern name // Pattern name
tl.m_qsText = doc->GetPatternName(); tl.m_qsText = doc->GetPatternName();
tl.m_eFontWeight = QFont::Normal; if (tl.m_qsText.isEmpty() == false)
tl.m_iFontSize = 2; {
patternInfo->AddLine(tl); tl.m_eFontWeight = QFont::Normal;
tl.m_iFontSize = 2;
patternInfo->AddLine(tl);
}
// Pattern number // Pattern number
tl.m_qsText = doc->GetPatternNumber(); tl.m_qsText = doc->GetPatternNumber();
tl.m_iFontSize = 0; if (tl.m_qsText.isEmpty() == false)
tl.m_eAlign = Qt::AlignLeft | Qt::AlignVCenter; {
patternInfo->AddLine(tl); tl.m_iFontSize = 0;
tl.m_eAlign = Qt::AlignLeft | Qt::AlignVCenter;
patternInfo->AddLine(tl);
}
// Customer name // Customer name
tl.m_qsText = doc->GetCustomerName(); tl.m_qsText = doc->GetCustomerName();
tl.m_eStyle = QFont::StyleItalic; if (tl.m_qsText.isEmpty() == false)
patternInfo->AddLine(tl); {
tl.m_eStyle = QFont::StyleItalic;
patternInfo->AddLine(tl);
}
// Size
tl.m_qsText = doc->GetPatternSize();
if (tl.m_qsText.isEmpty() == false)
{
tl.m_eStyle = QFont::StyleNormal;
patternInfo->AddLine(tl);
}
// Creation date // Creation date
QStringList qslDate = doc->GetCreationDate().toString(Qt::SystemLocaleLongDate).split(", "); if (doc->IsDateVisible() == true)
tl.m_qsText = qslDate.last(); {
patternInfo->AddLine(tl); QStringList qslDate = doc->GetCreationDate().toString(Qt::SystemLocaleLongDate).split(", ");
tl.m_qsText = qslDate.last();
patternInfo->AddLine(tl);
}
QPointF pt = geom.GetPos(); QPointF pt = geom.GetPos();
QRectF rectBB; QRectF rectBB;