4#ifndef QQMLJAVASCRIPTEXPRESSION_P_H
5#define QQMLJAVASCRIPTEXPRESSION_P_H
18#include <QtCore/qglobal.h>
19#include <QtCore/qtaggedpointer.h>
20#include <QtQml/qqmlerror.h>
21#include <private/qqmlengine_p.h>
22#include <QtQml/private/qbipointer_p.h>
38 if (nextError) nextError->prevError = prevError;
39 *prevError = nextError;
72 virtual QString expressionIdentifier()
const;
79 inline bool notifyOnValueChanged()
const;
81 void setNotifyOnValueChanged(
bool v);
82 void resetNotifyOnValueChanged();
84 inline QObject *scopeObject()
const;
85 inline void setScopeObject(
QObject *
v);
98 m_nextExpression = *listHead;
100 m_nextExpression->m_prevExpression = &m_nextExpression;
101 m_prevExpression = listHead;
107 virtual void refresh();
113 inline bool wasDeleted()
const;
121 inline bool hasError()
const;
122 inline bool hasDelayedError()
const;
125 void clearActiveGuards();
136 bool needsPropertyChangeTrigger(
QObject *
target,
int propertyIndex);
202 void captureTranslation();
218 if (
e->m_scopeObject.isT1()) {
220 _c =
e->m_scopeObject.asT1();
221 e->m_scopeObject =
this;
224 _w = &
e->m_scopeObject.asT2()->_s;
230 Q_ASSERT(*_w ==
nullptr || (*_w == _s && _s->m_scopeObject.isT2()));
231 if (*_w && _s->m_scopeObject.asT2() ==
this)
232 _s->m_scopeObject = _c;
237 return *_w ==
nullptr;
The QQmlContext class defines a context within a QML engine.
bool addError(QQmlEnginePrivate *)
void setErrorObject(QObject *object)
Q_REQUIRED_RESULT QQmlError removeError()
void catchJavaScriptException(QV4::ExecutionEngine *engine)
void setErrorLocation(const QQmlSourceLocation &sourceLocation)
const QQmlError & error() const
void setErrorDescription(const QString &description)
QRecyclePool< QQmlJavaScriptExpressionGuard > jsExpressionGuardPool
static QQmlEnginePrivate * get(QQmlEngine *e)
The QQmlEngine class provides an environment for instantiating QML components.
The QQmlError class encapsulates a QML error.
bool isValid() const
Returns true if this error is valid, otherwise false.
static QQmlJavaScriptExpressionGuard * New(QQmlJavaScriptExpression *e, QQmlEngine *engine)
DeleteWatcher(QQmlJavaScriptExpression *)
void insertIntoList(QQmlJavaScriptExpression **listHead)
QV4::Function * function() const
QObject * scopeObject() const
bool hasUnresolvedNames() const
QForwardFieldList< QQmlJavaScriptExpressionGuard, &QQmlJavaScriptExpressionGuard::next, GuardTag > activeGuards
bool hasDelayedError() const
QQmlEngine * engine() const
QQmlRefPointer< QQmlContextData > context() const
bool hasValidContext() const
void setScopeObject(QObject *v)
QBiPointer< QObject, DeleteWatcher > m_scopeObject
virtual void expressionChanged()=0
QQmlContext * publicContext() const
bool notifyOnValueChanged() const
virtual bool mustCaptureBindableProperty() const
QTaggedPointer< QQmlDelayedError, Tag > m_error
@ QQmlJavaScriptExpressionGuard
QQmlJavaScriptExpression * expression
QStringList * errorString
QForwardFieldList< QQmlJavaScriptExpressionGuard, &QQmlJavaScriptExpressionGuard::next > guards
QQmlJavaScriptExpression::DeleteWatcher * watcher
QQmlPropertyCapture(QQmlEngine *engine, QQmlJavaScriptExpression *e, QQmlJavaScriptExpression::DeleteWatcher *w)
\macro QT_RESTRICTED_CAST_FROM_ASCII
T * data() const noexcept
bool isNull() const noexcept
Combined button and popup list for selecting options.
#define Q_REQUIRED_RESULT
static bool doNotify(QObject *, QEvent *)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError * error
GLsizei const GLfloat * v
[13]
GLfloat GLfloat GLfloat w
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLsizei GLenum GLenum * types
QQmlContext * qmlContext(const QObject *obj)
void QQmlJavaScriptExpressionGuard_callback(QQmlNotifierEndpoint *e, void **)
QFutureWatcher< int > watcher
engine evaluate("var myObject = new MyObject()")
[8]