Qt 4.8
Classes | Public Functions | Static Public Functions | Protected Functions | Private Functions | Properties | List of all members
QDeclarativeBoundSignal Class Reference

#include <qdeclarativeboundsignal_p.h>

Inheritance diagram for QDeclarativeBoundSignal:
QDeclarativeAbstractBoundSignal QObject

Classes

class  ScopeGuard
 

Public Functions

void disconnect ()
 
QDeclarativeExpressionexpression () const
 Returns the signal expression. More...
 
int index () const
 
bool isEvaluating () const
 
 QDeclarativeBoundSignal (QObject *scope, const QMetaMethod &signal, QObject *parent)
 
 QDeclarativeBoundSignal (QDeclarativeContext *ctxt, const QString &val, QObject *scope, const QMetaMethod &signal, QObject *parent)
 
QDeclarativeExpressionsetExpression (QDeclarativeExpression *)
 Sets the signal expression to e. More...
 
virtual ~QDeclarativeBoundSignal ()
 
- Public Functions inherited from QDeclarativeAbstractBoundSignal
 QDeclarativeAbstractBoundSignal (QObject *parent=0)
 
virtual ~QDeclarativeAbstractBoundSignal ()=0
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Static Public Functions

static QDeclarativeBoundSignalcast (QObject *)
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 

Protected Functions

virtual int qt_metacall (QMetaObject::Call c, int id, void **a)
 
void unregisterScopeObject ()
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 

Private Functions

void init (QObject *parent)
 

Properties

QDeclarativeExpressionm_expression
 
bool m_isEvaluating: 1
 
QDeclarativeBoundSignalParametersm_params
 
bool m_paramsValid: 1
 
ScopeGuard m_scope
 
QMetaMethod m_signal
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Slots inherited from QDeclarativeAbstractBoundSignal
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

Definition at line 78 of file qdeclarativeboundsignal_p.h.

Constructors and Destructors

◆ QDeclarativeBoundSignal() [1/2]

QDeclarativeBoundSignal::QDeclarativeBoundSignal ( QObject scope,
const QMetaMethod signal,
QObject parent 
)

Definition at line 98 of file qdeclarativeboundsignal.cpp.

100 : m_expression(0), m_signal(signal), m_paramsValid(false), m_isEvaluating(false), m_params(0),
101  m_scope(scope, this)
102 {
103  init(parent);
104 }
QDeclarativeBoundSignalParameters * m_params
QDeclarativeExpression * m_expression

◆ QDeclarativeBoundSignal() [2/2]

QDeclarativeBoundSignal::QDeclarativeBoundSignal ( QDeclarativeContext ctxt,
const QString val,
QObject scope,
const QMetaMethod signal,
QObject parent 
)

Definition at line 106 of file qdeclarativeboundsignal.cpp.

109 : m_expression(0), m_signal(signal), m_paramsValid(false), m_isEvaluating(false), m_params(0),
110  m_scope(scope, this)
111 {
112  init(parent);
113  m_expression = new QDeclarativeExpression(ctxt, scope, val);
114 }
QDeclarativeBoundSignalParameters * m_params
QDeclarativeExpression * m_expression
The QDeclarativeExpression class evaluates JavaScript in a QML context.

◆ ~QDeclarativeBoundSignal()

QDeclarativeBoundSignal::~QDeclarativeBoundSignal ( )
virtual

Definition at line 130 of file qdeclarativeboundsignal.cpp.

131 {
133  delete m_expression;
134  m_expression = 0;
135 }
QDeclarativeExpression * m_expression

Functions

◆ cast()

QDeclarativeBoundSignal * QDeclarativeBoundSignal::cast ( QObject o)
static

◆ disconnect()

void QDeclarativeBoundSignal::disconnect ( )
virtual

Implements QDeclarativeAbstractBoundSignal.

Definition at line 137 of file qdeclarativeboundsignal.cpp.

138 {
141  QVarLengthArray<char> signalSignature;
142  QObjectPrivate::signalSignature(m_signal, &signalSignature);
143  priv->disconnectNotify(signalSignature.constData());
144 }
const T * constData() const
static void signalSignature(const QMetaMethod &signal, QVarLengthArray< char > *result)
Definition: qobject_p.h:255
int methodIndex() const
Returns this method&#39;s index.
static QObjectPrivate * get(QObject *o)
Definition: qobject_p.h:177
static int evaluateIdx
static bool disconnect(const QObject *sender, int signal_index, const QObject *receiver, int method_index)
Definition: qobject.cpp:3276
static const QMetaObjectPrivate * priv(const uint *data)

◆ expression()

QDeclarativeExpression * QDeclarativeBoundSignal::expression ( ) const

Returns the signal expression.

Definition at line 154 of file qdeclarativeboundsignal.cpp.

Referenced by QDeclarativeEngineDebugService::buildObjectDump(), and QDeclarativePropertyPrivate::signalExpression().

155 {
156  return m_expression;
157 }
QDeclarativeExpression * m_expression

◆ index()

int QDeclarativeBoundSignal::index ( ) const

◆ init()

void QDeclarativeBoundSignal::init ( QObject parent)
private

Definition at line 116 of file qdeclarativeboundsignal.cpp.

Referenced by QDeclarativeBoundSignal().

