Nuria Framework - Core
Core module of the NuriaProject Framework
 All Classes Functions Typedefs Enumerations Enumerator Groups
templateengine.hpp
1 /* Copyright (c) 2014, The Nuria Project
2  * This software is provided 'as-is', without any express or implied
3  * warranty. In no event will the authors be held liable for any damages
4  * arising from the use of this software.
5  * Permission is granted to anyone to use this software for any purpose,
6  * including commercial applications, and to alter it and redistribute it
7  * freely, subject to the following restrictions:
8  * 1. The origin of this software must not be misrepresented; you must not
9  * claim that you wrote the original software. If you use this software
10  * in a product, an acknowledgment in the product documentation would be
11  * appreciated but is not required.
12  * 2. Altered source versions must be plainly marked as such, and must not be
13  * misrepresented as being the original software.
14  * 3. This notice may not be removed or altered from any source
15  * distribution.
16  */
17 
18 #ifndef NURIA_TEMPLATEENGINE_HPP
19 #define NURIA_TEMPLATEENGINE_HPP
20 
21 #include "essentials.hpp"
22 #include <QVariant>
23 class QIODevice;
24 
25 namespace Nuria {
26 
27 class TemplateEnginePrivate;
28 
166 class NURIA_CORE_EXPORT TemplateEngine {
167 public:
168 
173  TemplateEngine (const QString &templData = QString ());
174 
183  TemplateEngine (QIODevice *readDevice);
184 
185  ~TemplateEngine ();
186 
191  QString templateData () const;
192 
196  void bind (const QString &name, const QVariant &data);
197 
202  void bind (const QString &name, QObject *object);
203 
207  void unbind (const QString &name);
208 
212  void clearBindings ();
213 
218  void setTemplateData (const QString &templData);
219 
223  QString generate ();
224 
228  static QString generate (const QString &templateData, const QVariantMap &variables);
229 
230 private:
231 
232  TemplateEnginePrivate *d_ptr;
233 
234 };
235 
236 }
237 
238 #endif // NURIA_TEMPLATEENGINE_HPP
Definition: templateengine.hpp:166