/** * @brief AddNode add node to the file. * @param dom document container * @param domElement tag in xml tree. * @param node node of detail. */ void VToolDetail::AddNode(VPattern *doc, QDomElement &domElement, const VNodeDetail &node) { QDomElement nod = doc->createElement(TagNode); doc->SetAttribute(nod, AttrIdObject, node.getId()); doc->SetAttribute(nod, AttrMx, qApp->fromPixel(node.getMx())); doc->SetAttribute(nod, AttrMy, qApp->fromPixel(node.getMy())); if (node.getTypeNode() == NodeDetail::Contour) { doc->SetAttribute(nod, AttrNodeType, NodeTypeContour); } else { doc->SetAttribute(nod, AttrNodeType, NodeTypeModeling); } switch (node.getTypeTool()) { case (Tool::NodeArc): doc->SetAttribute(nod, AttrType, NodeArc); break; case (Tool::NodePoint): doc->SetAttribute(nod, AttrType, NodePoint); break; case (Tool::NodeSpline): doc->SetAttribute(nod, AttrType, NodeSpline); break; case (Tool::NodeSplinePath): doc->SetAttribute(nod, AttrType, NodeSplinePath); break; default: qDebug()<<"May be wrong tool type!!! Ignoring."<<Q_FUNC_INFO; break; } domElement.appendChild(nod); }
//cppcheck-suppress unusedFunction void VToolDetail::InitTool(VMainGraphicsScene *scene, const VNodeDetail &node) { QHash<quint32, VDataTool*>* tools = doc->getTools(); SCASSERT(tools != nullptr); Tool *tool = qobject_cast<Tool*>(tools->value(node.getId())); SCASSERT(tool != nullptr); connect(tool, &Tool::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); tool->setParentItem(this); doc->IncrementReferens(node.getId()); }
//--------------------------------------------------------------------------------------------------------------------- bool VDetail::Containes(const quint32 &id) const { for (int i = 0; i < d->nodes.size(); ++i) { VNodeDetail node = d->nodes.at(i); if (node.getId() == id) { return true; } } return false; }