Salome HOME
Correct processing of the fixed arc in PlaneGCS (issue #1280)
[modules/shaper.git] / src / ModuleBase / ModuleBase_IModule.cpp
index 76c8991611bef98ce8e4bf8536633a60d32cb140..4d89489a42166c11a8b513d186ba93a888db56c1 100644 (file)
@@ -105,12 +105,8 @@ ModuleBase_Operation* ModuleBase_IModule::createOperation(const std::string& the
     }
   }
 
-  std::string aPluginFileName = myFeaturesInFiles[theFeatureId];
-  Config_WidgetReader aWdgReader = Config_WidgetReader(aPluginFileName);
-  aWdgReader.readAll();
-  std::string aXmlCfg = aWdgReader.featureWidgetCfg(theFeatureId);
-  std::string aDescription = aWdgReader.featureDescription(theFeatureId);
-
+  std::string aXmlCfg, aDescription;
+  getXMLRepresentation(theFeatureId, aXmlCfg, aDescription);
   aFOperation->getDescription()->setDescription(QString::fromStdString(aDescription));
   aFOperation->getDescription()->setXmlRepresentation(QString::fromStdString(aXmlCfg));
 
@@ -200,3 +196,14 @@ void ModuleBase_IModule::operationResumed(ModuleBase_Operation* theOperation)
 {
   emit resumed(theOperation);
 }
+
+void ModuleBase_IModule::getXMLRepresentation(const std::string& theFeatureId,
+                                              std::string& theXmlCfg, std::string& theDescription)
+{
+  std::string aPluginFileName = myFeaturesInFiles[theFeatureId];
+  Config_WidgetReader aWdgReader = Config_WidgetReader(aPluginFileName);
+  aWdgReader.readAll();
+
+  theXmlCfg = aWdgReader.featureWidgetCfg(theFeatureId);
+  theDescription = aWdgReader.featureDescription(theFeatureId);
+}