Removed redundant calls UpdateGObject(). Undocommand for piece label.
--HG-- branch : feature
This commit is contained in:
parent
89a2323944
commit
7fce20c98e
|
@ -86,7 +86,7 @@ void VAbstractOperation::paint(QPainter *painter, const QStyleOptionGraphicsItem
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VAbstractOperation::DoChangePosition(quint32 id, const QPointF &pos)
|
||||
void VAbstractOperation::ChangeLabelPosition(quint32 id, const QPointF &pos)
|
||||
{
|
||||
if (operatedObjects.contains(id))
|
||||
{
|
||||
|
@ -98,7 +98,6 @@ void VAbstractOperation::DoChangePosition(quint32 id, const QPointF &pos)
|
|||
QSharedPointer<VPointF> point = VAbstractTool::data.GeometricObject<VPointF>(id);
|
||||
point->setMx(pos.x());
|
||||
point->setMy(pos.y());
|
||||
VAbstractTool::data.UpdateGObject(id, point);
|
||||
item->RefreshPointGeometry(*(point.data()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,7 +87,7 @@ public:
|
|||
|
||||
virtual void GroupVisibility(quint32 object, bool visible) Q_DECL_OVERRIDE;
|
||||
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) Q_DECL_OVERRIDE;
|
||||
virtual void DoChangePosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE;
|
||||
virtual void ChangeLabelPosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE;
|
||||
|
||||
virtual bool IsLabelVisible(quint32 id) const Q_DECL_OVERRIDE;
|
||||
virtual void SetLabelVisible(quint32 id, bool visible) Q_DECL_OVERRIDE;
|
||||
|
|
|
@ -220,14 +220,13 @@ void VToolDoublePoint::FullUpdateFromFile()
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VToolDoublePoint::DoChangePosition(quint32 id, const QPointF &pos)
|
||||
void VToolDoublePoint::ChangeLabelPosition(quint32 id, const QPointF &pos)
|
||||
{
|
||||
if (id == p1id)
|
||||
{
|
||||
QSharedPointer<VPointF> point = VAbstractTool::data.GeometricObject<VPointF>(p1id);
|
||||
point->setMx(pos.x());
|
||||
point->setMy(pos.y());
|
||||
VAbstractTool::data.UpdateGObject(p1id, point);
|
||||
firstPoint->RefreshPointGeometry(*(point.data()));
|
||||
}
|
||||
else if (id == p2id)
|
||||
|
@ -235,7 +234,6 @@ void VToolDoublePoint::DoChangePosition(quint32 id, const QPointF &pos)
|
|||
QSharedPointer<VPointF> point = VAbstractTool::data.GeometricObject<VPointF>(p2id);
|
||||
point->setMx(pos.x());
|
||||
point->setMy(pos.y());
|
||||
VAbstractTool::data.UpdateGObject(p2id, point);
|
||||
secondPoint->RefreshPointGeometry(*(point.data()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ public:
|
|||
void setNameP2(const QString &name);
|
||||
|
||||
virtual void GroupVisibility(quint32 object, bool visible) Q_DECL_OVERRIDE;
|
||||
virtual void DoChangePosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE;
|
||||
virtual void ChangeLabelPosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE;
|
||||
|
||||
virtual bool IsLabelVisible(quint32 id) const Q_DECL_OVERRIDE;
|
||||
virtual void SetLabelVisible(quint32 id, bool visible) Q_DECL_OVERRIDE;
|
||||
|
|
|
@ -324,14 +324,13 @@ void VToolSinglePoint::ChangeLabelVisibility(quint32 id, bool visible)
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VToolSinglePoint::DoChangePosition(quint32 id, const QPointF &pos)
|
||||
void VToolSinglePoint::ChangeLabelPosition(quint32 id, const QPointF &pos)
|
||||
{
|
||||
if (id == m_id)
|
||||
{
|
||||
QSharedPointer<VPointF> point = VAbstractTool::data.GeometricObject<VPointF>(id);
|
||||
point->setMx(pos.x());
|
||||
point->setMy(pos.y());
|
||||
VAbstractTool::data.UpdateGObject(id, point);
|
||||
m_namePoint->blockSignals(true);
|
||||
m_namePoint->setPos(pos);
|
||||
m_namePoint->blockSignals(false);
|
||||
|
|
|
@ -79,7 +79,7 @@ public:
|
|||
void SetEnabled(bool enabled);
|
||||
|
||||
virtual void GroupVisibility(quint32 object, bool visible) Q_DECL_OVERRIDE;
|
||||
virtual void DoChangePosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE;
|
||||
virtual void ChangeLabelPosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE;
|
||||
|
||||
virtual bool IsLabelVisible(quint32 id) const Q_DECL_OVERRIDE;
|
||||
virtual void SetLabelVisible(quint32 id, bool visible) Q_DECL_OVERRIDE;
|
||||
|
|
|
@ -269,10 +269,3 @@ void VDrawTool::SetLabelVisible(quint32 id, bool visible)
|
|||
Q_UNUSED(id)
|
||||
Q_UNUSED(visible)
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VDrawTool::DoChangePosition(quint32 id, const QPointF &pos)
|
||||
{
|
||||
Q_UNUSED(id)
|
||||
Q_UNUSED(pos)
|
||||
}
|
||||
|
|
|
@ -69,7 +69,6 @@ public:
|
|||
|
||||
virtual bool IsLabelVisible(quint32 id) const;
|
||||
virtual void SetLabelVisible(quint32 id, bool visible);
|
||||
virtual void DoChangePosition(quint32 id, const QPointF &pos);
|
||||
|
||||
signals:
|
||||
void ChangedToolSelection(bool selected, quint32 object, quint32 tool);
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
#include "../vabstracttool.h"
|
||||
#include "../vdatatool.h"
|
||||
#include "vabstractnode.h"
|
||||
#include "../../undocommands/label/movelabel.h"
|
||||
|
||||
const QString VNodePoint::ToolType = QStringLiteral("modeling");
|
||||
|
||||
|
@ -126,6 +127,21 @@ QString VNodePoint::getTagName() const
|
|||
return VAbstractPattern::TagPoint;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VNodePoint::ChangeLabelPosition(quint32 id, const QPointF &pos)
|
||||
{
|
||||
if (id == m_id)
|
||||
{
|
||||
QSharedPointer<VPointF> point = VAbstractTool::data.GeometricObject<VPointF>(id);
|
||||
point->setMx(pos.x());
|
||||
point->setMy(pos.y());
|
||||
m_namePoint->blockSignals(true);
|
||||
m_namePoint->setPos(pos);
|
||||
m_namePoint->blockSignals(false);
|
||||
RefreshLine();
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VNodePoint::PointChoosed()
|
||||
{
|
||||
|
@ -199,30 +215,7 @@ void VNodePoint::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
|||
*/
|
||||
void VNodePoint::NameChangePosition(const QPointF &pos)
|
||||
{
|
||||
VPointF *point = new VPointF(*VAbstractTool::data.GeometricObject<VPointF>(m_id));
|
||||
QPointF p = pos - this->pos();
|
||||
point->setMx(p.x());
|
||||
point->setMy(p.y());
|
||||
RefreshLine();
|
||||
UpdateNamePosition(point->mx(), point->my());
|
||||
VAbstractTool::data.UpdateGObject(m_id, point);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief UpdateNamePosition update label position in file.
|
||||
* @param mx label bias x axis.
|
||||
* @param my label bias y axis.
|
||||
*/
|
||||
void VNodePoint::UpdateNamePosition(qreal mx, qreal my)
|
||||
{
|
||||
QDomElement domElement = doc->elementById(m_id, getTagName());
|
||||
if (domElement.isElement())
|
||||
{
|
||||
doc->SetAttribute(domElement, AttrMx, QString().setNum(qApp->fromPixel(mx)));
|
||||
doc->SetAttribute(domElement, AttrMy, QString().setNum(qApp->fromPixel(my)));
|
||||
emit toolhaveChange();
|
||||
}
|
||||
qApp->getUndoStack()->push(new MoveLabel(doc, pos - this->pos(), m_id));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -57,6 +57,8 @@ public:
|
|||
enum { Type = UserType + static_cast<int>(Tool::NodePoint)};
|
||||
virtual QString getTagName() const Q_DECL_OVERRIDE;
|
||||
|
||||
virtual void ChangeLabelPosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE;
|
||||
|
||||
signals:
|
||||
/**
|
||||
* @brief ShowContextMenu emit when need show tool context menu.
|
||||
|
@ -77,7 +79,6 @@ protected:
|
|||
virtual void AddToFile() Q_DECL_OVERRIDE;
|
||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * event ) Q_DECL_OVERRIDE;
|
||||
virtual void UpdateNamePosition(qreal mx, qreal my);
|
||||
virtual void ShowNode() Q_DECL_OVERRIDE;
|
||||
virtual void HideNode() Q_DECL_OVERRIDE;
|
||||
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) Q_DECL_OVERRIDE;
|
||||
|
|
|
@ -397,6 +397,13 @@ QMap<QString, quint32> VAbstractTool::PointsList() const
|
|||
return list;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VAbstractTool::ChangeLabelPosition(quint32 id, const QPointF &pos)
|
||||
{
|
||||
Q_UNUSED(id)
|
||||
Q_UNUSED(pos)
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VAbstractTool::ToolSelectionType(const SelectionType &type)
|
||||
{
|
||||
|
|
|
@ -108,6 +108,7 @@ public:
|
|||
QMap<QString, quint32> PointsList() const;
|
||||
virtual QString getTagName() const =0;
|
||||
virtual void ShowVisualization(bool show) =0;
|
||||
virtual void ChangeLabelPosition(quint32 id, const QPointF &pos);
|
||||
|
||||
template<typename T>
|
||||
static quint32 CreateNode(VContainer *data, quint32 id);
|
||||
|
|
|
@ -146,7 +146,7 @@ void MoveDoubleLabel::Do(const QPointF &pos)
|
|||
|
||||
if (VDrawTool *tool = qobject_cast<VDrawTool *>(VAbstractPattern::getTool(m_idTool)))
|
||||
{
|
||||
tool->DoChangePosition(nodeId, pos);
|
||||
tool->ChangeLabelPosition(nodeId, pos);
|
||||
}
|
||||
VMainGraphicsView::NewSceneRect(m_scene, qApp->getSceneView());
|
||||
}
|
||||
|
|
|
@ -37,7 +37,8 @@
|
|||
#include "../vmisc/vabstractapplication.h"
|
||||
#include "../vundocommand.h"
|
||||
#include "moveabstractlabel.h"
|
||||
#include "../vtools/tools/drawTools/vdrawtool.h"
|
||||
#include "../vtools/tools/vabstracttool.h"
|
||||
#include "../vwidgets/vmaingraphicsview.h"
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
MoveLabel::MoveLabel(VAbstractPattern *doc, const QPointF &pos, const quint32 &id, QUndoCommand *parent)
|
||||
|
@ -97,9 +98,9 @@ void MoveLabel::Do(const QPointF &pos)
|
|||
doc->SetAttribute(domElement, AttrMx, QString().setNum(qApp->fromPixel(pos.x())));
|
||||
doc->SetAttribute(domElement, AttrMy, QString().setNum(qApp->fromPixel(pos.y())));
|
||||
|
||||
if (VDrawTool *tool = qobject_cast<VDrawTool *>(VAbstractPattern::getTool(nodeId)))
|
||||
if (VAbstractTool *tool = qobject_cast<VAbstractTool *>(VAbstractPattern::getTool(nodeId)))
|
||||
{
|
||||
tool->DoChangePosition(nodeId, pos);
|
||||
tool->ChangeLabelPosition(nodeId, pos);
|
||||
}
|
||||
VMainGraphicsView::NewSceneRect(m_scene, qApp->getSceneView());
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ void OperationMoveLabel::Do(const QPointF &pos)
|
|||
|
||||
if (VDrawTool *tool = qobject_cast<VDrawTool *>(VAbstractPattern::getTool(m_idTool)))
|
||||
{
|
||||
tool->DoChangePosition(nodeId, pos);
|
||||
tool->ChangeLabelPosition(nodeId, pos);
|
||||
}
|
||||
VMainGraphicsView::NewSceneRect(m_scene, qApp->getSceneView());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user