/** * Constructor. */ RS_ActionPARISDebugCreateContainer::RS_ActionPARISDebugCreateContainer( RS_EntityContainer& container, RS_GraphicView& graphicView) : RS_ActionInterface("rs_actionparischeckcont", container, graphicView) { //QMessageBox::about(NULL, "info", "check container"); RS_Document* theDoc = (RS_Document*) &container; if (theDoc->countSelected() < 2) { return; } RS_EntityContainer* con = new RS_EntityContainer(theDoc, true); RS_PtrListIterator<RS_Entity> it = theDoc->createIterator(); RS_Entity* e; while ( (e = it.current()) != 0) { ++it; if (e->isSelected()) { con->addEntity(e); e->setParent(con); } } theDoc -> addEntity(con); }
/** * Testing function. */ void LC_SimpleTests::slotTestUpdateInserts() { RS_DEBUG->print("%s\n: begin\n", __func__); RS_Document* d = QC_ApplicationWindow::getAppWindow()->getDocument(); if (d) { d->updateInserts(); } RS_DEBUG->print("%s\n: end\n", __func__); }
/** * Sets the pen of this entity to the current pen of * the graphic this entity is in. If this entity (and none * of its parents) are in a graphic the pen is not changed. */ void RS_Entity::setPenToActive() { RS_Document* doc = getDocument(); if (doc!=NULL) { pen = doc->getActivePen(); } else { //RS_DEBUG->print(RS_Debug::D_WARNING, "RS_Entity::setPenToActive(): " // "No document / active pen linked to this entity."); } //else { // pen = RS_Pen(); //} }
/** * Testing function. */ void LC_SimpleTests::slotTestInsertBlock() { RS_DEBUG->print("%s\n: begin\n", __func__); auto appWin=QC_ApplicationWindow::getAppWindow(); RS_Document* d = appWin->getDocument(); if (d && d->rtti()==RS2::EntityGraphic) { RS_Graphic* graphic = (RS_Graphic*)d; if (graphic==NULL) { return; } graphic->addLayer(new RS_Layer("default")); RS_Block* block = new RS_Block(graphic, RS_BlockData("debugblock", RS_Vector(0.0,0.0), true)); RS_Line* line; RS_Arc* arc; RS_Circle* circle; // Add one red line: line = new RS_Line{block, {0.,0.}, {50.,0.}}; line->setLayerToActive(); line->setPen(RS_Pen(RS_Color(255, 0, 0), RS2::Width01, RS2::SolidLine)); block->addEntity(line); // Add one line with attributes from block: line = new RS_Line{block, {50.,0.}, {50.,50.}}; line->setPen(RS_Pen(RS_Color(RS2::FlagByBlock), RS2::WidthByBlock, RS2::LineByBlock)); block->addEntity(line); // Add one arc with attributes from block: RS_ArcData d({50.,0.}, 50.0, M_PI_2, M_PI, false); arc = new RS_Arc(block, d); arc->setPen(RS_Pen(RS_Color(RS2::FlagByBlock), RS2::WidthByBlock, RS2::LineByBlock)); block->addEntity(arc); // Add one blue circle: RS_CircleData circleData(RS_Vector(20.0,15.0), 12.5); circle = new RS_Circle(block, circleData); circle->setLayerToActive(); circle->setPen(RS_Pen(RS_Color(0, 0, 255), RS2::Width01, RS2::SolidLine)); block->addEntity(circle); graphic->addBlock(block); RS_Insert* ins; RS_InsertData insData("debugblock", RS_Vector(0.0,0.0), RS_Vector(1.0,1.0), 0.0, 1, 1, RS_Vector(0.0, 0.0), NULL, RS2::NoUpdate); // insert one magenta instance of the block (original): ins = new RS_Insert(graphic, insData); ins->setLayerToActive(); ins->setPen(RS_Pen(RS_Color(255, 0, 255), RS2::Width02, RS2::SolidLine)); ins->update(); graphic->addEntity(ins); // insert one green instance of the block (rotate): insData = RS_InsertData("debugblock", RS_Vector(-50.0,20.0), RS_Vector(1.0,1.0), M_PI/6., 1, 1, RS_Vector(0.0, 0.0), NULL, RS2::NoUpdate); ins = new RS_Insert(graphic, insData); ins->setLayerToActive(); ins->setPen(RS_Pen(RS_Color(0, 255, 0), RS2::Width02, RS2::SolidLine)); ins->update(); graphic->addEntity(ins); // insert one cyan instance of the block (move): insData = RS_InsertData("debugblock", RS_Vector(10.0,20.0), RS_Vector(1.0,1.0), 0.0, 1, 1, RS_Vector(0.0, 0.0), NULL, RS2::NoUpdate); ins = new RS_Insert(graphic, insData); ins->setLayerToActive(); ins->setPen(RS_Pen(RS_Color(0, 255, 255), RS2::Width02, RS2::SolidLine)); ins->update(); graphic->addEntity(ins); // insert one blue instance of the block: for (double a=0.0; a<360.0; a+=45.0) { insData = RS_InsertData("debugblock", RS_Vector(60.0,0.0), RS_Vector(2.0/5,2.0/5), RS_Math::deg2rad(a), 1, 1, RS_Vector(0.0, 0.0), NULL, RS2::NoUpdate); ins = new RS_Insert(graphic, insData); ins->setLayerToActive(); ins->setPen(RS_Pen(RS_Color(0, 0, 255), RS2::Width05, RS2::SolidLine)); ins->update(); graphic->addEntity(ins); } // insert an array of yellow instances of the block: insData = RS_InsertData("debugblock", RS_Vector(-100.0,-100.0), RS_Vector(0.2,0.2), M_PI/6.0, 6, 4, RS_Vector(100.0, 100.0), NULL, RS2::NoUpdate); ins = new RS_Insert(graphic, insData); ins->setLayerToActive(); ins->setPen(RS_Pen(RS_Color(255, 255, 0), RS2::Width01, RS2::SolidLine)); ins->update(); graphic->addEntity(ins); RS_GraphicView* v = appWin->getGraphicView(); if (v) { v->redraw(); } } RS_DEBUG->print("%s\n: end\n", __func__); }
/** * Sets current action. * * @return Pointer to the created action or NULL. */ RS_ActionInterface* QG_ActionHandler::setCurrentAction(RS2::ActionType id) { RS_DEBUG->print("QG_ActionHandler::setCurrentAction()"); RS_GraphicView* gv = mainWindow->getGraphicView(); RS_Document* doc = mainWindow->getDocument(); RS_ActionInterface* a = NULL; // only global options are allowed without a document: if (gv==NULL || doc==NULL) { RS_DEBUG->print(RS_Debug::D_WARNING, "QG_ActionHandler::setCurrentAction: graphic view or " "document is NULL"); return NULL; } switch (id) { //case RS2::ActionFileNew: // a = new RS_ActionFileNew(*doc, *gv); // break; //case RS2::ActionFileSave: // a = new RS_ActionFileSave(*doc, *gv); // break; //case RS2::ActionFileClose: // //a = new RS_ActionFileClose(*doc, *gv); // break; //case RS2::ActionFileQuit: // //a = new RS_ActionFileQuit(*doc, *gv); // break; case RS2::ActionFileOpen: a = new RS_ActionFileOpen(*doc, *gv); break; case RS2::ActionFileSaveAs: a = new RS_ActionFileSaveAs(*doc, *gv); break; // Editing actions: // case RS2::ActionEditKillAllActions: if (gv!=NULL) { // DO we need to call some form of a 'clean' function? gv->killAllActions(); RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarMain); RS_Selection s((RS_EntityContainer&)*doc, gv); s.selectAll(false); RS_DIALOGFACTORY->updateSelectionWidget(doc->countSelected()); } break; case RS2::ActionEditUndo: a = new RS_ActionEditUndo(true, *doc, *gv); break; case RS2::ActionEditRedo: a = new RS_ActionEditUndo(false, *doc, *gv); break; case RS2::ActionEditCut: a = new RS_ActionSelect(*doc, *gv, RS2::ActionEditCutNoSelect); break; case RS2::ActionEditCutNoSelect: a = new RS_ActionEditCopy(false, *doc, *gv); break; case RS2::ActionEditCopy: a = new RS_ActionSelect(*doc, *gv, RS2::ActionEditCopyNoSelect); break; case RS2::ActionEditCopyNoSelect: a = new RS_ActionEditCopy(true, *doc, *gv); break; case RS2::ActionEditPaste: a = new RS_ActionEditPaste(*doc, *gv); break; // Selecting actions: // case RS2::ActionSelectSingle: gv->killSelectActions(); a = new RS_ActionSelectSingle(*doc, *gv); break; case RS2::ActionSelectContour: gv->killSelectActions(); a = new RS_ActionSelectContour(*doc, *gv); break; case RS2::ActionSelectAll: a = new RS_ActionSelectAll(*doc, *gv, true); break; case RS2::ActionDeselectAll: a = new RS_ActionSelectAll(*doc, *gv, false); break; case RS2::ActionSelectWindow: gv->killSelectActions(); a = new RS_ActionSelectWindow(*doc, *gv, true); break; case RS2::ActionDeselectWindow: gv->killSelectActions(); a = new RS_ActionSelectWindow(*doc, *gv, false); break; case RS2::ActionSelectInvert: a = new RS_ActionSelectInvert(*doc, *gv); break; case RS2::ActionSelectIntersected: gv->killSelectActions(); a = new RS_ActionSelectIntersected(*doc, *gv, true); break; case RS2::ActionDeselectIntersected: gv->killSelectActions(); a = new RS_ActionSelectIntersected(*doc, *gv, false); break; case RS2::ActionSelectLayer: gv->killSelectActions(); a = new RS_ActionSelectLayer(*doc, *gv); break; // Tool actions: // case RS2::ActionToolRegenerateDimensions: a = new RS_ActionToolRegenerateDimensions(*doc, *gv); break; // Zooming actions: // case RS2::ActionZoomIn: a = new RS_ActionZoomIn(*doc, *gv, RS2::In, RS2::Both); break; case RS2::ActionZoomOut: a = new RS_ActionZoomIn(*doc, *gv, RS2::Out, RS2::Both); break; case RS2::ActionZoomAuto: a = new RS_ActionZoomAuto(*doc, *gv); break; case RS2::ActionZoomWindow: a = new RS_ActionZoomWindow(*doc, *gv); break; case RS2::ActionZoomPan: a = new RS_ActionZoomPan(*doc, *gv); break; case RS2::ActionZoomPrevious: a = new RS_ActionZoomPrevious(*doc, *gv); break; case RS2::ActionZoomRedraw: a = new RS_ActionZoomRedraw(*doc, *gv); break; // Drawing actions: // case RS2::ActionDrawPoint: a = new RS_ActionDrawPoint(*doc, *gv); break; case RS2::ActionDrawLine: a = new RS_ActionDrawLine(*doc, *gv); break; case RS2::ActionDrawLineAngle: a = new RS_ActionDrawLineAngle(*doc, *gv, 0.0, false); break; case RS2::ActionDrawLineHorizontal: a = new RS_ActionDrawLineAngle(*doc, *gv, 0.0, true); break; case RS2::ActionDrawLineHorVert: a = new RS_ActionDrawLineHorVert(*doc, *gv); break; case RS2::ActionDrawLineVertical: a = new RS_ActionDrawLineAngle(*doc, *gv, M_PI/2.0, true); break; case RS2::ActionDrawLineFree: a = new RS_ActionDrawLineFree(*doc, *gv); break; case RS2::ActionDrawLineParallel: a = new RS_ActionDrawLineParallel(*doc, *gv); break; case RS2::ActionDrawLineParallelThrough: a = new RS_ActionDrawLineParallelThrough(*doc, *gv); break; case RS2::ActionDrawLineRectangle: a = new RS_ActionDrawLineRectangle(*doc, *gv); break; case RS2::ActionDrawLineBisector: a = new RS_ActionDrawLineBisector(*doc, *gv); break; case RS2::ActionDrawLineTangent1: a = new RS_ActionDrawLineTangent1(*doc, *gv); break; case RS2::ActionDrawLineTangent2: a = new RS_ActionDrawLineTangent2(*doc, *gv); break; case RS2::ActionDrawLineOrthogonal: a = new RS_ActionDrawLineRelAngle(*doc, *gv, M_PI/2.0, true); break; case RS2::ActionDrawLineRelAngle: a = new RS_ActionDrawLineRelAngle(*doc, *gv, M_PI/2.0, false); break; case RS2::ActionDrawPolyline: a = new RS_ActionDrawPolyline(*doc, *gv); break; case RS2::ActionPolylineAdd: a = new RS_ActionPolylineAdd(*doc, *gv); break; case RS2::ActionPolylineAppend: a = new RS_ActionPolylineAppend(*doc, *gv); break; case RS2::ActionPolylineDel: a = new RS_ActionPolylineDel(*doc, *gv); break; case RS2::ActionPolylineDelBetween: a = new RS_ActionPolylineDelBetween(*doc, *gv); break; case RS2::ActionPolylineTrim: a = new RS_ActionPolylineTrim(*doc, *gv); break; case RS2::ActionDrawLinePolygon: a = new RS_ActionDrawLinePolygon(*doc, *gv); break; case RS2::ActionDrawLinePolygon2: a = new RS_ActionDrawLinePolygon2(*doc, *gv); break; case RS2::ActionDrawCircle: a = new RS_ActionDrawCircle(*doc, *gv); break; case RS2::ActionDrawCircleCR: a = new RS_ActionDrawCircleCR(*doc, *gv); break; case RS2::ActionDrawCircle2P: a = new RS_ActionDrawCircle2P(*doc, *gv); break; case RS2::ActionDrawCircle3P: a = new RS_ActionDrawCircle3P(*doc, *gv); break; case RS2::ActionDrawCircleParallel: a = new RS_ActionDrawLineParallel(*doc, *gv); break; case RS2::ActionDrawArc: a = new RS_ActionDrawArc(*doc, *gv); break; case RS2::ActionDrawArc3P: a = new RS_ActionDrawArc3P(*doc, *gv); break; case RS2::ActionDrawArcParallel: a = new RS_ActionDrawLineParallel(*doc, *gv); break; case RS2::ActionDrawArcTangential: a = new RS_ActionDrawArcTangential(*doc, *gv); break; case RS2::ActionDrawEllipseAxis: a = new RS_ActionDrawEllipseAxis(*doc, *gv, false); break; case RS2::ActionDrawEllipseArcAxis: a = new RS_ActionDrawEllipseAxis(*doc, *gv, true); break; case RS2::ActionDrawSpline: a = new RS_ActionDrawSpline(*doc, *gv); break; case RS2::ActionDrawText: a = new RS_ActionDrawText(*doc, *gv); break; case RS2::ActionDrawHatch: a = new RS_ActionSelect(*doc, *gv, RS2::ActionDrawHatchNoSelect); break; case RS2::ActionDrawHatchNoSelect: a = new RS_ActionDrawHatch(*doc, *gv); break; case RS2::ActionDrawImage: a = new RS_ActionDrawImage(*doc, *gv); break; // Dimensioning actions: // case RS2::ActionDimAligned: a = new RS_ActionDimAligned(*doc, *gv); break; case RS2::ActionDimLinear: a = new RS_ActionDimLinear(*doc, *gv); break; case RS2::ActionDimLinearHor: a = new RS_ActionDimLinear(*doc, *gv, 0.0, true); break; case RS2::ActionDimLinearVer: a = new RS_ActionDimLinear(*doc, *gv, M_PI/2.0, true); break; case RS2::ActionDimRadial: a = new RS_ActionDimRadial(*doc, *gv); break; case RS2::ActionDimDiametric: a = new RS_ActionDimDiametric(*doc, *gv); break; case RS2::ActionDimAngular: a = new RS_ActionDimAngular(*doc, *gv); break; case RS2::ActionDimLeader: a = new RS_ActionDimLeader(*doc, *gv); break; // Modifying actions: // case RS2::ActionModifyAttributes: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyAttributesNoSelect); break; case RS2::ActionModifyAttributesNoSelect: a = new RS_ActionModifyAttributes(*doc, *gv); break; case RS2::ActionModifyDelete: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyDeleteNoSelect); break; case RS2::ActionModifyDeleteNoSelect: a = new RS_ActionModifyDelete(*doc, *gv); break; case RS2::ActionModifyDeleteQuick: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyDeleteQuick); break; case RS2::ActionModifyDeleteFree: a = new RS_ActionModifyDeleteFree(*doc, *gv); break; case RS2::ActionModifyMove: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyMoveNoSelect); break; case RS2::ActionModifyMoveNoSelect: a = new RS_ActionModifyMove(*doc, *gv); break; case RS2::ActionModifyRotate: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyRotateNoSelect); break; case RS2::ActionModifyRotateNoSelect: a = new RS_ActionModifyRotate(*doc, *gv); break; case RS2::ActionModifyScale: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyScaleNoSelect); break; case RS2::ActionModifyScaleNoSelect: a = new RS_ActionModifyScale(*doc, *gv); break; case RS2::ActionModifyMirror: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyMirrorNoSelect); break; case RS2::ActionModifyMirrorNoSelect: a = new RS_ActionModifyMirror(*doc, *gv); break; case RS2::ActionModifyMoveRotate: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyMoveRotateNoSelect); break; case RS2::ActionModifyMoveRotateNoSelect: a = new RS_ActionModifyMoveRotate(*doc, *gv); break; case RS2::ActionModifyRotate2: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyRotate2NoSelect); break; case RS2::ActionModifyRotate2NoSelect: a = new RS_ActionModifyRotate2(*doc, *gv); break; case RS2::ActionModifyEntity: a = new RS_ActionModifyEntity(*doc, *gv); break; case RS2::ActionModifyTrim: a = new RS_ActionModifyTrim(*doc, *gv, false); break; case RS2::ActionModifyTrim2: a = new RS_ActionModifyTrim(*doc, *gv, true); break; case RS2::ActionModifyTrimAmount: a = new RS_ActionModifyTrimAmount(*doc, *gv); break; case RS2::ActionModifyCut: a = new RS_ActionModifyCut(*doc, *gv); break; case RS2::ActionModifyStretch: a = new RS_ActionModifyStretch(*doc, *gv); break; case RS2::ActionModifyBevel: a = new RS_ActionModifyBevel(*doc, *gv); break; case RS2::ActionModifyRound: a = new RS_ActionModifyRound(*doc, *gv); break; case RS2::ActionModifyExplodeText: a = new RS_ActionSelect(*doc, *gv, RS2::ActionModifyExplodeTextNoSelect); break; case RS2::ActionModifyExplodeTextNoSelect: a = new RS_ActionModifyExplodeText(*doc, *gv); break; // Snapping actions: // case RS2::ActionSnapFree: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapFree); break; case RS2::ActionSnapGrid: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapGrid); break; case RS2::ActionSnapEndpoint: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapEndpoint); break; case RS2::ActionSnapOnEntity: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapOnEntity); break; case RS2::ActionSnapCenter: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapCenter); break; case RS2::ActionSnapMiddle: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapMiddle); break; case RS2::ActionSnapDist: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapDist); break; case RS2::ActionSnapIntersection: a = new RS_ActionSetSnapMode(*doc, *gv, RS2::SnapIntersection); break; case RS2::ActionSnapIntersectionManual: a = new RS_ActionSnapIntersectionManual(*doc, *gv); break; // Snap restriction actions: // case RS2::ActionRestrictNothing: a = new RS_ActionSetSnapRestriction(*doc, *gv, RS2::RestrictNothing); break; case RS2::ActionRestrictOrthogonal: a = new RS_ActionSetSnapRestriction(*doc, *gv, RS2::RestrictOrthogonal); break; case RS2::ActionRestrictHorizontal: a = new RS_ActionSetSnapRestriction(*doc, *gv, RS2::RestrictHorizontal); break; case RS2::ActionRestrictVertical: a = new RS_ActionSetSnapRestriction(*doc, *gv, RS2::RestrictVertical); break; // Relative zero: // case RS2::ActionSetRelativeZero: a = new RS_ActionSetRelativeZero(*doc, *gv); break; case RS2::ActionLockRelativeZero: a = new RS_ActionLockRelativeZero(*doc, *gv, true); break; case RS2::ActionUnlockRelativeZero: a = new RS_ActionLockRelativeZero(*doc, *gv, false); break; // Info actions: // case RS2::ActionInfoInside: a = new RS_ActionInfoInside(*doc, *gv); break; case RS2::ActionInfoDist: a = new RS_ActionInfoDist(*doc, *gv); break; case RS2::ActionInfoDist2: a = new RS_ActionInfoDist2(*doc, *gv); break; case RS2::ActionInfoAngle: a = new RS_ActionInfoAngle(*doc, *gv); break; case RS2::ActionInfoTotalLength: a = new RS_ActionSelect(*doc, *gv, RS2::ActionInfoTotalLengthNoSelect); break; case RS2::ActionInfoTotalLengthNoSelect: a = new RS_ActionInfoTotalLength(*doc, *gv); break; case RS2::ActionInfoArea: a = new RS_ActionInfoArea(*doc, *gv); break; // Layer actions: // case RS2::ActionLayersDefreezeAll: a = new RS_ActionLayersFreezeAll(false, *doc, *gv); break; case RS2::ActionLayersFreezeAll: a = new RS_ActionLayersFreezeAll(true, *doc, *gv); break; case RS2::ActionLayersAdd: a = new RS_ActionLayersAdd(*doc, *gv); break; case RS2::ActionLayersRemove: a = new RS_ActionLayersRemove(*doc, *gv); break; case RS2::ActionLayersEdit: a = new RS_ActionLayersEdit(*doc, *gv); break; case RS2::ActionLayersToggleView: a = new RS_ActionLayersToggleView(*doc, *gv); break; case RS2::ActionLayersToggleLock: a = new RS_ActionLayersToggleLock(*doc, *gv); break; // Block actions: // case RS2::ActionBlocksDefreezeAll: a = new RS_ActionBlocksFreezeAll(false, *doc, *gv); break; case RS2::ActionBlocksFreezeAll: a = new RS_ActionBlocksFreezeAll(true, *doc, *gv); break; case RS2::ActionBlocksAdd: a = new RS_ActionBlocksAdd(*doc, *gv); break; case RS2::ActionBlocksRemove: a = new RS_ActionBlocksRemove(*doc, *gv); break; case RS2::ActionBlocksAttributes: a = new RS_ActionBlocksAttributes(*doc, *gv); break; case RS2::ActionBlocksEdit: a = new RS_ActionBlocksEdit(*doc, *gv); break; case RS2::ActionBlocksInsert: a = new RS_ActionBlocksInsert(*doc, *gv); break; case RS2::ActionBlocksToggleView: a = new RS_ActionBlocksToggleView(*doc, *gv); break; case RS2::ActionBlocksCreate: a = new RS_ActionSelect(*doc, *gv, RS2::ActionBlocksCreateNoSelect); break; case RS2::ActionBlocksCreateNoSelect: a = new RS_ActionBlocksCreate(*doc, *gv); break; case RS2::ActionBlocksExplode: a = new RS_ActionSelect(*doc, *gv, RS2::ActionBlocksExplodeNoSelect); break; case RS2::ActionBlocksExplodeNoSelect: a = new RS_ActionBlocksExplode(*doc, *gv); break; // library browser: // case RS2::ActionLibraryInsert: a = new RS_ActionLibraryInsert(*doc, *gv); break; // options: // //case RS2::ActionOptionsGeneral: // a = new RS_ActionOptionsGeneral(*doc, *gv); // break; case RS2::ActionOptionsDrawing: a = new RS_ActionOptionsDrawing(*doc, *gv); break; // cam: // #ifdef RS_CAM case RS2::ActionCamExportAuto: a = new RS_ActionCamExportAuto(*doc, *gv); break; case RS2::ActionCamReorder: a = new RS_ActionCamReorder(*doc, *gv); break; #endif #ifdef RVT_CAM case RS2::ActionCamMakeProfile: a = new RVT_ActionCamMakeProfile(*doc, *gv); break; #endif default: RS_DEBUG->print(RS_Debug::D_WARNING, "QG_ActionHandler::setCurrentAction():" "No such action found."); break; } if (a!=NULL) { gv->setCurrentAction(a); } RS_DEBUG->print("QG_ActionHandler::setCurrentAction(): OK"); return a; }