Salome HOME
Union of validator and filter functionalities.
[modules/shaper.git] / src / PartSet / PartSet_Module.cpp
index cb62b8797e4bb8cf8fc57af15810e506f12fa78e..a04ce1ee1ec8ba67032568d8747b327547a24dcb 100644 (file)
@@ -21,6 +21,9 @@
 #include <ModuleBase_FilterMulti.h>
 #include <ModuleBase_FilterCustom.h>
 #include <ModuleBase_FilterNoConsructionSubShapes.h>
+#include <ModuleBase_ValidatorLinearEdge.h>
+#include <ModuleBase_ValidatorLinearEdgeOrVertex.h>
+
 #include <PartSet_FilterSketchEntity.h>
 
 #include <ModelAPI_Object.h>
@@ -126,6 +129,10 @@ void PartSet_Module::registerValidators()
   aFactory->registerValidator("PartSet_DifferentObjects", new PartSet_DifferentObjectsValidator);
   aFactory->registerValidator("PartSet_DifferentShapes", new ModelAPI_ShapeValidator);
   aFactory->registerValidator("PartSet_SketchValidator", new PartSet_SketchValidator);
+
+  aFactory->registerValidator("ModuleBase_ValidatorLinearEdge", new ModuleBase_ValidatorLinearEdge);
+  aFactory->registerValidator("ModuleBase_ValidatorLinearEdgeOrVertex",
+                              new ModuleBase_ValidatorLinearEdgeOrVertex);
 }
 
 void PartSet_Module::registerFilters()
@@ -218,6 +225,13 @@ void PartSet_Module::operationStopped(ModuleBase_Operation* theOperation)
   myWorkshop->viewer()->removeSelectionFilter(myDocumentShapeFilter);
 }
 
+ModuleBase_Operation* PartSet_Module::currentOperation() const
+{
+  XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
+  XGUI_OperationMgr* anOpMgr = aConnector->workshop()->operationMgr();
+  return anOpMgr->currentOperation();
+}
+
 bool PartSet_Module::canUndo() const
 {
   bool aCanUndo = false;