Salome HOME
Improve GeomAlgoAPI_ShapeTools::volume() method to return the volume of the shape...
[modules/shaper.git] / src / Config / Config_ValidatorReader.h
index f2ac6293d20adbe1fe86fd23c3a84554d525231f..6124664ad1e8641d3608f5a5551e7a12c3cf1ba1 100644 (file)
@@ -1,11 +1,21 @@
-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
-
-/*
- * Config_ValidatorReader.h
- *
- *  Created on: Mar 20, 2015
- *      Author: sbh
- */
+// Copyright (C) 2014-2020  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_VALIDATORREADER_H_
 #define CONFIG_VALIDATORREADER_H_
@@ -29,14 +39,20 @@ class Config_ValidatorReader : public Config_XMLReader
    * Constructor
    * \param theXmlFile - full path to the xml file which will be processed by the reader
    */
-  CONFIG_EXPORT Config_ValidatorReader(const std::string& theXmlFile);
+  CONFIG_EXPORT Config_ValidatorReader(const std::string& theXmlFile, bool isXMLContent = false);
   CONFIG_EXPORT virtual ~Config_ValidatorReader();
 
+
+  /// Set feature ID for cases when XML for validators is parsed from memory
+  CONFIG_EXPORT void setFeatureId(const std::string& theId) { myExtFeatureId = theId; }
+
+  // for correct SWIG wrapping
+  using Config_XMLReader::readAll;
+
  protected:
   /*!
    * \brief Allows to customize reader's behavior for a node. Virtual.
-   * The default implementation process "source", "validator" and
-   * "selection_filter" nodes.
+   * The default implementation process "source" and "validator" nodes.
    */
   virtual void processNode(xmlNodePtr aNode);
   /*!
@@ -45,16 +61,20 @@ class Config_ValidatorReader : public Config_XMLReader
    */
   virtual bool processChildren(xmlNodePtr aNode);
 
+  /*!
+   * Cleans the cached information about parent feature or attribute (widget)
+   */
+  virtual void cleanup(xmlNodePtr theNode);
+
   /*!
    * \brief Retrieves all the necessary info from the validator node.
    * Sends ValidatorLoaded event
    */
   void processValidator(xmlNodePtr theNode);
-  /*!
-   * \brief Retrieves all the necessary info from the SelectionFilter node.
-   * Sends SelectionFilterLoaded event
-   */
-  void processSelectionFilter(xmlNodePtr theNode);
+
+ private:
+  std::string myCurrentWidget;
+  std::string myExtFeatureId;
 };
 
 #endif /* CONFIG_VALIDATORREADER_H_ */