source: trunk/src/script/api/qscriptclasspropertyiterator.cpp@ 636

Last change on this file since 636 was 561, checked in by Dmitry A. Kuminov, 15 years ago

trunk: Merged in qt 4.6.1 sources.

  • Property svn:eol-style set to native
File size: 5.1 KB
RevLine 
[556]1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the QtScript module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL-ONLY$
10** GNU Lesser General Public License Usage
11** This file may be used under the terms of the GNU Lesser
12** General Public License version 2.1 as published by the Free Software
13** Foundation and appearing in the file LICENSE.LGPL included in the
14** packaging of this file. Please review the following information to
15** ensure the GNU Lesser General Public License version 2.1 requirements
16** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17**
18** If you have questions regarding the use of this file, please contact
19** Nokia at [email protected].
20** $QT_END_LICENSE$
21**
22****************************************************************************/
23
24#include "qscriptclasspropertyiterator.h"
25
26#include "qscriptstring.h"
27
28QT_BEGIN_NAMESPACE
29
30/*!
31 \since 4.4
32 \class QScriptClassPropertyIterator
33
34 \brief The QScriptClassPropertyIterator class provides an iterator interface for custom Qt Script objects.
35
36 \ingroup script
37
38 This class is only relevant if you have subclassed QScriptClass and
39 want to provide enumeration of your custom properties (e.g. when
40 objects of your class are used with QScriptValueIterator, or with
41 the for-in statement in scripts).
42
43 The object() function returns the Qt Script object the iterator is
44 traversing.
45
46 toFront(), hasNext() and next() provide forward iteration.
47
48 toBack(), hasPrevious() and previous() provide backward iteration.
49
50 name(), id() and flags() return information about the last property
51 that was jumped over using next() or previous().
52
53 \sa QScriptClass::newIterator(), QScriptValueIterator
54*/
55
56class QScriptClassPropertyIteratorPrivate
57{
58 Q_DECLARE_PUBLIC(QScriptClassPropertyIterator)
59public:
60 QScriptClassPropertyIteratorPrivate() {}
61 virtual ~QScriptClassPropertyIteratorPrivate() {}
62
63 QScriptValue object;
64
65 QScriptClassPropertyIterator *q_ptr;
66};
67
68/*!
69 Constructs an iterator for traversing \a object.
70
71 Subclasses should ensure that the iterator is set to the front of the
72 sequence of properties (before the first property).
73*/
74QScriptClassPropertyIterator::QScriptClassPropertyIterator(const QScriptValue &object)
75 : d_ptr(new QScriptClassPropertyIteratorPrivate)
76{