- if(isNode(theNode, NODE_FEATURE, NULL)) {
- if(m_fetchWidgetCfg) {
- xmlBufferPtr buffer = xmlBufferCreate();
- int size = xmlNodeDump(buffer, theNode->doc, theNode, 0, 1);
- m_widgetCfg = std::string((char*)buffer->content);
- } else {
- Event_Loop* aEvLoop = Event_Loop::Loop();
- Config_FeatureMessage aMessage(aEvLoop->EventByName("menu_item"), this);
- fillFeature(theNode, aMessage);
- aEvLoop->Send(aMessage);
- }
+ Events_ID aMenuItemEvent = Events_Loop::eventByName(myEventGenerated);
+ if (isNode(theNode, NODE_FEATURE, NULL)) {
+ Events_Loop* aEvLoop = Events_Loop::loop();
+ Config_FeatureMessage aMessage(aMenuItemEvent, this);
+ fillFeature(theNode, aMessage);
+ myFeatures.push_back(getProperty(theNode, _ID));
+ //If a feature has xml definition for it's widget:
+ aMessage.setUseInput(hasChild(theNode));
+ aEvLoop->send(aMessage);