Make the Grantlee::Node::render method const.
[grantlee:grantlee.git] / templates / i18n / i18ncp.h
1 /*
2   This file is part of the Grantlee template system.
3
4   Copyright (c) 2010 Stephen Kelly <steveire@gmail.com>
5
6   This library is free software; you can redistribute it and/or
7   modify it under the terms of the GNU Lesser General Public
8   License as published by the Free Software Foundation; either version
9   2 of the Licence, or (at your option) any later version.
10
11   This library is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   Library General Public License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with this library.  If not, see <http://www.gnu.org/licenses/>.
18
19 */
20
21 #ifndef I18NCPNODE_H
22 #define I18NCPNODE_H
23
24 #include "node.h"
25
26 namespace Grantlee
27 {
28 class Parser;
29 }
30
31 using namespace Grantlee;
32
33 class I18ncpNodeFactory : public AbstractNodeFactory
34 {
35   Q_OBJECT
36 public:
37   I18ncpNodeFactory();
38
39   Node* getNode( const QString &tagContent, Parser *p ) const;
40
41 };
42
43 class I18ncpVarNodeFactory : public AbstractNodeFactory
44 {
45   Q_OBJECT
46 public:
47   I18ncpVarNodeFactory();
48
49   Node* getNode( const QString &tagContent, Parser *p ) const;
50
51 };
52
53 class I18ncpNode : public Node
54 {
55   Q_OBJECT
56 public:
57   I18ncpNode( const QString &contextText, const QString &sourceText, const QString &pluralTex, const QList<FilterExpression> &feList, QObject *parent = 0 );
58   void render( OutputStream *stream, Context *c ) const;
59
60 private:
61   QString m_contextText;
62   QString m_sourceText;
63   QString m_pluralText;
64   QList<FilterExpression> m_filterExpressionList;
65 };
66
67 class I18ncpVarNode : public Node
68 {
69   Q_OBJECT
70 public:
71   I18ncpVarNode( const QString &contextText, const QString &sourceText, const QString &pluralText, const QList<FilterExpression> &feList, const QString &resultName, QObject *parent = 0 );
72   void render( OutputStream *stream, Context *c ) const;
73
74 private:
75   QString m_contextText;
76   QString m_sourceText;
77   QString m_pluralText;
78   QList<FilterExpression> m_filterExpressionList;
79   QString m_resultName;
80 };
81
82 #endif