]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/PartSet/PartSet_Module.cpp
Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / PartSet / PartSet_Module.cpp
index 568f28c865f1fa395a88922bfe42e27ac240a539..e0d4d32b9aa6db345a548dfd564f15560cfe453d 100644 (file)
@@ -50,8 +50,8 @@ PartSet_Module::~PartSet_Module()
 void PartSet_Module::createFeatures()
 {
   Config_ModuleReader aXMLReader = Config_ModuleReader();
-  aXMLReader.setAutoImport(true);
   aXMLReader.readAll();
+  myFeaturesInFiles = aXMLReader.featuresInFiles();
 }
 
 void PartSet_Module::featureCreated(XGUI_Command* theFeature)
@@ -59,13 +59,9 @@ void PartSet_Module::featureCreated(XGUI_Command* theFeature)
   theFeature->connectTo(this, SLOT(onFeatureTriggered()));
 }
 
-std::string PartSet_Module::modulePlugin()
+std::string PartSet_Module::featureFile(const std::string& theFeatureId)
 {
-  Config_ModuleReader aModuleReader = Config_ModuleReader();
-  aModuleReader.readAll();
-  std::map < std::string, std::string > aPluginMap = aModuleReader.plugins();
-  std::string aPluginName = aPluginMap["PartSetPlugin"];
-  return aPluginName;
+  return myFeaturesInFiles[theFeatureId];
 }
 
 /*
@@ -73,13 +69,14 @@ std::string PartSet_Module::modulePlugin()
  */
 void PartSet_Module::onFeatureTriggered()
 {
-  std::string aPluginName = modulePlugin();
-  Config_WidgetReader aWdgReader = Config_WidgetReader(aPluginName);
-  aWdgReader.readAll();
   XGUI_Command* aCmd = dynamic_cast<XGUI_Command*>(sender());
   QString aCmdId = aCmd->id();
-  std::string aXmlCfg = aWdgReader.featureWidgetCfg(aCmdId.toStdString());
-  std::string aDescription = aWdgReader.featureDescription(aCmdId.toStdString());
+  std::string aStdCmdId = aCmdId.toStdString();
+  std::string aPluginFileName = featureFile(aStdCmdId);
+  Config_WidgetReader aWdgReader = Config_WidgetReader(aPluginFileName);
+  aWdgReader.readAll();
+  std::string aXmlCfg = aWdgReader.featureWidgetCfg(aStdCmdId);
+  std::string aDescription = aWdgReader.featureDescription(aStdCmdId);
   ModuleBase_PropPanelOperation* aPartSetOp;
   if (aCmdId == "Sketch" ) {
     aPartSetOp = new PartSet_OperationSketch(aCmdId, this);