X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConfig%2FConfig_FeatureReader.cpp;h=3d53a63d604873b234866534bb79e555a1206617;hb=95ff1008bc8215fdeafd7d253dc5a6f33e949363;hp=719dd5eb136c5affbf1b8c74fb20d4dab2ab7649;hpb=97917d3698f5a2f7fc9596e7c755ff8f6751e373;p=modules%2Fshaper.git diff --git a/src/Config/Config_FeatureReader.cpp b/src/Config/Config_FeatureReader.cpp index 719dd5eb1..3d53a63d6 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-2021 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); } @@ -174,20 +176,34 @@ void Config_FeatureReader::fillFeature(xmlNodePtr theFeatureNode, bool isInternal = getBooleanAttribute(theFeatureNode, ATTR_INTERNAL, false); outFeatureMessage->setInternal(isInternal); - if (isInternal) { - //Internal feature has no visual representation. - return; + + std::string aHelpFile = getProperty(theFeatureNode, HELP_FILE); + 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); - std::string aToolTip = Config_Translator::translate(anId, - getProperty(theFeatureNode, FEATURE_TOOLTIP)); + bool isTitleInToolbar = getBooleanAttribute(theFeatureNode, FEATURE_TITLE_IN_TOOLBAR, true); + outFeatureMessage->setTitleInToolbar(isTitleInToolbar); + std::string aToolTip = Config_Translator::translate( + anId, getProperty(theFeatureNode, FEATURE_TOOLTIP)); + outFeatureMessage->setTooltip(aToolTip); outFeatureMessage->setIcon(getProperty(theFeatureNode, FEATURE_ICON)); outFeatureMessage->setKeysequence(getProperty(theFeatureNode, FEATURE_KEYSEQUENCE)); - std::string aHelpFile = getProperty(theFeatureNode, HELP_FILE); - if (!aHelpFile.empty()) - outFeatureMessage->setHelpFileName(myLibraryName + "/" + aHelpFile); std::string aGroupName = restoreAttribute(NODE_GROUP, _ID); std::string aWBNName = restoreAttribute(NODE_WORKBENCH, _ID);