~ubuntu-branches/ubuntu/precise/grantlee/precise

« back to all changes in this revision

Viewing changes to corelib/nodebuiltins_p.h

  • Committer: Bazaar Package Importer
  • Author(s): Harald Sitter
  • Date: 2010-06-11 23:41:45 UTC
  • Revision ID: james.westby@ubuntu.com-20100611234145-oas7rhdrbwy8j55c
Tags: upstream-0.1.1
ImportĀ upstreamĀ versionĀ 0.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 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 NODE_BUILTINS_H
 
22
#define NODE_BUILTINS_H
 
23
 
 
24
#include "node.h"
 
25
 
 
26
namespace Grantlee
 
27
{
 
28
 
 
29
/**
 
30
  @internal
 
31
 
 
32
  A Node for plain text. Plain text is everything between variables, comments and template tags.
 
33
*/
 
34
class GRANTLEE_CORE_EXPORT TextNode : public Node
 
35
{
 
36
  Q_OBJECT
 
37
public:
 
38
  explicit TextNode( const QString &content, QObject *parent = 0 );
 
39
 
 
40
  /* reimp */ void render( OutputStream *stream, Context *c ) { // krazy:exclude:inline
 
41
    Q_UNUSED( c );
 
42
    ( *stream ) << m_content;
 
43
  }
 
44
 
 
45
  void appendContent( const QString &content ) { // krazy:exclude:inline
 
46
    m_content += content;
 
47
  }
 
48
 
 
49
private:
 
50
  QString m_content;
 
51
};
 
52
 
 
53
/**
 
54
  @internal
 
55
 
 
56
  A node for a variable or filter expression substitution.
 
57
*/
 
58
class GRANTLEE_CORE_EXPORT VariableNode : public Node
 
59
{
 
60
  Q_OBJECT
 
61
public:
 
62
  explicit VariableNode( const FilterExpression &fe, QObject *parent = 0 );
 
63
 
 
64
  /* reimp */ void render( OutputStream *stream, Context *c );
 
65
 
 
66
private:
 
67
  FilterExpression m_filterExpression;
 
68
};
 
69
 
 
70
}
 
71
 
 
72
#endif