#include <ModelAPI_Validator.h>
#include <ModelAPI_Data.h>
#include <ModelAPI_Session.h>
-#include <ModelAPI_ShapeValidator.h>
+#include <GeomValidators_DifferentShapes.h>
#include <ModelAPI_ResultBody.h>
#include <GeomDataAPI_Point2D.h>
aFactory->registerValidator("PartSet_TangentSelection", new PartSet_TangentSelection);
aFactory->registerValidator("PartSet_FilletSelection", new PartSet_FilletSelection);
aFactory->registerValidator("PartSet_AngleSelection", new PartSet_AngleSelection);
-
aFactory->registerValidator("PartSet_DifferentObjects", new PartSet_DifferentObjectsValidator);
- aFactory->registerValidator("PartSet_DifferentShapes", new ModelAPI_ShapeValidator);
-
aFactory->registerValidator("PartSet_CoincidentAttr", new PartSet_CoincidentAttr);
+ aFactory->registerValidator("GeomValidators_DifferentShapes", new GeomValidators_DifferentShapes);
aFactory->registerValidator("GeomValidators_ShapeType", new GeomValidators_ShapeType);
aFactory->registerValidator("GeomValidators_Face", new GeomValidators_Face);
-
aFactory->registerValidator("GeomValidators_Finite", new GeomValidators_Finite);
aFactory->registerValidator("GeomValidators_ConstructionComposite",
aFactory->registerValidator("PartSet_SketchEntityValidator",
new PartSet_SketchEntityValidator);
- aFactory->registerValidator("PartSet_SameTypeAttr",
- new PartSet_SameTypeAttrValidator);
-
aFactory->registerValidator("GeomValidators_Different",
new GeomValidators_Different);
}
myRestartingMode == RM_EmptyFeatureUsed)) {
myLastOperationId = aFOperation->id();
myLastFeature = myRestartingMode == RM_LastFeatureUsed ? aFOperation->feature() : FeaturePtr();
-
- launchOperation(myLastOperationId);
+ if (!sketchMgr()->sketchSolverError())
+ launchOperation(myLastOperationId);
}
breakOperationSequence();
}
QObjectPtrList aObjects = myWorkshop->selection()->selectedObjects();
int aSelected = aObjects.size();
SessionPtr aMgr = ModelAPI_Session::get();
+ QAction* aActivatePartAction = myMenuMgr->action("ACTIVATE_PART_CMD");
if (aSelected == 1) {
bool hasResult = false;
bool hasFeature = false;
}
if (aPart.get()) // this may be null is Part feature is disabled
aPartDoc = aPart->partDoc();
- if (aMgr->activeDocument() == aPartDoc)
- theMenu->addAction(myMenuMgr->action("DEACTIVATE_PART_CMD"));
- else
- theMenu->addAction(myMenuMgr->action("ACTIVATE_PART_CMD"));
+
+ theMenu->addAction(aActivatePartAction);
+ aActivatePartAction->setEnabled((aMgr->activeDocument() != aPartDoc));
+
} else if (aObject->document() == aMgr->activeDocument()) {
if (hasParameter || hasFeature)
theMenu->addAction(myMenuMgr->action("EDIT_CMD"));
ResultBodyPtr aResult = std::dynamic_pointer_cast<ModelAPI_ResultBody>(aObject);
if( aResult.get() )
- {
theMenu->addAction(myMenuMgr->action("SELECT_PARENT_CMD"));
- }
} else { // If feature is 0 the it means that selected root object (document)
if (aMgr->activeDocument() != aMgr->moduleDocument())
theMenu->addAction(myMenuMgr->action("ACTIVATE_PARTSET_CMD"));
if (aMgr->activeDocument() != aMgr->moduleDocument())
theMenu->addAction(myMenuMgr->action("ACTIVATE_PARTSET_CMD"));
}
- bool aCanDeactivate = (myWorkshop->currentOperation() == 0);
- myMenuMgr->action("ACTIVATE_PARTSET_CMD")->setEnabled(aCanDeactivate);
- myMenuMgr->action("DEACTIVATE_PART_CMD")->setEnabled(aCanDeactivate);
- myMenuMgr->action("ACTIVATE_PART_CMD")->setEnabled(aCanDeactivate);
+ bool aNotDeactivate = (myWorkshop->currentOperation() == 0);
+ myMenuMgr->action("ACTIVATE_PARTSET_CMD")->setEnabled(aNotDeactivate);
+ if (!aNotDeactivate)
+ aActivatePartAction->setEnabled(false);
}
void PartSet_Module::processEvent(const std::shared_ptr<Events_Message>& theMessage)