QDaq  0.2.6
Qt-based Data Aqcuisition
 All Classes Functions Variables Typedefs Enumerations Enumerator Properties Groups Pages
vectorclass.h
1 #ifndef VECTORCLASS_H
2 #define VECTORCLASS_H
3 
4 #include "QDaqTypes.h"
5 
6 #include <QtCore/QObject>
7 #include <QtScript/QScriptClass>
8 #include <QtScript/QScriptString>
9 
10 QT_BEGIN_NAMESPACE
11 class QScriptContext;
12 QT_END_NAMESPACE
13 
14 /*
15  * Vector class definition from Qt examples
16  */
17 class VectorClass : public QObject, public QScriptClass
18 {
19  Q_OBJECT
20 public:
21  VectorClass(QScriptEngine *engine);
22  ~VectorClass();
23 
24  QScriptValue constructor();
25 
26  QScriptValue newInstance(int size = 0);
27  QScriptValue newInstance(const QDaqVector &ba);
28 
29  QueryFlags queryProperty(const QScriptValue &object,
30  const QScriptString &name,
31  QueryFlags flags, uint *id);
32 
33  QScriptValue property(const QScriptValue &object,
34  const QScriptString &name, uint id);
35 
36  void setProperty(QScriptValue &object, const QScriptString &name,
37  uint id, const QScriptValue &value);
38 
39  QScriptValue::PropertyFlags propertyFlags(
40  const QScriptValue &object, const QScriptString &name, uint id);
41 
42  QScriptClassPropertyIterator *newIterator(const QScriptValue &object);
43 
44  QString name() const;
45 
46  QScriptValue prototype() const;
47 
48 private:
49  static QScriptValue construct(QScriptContext *ctx, QScriptEngine *eng);
50 
51  static QScriptValue toScriptValue(QScriptEngine *eng, const QDaqVector &ba);
52  static void fromScriptValue(const QScriptValue &obj, QDaqVector &ba);
53 
54  void resize(QDaqVector &ba, int newSize);
55 
56  QScriptString length, circular, capacity;
57  QScriptValue proto;
58  QScriptValue ctor;
59 };
60 
61 #endif
A buffer for storing double numbers.
Definition: QDaqVector.h:40