void RS_ActionDimAligned::trigger() { RS_ActionDimension::trigger(); preparePreview(); graphicView->moveRelativeZero(data->definitionPoint); //data->text = getText(); RS_DimAligned* dim = new RS_DimAligned(container, *data, *edata); dim->setLayerToActive(); dim->setPenToActive(); dim->update(); container->addEntity(dim); // upd. undo list: if (document) { document->startUndoCycle(); document->addUndoable(dim); document->endUndoCycle(); } RS_Vector rz = graphicView->getRelativeZero(); graphicView->redraw(RS2::RedrawDrawing); graphicView->moveRelativeZero(rz); RS_DEBUG->print("RS_ActionDimAligned::trigger():" " dim added: %d", dim->getId()); }
void RS_ActionDimAligned::mouseMoveEvent(QMouseEvent* e) { RS_DEBUG->print("RS_ActionDimAligned::mouseMoveEvent begin"); RS_Vector mouse = snapPoint(e); switch (getStatus()) { case SetExtPoint1: break; case SetExtPoint2: if (edata->extensionPoint1.valid) { deletePreview(); preview->addEntity( new RS_Line(preview.get(), RS_LineData(edata->extensionPoint1, mouse)) ); drawPreview(); } break; case SetDefPoint: if (edata->extensionPoint1.valid && edata->extensionPoint2.valid) { deletePreview(); data->definitionPoint = mouse; preparePreview(); //data->text = getText(); RS_DimAligned* dim = new RS_DimAligned(preview.get(), *data, *edata); preview->addEntity(dim); dim->update(); drawPreview(); } break; default: break; } RS_DEBUG->print("RS_ActionDimAligned::mouseMoveEvent end"); }