KTextTemplate::Context
#include <KTextTemplate/Context>
Public Types | |
enum | UrlType { AbsoluteUrls , RelativeUrls } |
Public Member Functions | |
Context () | |
Context (const Context &other) | |
Context (const QVariantHash &hash) | |
~Context () | |
QList< std::pair< QString, QString > > | externalMedia () const |
void | insert (const QString &name, const QVariant &variant) |
void | insert (const QString &name, QObject *object) |
QSharedPointer< AbstractLocalizer > | localizer () const |
QVariant | lookup (const QString &str) const |
Context & | operator= (const Context &other) |
void | pop () |
void | push () |
QString | relativeMediaPath () const |
RenderContext * | renderContext () const |
void | setLocalizer (QSharedPointer< AbstractLocalizer > localizer) |
void | setRelativeMediaPath (const QString &relativePath) |
void | setUrlType (UrlType type) |
UrlType | urlType () const |
Detailed Description
The Context class holds the context to render a Template with.
For application developers, using the Context class is a matter of inserting keys and values as appropriate for rendering a Template using the insert method.
Note that one Template may be rendered multiple times with different contexts. Note also that any QVariant may be inserted into a Context object. Most commonly, QObjects will be used here.
- See also
- Custom objects
Context Stack.
For template tag developers, some other Context API is relevant.
It is possible to push and pop layers of context while a template is being rendered. This is useful if your template tag makes additional variables temporarily available in a part of a template. Template tags should only modify layers of context that they push themselves, and should pop any layers created before finishing its rendering step.
See for example the {% with %}
tag. In a template such as
In this case, lowerName is available in the context only between the {% with %}
and {% endwith %}
tags. The implementation of the {% with %}
tag render method is:
Note that a Context may temporarily override a variable in a parent context. This is why it is important to push a new context when adding items to context and pop it when finished.
Member Enumeration Documentation
◆ UrlType
Constructor & Destructor Documentation
◆ Context() [1/3]
Context::Context | ( | ) |
Creates an empty context.
Definition at line 51 of file context.cpp.
◆ Context() [2/3]
|
explicit |
Sets every key in the hash as a property name with the variant as the value.
Definition at line 56 of file context.cpp.
◆ Context() [3/3]
Context::Context | ( | const Context & | other | ) |
Copy Constructor.
Definition at line 61 of file context.cpp.
◆ ~Context()
Context::~Context | ( | ) |
Destructor.
Definition at line 80 of file context.cpp.
Member Function Documentation
◆ externalMedia()
Returns the external media encountered in the Template while rendering.
Definition at line 172 of file context.cpp.
◆ insert() [1/2]
Insert the context object variant
identified by name
into the Context.
Definition at line 133 of file context.cpp.
◆ insert() [2/2]
Insert the context object object
identified by name
into the Context.
Definition at line 140 of file context.cpp.
◆ localizer()
QSharedPointer< AbstractLocalizer > Context::localizer | ( | ) | const |
Returns the localizer currently in use.
Definition at line 224 of file context.cpp.
◆ lookup()
Returns the context object identified by the key str
.
Definition at line 97 of file context.cpp.
◆ operator=()
Assignmant operator.
Definition at line 67 of file context.cpp.
◆ pop()
void Context::pop | ( | ) |
◆ push()
void Context::push | ( | ) |
◆ relativeMediaPath()
QString Context::relativeMediaPath | ( | ) | const |
The relative path to external media to be used in templates.
Definition at line 202 of file context.cpp.
◆ renderContext()
RenderContext * Context::renderContext | ( | ) | const |
Returns a modifiable RenderContext.
This may be used to make Template rendering threadsafe so that render state does not need to be stored in the Node implementation itself.
Definition at line 208 of file context.cpp.
◆ setLocalizer()
void Context::setLocalizer | ( | QSharedPointer< AbstractLocalizer > | localizer | ) |
Sets the localizer
to be used.
The Context takes ownerwhip of the localizer.
Definition at line 214 of file context.cpp.
◆ setRelativeMediaPath()
void Context::setRelativeMediaPath | ( | const QString & | relativePath | ) |
Sets the relative path to external media to be used in templates to relativePath
.
- See also
- media_finder
Definition at line 196 of file context.cpp.
◆ setUrlType()
void Context::setUrlType | ( | Context::UrlType | type | ) |
Sets the type of external media URL to be used in the template to type
.
- See also
- media_finder
Definition at line 184 of file context.cpp.
◆ urlType()
Context::UrlType Context::urlType | ( | ) | const |
The type of URL used in the template.
Definition at line 190 of file context.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:56:17 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.