cutelyst  3.9.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
cuteleeview.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2013-2022 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef CUTELEE_VIEW_H
6 #define CUTELEE_VIEW_H
7 
8 #include <Cutelyst/View>
9 
10 #include <QLocale>
11 #include <QObject>
12 #include <QStringList>
13 #include <QVector>
14 
15 class QTranslator;
16 
17 namespace Cutelee {
18 class Engine;
19 }
20 
21 namespace Cutelyst {
22 
23 class CuteleeViewPrivate;
35 class CUTELYST_VIEW_CUTELEE_EXPORT CuteleeView final : public View
36 {
37  Q_OBJECT
38  Q_DECLARE_PRIVATE(CuteleeView)
39 public:
43  explicit CuteleeView(QObject *parent = nullptr, const QString &name = QString());
44 
45  Q_PROPERTY(QStringList includePaths READ includePaths WRITE setIncludePaths NOTIFY changed)
49  QStringList includePaths() const;
50 
54  void setIncludePaths(const QStringList &paths);
55 
56  Q_PROPERTY(
57  QString templateExtension READ templateExtension WRITE setTemplateExtension NOTIFY changed)
61  QString templateExtension() const;
62 
66  void setTemplateExtension(const QString &extension);
67 
68  Q_PROPERTY(QString wrapper READ wrapper WRITE setWrapper NOTIFY changed)
69 
70 
73  QString wrapper() const;
74 
79  void setWrapper(const QString &name);
80 
81  Q_PROPERTY(bool cache READ isCaching WRITE setCache NOTIFY changed)
85  bool isCaching() const;
86 
91  void setCache(bool enable);
92 
96  Cutelee::Engine *engine() const;
97 
101  void preloadTemplates();
102 
103  QByteArray render(Context *c) const final;
104 
134  void addTranslator(const QLocale &locale, QTranslator *translator);
135 
147  void addTranslator(const QString &locale, QTranslator *translator);
148 
178  void addTranslationCatalog(const QString &path, const QString &catalog);
179 
188  void addTranslationCatalogs(const QMultiHash<QString, QString> &catalogs);
189 
218  QVector<QLocale> loadTranslationsFromDir(const QString &filename,
219  const QString &directory,
220  const QString &prefix = QStringLiteral("."),
221  const QString &suffix = QStringLiteral(".qm"));
222 
223 Q_SIGNALS:
224  void changed();
225 };
226 
227 } // namespace Cutelyst
228 
229 #endif // CUTELEE_VIEW_H
The Cutelyst Context.
Definition: context.h:38
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7
Cutelyst View abstract view component
Definition: view.h:21