KTextTemplate::TemplateImpl Class
class KTextTemplate::TemplateImplThe Template class is a tree of nodes which may be rendered. More...
| Header: | #include <KTextTemplate/Template> |
| CMake: | find_package(KF6 REQUIRED COMPONENTS TextTemplate)target_link_libraries(mytarget PRIVATE KF6::TextTemplate) |
Public Functions
| const KTextTemplate::Engine * | engine() const |
| KTextTemplate::Error | error() const |
| QString | errorString() const |
| QString | render(KTextTemplate::Context *c) const |
| KTextTemplate::OutputStream * | render(KTextTemplate::OutputStream *stream, KTextTemplate::Context *c) const |
Related Non-Members
Detailed Description
All Templates are created through the KTextTemplate::Engine class. A Template is created by parsing some text markup passed into the Engine, or by reading it from a file.
Note that Template is actually a typedef for a QSharedPointer<TemplateImpl>; so all of its members should be accessed with operator->().
The result of parsing is a Template object which can be rendered multiple times with multiple different Contexts.
auto engine = getEngine();
auto t = engine->newTemplate(
"{{ name }} is aged {{ age }}",
"simple template" );
if ( t->error() )
{
// Tokenizing or parsing error, or couldn't find custom tags or filters.
qDebug() << t->errorString();
return;
}
QTextStream textStream( stdout );
OutputStream stream( textStream );
for ( ... )
{
Context c;
// ... c.insert
t->render( stream, c );
if (t->error())
{
// Rendering error.
qDebug() << t->errorString();
}
}
If there is an error in parsing or rendering, the error and errorString methods can be used to check the source of the error.
Member Function Documentation
const KTextTemplate::Engine *TemplateImpl::engine() const
Returns the Engine that created this Template.
KTextTemplate::Error TemplateImpl::error() const
Returns an error code for the error encountered.
QString TemplateImpl::errorString() const
Returns more information to developers in the form of a string.
QString TemplateImpl::render(KTextTemplate::Context *c) const
Renders the Template to a string given the Context c.
KTextTemplate::OutputStream *TemplateImpl::render(KTextTemplate::OutputStream *stream, KTextTemplate::Context *c) const
Renders the Template to the OutputStream stream given the Context c.