|
Cutelee 6.1.0
|
Base class for all NodeFactories. More...
#include <cutelee/node.h>

Public Member Functions | |
| AbstractNodeFactory (QObject *parent={}) | |
| ~AbstractNodeFactory () override | |
| virtual Node * | getNode (const QString &tagContent, Parser *p) const =0 |
| Public Member Functions inherited from QObject | |
| QObject (QObject *parent) | |
| bool | blockSignals (bool block) |
| const QObjectList & | children () 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 () |
| void | dumpObjectInfo () const const |
| void | dumpObjectTree () |
| void | dumpObjectTree () const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| bool | inherits (const char *className) const const |
| void | installEventFilter (QObject *filterObj) |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| void | killTimer (int id) |
| virtual const QMetaObject * | metaObject () const const |
| void | moveToThread (QThread *targetThread) |
| QString | objectName () const const |
| void | objectNameChanged (const QString &objectName, QPrivateSignal) |
| QObject * | parent () const const |
| QVariant | property (const char *name) const const |
| Q_CLASSINFO (Name, Value) | |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| Q_DISABLE_MOVE (Class) | |
| Q_EMIT Q_EMIT | |
| Q_ENUM (...) | |
| Q_ENUM_NS (...) | |
| Q_ENUMS (...) | |
| Q_FLAG (...) | |
| Q_FLAG_NS (...) | |
| Q_FLAGS (...) | |
| Q_GADGET Q_GADGET | |
| Q_INTERFACES (...) | |
| Q_INVOKABLE Q_INVOKABLE | |
| 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 | |
| T | qFindChild (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| T | qobject_cast (const QObject *object) |
| T | qobject_cast (QObject *object) |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
| void | removeEventFilter (QObject *obj) |
| void | setObjectName (const QString &name) |
| void | setParent (QObject *parent) |
| bool | setProperty (const char *name, const QVariant &value) |
| bool | signalsBlocked () const const |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| QThread * | thread () const const |
Protected Member Functions | |
| QList< FilterExpression > | getFilterExpressionList (const QStringList &list, Parser *p) const |
| Q_INVOKABLE QStringList | smartSplit (const QString &str) const |
| 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 |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| virtual void | timerEvent (QTimerEvent *event) |
Additional Inherited Members | |
| 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) |
| QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| Public Attributes inherited from QObject | |
| typedef | QObjectList |
| Properties inherited from QObject | |
| objectName | |
This class can be used to make custom tags available to templates. The getNode method should be implemented to return a Node to be rendered.
A node is represented in template markup as content surrounded by percent signed tokens.
It is the responsibility of an AbstractNodeFactory implementation to process the contents of a tag and return a Node implementation from its getNode method.
The getNode method would for example be called with the tagContent "some_tag arg1 arg2". That content could then be split up, the arguments processed and a Node created
The getNode implementation might also advance the parser. For example if we had a {% times %} tag which rendered content the amount of times it was given in its argument, it could be used like this:
The argument to {% times %} might not be a simple number, but could be a FilterExpression such as "someobject.some_property|getDigit:1".
The implementation could look like
Note that it is necessary to invoke the parser to create the child nodes only after creating the Node to return. That node must be passed to the Parser to perform as the parent QObject to the child nodes.
|
explicit |
Constructor.
Definition at line 184 of file node.cpp.
References QObject::QObject(), and QObject::parent().
Referenced by smartSplit().
|
override |
|
protected |
Returns a list of FilterExpression objects created with Parser p as described by the content of list.
This is used for convenience when handling the arguments to a tag.
Definition at line 192 of file node.cpp.
Referenced by CycleNodeFactory::getNode(), FirstOfNodeFactory::getNode(), IfChangedNodeFactory::getNode(), and MediaFinderNodeFactory::getNode().
|
pure virtual |
This method should be reimplemented to return a Node which can be rendered.
The tagContent is the content of the tag including the tag name and arguments. For example, if the template content is {% my_tag arg1
arg2 %}, the tagContent will be "my_tag arg1 arg2".
The Parser p is available and can be advanced if appropriate. For example, if the tag has an end tag, the parser can be advanced to the end tag.
Implemented in AutoescapeNodeFactory, BlockNodeFactory, CommentNodeFactory, CycleNodeFactory, DebugNodeFactory, ExtendsNodeFactory, FilterNodeFactory, FirstOfNodeFactory, ForNodeFactory, I18ncNodeFactory, I18ncpNodeFactory, I18ncpVarNodeFactory, I18ncVarNodeFactory, I18nNodeFactory, I18npNodeFactory, I18npVarNodeFactory, I18nVarNodeFactory, IfChangedNodeFactory, IfEqualNodeFactory, IfNodeFactory, IfNotEqualNodeFactory, IncludeNodeFactory, L10nFileSizeNodeFactory, L10nFileSizeVarNodeFactory, L10nMoneyNodeFactory, L10nMoneyVarNodeFactory, LoadNodeFactory, MediaFinderNodeFactory, NowNodeFactory, RangeNodeFactory, RegroupNodeFactory, ScriptableNodeFactory, SpacelessNodeFactory, TemplateTagNodeFactory, WidthRatioNodeFactory, WithLocaleNodeFactory, and WithNodeFactory.
|
protected |
Splits str into a list, taking quote marks into account.
This is typically used in the implementation of getNode with the tagContent.
If str is 'one "two three" four 'five " six' seven', the returned list will contain the following strings:
Definition at line 202 of file node.cpp.
References AbstractNodeFactory(), and QList::append().
Referenced by CycleNodeFactory::getNode(), ExtendsNodeFactory::getNode(), FirstOfNodeFactory::getNode(), ForNodeFactory::getNode(), I18ncNodeFactory::getNode(), I18ncpNodeFactory::getNode(), I18ncpVarNodeFactory::getNode(), I18ncVarNodeFactory::getNode(), I18nNodeFactory::getNode(), I18npNodeFactory::getNode(), I18npVarNodeFactory::getNode(), I18nVarNodeFactory::getNode(), IfNodeFactory::getNode(), IncludeNodeFactory::getNode(), L10nFileSizeNodeFactory::getNode(), L10nFileSizeVarNodeFactory::getNode(), L10nMoneyNodeFactory::getNode(), L10nMoneyVarNodeFactory::getNode(), MediaFinderNodeFactory::getNode(), RangeNodeFactory::getNode(), WidthRatioNodeFactory::getNode(), WithLocaleNodeFactory::getNode(), and WithNodeFactory::getNode().