X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_Module.cpp;h=409e38484871b43be35dd85042f6c838a0fc099f;hb=7cc3d9e6696b77a8fdf396cbd55370de3f3ebd9e;hp=ba04d395c19ff3572b01fbac351bfee2bad620ae;hpb=a78a826e270a123f0857360bf0d2de19df7114c1;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_Module.cpp b/src/PartSet/PartSet_Module.cpp index ba04d395c..409e38484 100644 --- a/src/PartSet/PartSet_Module.cpp +++ b/src/PartSet/PartSet_Module.cpp @@ -1,14 +1,19 @@ -#include "PartSet_Module.h" +#include +#include +#include #include -#include +#include +#include +#include -#include +#include +#include + +#ifdef _DEBUG +#include +#endif -#include -#include -#include -#include /*!Create and return new instance of XGUI_Module*/ extern "C" PARTSET_EXPORT XGUI_Module* createModule(XGUI_Workshop* theWshop) @@ -36,18 +41,25 @@ void PartSet_Module::createFeatures() void PartSet_Module::featureCreated(XGUI_Command* theFeature) { QString aFtId = theFeature->getId(); - if (aFtId == "new_point") { - theFeature->connectTo(this, SLOT(onCommandTriggered())); - } + theFeature->connectTo(this, SLOT(onFeatureTriggered())); } -void PartSet_Module::onCommandTriggered() +void PartSet_Module::onFeatureTriggered() { Config_ModuleReader aModuleReader = Config_ModuleReader(); aModuleReader.readAll(); -// std::string aPluginName = aModuleReader.plugins().front(); -// Config_FeatureReader* aReader = new Config_FeatureReader(aPluginName); -// XGUI_Command* aCmd = dynamic_cast(sender()); -// std::string aXMLWidgetCfg = aReader->featureWidgetCfg(aCmd->getId().toStdString()); -// delete aReader; + std::map aPluginMap = aModuleReader.plugins(); + std::string aPluginName = aPluginMap["PartSetPlugin"]; + Config_WidgetReader aWdgReader = Config_WidgetReader(aPluginName); + aWdgReader.readAll(); + XGUI_Command* aCmd = dynamic_cast(sender()); + QString aCmdId = aCmd->getId(); + std::string aXmlCfg = aWdgReader.featureWidgetCfg(aCmdId.toStdString()); + //TODO(sbh): Implement static method to extract event id [SEID] + static Event_ID aModuleEvent = Event_Loop::eventByName("PartSetModuleEvent"); + Config_PointerMessage aMessage(aModuleEvent, this); + ModuleBase_Operation* aPartSetOp = new ModuleBase_Operation(aCmdId, this); + aPartSetOp->setXmlRepresentation(QString::fromStdString(aXmlCfg)); + aMessage.setPointer(aPartSetOp); + Event_Loop::loop()->send(aMessage); }