+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
#include "ModuleBase_IModule.h"
#include "ModuleBase_IViewer.h"
#include <ModelAPI_Events.h>
#include <ModelAPI_CompositeFeature.h>
+#include <ModelAPI_Session.h>
#include <Config_PointerMessage.h>
#include <Config_WidgetReader.h>
ModuleBase_IModule::ModuleBase_IModule(ModuleBase_IWorkshop* theParent)
: QObject(theParent), myWorkshop(theParent)
{
- connect(myWorkshop, SIGNAL(operationStopped(ModuleBase_Operation*)),
- SLOT(onOperationStopped(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()));
ModuleBase_Operation* aCurOperation = myWorkshop->currentOperation();
if (aCurOperation) {
FeaturePtr aFeature = aCurOperation->feature();
- CompositeFeaturePtr aCompFea = std::dynamic_pointer_cast<ModelAPI_CompositeFeature>(aFeature);
- if (aCompFea)
- anOperation->setParentFeature(aCompFea);
+ CompositeFeaturePtr aCompFeature =
+ std::dynamic_pointer_cast<ModelAPI_CompositeFeature>(aFeature);
+ if (aCompFeature) {
+ anOperation->setParentFeature(aCompFeature);
+ }
}
std::string aPluginFileName = myFeaturesInFiles[theFeatureId];
{
registerValidators();
registerFilters();
+ registerProperties();
Config_ModuleReader aXMLReader = Config_ModuleReader();
aXMLReader.readAll();
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()
{
ModuleBase_Operation* anOperation = createOperation(aFeatureId);
anOperation->setFeature(theFeature);
sendOperation(anOperation);
-}
\ No newline at end of file
+}