Make the Grantlee::Node::render method const.
[grantlee:grantlee.git] / templates / defaulttags / with.h
1 /*
2   This file is part of the Grantlee template system.
3
4   Copyright (c) 2009,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.1 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   Lesser 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 WITHNODE_H
22 #define WITHNODE_H
23
24 #include "node.h"
25
26 using namespace Grantlee;
27
28 class WithNodeFactory : public AbstractNodeFactory
29 {
30   Q_OBJECT
31 public:
32   WithNodeFactory();
33
34   Node* getNode( const QString &tagContent, Parser *p ) const;
35
36 };
37
38 class WithNode : public Node
39 {
40   Q_OBJECT
41 public:
42   WithNode( const FilterExpression &expression, const QString &name, QObject *parent = 0 );
43
44   void setNodeList( NodeList nodeList );
45
46   void render( OutputStream *stream, Context *c ) const;
47
48 private:
49   FilterExpression m_filterExpression;
50   QString m_name;
51   NodeList m_list;
52
53 };
54
55 #endif
56