Example #1
0
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());
}
Example #2
0
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");
}