Rotation bugs fixed
--HG-- branch : feature
This commit is contained in:
parent
9a64ddf6a3
commit
6effc2b5cd
|
@ -678,11 +678,10 @@ void VPattern::ParseDetailElement(const QDomElement &domElement, const Document
|
|||
detail.GetPatternPieceData().SetLabelWidth(dLW);
|
||||
qreal dLH = element.attribute(VToolDetail::AttrHeight, "0").toDouble();
|
||||
detail.GetPatternPieceData().SetLabelHeight(dLH);
|
||||
qDebug() << "HEIGHT" <<
|
||||
detail.GetPatternPieceData().GetPos() <<
|
||||
detail.GetPatternPieceData().GetLabelHeight();
|
||||
int iFS = element.attribute(VToolDetail::AttrFont, "0").toInt();
|
||||
detail.GetPatternPieceData().SetFontSize(iFS);
|
||||
qreal dRot = element.attribute(VToolDetail::AttrRotation, "0").toDouble();
|
||||
detail.GetPatternPieceData().SetRotation(dRot);
|
||||
|
||||
QDomNodeList nodeListMCP = element.childNodes();
|
||||
for (int iMCP = 0; iMCP < nodeListMCP.count(); ++iMCP)
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<xs:element name="labelPosition" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="labelSize" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="fontSize" type="xs:unsignedInt" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="rotation" type="xs:double" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="gradation" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
|
@ -360,6 +361,7 @@
|
|||
<xs:attribute name="my" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="width" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="height" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="rotation" type="xs:double"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="node" maxOccurs="unbounded">
|
||||
|
|
|
@ -68,8 +68,9 @@ const QString VAbstractPattern::TagCustomerName = QStringLiteral("customer");
|
|||
const QString VAbstractPattern::TagCompanyName = QStringLiteral("company");
|
||||
const QString VAbstractPattern::TagCreationDate = QStringLiteral("created");
|
||||
const QString VAbstractPattern::TagLabelPos = QStringLiteral("labelPosition");
|
||||
const QString VAbstractPattern::TagLabelSize = QStringLiteral("labelSize");
|
||||
const QString VAbstractPattern::TagLabelSize = QStringLiteral("labelSize");
|
||||
const QString VAbstractPattern::TagLabelFont = QStringLiteral("fontSize");
|
||||
const QString VAbstractPattern::TagLabelRot = QStringLiteral("rotation");
|
||||
|
||||
const QString VAbstractPattern::AttrName = QStringLiteral("name");
|
||||
const QString VAbstractPattern::AttrVisible = QStringLiteral("visible");
|
||||
|
@ -1157,6 +1158,27 @@ void VAbstractPattern::SetFontSize(int iFS)
|
|||
emit patternChanged(false);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
qreal VAbstractPattern::GetRotation() const
|
||||
{
|
||||
bool bOK;
|
||||
qreal dRot = UniqueTagText(TagLabelRot).toDouble(&bOK);
|
||||
if (bOK == false)
|
||||
{
|
||||
dRot = 0;
|
||||
}
|
||||
return dRot;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VAbstractPattern::SetRotation(qreal dRot)
|
||||
{
|
||||
CheckTagExists(TagLabelRot);
|
||||
setTagText(TagLabelRot, QString::number(dRot, 'f', 3));
|
||||
modified = true;
|
||||
emit patternChanged(false);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QString VAbstractPattern::GetImage() const
|
||||
{
|
||||
|
@ -1283,7 +1305,7 @@ QDomElement VAbstractPattern::CheckTagExists(const QString &tag)
|
|||
const QStringList tags = QStringList() << TagUnit << TagImage << TagAuthor << TagDescription << TagNotes
|
||||
<< TagGradation << TagPatternName << TagPatternNum << TagCompanyName
|
||||
<< TagCustomerName << TagCreationDate << TagLabelPos << TagLabelSize
|
||||
<< TagLabelFont;
|
||||
<< TagLabelFont << TagLabelRot;
|
||||
switch (tags.indexOf(tag))
|
||||
{
|
||||
case 0: //TagUnit
|
||||
|
@ -1365,6 +1387,12 @@ QDomElement VAbstractPattern::CheckTagExists(const QString &tag)
|
|||
break;
|
||||
}
|
||||
|
||||
case 14:
|
||||
{
|
||||
element = createElement(TagLabelRot);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
return QDomElement();
|
||||
|
|
|
@ -123,6 +123,8 @@ public:
|
|||
void SetLabelSize(QSizeF sz);
|
||||
int GetFontSize() const;
|
||||
void SetFontSize(int iFS);
|
||||
qreal GetRotation() const;
|
||||
void SetRotation(qreal dRot);
|
||||
|
||||
QString GetImage() const;
|
||||
QString GetImageExtension() const;
|
||||
|
@ -182,6 +184,7 @@ public:
|
|||
static const QString TagLabelPos;
|
||||
static const QString TagLabelSize;
|
||||
static const QString TagLabelFont;
|
||||
static const QString TagLabelRot;
|
||||
|
||||
static const QString AttrName;
|
||||
static const QString AttrVisible;
|
||||
|
|
|
@ -35,6 +35,7 @@ VPatternPieceData::VPatternPieceData() :
|
|||
m_iFontSize = MIN_FONT_SIZE;
|
||||
// 0 means unknown width
|
||||
m_dLabelWidth = 0;
|
||||
m_dRotation = 0;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -169,4 +170,16 @@ void VPatternPieceData::SetFontSize(int iSize)
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
qreal VPatternPieceData::GetRotation() const
|
||||
{
|
||||
return m_dRotation;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VPatternPieceData::SetRotation(qreal dRot)
|
||||
{
|
||||
m_dRotation = dRot;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -93,6 +93,8 @@ public:
|
|||
void SetLabelHeight(qreal dLabelH);
|
||||
int GetFontSize() const;
|
||||
void SetFontSize(int iSize);
|
||||
qreal GetRotation() const;
|
||||
void SetRotation(qreal dRot);
|
||||
|
||||
private:
|
||||
/** @brief Pattern piece name
|
||||
|
@ -116,6 +118,9 @@ private:
|
|||
/** @brief Label font size
|
||||
*/
|
||||
int m_iFontSize;
|
||||
/** @brief Label rotation
|
||||
*/
|
||||
qreal m_dRotation;
|
||||
};
|
||||
|
||||
#endif // VPATTERNPIECEDATA_H
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
|
||||
#define RESIZE_SQUARE 30
|
||||
#define ROTATE_CIRCLE 20
|
||||
#define ROTATE_RECT 60
|
||||
#define ROTATE_ARC 50
|
||||
#define MIN_W 120
|
||||
#define MIN_H 60
|
||||
#define MIN_FONT_SIZE 12
|
||||
|
@ -71,6 +73,7 @@ void VTextGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem
|
|||
{
|
||||
Q_UNUSED(widget);
|
||||
painter->fillRect(option->rect, QColor(251, 251, 175));
|
||||
painter->setRenderHints(QPainter::Antialiasing);
|
||||
|
||||
// draw text lines
|
||||
int iY = 0;
|
||||
|
@ -117,6 +120,16 @@ void VTextGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem
|
|||
ROTATE_CIRCLE,
|
||||
ROTATE_CIRCLE
|
||||
);
|
||||
painter->setPen(QPen(Qt::black, 3));
|
||||
painter->setBrush(Qt::NoBrush);
|
||||
int iTop = ROTATE_RECT - ROTATE_ARC;
|
||||
int iLeft = ROTATE_RECT - ROTATE_ARC;
|
||||
int iRight = m_rectBoundingBox.width() - ROTATE_RECT;
|
||||
int iBottom = m_rectBoundingBox.height() - ROTATE_RECT;
|
||||
painter->drawArc(iLeft, iTop, ROTATE_ARC, ROTATE_ARC, 180*16, -90*16);
|
||||
painter->drawArc(iRight, iTop, ROTATE_ARC, ROTATE_ARC, 90*16, -90*16);
|
||||
painter->drawArc(iLeft, iBottom, ROTATE_ARC, ROTATE_ARC, 270*16, -90*16);
|
||||
painter->drawArc(iRight, iBottom, ROTATE_ARC, ROTATE_ARC, 0*16, -90*16);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -124,7 +137,7 @@ void VTextGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VTextGraphicsItem::Reset()
|
||||
{
|
||||
return;
|
||||
qDebug() << "RESET" << m_eMode << m_liLines.count();
|
||||
m_eMode = mNormal;
|
||||
m_bReleased = false;
|
||||
Update();
|
||||
|
@ -163,6 +176,7 @@ void VTextGraphicsItem::SetSize(qreal fW, qreal fH)
|
|||
m_rectResize.setTopLeft(QPointF(fW - RESIZE_SQUARE, fH - RESIZE_SQUARE));
|
||||
m_rectResize.setWidth(RESIZE_SQUARE);
|
||||
m_rectResize.setHeight(RESIZE_SQUARE);
|
||||
setTransformOriginPoint(m_rectBoundingBox.center());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -172,6 +186,12 @@ void VTextGraphicsItem::Update()
|
|||
UpdateBox();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
int VTextGraphicsItem::GetFontSize() const
|
||||
{
|
||||
return m_font.pixelSize();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QRectF VTextGraphicsItem::boundingRect() const
|
||||
{
|
||||
|
@ -183,7 +203,6 @@ void VTextGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *pME)
|
|||
{
|
||||
if (pME->button() == Qt::LeftButton)
|
||||
{
|
||||
qDebug() << "PRESS" << m_eMode;
|
||||
m_ptStartPos = pos();
|
||||
m_ptStart = pME->scenePos();
|
||||
m_szStart = m_rectBoundingBox.size();
|
||||
|
@ -202,7 +221,7 @@ void VTextGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *pME)
|
|||
}
|
||||
setZValue(3);
|
||||
UpdateBox();
|
||||
qDebug() << "PRESS finished" << m_eMode;
|
||||
qDebug() << "PRESS" << m_eMode << m_liLines.count();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -212,7 +231,6 @@ void VTextGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent* pME)
|
|||
QPointF ptDiff = pME->scenePos() - m_ptStart;
|
||||
if (m_eMode == mMove)
|
||||
{
|
||||
//moveBy(ptDiff.x(), ptDiff.y());
|
||||
setPos(m_ptStartPos + ptDiff);
|
||||
UpdateBox();
|
||||
}
|
||||
|
@ -231,6 +249,7 @@ void VTextGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent* pME)
|
|||
}
|
||||
double dAng = 180*(GetAngle(pME->scenePos()) - m_dAngle)/M_PI;
|
||||
setRotation(m_dRotation + dAng);
|
||||
emit SignalRotated(rotation());
|
||||
Update();
|
||||
}
|
||||
}
|
||||
|
@ -243,7 +262,7 @@ void VTextGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* pME)
|
|||
double dDist = fabs(pME->scenePos().x() - m_ptStart.x()) + fabs(pME->scenePos().y() - m_ptStart.y());
|
||||
bool bShort = (dDist < 2);
|
||||
|
||||
qDebug() << "RELEASE" << m_eMode << dDist;
|
||||
qDebug() << "RELEASE" << m_eMode << dDist << m_liLines.count();
|
||||
|
||||
if (m_eMode == mMove || m_eMode == mResize)
|
||||
{ // when released in mMove or mResize mode
|
||||
|
@ -280,6 +299,7 @@ void VTextGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* pME)
|
|||
}
|
||||
}
|
||||
m_bReleased = true;
|
||||
qDebug() << "RELEASE finished" << m_eMode << m_liLines.count();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ public:
|
|||
|
||||
void Reset();
|
||||
|
||||
int GetFontSize() const;
|
||||
QRectF boundingRect() const;
|
||||
void AddLine(const TextLine& tl);
|
||||
void Clear();
|
||||
|
|
|
@ -57,6 +57,7 @@ const QString VToolDetail::AttrHeight = QStringLiteral("height");
|
|||
const QString VToolDetail::AttrNodeType = QStringLiteral("nodeType");
|
||||
const QString VToolDetail::AttrReverse = QStringLiteral("reverse");
|
||||
const QString VToolDetail::AttrFont = QStringLiteral("fontSize");
|
||||
const QString VToolDetail::AttrRotation = QStringLiteral("rotation");
|
||||
|
||||
const QString VToolDetail::NodeTypeContour = QStringLiteral("Contour");
|
||||
const QString VToolDetail::NodeTypeModeling = QStringLiteral("Modeling");
|
||||
|
@ -118,7 +119,7 @@ VToolDetail::VToolDetail(VAbstractPattern *doc, VContainer *data, const quint32
|
|||
this->setFlag(QGraphicsItem::ItemIsFocusable, true);// For keyboard input focus
|
||||
|
||||
connect(scene, &VMainGraphicsScene::EnableToolMove, this, &VToolDetail::EnableToolMove);
|
||||
connect(scene, &VMainGraphicsScene::MouseLeftPressed, this, &VToolDetail::ResetChildren);
|
||||
connect(scene, &VMainGraphicsScene::ItemClicked, this, &VToolDetail::ResetChildren);
|
||||
if (typeCreation == Source::FromGui || typeCreation == Source::FromTool)
|
||||
{
|
||||
AddToFile();
|
||||
|
@ -131,10 +132,12 @@ VToolDetail::VToolDetail(VAbstractPattern *doc, VContainer *data, const quint32
|
|||
|
||||
connect(dataLabel, &VTextGraphicsItem::SignalMoved, this, &VToolDetail::SaveMoveDetail);
|
||||
connect(dataLabel, &VTextGraphicsItem::SignalResized, this, &VToolDetail::SaveResizeDetail);
|
||||
connect(dataLabel, &VTextGraphicsItem::SignalRotated, this, &VToolDetail::SaveRotationDetail);
|
||||
connect(dataLabel, &VTextGraphicsItem::SignalShrink, this, &VToolDetail::UpdateAll);
|
||||
|
||||
connect(patternInfo, &VTextGraphicsItem::SignalMoved, this, &VToolDetail::SaveMovePattern);
|
||||
connect(patternInfo, &VTextGraphicsItem::SignalResized, this, &VToolDetail::SaveResizePattern);
|
||||
connect(patternInfo, &VTextGraphicsItem::SignalRotated, this, &VToolDetail::SaveRotationPattern);
|
||||
connect(patternInfo, &VTextGraphicsItem::SignalShrink, this, &VToolDetail::UpdateAll);
|
||||
connect(doc, &VAbstractPattern::patternChanged, this, &VToolDetail::UpdatePatternInfo);
|
||||
|
||||
|
@ -356,6 +359,7 @@ void VToolDetail::AddToFile()
|
|||
doc->SetAttribute(domData, AttrWidth, data.GetLabelWidth());
|
||||
doc->SetAttribute(domData, AttrHeight, data.GetLabelHeight());
|
||||
doc->SetAttribute(domData, AttrFont, data.GetFontSize());
|
||||
doc->SetAttribute(domData, AttrRotation, data.GetRotation());
|
||||
|
||||
for (int i = 0; i < data.GetMCPCount(); ++i)
|
||||
{
|
||||
|
@ -404,6 +408,7 @@ void VToolDetail::RefreshDataInFile()
|
|||
doc->SetAttribute(domData, AttrWidth, data.GetLabelWidth());
|
||||
doc->SetAttribute(domData, AttrHeight, data.GetLabelHeight());
|
||||
doc->SetAttribute(domData, AttrFont, data.GetFontSize());
|
||||
doc->SetAttribute(domData, AttrRotation, data.GetRotation());
|
||||
|
||||
for (int i = 0; i < data.GetMCPCount(); ++i)
|
||||
{
|
||||
|
@ -650,11 +655,10 @@ void VToolDetail::UpdateLabel()
|
|||
{
|
||||
const VDetail detail = VAbstractTool::data.GetDetail(id);
|
||||
|
||||
qDebug() << "Update label";
|
||||
const VPatternPieceData& data = detail.GetPatternPieceData();
|
||||
if (data.GetLetter().isEmpty() == false || data.GetName().isEmpty() == false || data.GetMCPCount() > 0)
|
||||
{
|
||||
dataLabel->Reset();
|
||||
//dataLabel->Reset();
|
||||
|
||||
QString qsText = "Cut %1 of %2%3";
|
||||
QStringList qslPlace;
|
||||
|
@ -688,6 +692,7 @@ void VToolDetail::UpdateLabel()
|
|||
}
|
||||
|
||||
dataLabel->setPos(data.GetPos());
|
||||
dataLabel->setRotation(data.GetRotation());
|
||||
dataLabel->Update();
|
||||
dataLabel->show();
|
||||
}
|
||||
|
@ -703,7 +708,7 @@ void VToolDetail::UpdateLabel()
|
|||
*/
|
||||
void VToolDetail::UpdatePatternInfo()
|
||||
{
|
||||
patternInfo->Reset();
|
||||
//patternInfo->Reset();
|
||||
QFont fnt = qApp->font();
|
||||
int iFS = doc->GetFontSize();
|
||||
if (iFS < MIN_FONT_SIZE)
|
||||
|
@ -748,6 +753,7 @@ void VToolDetail::UpdatePatternInfo()
|
|||
patternInfo->AddLine(tl);
|
||||
|
||||
patternInfo->setPos(doc->GetLabelPosition());
|
||||
patternInfo->setRotation(doc->GetRotation());
|
||||
patternInfo->Update();
|
||||
}
|
||||
|
||||
|
@ -761,6 +767,11 @@ void VToolDetail::SaveMoveDetail(QPointF ptPos)
|
|||
VDetail oldDet = VAbstractTool::data.GetDetail(id);
|
||||
VDetail newDet = oldDet;
|
||||
newDet.GetPatternPieceData().SetPos(ptPos);
|
||||
newDet.GetPatternPieceData().SetLabelWidth(dataLabel->boundingRect().width());
|
||||
newDet.GetPatternPieceData().SetLabelHeight(dataLabel->boundingRect().height());
|
||||
newDet.GetPatternPieceData().SetFontSize(dataLabel->GetFontSize());
|
||||
newDet.GetPatternPieceData().SetRotation(dataLabel->rotation());
|
||||
|
||||
SaveDetailOptions* moveCommand = new SaveDetailOptions(oldDet, newDet, doc, id, this->scene());
|
||||
moveCommand->setText(tr("move pattern piece label"));
|
||||
connect(moveCommand, &SaveDetailOptions::NeedLiteParsing, doc, &VAbstractPattern::LiteParseTree);
|
||||
|
@ -778,12 +789,35 @@ void VToolDetail::SaveResizeDetail(qreal dLabelW, int iFontSize)
|
|||
newDet.GetPatternPieceData().SetLabelWidth(dLabelW);
|
||||
newDet.GetPatternPieceData().SetLabelHeight(dataLabel->boundingRect().height());
|
||||
newDet.GetPatternPieceData().SetFontSize(iFontSize);
|
||||
newDet.GetPatternPieceData().SetRotation(dataLabel->rotation());
|
||||
SaveDetailOptions* resizeCommand = new SaveDetailOptions(oldDet, newDet, doc, id, this->scene());
|
||||
resizeCommand->setText(tr("resize pattern piece label"));
|
||||
connect(resizeCommand, &SaveDetailOptions::NeedLiteParsing, doc, &VAbstractPattern::LiteParseTree);
|
||||
qApp->getUndoStack()->push(resizeCommand);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief SaveRotationDetail saves the rotation detail label operation to the undo stack
|
||||
*/
|
||||
void VToolDetail::SaveRotationDetail(qreal dRot)
|
||||
{
|
||||
qDebug() << "SAVEROTATION" << dRot;
|
||||
VDetail oldDet = VAbstractTool::data.GetDetail(id);
|
||||
VDetail newDet = oldDet;
|
||||
newDet.GetPatternPieceData().SetPos(dataLabel->pos());
|
||||
newDet.GetPatternPieceData().SetLabelWidth(dataLabel->boundingRect().width());
|
||||
newDet.GetPatternPieceData().SetLabelHeight(dataLabel->boundingRect().height());
|
||||
newDet.GetPatternPieceData().SetFontSize(dataLabel->GetFontSize());
|
||||
newDet.GetPatternPieceData().SetRotation(dRot);
|
||||
|
||||
SaveDetailOptions* rotateCommand = new SaveDetailOptions(oldDet, newDet, doc, id, this->scene());
|
||||
rotateCommand->setText(tr("rotate pattern piece label"));
|
||||
connect(rotateCommand, &SaveDetailOptions::NeedLiteParsing, doc, &VAbstractPattern::LiteParseTree);
|
||||
qApp->getUndoStack()->push(rotateCommand);
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief SaveMovePattern saves the pattern label position
|
||||
|
@ -804,6 +838,13 @@ void VToolDetail::SaveResizePattern(qreal dLabelW, int iFontSize)
|
|||
doc->SetFontSize(iFontSize);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VToolDetail::SaveRotationPattern(qreal dRot)
|
||||
{
|
||||
doc->SetRotation(dRot);
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief AddNode add node to the file.
|
||||
|
@ -953,10 +994,17 @@ void VToolDetail::AllowSelecting(bool enabled)
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VToolDetail::ResetChildren()
|
||||
void VToolDetail::ResetChildren(QGraphicsItem *pItem)
|
||||
{
|
||||
dataLabel->Reset();
|
||||
patternInfo->Reset();
|
||||
VTextGraphicsItem* pVGI = dynamic_cast<VTextGraphicsItem*>(pItem);
|
||||
if (pVGI != dataLabel)
|
||||
{
|
||||
dataLabel->Reset();
|
||||
}
|
||||
if (pVGI != patternInfo)
|
||||
{
|
||||
patternInfo->Reset();
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -73,6 +73,7 @@ public:
|
|||
static const QString AttrNodeType;
|
||||
static const QString AttrReverse;
|
||||
static const QString AttrFont;
|
||||
static const QString AttrRotation;
|
||||
static const QString NodeTypeContour;
|
||||
static const QString NodeTypeModeling;
|
||||
static const QString NodeArc;
|
||||
|
@ -92,7 +93,7 @@ public slots:
|
|||
void EnableToolMove(bool move);
|
||||
virtual void AllowHover(bool enabled) Q_DECL_OVERRIDE;
|
||||
virtual void AllowSelecting(bool enabled) Q_DECL_OVERRIDE;
|
||||
virtual void ResetChildren();
|
||||
virtual void ResetChildren(QGraphicsItem* pItem);
|
||||
virtual void UpdateAll();
|
||||
protected:
|
||||
virtual void AddToFile () Q_DECL_OVERRIDE;
|
||||
|
@ -112,8 +113,10 @@ protected slots:
|
|||
virtual void UpdatePatternInfo();
|
||||
virtual void SaveMoveDetail(QPointF ptPos);
|
||||
virtual void SaveResizeDetail(qreal dLabelW, int iFontSize);
|
||||
virtual void SaveRotationDetail(qreal dRot);
|
||||
virtual void SaveMovePattern(QPointF ptPos);
|
||||
virtual void SaveResizePattern(qreal dLabelW, int iFontSize);
|
||||
virtual void SaveRotationPattern(qreal dRot);
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(VToolDetail)
|
||||
|
|
|
@ -142,6 +142,8 @@ void SaveDetailOptions::SavePatternPieceData(QDomElement &domElement, const VDet
|
|||
doc->SetAttribute(domData, VToolDetail::AttrWidth, data.GetLabelWidth());
|
||||
doc->SetAttribute(domData, VToolDetail::AttrHeight, data.GetLabelHeight());
|
||||
doc->SetAttribute(domData, VToolDetail::AttrFont, data.GetFontSize());
|
||||
doc->SetAttribute(domData, VToolDetail::AttrRotation, data.GetRotation());
|
||||
|
||||
for (int i = 0; i < data.GetMCPCount(); ++i)
|
||||
{
|
||||
MaterialCutPlacement mcp = data.GetMCP(i);
|
||||
|
|
|
@ -80,6 +80,10 @@ void VMainGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
|||
}
|
||||
|
||||
QGraphicsScene::mousePressEvent(event);
|
||||
|
||||
QTransform t;
|
||||
QGraphicsItem* pItem = itemAt(event->scenePos(), t);
|
||||
emit ItemClicked(pItem);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -93,6 +93,7 @@ signals:
|
|||
|
||||
void MouseLeftPressed();
|
||||
void MouseLeftReleased();
|
||||
void ItemClicked(QGraphicsItem* pItem);
|
||||
|
||||
/**
|
||||
* @brief ChoosedObject send option choosed object.
|
||||
|
|
Loading…
Reference in New Issue
Block a user