diff --git a/src/libs/vtools/tools/nodeDetails/vabstractnode.cpp b/src/libs/vtools/tools/nodeDetails/vabstractnode.cpp index 88199a6ec..8b883f58f 100644 --- a/src/libs/vtools/tools/nodeDetails/vabstractnode.cpp +++ b/src/libs/vtools/tools/nodeDetails/vabstractnode.cpp @@ -63,7 +63,15 @@ void VAbstractNode::incrementReferens() ++_referens; if (_referens == 1) { - idTool != NULL_ID ? doc->IncrementReferens(idTool) : doc->IncrementReferens(idNode); + if (idTool != NULL_ID) + { + doc->IncrementReferens(idTool); + } + else + { + const QSharedPointer node = VAbstractTool::data.GetGObject(idNode); + doc->IncrementReferens(node->getIdTool()); + } ShowNode(); QDomElement domElement = doc->elementById(id); if (domElement.isElement()) @@ -85,7 +93,15 @@ void VAbstractNode::decrementReferens() } if (_referens == 0) { - idTool != NULL_ID ? doc->DecrementReferens(idTool) : doc->DecrementReferens(idNode); + if (idTool != NULL_ID) + { + doc->DecrementReferens(idTool); + } + else + { + const QSharedPointer node = VAbstractTool::data.GetGObject(idNode); + doc->DecrementReferens(node->getIdTool()); + } HideNode(); QDomElement domElement = doc->elementById(id); if (domElement.isElement()) diff --git a/src/libs/vtools/tools/nodeDetails/vabstractnode.h b/src/libs/vtools/tools/nodeDetails/vabstractnode.h index 4272514da..b12e1aa29 100644 --- a/src/libs/vtools/tools/nodeDetails/vabstractnode.h +++ b/src/libs/vtools/tools/nodeDetails/vabstractnode.h @@ -47,8 +47,9 @@ public: virtual ~VAbstractNode() Q_DECL_OVERRIDE {} static const QString AttrIdTool; virtual void ShowVisualization(bool show) Q_DECL_OVERRIDE; - virtual void incrementReferens() Q_DECL_OVERRIDE; - virtual void decrementReferens() Q_DECL_OVERRIDE; + + void incrementReferens(); + void decrementReferens(); ParentType GetParentType() const; void SetParentType(const ParentType &value); diff --git a/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp b/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp index 67345803d..67cab4032 100644 --- a/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp +++ b/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp @@ -121,57 +121,6 @@ QString VNodePoint::getTagName() const return VAbstractPattern::TagPoint; } -//--------------------------------------------------------------------------------------------------------------------- -void VNodePoint::incrementReferens() -{ - ++_referens; - if (_referens == 1) - { - if (idTool != NULL_ID) - { - doc->IncrementReferens(idTool); - } - else - { - const QSharedPointer point = VAbstractTool::data.GeometricObject(idNode); - doc->IncrementReferens(point->getIdTool()); - } - ShowNode(); - QDomElement domElement = doc->elementById(id); - if (domElement.isElement()) - { - doc->SetParametrUsage(domElement, AttrInUse, NodeUsage::InUse); - } - } -} - -//--------------------------------------------------------------------------------------------------------------------- -void VNodePoint::decrementReferens() -{ - if (_referens > 0) - { - --_referens; - } - if (_referens == 0) - { - if (idTool != NULL_ID) - { - doc->DecrementReferens(idTool); - } - else - { - const QSharedPointer point = VAbstractTool::data.GeometricObject(idNode); - doc->DecrementReferens(point->getIdTool()); - } - HideNode(); - QDomElement domElement = doc->elementById(id); - if (domElement.isElement()) - { - doc->SetParametrUsage(domElement, AttrInUse, NodeUsage::NotInUse); - } - } -} - //--------------------------------------------------------------------------------------------------------------------- void VNodePoint::PointChoosed() { diff --git a/src/libs/vtools/tools/nodeDetails/vnodepoint.h b/src/libs/vtools/tools/nodeDetails/vnodepoint.h index f2074f7b7..727e8c8f0 100644 --- a/src/libs/vtools/tools/nodeDetails/vnodepoint.h +++ b/src/libs/vtools/tools/nodeDetails/vnodepoint.h @@ -53,8 +53,6 @@ public: enum { Type = UserType + static_cast(Tool::NodePoint)}; virtual QString getTagName() const Q_DECL_OVERRIDE; - virtual void incrementReferens() Q_DECL_OVERRIDE; - virtual void decrementReferens() Q_DECL_OVERRIDE; public slots: virtual void FullUpdateFromFile() Q_DECL_OVERRIDE; void NameChangePosition(const QPointF &pos);