117 {
118  // This is thread safe. Although it may be updated by two threads, they
119  // will both set it to the same value - so the worst thing that can happen
120  // is that they both do the work to figure it out. Boo hoo.
121  if (evaluateIdx == -1) evaluateIdx = metaObject()->methodCount();
122 
123  QDeclarative_setParent_noEvent(this, parent);
125 
127  data->addBoundSignal(this);
128 }
static QDeclarativeData * get(const QObject *object, bool create=false)
int methodIndex() const
Returns this method&#39;s index.
static bool connect(QObject *sender, int signal_index, const QObject *receiver, int method_index, int type=0, int *types=0)
Connect sender signal_index to receiver method_index with the specified type and types.
static const char * data(const QByteArray &arr)
static int evaluateIdx
void QDeclarative_setParent_noEvent(QObject *object, QObject *parent)
Makes the object a child of parent.
int methodCount() const
Returns the number of methods known to the meta-object system in this class, including the number of ...
virtual const QMetaObject * metaObject() const
Returns a pointer to the meta-object of this object.

◆ isEvaluating()

bool QDeclarativeBoundSignal::isEvaluating ( ) const
inline

◆ qt_metacall()

int QDeclarativeBoundSignal::qt_metacall ( QMetaObject::Call  c,
int  id,
void **  a 
)
protectedvirtual

Definition at line 180 of file qdeclarativeboundsignal.cpp.

181 {
182  if (c == QMetaObject::InvokeMetaMethod && id == evaluateIdx) {
183  if (!m_expression)
184  return -1;
189  }
190  m_isEvaluating = true;
191  if (!m_paramsValid) {
194  m_paramsValid = true;
195  }
196 
197  if (m_params) m_params->setValues(a);
198  if (m_expression && m_expression->engine()) {
202  }
203  if (m_params) m_params->clearValues();
204  m_isEvaluating = false;
206  return -1;
207  } else {
208  return QObject::qt_metacall(c, id, a);
209  }
210 }
unsigned char c[8]
Definition: qnumeric_p.h:62
QDeclarativeEngine * engine() const
Returns the QDeclarativeEngine this expression is associated with, or 0 if there is no association or...
static void rangeLocation(RangeType, const QString &, int)
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
long ASN1_INTEGER_get ASN1_INTEGER * a
QDeclarativeBoundSignalParameters * m_params
QDeclarativeExpression * m_expression
bool isEmpty() const
Returns true if the list contains no items; otherwise returns false.
Definition: qlist.h:152
static int evaluateIdx
static void endRange(RangeType)
static void startRange(RangeType)
QString expression() const
Returns the expression string.
bool hasError() const
Returns true if the last call to evaluate() resulted in an error, otherwise false.
QList< QByteArray > parameterTypes() const
Returns a list of parameter types.
int lineNumber() const
Returns the source file line number for this expression.
QString sourceFile() const
Returns the source file URL for this expression.
static void rangeData(RangeType, const QString &)
static QDeclarativeExpressionPrivate * get(QDeclarativeExpression *expr)
QVariant value(QObject *secondaryScope=0, bool *isUndefined=0)
const char * signature() const
Returns the signature of this method (e.g., setValue(double)).
QDeclarativeError error() const
Return any error from the last call to evaluate().
void warning(const QDeclarativeError &)

◆ setExpression()

QDeclarativeExpression * QDeclarativeBoundSignal::setExpression ( QDeclarativeExpression e)

Sets the signal expression to e.

Returns the current signal expression, or null if there is no signal expression.

The QDeclarativeBoundSignal instance takes ownership of e. The caller is assumes ownership of the returned QDeclarativeExpression.

Definition at line 166 of file qdeclarativeboundsignal.cpp.

Referenced by QDeclarativeConnections::connectSignals(), and QDeclarativePropertyPrivate::setSignalExpression().

167 {
169  m_expression = e;
171  return rv;
172 }
QDeclarativeExpression * m_expression
void setNotifyOnValueChanged(bool)
Sets whether the valueChanged() signal is emitted when the expression&#39;s evaluated value changes...
The QDeclarativeExpression class evaluates JavaScript in a QML context.

◆ unregisterScopeObject()

void QDeclarativeBoundSignal::unregisterScopeObject ( )
protectedvirtual

Implements QDeclarativeAbstractBoundSignal.

Definition at line 212 of file qdeclarativeboundsignal.cpp.

Referenced by ~QDeclarativeBoundSignal().

213 {
214  if (m_scope) {
216  if (data)
217  data->removeBoundSignal(this);
218  }
219 }
static QDeclarativeData * get(const QObject *object, bool create=false)
void removeBoundSignal(QDeclarativeAbstractBoundSignal *signal)
static const char * data(const QByteArray &arr)

Properties

◆ m_expression

QDeclarativeExpression* QDeclarativeBoundSignal::m_expression
private

◆ m_isEvaluating

bool QDeclarativeBoundSignal::m_isEvaluating
private

Definition at line 124 of file qdeclarativeboundsignal_p.h.

Referenced by qt_metacall().

◆ m_params

QDeclarativeBoundSignalParameters* QDeclarativeBoundSignal::m_params
private

Definition at line 125 of file qdeclarativeboundsignal_p.h.

Referenced by qt_metacall().

◆ m_paramsValid

bool QDeclarativeBoundSignal::m_paramsValid
private

Definition at line 123 of file qdeclarativeboundsignal_p.h.

Referenced by qt_metacall().

◆ m_scope

ScopeGuard QDeclarativeBoundSignal::m_scope
private

Definition at line 126 of file qdeclarativeboundsignal_p.h.

Referenced by disconnect(), init(), and unregisterScopeObject().

◆ m_signal

QMetaMethod QDeclarativeBoundSignal::m_signal
private

Definition at line 122 of file qdeclarativeboundsignal_p.h.

Referenced by disconnect(), index(), init(), and qt_metacall().


The documentation for this class was generated from the following files: