X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IModule.cpp;h=1f759feb5b70a88fd16ccb21f74633a50c27ca23;hb=0cea3be102af7247b2fe2c8035a1bb38b7bf82ae;hp=bd0c987e47aa2f04572fed3f8f7da6678408633b;hpb=4e359f9da329fc287aa985e8936a79790173c1fb;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IModule.cpp b/src/ModuleBase/ModuleBase_IModule.cpp index bd0c987e4..1f759feb5 100644 --- a/src/ModuleBase/ModuleBase_IModule.cpp +++ b/src/ModuleBase/ModuleBase_IModule.cpp @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + #include "ModuleBase_IModule.h" #include "ModuleBase_IViewer.h" @@ -10,6 +12,7 @@ #include #include +#include #include #include @@ -20,21 +23,6 @@ ModuleBase_IModule::ModuleBase_IModule(ModuleBase_IWorkshop* theParent) : QObject(theParent), myWorkshop(theParent) { - connect(myWorkshop, SIGNAL(operationStarted(ModuleBase_Operation*)), - SLOT(onOperationStarted(ModuleBase_Operation*))); - - connect(myWorkshop, SIGNAL(operationStopped(ModuleBase_Operation*)), - SLOT(onOperationStopped(ModuleBase_Operation*))); - - connect(myWorkshop, SIGNAL(operationResumed(ModuleBase_Operation*)), - SLOT(onOperationResumed(ModuleBase_Operation*))); - - connect(myWorkshop, SIGNAL(operationComitted(ModuleBase_Operation*)), - SLOT(onOperationComitted(ModuleBase_Operation*))); - - connect(myWorkshop, SIGNAL(operationAborted(ModuleBase_Operation*)), - SLOT(onOperationAborted(ModuleBase_Operation*))); - connect(myWorkshop, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged())); @@ -87,9 +75,11 @@ ModuleBase_Operation* ModuleBase_IModule::createOperation(const std::string& the ModuleBase_Operation* aCurOperation = myWorkshop->currentOperation(); if (aCurOperation) { FeaturePtr aFeature = aCurOperation->feature(); - CompositeFeaturePtr aCompFea = std::dynamic_pointer_cast(aFeature); - if (aCompFea) - anOperation->setParentFeature(aCompFea); + CompositeFeaturePtr aCompFeature = + std::dynamic_pointer_cast(aFeature); + if (aCompFeature) { + anOperation->setParentFeature(aCompFeature); + } } std::string aPluginFileName = myFeaturesInFiles[theFeatureId]; @@ -107,6 +97,8 @@ ModuleBase_Operation* ModuleBase_IModule::createOperation(const std::string& the void ModuleBase_IModule::createFeatures() { registerValidators(); + registerFilters(); + registerProperties(); Config_ModuleReader aXMLReader = Config_ModuleReader(); aXMLReader.readAll(); @@ -119,6 +111,22 @@ void ModuleBase_IModule::actionCreated(QAction* theFeature) connect(theFeature, SIGNAL(triggered(bool)), this, SLOT(onFeatureTriggered())); } +bool ModuleBase_IModule::canDisplayObject(const ObjectPtr& theObject) const +{ + return true; +} + +bool ModuleBase_IModule::canUndo() const +{ + SessionPtr aMgr = ModelAPI_Session::get(); + return aMgr->hasModuleDocument() && aMgr->canUndo() && !aMgr->isOperation(); +} + +bool ModuleBase_IModule::canRedo() const +{ + SessionPtr aMgr = ModelAPI_Session::get(); + return aMgr->hasModuleDocument() && aMgr->canRedo() && !aMgr->isOperation(); +} void ModuleBase_IModule::onFeatureTriggered() { @@ -139,4 +147,4 @@ void ModuleBase_IModule::editFeature(FeaturePtr theFeature) ModuleBase_Operation* anOperation = createOperation(aFeatureId); anOperation->setFeature(theFeature); sendOperation(anOperation); -} \ No newline at end of file +}