void RS_ActionDrawLineTangent2::trigger() {
    RS_PreviewActionInterface::trigger();

    RS_Entity* newEntity = NULL;

	newEntity = new RS_Line(container, *lineData);

    if (newEntity!=NULL) {
        newEntity->setLayerToActive();
        newEntity->setPenToActive();
        container->addEntity(newEntity);

        // upd. undo list:
        if (document!=NULL) {
            document->startUndoCycle();
            document->addUndoable(newEntity);
            document->endUndoCycle();
        }
        if(circle1!=NULL){
            circle1->setHighlighted(false);
            graphicView->redraw(RS2::RedrawDrawing);
            circle1=NULL;
        }

        setStatus(SetCircle1);
    }
    tangent.reset();
}
void RS_ActionDrawLineTangent2::trigger() {
    RS_PreviewActionInterface::trigger();

    if (tangent!=NULL) {
        RS_Entity* newEntity = NULL;

        newEntity = new RS_Line(container,
                                tangent->getData());

        if (newEntity!=NULL) {
            newEntity->setLayerToActive();
            newEntity->setPenToActive();
            container->addEntity(newEntity);

            // upd. undo list:
            if (document!=NULL) {
                document->startUndoCycle();
                document->addUndoable(newEntity);
                document->endUndoCycle();
            }
            circle1->setHighlighted(false);

            graphicView->redraw(RS2::RedrawDrawing);
            setStatus(SetCircle1);
        }
        delete tangent;
        tangent = NULL;
    } else {
        RS_DEBUG->print("RS_ActionDrawLineTangent2::trigger:"
                        " Entity is NULL\n");
    }
}
Ejemplo n.º 3
0
void RS_ActionDrawLineFree::mouseMoveEvent(QMouseEvent* e) {
    if (vertex.valid && polyline!=NULL) {
        RS_Vector v = snapPoint(e);
        RS_Entity* ent = polyline->addVertex(v);
        ent->setLayerToActive();
        ent->setPenToActive();

        graphicView->drawEntity(ent);
        drawSnapper();

        vertex = v;

        RS_DEBUG->print("RS_ActionDrawLineFree::mouseMoveEvent():"
                        " line added: %d", ent->getId());
    }
}
Ejemplo n.º 4
0
void RS_ActionDrawLineTangent2::trigger() {
    RS_PreviewActionInterface::trigger();

	RS_Entity* newEntity = new RS_Line(container, *lineData);

    if (newEntity) {
        newEntity->setLayerToActive();
        newEntity->setPenToActive();
        container->addEntity(newEntity);

        // upd. undo list:
        if (document) {
            document->startUndoCycle();
            document->addUndoable(newEntity);
            document->endUndoCycle();
		}
		clearHighlighted();

        setStatus(SetCircle1);
    }
    tangent.reset();
}