RS_Entity* RS_Leader::clone() const{ RS_Leader* p = new RS_Leader(*this); p->setOwner(isOwner()); p->initId(); p->detach(); return p; }
void RS_ActionDimLeader::trigger() { RS_PreviewActionInterface::trigger(); if (pPoints->points.size()){ RS_Leader* leader = new RS_Leader(container, RS_LeaderData(true)); leader->setLayerToActive(); leader->setPenToActive(); for(const auto& vp: pPoints->points){ leader->addVertex(vp); } container->addEntity(leader); // upd. undo list: if (document) { document->startUndoCycle(); document->addUndoable(leader); document->endUndoCycle(); } deletePreview(); RS_Vector rz = graphicView->getRelativeZero(); graphicView->redraw(RS2::RedrawDrawing); graphicView->moveRelativeZero(rz); //drawSnapper(); RS_DEBUG->print("RS_ActionDimLeader::trigger(): leader added: %d", leader->getId()); } }
void RS_ActionDimLeader::trigger() { RS_PreviewActionInterface::trigger(); if (points.count()>0) { RS_Leader* leader = new RS_Leader(container, RS_LeaderData(true)); leader->setLayerToActive(); leader->setPenToActive(); for (RS_Vector* v=points.first(); v!=NULL; v=points.next()) { leader->addVertex(*v); } container->addEntity(leader); // upd. undo list: if (document!=NULL) { document->startUndoCycle(); document->addUndoable(leader); document->endUndoCycle(); } deletePreview(); clearPreview(); deleteSnapper(); RS_Vector rz = graphicView->getRelativeZero(); graphicView->moveRelativeZero(RS_Vector(0.0,0.0)); graphicView->drawEntity(leader); graphicView->moveRelativeZero(rz); //drawSnapper(); RS_DEBUG->print("RS_ActionDimLeader::trigger(): leader added: %d", leader->getId()); } }