X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConfig%2FConfig_FeatureReader.cpp;h=2aeaadb7838cfc39249b3bc87e370240f3a9fb72;hb=b49c0718151f095c02a6a151631b9cf8f5027b47;hp=7d93e060e7dc85163cad07be11d650a6b2444239;hpb=749e980caeebfe4d16441703b7028dbbb1f1d91a;p=modules%2Fshaper.git diff --git a/src/Config/Config_FeatureReader.cpp b/src/Config/Config_FeatureReader.cpp index 7d93e060e..2aeaadb78 100644 --- a/src/Config/Config_FeatureReader.cpp +++ b/src/Config/Config_FeatureReader.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2022 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -40,9 +40,11 @@ Config_FeatureReader::Config_FeatureReader(const std::string& theXmlFile, const std::string& theLibraryName, + const std::string& theDocSection, const char* theEventGenerated) : Config_XMLReader(theXmlFile), myLibraryName(theLibraryName), + myLibraryDocSection(theDocSection), myEventGenerated(theEventGenerated ? theEventGenerated : Config_FeatureMessage::GUI_EVENT()), myIsProcessWidgets(theEventGenerated != NULL) { @@ -99,7 +101,7 @@ void Config_FeatureReader::processNode(xmlNodePtr theNode) std::string aCaseNodeID = getProperty(aCaseNode, _ID); std::string aSwitchNodeID = ""; const xmlChar* aName = aCaseNode->name; - xmlNodePtr aSwitchNode; + xmlNodePtr aSwitchNode = 0; if (!xmlStrcmp(aName, (const xmlChar *) WDG_SWITCH_CASE)) { aSwitchNode = hasParentRecursive(aCaseNode, WDG_SWITCH, NULL); } @@ -176,14 +178,23 @@ void Config_FeatureReader::fillFeature(xmlNodePtr theFeatureNode, outFeatureMessage->setInternal(isInternal); std::string aHelpFile = getProperty(theFeatureNode, HELP_FILE); - if (!aHelpFile.empty()) - outFeatureMessage->setHelpFileName(myLibraryName + "/" + aHelpFile); - - if (isInternal) { - //Internal feature has no visual representation. - return; + if (!aHelpFile.empty()) { + aHelpFile = + (myLibraryDocSection.empty() ? myLibraryName : myLibraryDocSection) + "/" + aHelpFile; + outFeatureMessage->setHelpFileName(aHelpFile); } + bool isHideFaces = getBooleanAttribute(theFeatureNode, HIDEFACES_PANEL, false); + outFeatureMessage->setHideFacesPanel(isHideFaces); + + bool isConfirmAbort = getBooleanAttribute(theFeatureNode, ABORT_CONFIRMATION, true); + outFeatureMessage->setAbortConfirmation(isConfirmAbort); + + //if (isInternal) { + // //Internal feature has no visual representation. + // return; + //} + std::string aText = Config_Translator::translate(anId, getProperty(theFeatureNode, FEATURE_TEXT)); outFeatureMessage->setText(aText); bool isTitleInToolbar = getBooleanAttribute(theFeatureNode, FEATURE_TITLE_IN_TOOLBAR, true);