Cutelyst  1.11.0
Public Member Functions | Properties | List of all members
Cutelyst::GrantleeView Class Reference

#include <grantleeview.h>

Inheritance diagram for Cutelyst::GrantleeView:
Inheritance graph

Public Member Functions

 GrantleeView (QObject *parent=nullptr, const QString &name=QString())
 Constructs a GrantleeView object with the given parent and name.
void addTranslationCatalog (const QString &path, const QString &catalog)
void addTranslationCatalogs (const QHash< QString, QString > &catalogs)
void addTranslator (const QLocale &locale, QTranslator *translator)
void addTranslator (const QString &locale, QTranslator *translator)
Grantlee::Engine * engine () const
QStringList includePaths () const
 Returns the list of include paths.
bool isCaching () const
 Returns true if caching is enabled.
void preloadTemplates ()
QByteArray render (Context *c) const final
void setCache (bool enable)
 Sets if template caching should be done, this increases performance at the cost of higher memory usage.
void setIncludePaths (const QStringList &paths)
 Sets the list of include paths which will be looked for when resolving templates files.
void setTemplateExtension (const QString &extension)
 Sets the template extension, defaults to ".html".
void setWrapper (const QString &name)
 Sets the template wrapper name, the template will be rendered into content variable in which the wrapper template should render.
QString templateExtension () const
 Returns the template extension.
QString wrapper () const
 Returns the template wrapper.
- Public Member Functions inherited from Cutelyst::View
 View (QObject *parent, const QString &name=QString())
virtual Modifiers modifiers () const override
QString name () const
- Public Member Functions inherited from Cutelyst::Component
 Component (QObject *parent=nullptr)
bool execute (Context *c)
virtual bool init (Application *application, const QVariantHash &args)
QString name () const
QString reverse () const
void setName (const QString &name)
void setReverse (const QString &reverse)


bool cache
QStringList includePaths
QString templateExtension
QString wrapper

Additional Inherited Members

- Public Types inherited from Cutelyst::Component
enum  Modifier {
  None, OnlyExecute, BeforeExecute, AroundExecute,
- Protected Member Functions inherited from Cutelyst::Component
virtual bool afterExecute (Context *c)
void applyRoles (const QStack< Component * > &roles)
virtual bool aroundExecute (Context *c, QStack< Component * > stack)
virtual bool beforeExecute (Context *c)
virtual bool dispatcherReady (const Dispatcher *dispatch, Controller *controller)

Detailed Description

GrantleeView is a Cutelyst::View handler that renders templates using Grantlee engine.

This View also exports a Grantlee tag for dealing with Cutelyst::Context::uriFor():

{% c_uri_for "/path" "arg1" "arg2" QUERY "foo=bar" c.req.queryParams %}

Where only the path is required, and QUERY keyword must preceed query parameters

Definition at line 47 of file grantleeview.h.

Member Function Documentation

void GrantleeView::addTranslationCatalog ( const QString &  path,
const QString &  catalog 

Dynamically adds translation catalog at path to the translator.

Translation catalogs can be used to dynamically integrate translations into the GrantleeView, for example for plugins and themes. The catalog could be the name of an extension for example that is loaded from a locale specifc directory under path.

The catalog will be loaded in the following way: /path/locale/catalog, for example /usr/share/mycutelystapp/l10n/de_DE/fancytheme.qm. The current locale is defined by Context::locale() when rendering the theme. The path /usr/share/myapp/l10n would then contain locale specific subdirectories like de_DE, pt_BR, etc. that contain the translation files named by catalog.

Usage example:
bool MyCutelystApp::init()
// ...
auto view = new GrantleeView(this);
view->addTranslationCatalog(QStringLiteral("/usr/share/mycutelystapp/l10n"), QStringLiteral("fancytheme"));
// ...
Cutelyst 1.5.0

Definition at line 246 of file grantleeview.cpp.

void GrantleeView::addTranslationCatalogs ( const QHash< QString, QString > &  catalogs)

Adds a dictionary of translation catalogs and paths to the translator.

The key of the QHash is the name of the catalog, the value is the path. See addTranslationCatalog() for more information about translation catalogs.

Cutelyst 1.5.0

Definition at line 254 of file grantleeview.cpp.

void GrantleeView::addTranslator ( const QLocale &  locale,
QTranslator *  translator 

Adds a translator for the specified locale to the list of translators.

Example usage
bool MyCutelystApp::init()
// ...
auto view = new GrantleeView(this);
auto deDeTrans = new QTranslator(this);
if (deDeTrans->load(QStringLiteral("de_DE"), QStringLiteral("/path/to/my/translations")) {
view->addTranslator(QLocale("de_DE"), deDeTrans);
auto ptBrTrans = new QTranslator(this);
if (ptBrTrans->load(QStringLiteral("pt_BR"), QStringLiteral("/path/to/my/translations")) {
view->addTranslator(QLocale("pt_BR"), ptBrTrans);
// ...
Cutelyst 1.5.0

Definition at line 234 of file grantleeview.cpp.

Referenced by addTranslator().

void GrantleeView::addTranslator ( const QString &  locale,
QTranslator *  translator 

Adds a translator for the specified locale to the list of translators.

The locale string should be parseable by QLocale.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Cutelyst 1.4.0

Definition at line 241 of file grantleeview.cpp.

References addTranslator().

Grantlee::Engine * GrantleeView::engine ( ) const

Returns the Grantlee::Engine pointer that is used by this engine.

Definition at line 124 of file grantleeview.cpp.

void GrantleeView::preloadTemplates ( )

When called cache is set to true and templates are loaded.

Definition at line 130 of file grantleeview.cpp.

References includePaths(), isCaching(), and setCache().

QByteArray GrantleeView::render ( Context c) const

All subclasses must reimplement this when doing it's rendering. If an error (c->error()) is not set c->response()->body() is defined with the returned value, this is useful if the view is not meant to be used as a body.

Implements Cutelyst::View.

Definition at line 165 of file grantleeview.cpp.

References Cutelyst::Context::error(), Cutelyst::Context::locale(), Cutelyst::Context::res(), Cutelyst::Component::reverse(), Cutelyst::Response::setBody(), Cutelyst::Context::setStash(), Cutelyst::Context::stash(), Cutelyst::Context::translate(), and wrapper().