X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConfig%2FConfig_WidgetReader.h;h=527edb9269f65d085a36bdf4dafaf1ea0bd2daa0;hb=deed7a286b0da886e8ef021a572814abf5a9d3b8;hp=96f35ac19a062a46a70075bab2150b115c9a2b1f;hpb=50eee93b00efc7e0e2595937d9cba45e131ca8cb;p=modules%2Fshaper.git diff --git a/src/Config/Config_WidgetReader.h b/src/Config/Config_WidgetReader.h index 96f35ac19..527edb926 100644 --- a/src/Config/Config_WidgetReader.h +++ b/src/Config/Config_WidgetReader.h @@ -1,9 +1,21 @@ -/* - * Config_WidgetReader.h - * - * Created on: Apr 2, 2014 - * Author: sbh - */ +// Copyright (C) 2014-2019 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 +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #ifndef CONFIG_WIDGETREADER_H_ #define CONFIG_WIDGETREADER_H_ @@ -14,22 +26,38 @@ #include #include - -class Config_WidgetReader: public Config_XMLReader +/*! + * \class Config_WidgetReader + * \ingroup Config + * \brief Class that dumps xml definitions of widgets for + * further processing in the WidgetFactory + */ +class Config_WidgetReader : public Config_XMLReader { -public: + public: + /*! + * Constructor + * \param theXmlFile - full path to the xml file which will be processed by the reader + */ CONFIG_EXPORT Config_WidgetReader(const std::string& theXmlFile); CONFIG_EXPORT virtual ~Config_WidgetReader(); + /// Extract feature's widget configuration from local cache, stored on node processing CONFIG_EXPORT std::string featureWidgetCfg(const std::string& theFeatureName); + /// Extract feature's description from local cache, stored on node processing CONFIG_EXPORT std::string featureDescription(const std::string& theFeatureName); -protected: + protected: + /// Overloaded method. Defines how to process each node void processNode(xmlNodePtr theNode); + /// Overloaded method. Defines if the given node should be parsed recursively bool processChildren(xmlNodePtr theNode); + /// Extracts xml definition of the given node and it's children std::string dumpNode(xmlNodePtr theNode); + /// Replace all "source" nodes with their content (used before dumping nodes) + void resolveSourceNodes(xmlNodePtr theNode); -private: + private: std::map myWidgetCache; std::map myDescriptionCache;