cutelyst 5.0.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
Cutelyst::View Class Referenceabstract

Abstract View component for Cutelyst. More...

#include <Cutelyst/View>

Inheritance diagram for Cutelyst::View:

Public Member Functions

 View (QObject *parent, const QString &name)
virtual ~View () override=default
Modifiers modifiers () const override
virtual QByteArray render (Context *c) const =0
void setMinimalSizeToDeflate (qint32 minSize=-1)
Public Member Functions inherited from Cutelyst::Component
 Component (QObject *parent=nullptr)
virtual ~Component () override
bool execute (Context *c)
virtual bool init (Application *application, const QVariantHash &args)
QString name () const noexcept
QString reverse () const noexcept
void setName (const QString &name)
void setReverse (const QString &reverse)
Public Member Functions inherited from QObject
 QObject (QObject *parent)
QBindable< QStringbindableObjectName ()
bool blockSignals (bool block)
const QObjectListchildren () const const
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
void deleteLater ()
void destroyed (QObject *obj)
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
bool disconnect (const QObject *receiver, const char *method) const const
void dumpObjectInfo () const const
void dumpObjectTree () const const
QList< QByteArraydynamicPropertyNames () const const
virtual bool event (QEvent *e)
virtual bool eventFilter (QObject *watched, QEvent *event)
findChild (QAnyStringView name, Qt::FindChildOptions options) const const
findChild (Qt::FindChildOptions options) const const
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
QList< T > findChildren (QAnyStringView name, Qt::FindChildOptions options) const const
QList< T > findChildren (Qt::FindChildOptions options) const const
bool inherits (const char *className) const const
void installEventFilter (QObject *filterObj)
bool isQmlExposed () const const
bool isQuickItemType () const const
bool isWidgetType () const const
bool isWindowType () const const
void killTimer (int id)
void killTimer (Qt::TimerId id)
virtual const QMetaObjectmetaObject () const const
bool moveToThread (QThread *targetThread)
QString objectName () const const
void objectNameChanged (const QString &objectName)
QObjectparent () const const
QVariant property (const char *name) const const
 Q_CLASSINFO (Name, Value)
 Q_EMIT Q_EMIT
 Q_ENUM (...)
 Q_ENUM_NS (...)
 Q_ENUMS (...)
 Q_FLAG (...)
 Q_FLAG_NS (...)
 Q_FLAGS (...)
 Q_GADGET Q_GADGET
 Q_GADGET_EXPORT (EXPORT_MACRO)
 Q_INTERFACES (...)
 Q_INVOKABLE Q_INVOKABLE
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 Q_NAMESPACE Q_NAMESPACE
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 Q_OBJECT Q_OBJECT
 Q_PROPERTY (...)
 Q_REVISION Q_REVISION
 Q_SET_OBJECT_NAME (Object)
 Q_SIGNAL Q_SIGNAL
 Q_SIGNALS Q_SIGNALS
 Q_SLOT Q_SLOT
 Q_SLOTS Q_SLOTS
qobject_cast (const QObject *object)
qobject_cast (QObject *object)
 QT_NO_CONTEXTLESS_CONNECT QT_NO_CONTEXTLESS_CONNECT
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
void removeEventFilter (QObject *obj)
void setObjectName (const QString &name)
void setObjectName (QAnyStringView name)
void setParent (QObject *parent)
bool setProperty (const char *name, const QVariant &value)
bool setProperty (const char *name, QVariant &&value)
bool signalsBlocked () const const
int startTimer (int interval, Qt::TimerType timerType)
int startTimer (std::chrono::nanoseconds interval, Qt::TimerType timerType)
QThreadthread () const const

Protected Member Functions

 View (ViewPrivate *d, QObject *parent, const QString &name)
Protected Member Functions inherited from Cutelyst::Component
 Component (ComponentPrivate *d, QObject *parent=nullptr)
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)
Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
virtual void connectNotify (const QMetaMethod &signal)
virtual void customEvent (QEvent *event)
virtual void disconnectNotify (const QMetaMethod &signal)
bool isSignalConnected (const QMetaMethod &signal) const const
int receivers (const char *signal) const const
QObjectsender () const const
int senderSignalIndex () const const
virtual void timerEvent (QTimerEvent *event)

Additional Inherited Members

Public Types inherited from Cutelyst::Component
enum  Modifier {
  None , OnlyExecute , BeforeExecute , AroundExecute ,
  AfterExecute
}
Public Types inherited from QObject
enum  TimerId
Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
bool disconnect (const QMetaObject::Connection &connection)
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
QString tr (const char *sourceText, const char *disambiguation, int n)
Public Attributes inherited from QObject
 Invalid
typedef QObjectList
Properties inherited from QObject
 objectName

Detailed Description

Create a subclass of View if you want to create your own View.

Definition at line 24 of file view.h.

Constructor & Destructor Documentation

◆ View() [1/2]

View::View ( QObject * parent,
const QString & name )
explicit

◆ ~View()

virtual Cutelyst::View::~View ( )
overridevirtualdefault

Destroys the View object.

References modifiers().

◆ View() [2/2]

View::View ( ViewPrivate * d,
QObject * parent,
const QString & name )
explicitprotected

A derived class using pimpl should call this constructor, to reduce the number of memory allocations

Definition at line 24 of file view.cpp.

References Cutelyst::Component::Component(), QObject::QObject(), Cutelyst::Component::name(), QObject::parent(), and Cutelyst::Component::setName().

Member Function Documentation

◆ modifiers()

Component::Modifiers View::modifiers ( ) const
overridevirtual

The default implementation returns Component::OnlyExecute.

Reimplemented from Cutelyst::Component.

Definition at line 30 of file view.cpp.

Referenced by ~View().

◆ render()

virtual QByteArray Cutelyst::View::render ( Context * c) const
nodiscardpure virtual

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.

Implemented in Cutelyst::CuteleeView, Cutelyst::ViewEmail, Cutelyst::ViewEmailTemplate, and Cutelyst::ViewJson.

References QObject::QObject(), View(), Cutelyst::Component::name(), QObject::parent(), and setMinimalSizeToDeflate().

◆ setMinimalSizeToDeflate()

void View::setMinimalSizeToDeflate ( qint32 minSize = -1)

Set deflate minimal size to minSize. When minSize is not negative and view render output is larger than minSize, if ACCEPT_ENCODING contains 'deflate', then deflate view render output. To disable Deflate, set minSize to a negative integer.

Definition at line 65 of file view.cpp.

References View().

Referenced by render().