QScriptClassPropertyIterator Class

The QScriptClassPropertyIterator class provides an iterator interface for custom Qt Script objects. More...

Header: #include <QScriptClassPropertyIterator>
qmake: QT += script
Since: Qt 4.4

Public Functions

virtual ~QScriptClassPropertyIterator()
virtual QScriptValue::PropertyFlags flags() const
virtual bool hasNext() const = 0
virtual bool hasPrevious() const = 0
virtual uint id() const
virtual QScriptString name() const = 0
virtual void next() = 0
QScriptValue object() const
virtual void previous() = 0
virtual void toBack() = 0
virtual void toFront() = 0

Protected Functions

QScriptClassPropertyIterator(const QScriptValue &object)

Detailed Description

The QScriptClassPropertyIterator class provides an iterator interface for custom Qt Script objects.

This class is only relevant if you have subclassed QScriptClass and want to provide enumeration of your custom properties (e.g. when objects of your class are used with QScriptValueIterator, or with the for-in statement in scripts).

The object() function returns the Qt Script object the iterator is traversing.

toFront(), hasNext() and next() provide forward iteration.

toBack(), hasPrevious() and previous() provide backward iteration.

name(), id() and flags() return information about the last property that was jumped over using next() or previous().

See also QScriptClass::newIterator() and QScriptValueIterator.

Member Function Documentation

[protected] QScriptClassPropertyIterator::QScriptClassPropertyIterator(const QScriptValue &object)

Constructs an iterator for traversing object.

Subclasses should ensure that the iterator is set to the front of the sequence of properties (before the first property).

[virtual] QScriptClassPropertyIterator::~QScriptClassPropertyIterator()

Destroys the iterator.

[virtual] QScriptValue::PropertyFlags QScriptClassPropertyIterator::flags() const

Returns the flags of the last property that was jumped over using next() or previous().

The default implementation calls the propertyFlags() function of object() with argument name().

[pure virtual] bool QScriptClassPropertyIterator::hasNext() const

Returns true if there is at least one item ahead of the iterator (i.e. the iterator is not at the back of the property sequence); otherwise returns false.

See also next() and hasPrevious().

[pure virtual] bool QScriptClassPropertyIterator::hasPrevious() const

Returns true if there is at least one item behind the iterator (i.e. the iterator is not at the front of the property sequence); otherwise returns false.

See also previous() and hasNext().

[virtual] uint QScriptClassPropertyIterator::id() const

Returns the id of the last property that was jumped over using next() or previous().

The default implementation returns 0.

See also name().

[pure virtual] QScriptString QScriptClassPropertyIterator::name() const

Returns the name of the last property that was jumped over using next() or previous().

See also id().

[pure virtual] void QScriptClassPropertyIterator::next()

Advances the iterator by one position.

Calling this function on an iterator located at the back of the container leads to undefined results.

See also hasNext(), previous(), and name().

QScriptValue QScriptClassPropertyIterator::object() const

Returns the Qt Script object this iterator is traversing.

[pure virtual] void QScriptClassPropertyIterator::previous()

Moves the iterator back by one position.

Calling this function on an iterator located at the front of the container leads to undefined results.

See also hasPrevious(), next(), and name().

[pure virtual] void QScriptClassPropertyIterator::toBack()

Moves the iterator to the back of the QScriptValue (after the last property).

See also toFront() and previous().

[pure virtual] void QScriptClassPropertyIterator::toFront()

Moves the iterator to the front of the QScriptValue (before the first property).

See also toBack() and next().

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support