const char* kWdgCase = hasParent(theNode, WDG_SWITCH_CASE, NULL)
? WDG_SWITCH_CASE
: WDG_TOOLBOX_BOX;
+ const char* kWdgSwitch = hasParent(theNode, WDG_SWITCH_CASE, NULL)
+ ? WDG_SWITCH
+ : WDG_TOOLBOX;
aMessage->setCaseId(restoreAttribute(kWdgCase, _ID));
+ aMessage->setSwitchId(restoreAttribute(kWdgSwitch, _ID));
}
Events_Loop::loop()->send(aMessage);
}
// container pages, like "case" or "box"
- } else if (isCaseNode(theNode)) {
+ } else if (isNode(theNode, WDG_SWITCH, WDG_SWITCH_CASE, WDG_TOOLBOX, WDG_TOOLBOX_BOX, NULL)) {
storeAttribute(theNode, _ID); // save case:caseId (or box:boxId)
}
}
- //Process SOURCE, VALIDATOR nodes.
+ //Process SOURCE nodes.
Config_XMLReader::processNode(theNode);
}
void Config_FeatureReader::cleanup(xmlNodePtr theNode)
{
- if (isCaseNode(theNode)) {
+ if (isNode(theNode, WDG_SWITCH, WDG_SWITCH_CASE, WDG_TOOLBOX, WDG_TOOLBOX_BOX, NULL)) {
// cleanup id of cases when leave case node
cleanupAttribute(theNode, _ID);
}
}
outFeatureMessage->setDocumentKind(aDocKind);
}
-
-void Config_FeatureReader::storeAttribute(xmlNodePtr theNode,
- const char* theNodeAttribute)
-{
- std::string aKey = getNodeName(theNode) + ":" + std::string(theNodeAttribute);
- std::string aValue = getProperty(theNode, theNodeAttribute);
- if(!aValue.empty()) {
- myParentAttributes[aKey] = aValue;
- }
-}
-
-std::string Config_FeatureReader::restoreAttribute(xmlNodePtr theNode,
- const char* theNodeAttribute)
-{
- return restoreAttribute(getNodeName(theNode).c_str(), theNodeAttribute);
-}
-std::string Config_FeatureReader::restoreAttribute(const char* theNodeName,
- const char* theNodeAttribute)
-{
- std::string aKey = std::string(theNodeName) + ":" + std::string(theNodeAttribute);
- std::string result = "";
- if(myParentAttributes.find(aKey) != myParentAttributes.end()) {
- result = myParentAttributes[aKey];
- }
- return result;
-}
-
-bool Config_FeatureReader::cleanupAttribute(xmlNodePtr theNode,
- const char* theNodeAttribute)
-{
- return cleanupAttribute(getNodeName(theNode).c_str(), theNodeAttribute);
-}
-
-bool Config_FeatureReader::cleanupAttribute(const char* theNodeName,
- const char* theNodeAttribute)
-{
- std::string aKey = std::string(theNodeName) + ":" + std::string(theNodeAttribute);
- bool result = false;
- std::map<std::string, std::string>::iterator anEntry = myParentAttributes.find(aKey);
- if( anEntry != myParentAttributes.end()) {
- myParentAttributes.erase(anEntry);
- result = true;
- }
- return result;
-}
-