1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2015 The Qt Company Ltd. 4 ** Contact: http://www.qt.io/licensing/ 5 ** 6 ** This file is part of the QtScript module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL-ONLY$ 9 ** GNU Lesser General Public License Usage 10 ** This file may be used under the terms of the GNU Lesser 11 ** General Public License version 2.1 as published by the Free Software 12 ** Foundation and appearing in the file LICENSE.LGPL included in the 13 ** packaging of this file. Please review the following information to 14 ** ensure the GNU Lesser General Public License version 2.1 requirements 15 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 16 ** 17 ** If you have questions regarding the use of this file, please contact 18 ** us via http://www.qt.io/contact-us/. 19 ** 20 ** $QT_END_LICENSE$ 21 ** 22 ****************************************************************************/ 23 24 #ifndef QSCRIPTVALUEITERATOR_H 25 #define QSCRIPTVALUEITERATOR_H 26 27 #include <QtScript/qscriptvalue.h> 28 29 #include <QtCore/qscopedpointer.h> 30 31 QT_BEGIN_HEADER 32 33 QT_BEGIN_NAMESPACE 34 35 QT_MODULE(Script) 36 37 class QString; 38 class QScriptString; 39 40 class QScriptValueIteratorPrivate; 41 class Q_SCRIPT_EXPORT QScriptValueIterator 42 { 43 public: 44 QScriptValueIterator(const QScriptValue &value); 45 ~QScriptValueIterator(); 46 47 bool hasNext() const; 48 void next(); 49 50 bool hasPrevious() const; 51 void previous(); 52 53 QString name() const; 54 QScriptString scriptName() const; 55 56 QScriptValue value() const; 57 void setValue(const QScriptValue &value); 58 59 QScriptValue::PropertyFlags flags() const; 60 61 void remove(); 62 63 void toFront(); 64 void toBack(); 65 66 QScriptValueIterator& operator=(QScriptValue &value); 67 68 private: 69 QScopedPointer<QScriptValueIteratorPrivate> d_ptr; 70 71 Q_DECLARE_PRIVATE(QScriptValueIterator) 72 Q_DISABLE_COPY(QScriptValueIterator) 73 }; 74 75 QT_END_NAMESPACE 76 77 QT_END_HEADER 78 79 #endif // QSCRIPTVALUEITERATOR_H 80