From cef9e14b989a3ba19321e4fe215ada2ee3998037 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Wed, 3 Jan 2018 19:01:57 -0200 Subject: Some file hand. organization and generalization --- Project/XMLParser.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Project/XMLParser.h (limited to 'Project/XMLParser.h') diff --git a/Project/XMLParser.h b/Project/XMLParser.h new file mode 100644 index 0000000..1486394 --- /dev/null +++ b/Project/XMLParser.h @@ -0,0 +1,34 @@ +#ifndef XMLPARSER_H +#define XMLPARSER_H + +#include "rapidXML/rapidxml.hpp" +// Modified: http://stackoverflow.com/questions/14113923/rapidxml-print-header-has-undefined-methods +#include "rapidXML/rapidxml_print.hpp" +#include "rapidXML/rapidxml_utils.hpp" + +#include + +class XMLParser +{ +public: + XMLParser(); + ~XMLParser(); + + static rapidxml::xml_node<>* AppendNode(rapidxml::xml_document<>& doc, + rapidxml::xml_node<>* parentNode, + const char* name, + rapidxml::node_type nodeType = rapidxml::node_element); + static void SetNodeValue(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, wxString value); + static void SetNodeValue(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, int value); + static void SetNodeValue(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, double value); + static void SetNodeAttribute(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, const char* atrName, wxString value); + static void SetNodeAttribute(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, const char* atrName, int value); + static void SetNodeAttribute(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, const char* atrName, double value); + static double GetNodeValueDouble(rapidxml::xml_node<>* parent, const char* nodeName); + static int GetNodeValueInt(rapidxml::xml_node<>* parent, const char* nodeName); + static int GetAttributeValueInt(rapidxml::xml_node<>* parent, const char* nodeName, const char* atrName); + static int GetAttributeValueInt(rapidxml::xml_node<>* node, const char* atrName); + +}; + +#endif // XMLPARSER_H -- cgit From 76df1de5e2307229da9870306e4a1031170aaadf Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Thu, 4 Jan 2018 19:11:08 -0200 Subject: Control elements file handling reorganized --- Project/XMLParser.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'Project/XMLParser.h') diff --git a/Project/XMLParser.h b/Project/XMLParser.h index 1486394..ee8f5a0 100644 --- a/Project/XMLParser.h +++ b/Project/XMLParser.h @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2018 Thales Lima Oliveira + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #ifndef XMLPARSER_H #define XMLPARSER_H -- cgit From c11a42ee83fcf535557d4f2cc259efae2da1b7ff Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Mon, 8 Jan 2018 20:07:47 -0200 Subject: File handling and control initialization organized --- Project/XMLParser.h | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'Project/XMLParser.h') diff --git a/Project/XMLParser.h b/Project/XMLParser.h index ee8f5a0..b66fe74 100644 --- a/Project/XMLParser.h +++ b/Project/XMLParser.h @@ -25,27 +25,42 @@ #include +/** + * @class XMLParser + * @author Thales Lima Oliveira + * @date 08/01/2018 + * @brief XML parser to save and open project and control files. + * @file XMLParser.h + */ class XMLParser { -public: + public: XMLParser(); ~XMLParser(); - + static rapidxml::xml_node<>* AppendNode(rapidxml::xml_document<>& doc, - rapidxml::xml_node<>* parentNode, - const char* name, - rapidxml::node_type nodeType = rapidxml::node_element); + rapidxml::xml_node<>* parentNode, + const char* name, + rapidxml::node_type nodeType = rapidxml::node_element); static void SetNodeValue(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, wxString value); static void SetNodeValue(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, int value); static void SetNodeValue(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, double value); - static void SetNodeAttribute(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, const char* atrName, wxString value); - static void SetNodeAttribute(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, const char* atrName, int value); - static void SetNodeAttribute(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* node, const char* atrName, double value); + static void SetNodeAttribute(rapidxml::xml_document<>& doc, + rapidxml::xml_node<>* node, + const char* atrName, + wxString value); + static void SetNodeAttribute(rapidxml::xml_document<>& doc, + rapidxml::xml_node<>* node, + const char* atrName, + int value); + static void SetNodeAttribute(rapidxml::xml_document<>& doc, + rapidxml::xml_node<>* node, + const char* atrName, + double value); static double GetNodeValueDouble(rapidxml::xml_node<>* parent, const char* nodeName); static int GetNodeValueInt(rapidxml::xml_node<>* parent, const char* nodeName); static int GetAttributeValueInt(rapidxml::xml_node<>* parent, const char* nodeName, const char* atrName); static int GetAttributeValueInt(rapidxml::xml_node<>* node, const char* atrName); - }; -#endif // XMLPARSER_H +#endif // XMLPARSER_H -- cgit