Changeset 561 for trunk/examples/script/customclass/bytearrayclass.cpp
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/examples/script/customclass/bytearrayclass.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the examples of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 72 72 int m_last; 73 73 }; 74 75 static qint32 toArrayIndex(const QString &str)76 {77 QByteArray bytes = str.toUtf8();78 char *eptr;79 quint32 pos = strtoul(bytes.constData(), &eptr, 10);80 if ((eptr == bytes.constData() + bytes.size())81 && (QByteArray::number(pos) == bytes)) {82 return pos;83 }84 return -1;85 }86 74 87 75 //! [0] … … 101 89 proto.setPrototype(global.property("Object").property("prototype")); 102 90 103 ctor = engine->newFunction(construct );91 ctor = engine->newFunction(construct, proto); 104 92 ctor.setData(qScriptValueFromValue(engine, this)); 105 93 } … … 121 109 return flags; 122 110 } else { 123 qint32 pos = toArrayIndex(name); 124 if (pos == -1) 111 bool isArrayIndex; 112 qint32 pos = name.toArrayIndex(&isArrayIndex); 113 if (!isArrayIndex) 125 114 return 0; 126 115 *id = pos; … … 225 214 if (!cls) 226 215 return QScriptValue(); 227 int size = ctx->argument(0).toInt32(); 216 QScriptValue arg = ctx->argument(0); 217 if (arg.instanceOf(ctx->callee())) 218 return cls->newInstance(qscriptvalue_cast<QByteArray>(arg)); 219 int size = arg.toInt32(); 228 220 return cls->newInstance(size); 229 221 } … … 241 233 void ByteArrayClass::fromScriptValue(const QScriptValue &obj, QByteArray &ba) 242 234 { 243 ba = q scriptvalue_cast<QByteArray>(obj.data());235 ba = qvariant_cast<QByteArray>(obj.data().toVariant()); 244 236 } 245 237 … … 295 287 QScriptString ByteArrayClassPropertyIterator::name() const 296 288 { 297 return QScriptString();289 return object().engine()->toStringHandle(QString::number(m_last)); 298 290 } 299 291
Note:
See TracChangeset
for help on using the changeset viewer.