void RS_ActionDimDiametric::trigger() { RS_PreviewActionInterface::trigger(); preparePreview(); if (entity) { RS_DimDiametric* newEntity = nullptr; newEntity = new RS_DimDiametric(container, *data, *edata); newEntity->setLayerToActive(); newEntity->setPenToActive(); newEntity->update(); container->addEntity(newEntity); // upd. undo list: if (document) { document->startUndoCycle(); document->addUndoable(newEntity); document->endUndoCycle(); } RS_Vector rz = graphicView->getRelativeZero(); graphicView->redraw(RS2::RedrawDrawing); graphicView->moveRelativeZero(rz); RS_Snapper::finish(); } else { RS_DEBUG->print("RS_ActionDimDiametric::trigger:" " Entity is nullptr\n"); } }
void RS_ActionDimDiametric::mouseMoveEvent(RS_MouseEvent* e) { RS_DEBUG->print("RS_ActionDimDiametric::mouseMoveEvent begin"); RS_Vector mouse(graphicView->toGraphX(e->x()), graphicView->toGraphY(e->y())); switch (getStatus()) { case SetEntity: entity = catchEntity(e, RS2::ResolveAll); break; case SetPos: if (entity!=NULL) { pos = snapPoint(e); preparePreview(); RS_DimDiametric* d = new RS_DimDiametric(preview, data, edata); d->update(); deletePreview(); preview->addEntity(d); drawPreview(); } break; default: break; } RS_DEBUG->print("RS_ActionDimDiametric::mouseMoveEvent end"); }
void RS_ActionDimDiametric::mouseMoveEvent(QMouseEvent* e) { RS_DEBUG->print("RS_ActionDimDiametric::mouseMoveEvent begin"); switch (getStatus()) { case SetPos: if (entity) { *pos = snapPoint(e); preparePreview(); RS_DimDiametric* d = new RS_DimDiametric(preview.get(), *data, *edata); deletePreview(); preview->addEntity(d); d->update(); drawPreview(); } break; default: break; } RS_DEBUG->print("RS_ActionDimDiametric::mouseMoveEvent end"); }
RS_Entity* RS_DimDiametric::clone() const { RS_DimDiametric* d = new RS_DimDiametric(*this); d->setOwner(isOwner()); d->initId(); d->detach(); return d; }