Salome HOME
Issue #559: Control doesn't have variable if its text is empty
[modules/shaper.git] / src / ModuleBase / ModuleBase_IModule.cpp
index fd2686df308b3bc672761701127e048f974182b7..1f759feb5b70a88fd16ccb21f74633a50c27ca23 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <ModelAPI_Events.h>
 #include <ModelAPI_CompositeFeature.h>
+#include <ModelAPI_Session.h>
 
 #include <Config_PointerMessage.h>
 #include <Config_WidgetReader.h>
@@ -97,6 +98,7 @@ void ModuleBase_IModule::createFeatures()
 {
   registerValidators();
   registerFilters();
+  registerProperties();
 
   Config_ModuleReader aXMLReader = Config_ModuleReader();
   aXMLReader.readAll();
@@ -111,8 +113,19 @@ void ModuleBase_IModule::actionCreated(QAction* theFeature)
 
 bool ModuleBase_IModule::canDisplayObject(const ObjectPtr& theObject) const
 {
-  ModuleBase_Operation* anOperation = myWorkshop->currentOperation();
-  return anOperation && anOperation->hasObject(theObject);
+  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()