Cutelee
6.1.0
block.h
1
/*
2
This file is part of the Cutelee 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 BLOCKNODE_H
22
#define BLOCKNODE_H
23
24
#include "node.h"
25
26
namespace
Cutelee
27
{
28
class
Parser
;
29
}
30
31
using namespace
Cutelee
;
32
33
class
BlockNodeFactory :
public
AbstractNodeFactory
34
{
35
Q_OBJECT
36
public
:
37
explicit
BlockNodeFactory(
QObject
*
parent
= {});
38
39
Node
*
getNode
(
const
QString
&tagContent,
Parser
*p)
const override
;
40
};
41
42
class
BlockNode :
public
Node
43
{
44
Q_OBJECT
45
Q_PROPERTY
(
Cutelee::SafeString
super READ
getSuper
CONSTANT)
46
public
:
47
BlockNode(
const
QString
&blockName,
QObject
*
parent
= {});
48
~BlockNode()
override
;
49
50
void
setNodeList(
const
NodeList
&list)
const
;
51
52
void
render
(
OutputStream
*stream,
Context
*c)
const override
;
53
54
BlockNode *takeNodeParent();
55
56
QString
name()
const
;
57
58
void
setNodeParent(BlockNode *);
59
60
void
addParent(
NodeList
);
61
62
NodeList
nodeList()
const
;
63
64
// Q_SLOTS
68
SafeString
getSuper
()
const
;
69
70
private
:
71
const
QString
m_name;
72
mutable
NodeList
m_list;
73
mutable
Context
*m_context;
74
mutable
OutputStream
*m_stream;
75
};
76
77
#endif
BlockNodeFactory::getNode
Node * getNode(const QString &tagContent, Parser *p) const override
Definition
block.cpp:40
BlockNode::render
void render(OutputStream *stream, Context *c) const override
Definition
block.cpp:103
BlockNode::getSuper
SafeString getSuper() const
Definition
block.cpp:145
Cutelee::AbstractNodeFactory::AbstractNodeFactory
AbstractNodeFactory(QObject *parent={})
Definition
node.cpp:184
Cutelee::Context
The Context class holds the context to render a Template with.
Definition
context.h:119
Cutelee::NodeList
A list of Nodes with some convenience API for rendering them.
Definition
node.h:148
Cutelee::Node
Base class for all nodes.
Definition
node.h:78
Cutelee::Node::Node
Node(QObject *parent={})
Definition
node.cpp:84
Cutelee::OutputStream
The OutputStream class is used to render templates to a QTextStream.
Definition
outputstream.h:81
Cutelee::Parser
The Parser class processes a string template into a tree of nodes.
Definition
parser.h:49
Cutelee::SafeString
A QString wrapper class for containing whether a string is safe or needs to be escaped.
Definition
safestring.h:92
Cutelee
The Cutelee namespace holds all public Cutelee API.
Definition
Mainpage.dox:8
QObject::QObject
QObject(QObject *parent)
QObject::Q_OBJECT
Q_OBJECTQ_OBJECT
QObject::Q_PROPERTY
Q_PROPERTY(...)
QObject::parent
QObject * parent() const const
QString
templates
loadertags
block.h
Generated by
1.16.1