Qt 4.8
qscriptclass.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
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-project.org/.
19 **
20 ** $QT_END_LICENSE$
21 **
22 ****************************************************************************/
23 
24 #ifndef QSCRIPTCLASS_H
25 #define QSCRIPTCLASS_H
26 
27 #include <QtCore/qstring.h>
28 
29 #include <QtCore/qvariant.h>
30 #include <QtCore/qscopedpointer.h>
31 #include <QtScript/qscriptvalue.h>
32 
34 
36 
38 
39 class QScriptString;
41 
44 {
45 public:
46  enum QueryFlag {
47  HandlesReadAccess = 0x01,
48  HandlesWriteAccess = 0x02
49  };
50  Q_DECLARE_FLAGS(QueryFlags, QueryFlag)
51 
52  enum Extension {
54  HasInstance
55  };
56 
57  QScriptClass(QScriptEngine *engine);
58  virtual ~QScriptClass();
59 
60  QScriptEngine *engine() const;
61 
62  virtual QueryFlags queryProperty(const QScriptValue &object,
63  const QScriptString &name,
64  QueryFlags flags, uint *id);
65 
66  virtual QScriptValue property(const QScriptValue &object,
67  const QScriptString &name, uint id);
68 
69  virtual void setProperty(QScriptValue &object, const QScriptString &name,
70  uint id, const QScriptValue &value);
71 
72  virtual QScriptValue::PropertyFlags propertyFlags(
73  const QScriptValue &object, const QScriptString &name, uint id);
74 
75  virtual QScriptClassPropertyIterator *newIterator(const QScriptValue &object);
76 
77  virtual QScriptValue prototype() const;
78 
79  virtual QString name() const;
80 
81  virtual bool supportsExtension(Extension extension) const;
82  virtual QVariant extension(Extension extension,
83  const QVariant &argument = QVariant());
84 
85 protected:
88 
89 private:
92 };
93 
94 Q_DECLARE_OPERATORS_FOR_FLAGS(QScriptClass::QueryFlags)
95 
97 
99 
100 #endif
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
Extension
This enum specifies the possible extensions to a QScriptClass.
Definition: qscriptclass.h:52
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
#define QT_MODULE(x)
Definition: qglobal.h:2783
The QScriptClass class provides an interface for defining custom behavior of (a class of) Qt Script o...
Definition: qscriptclass.h:43
QueryFlag
This enum describes flags that are used to query a QScriptClass regarding how access to a property sh...
Definition: qscriptclass.h:46
#define QT_BEGIN_HEADER
Definition: qglobal.h:136
#define Q_DECLARE_FLAGS(Flags, Enum)
The Q_DECLARE_FLAGS() macro expands to.
Definition: qglobal.h:2348
#define Q_DISABLE_COPY(Class)
Disables the use of copy constructors and assignment operators for the given Class.
Definition: qglobal.h:2523
The QString class provides a Unicode character string.
Definition: qstring.h:83
The QScriptString class acts as a handle to "interned" strings in a QScriptEngine.
Definition: qscriptstring.h:38
The QScriptEngine class provides an environment for evaluating Qt Script code.
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
The Q_DECLARE_OPERATORS_FOR_FLAGS() macro declares global operator|() functions for Flags...
Definition: qglobal.h:2355
The QScriptClassPropertyIterator class provides an iterator interface for custom Qt Script objects...
const char * name
unsigned int uint
Definition: qglobal.h:996
#define Q_SCRIPT_EXPORT
Definition: qglobal.h:1460
static QByteArray prototype(const QList< QByteArray > &parameterTypes, const QList< QByteArray > &parameterNames, bool *ok)
Definition: qaxserver.cpp:685
PropertyFlags
Definition: qmetaobject_p.h:61
const char * property
Definition: qwizard.cpp:138
#define Q_DECLARE_PRIVATE(Class)
Definition: qglobal.h:2467
#define QT_END_HEADER
Definition: qglobal.h:137
The QScriptValue class acts as a container for the Qt Script data types.
Definition: qscriptvalue.h:57
QScopedPointer< QScriptClassPrivate > d_ptr
Definition: qscriptclass.h:87