X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConfig%2FConfig_WidgetReader.h;h=a95d8b805b154302decb362ca6c23d1111e5d2d5;hb=0479361746467f244b7ccfd1d25443677bdea8a6;hp=7b5aa86f4908e97aa352db1eebfd5ce62c91a978;hpb=34c92803a174324249d12ae0eb45143e0d8a9c23;p=modules%2Fshaper.git diff --git a/src/Config/Config_WidgetReader.h b/src/Config/Config_WidgetReader.h index 7b5aa86f4..a95d8b805 100644 --- a/src/Config/Config_WidgetReader.h +++ b/src/Config/Config_WidgetReader.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + /* * Config_WidgetReader.h * @@ -8,27 +10,46 @@ #ifndef CONFIG_WIDGETREADER_H_ #define CONFIG_WIDGETREADER_H_ -#include +#include #include #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(); - CONFIG_EXPORT std::string featureWidgetCfg(std::string theFeatureName); + /// 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; };