• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

okteta

  • sources
  • kde-4.12
  • kdesdk
  • okteta
  • kasten
  • controllers
  • view
  • structures
  • script
  • classes
defaultscriptclass.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Okteta Kasten Framework, made within the KDE community.
3  *
4  * Copyright 2011, 2012, 2013 Alex Richardson <alex.richardson@gmx.de>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) version 3, or any
10  * later version accepted by the membership of KDE e.V. (or its
11  * successor approved by the membership of KDE e.V.), which shall
12  * act as a proxy defined in Section 6 of version 3 of the license.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #ifndef DEFAULTSCRIPTCLASS_H
24 #define DEFAULTSCRIPTCLASS_H
25 
26 #include <QVector>
27 #include <QScriptClass>
28 #include <QScriptValue>
29 #include <QScriptEngine>
30 #include <QScriptString>
31 #include <QScriptClassPropertyIterator>
32 
33 class DataInformation;
34 class ScriptHandlerInfo;
35 
36 class DefaultScriptClass : public QScriptClass
37 {
38  friend class DefaultscriptClassIterator;
39  Q_DISABLE_COPY(DefaultScriptClass)
40 public:
41  typedef DataInformation* DataInfPtr;
42  typedef QVector<QPair<QScriptString, QScriptValue::PropertyFlags> > PropertyInfoList;
43  DefaultScriptClass(QScriptEngine* engine, ScriptHandlerInfo* handlerInfo);
44  virtual ~DefaultScriptClass();
45 
46  virtual QueryFlags queryProperty(const QScriptValue& object, const QScriptString& name, QueryFlags flags, uint* id);
47  virtual QScriptValue::PropertyFlags propertyFlags(const QScriptValue& object, const QScriptString& name, uint id);
48  virtual QScriptValue property(const QScriptValue& object, const QScriptString& name, uint id);
49  virtual void setProperty(QScriptValue& object, const QScriptString& name, uint id, const QScriptValue& value);
50  virtual QScriptValue prototype() const;
51 
52  virtual QScriptClassPropertyIterator* newIterator(const QScriptValue& object);
53 
58  static DataInformation* toDataInformation(const QScriptValue& val);
59 
60 protected:
61  virtual bool queryAdditionalProperty(const DataInformation* data, const QScriptString& name, QueryFlags* flags, uint* id) = 0;
62  virtual bool additionalPropertyFlags(const DataInformation* data, const QScriptString& name, uint id, QScriptValue::PropertyFlags* flags) = 0;
63  virtual QScriptValue additionalProperty(const DataInformation* data, const QScriptString& name, uint id) = 0;
64  virtual bool setAdditionalProperty(DataInformation* data, const QScriptString& name, uint id, const QScriptValue& value) = 0;
65  static QScriptValue Default_proto_toString(QScriptContext* ctx, QScriptEngine* eng);
66 
67 private:
68  void setDataType(const QScriptValue& value, DataInformation* data);
69 protected:
70  QScriptString s_valid;
71  QScriptString s_wasAbleToRead;
72  QScriptString s_validationError;
73  QScriptString s_parent;
74  QScriptString s_byteOrder;
75  QScriptString s_name;
76  QScriptString s_datatype;
77  QScriptString s_updateFunc;
78  QScriptString s_validationFunc;
79  QScriptString s_customTypeName;
80  QScriptString s_asStringFunc;
82  PropertyInfoList mIterableProperties;
83  QScriptValue mDefaultPrototype;
84  ScriptHandlerInfo* mHandlerInfo;
85 };
86 
88 class DefaultscriptClassIterator : public QScriptClassPropertyIterator {
89 public:
90  DefaultscriptClassIterator(const QScriptValue& object, DefaultScriptClass* cls);
91  virtual ~DefaultscriptClassIterator();
92  virtual bool hasNext() const;
93  virtual bool hasPrevious() const;
94  virtual QScriptString name() const;
95  virtual QScriptValue::PropertyFlags flags() const;
96  virtual uint id() const;
97  virtual void next();
98  virtual void previous();
99  virtual void toBack();
100  virtual void toFront();
101 private:
102  int mCurrent;
103  DefaultScriptClass* mClass;
104  DataInformation* mData;
105 };
106 
107 #endif // DEFAULTSCRIPTCLASS_H
DataInformation
Interface that must be implemented by all datatypes.
Definition: datainformation.h:67
QScriptClass
DefaultscriptClassIterator::previous
virtual void previous()
Definition: defaultscriptclass.cpp:481
DefaultscriptClassIterator::flags
virtual QScriptValue::PropertyFlags flags() const
Definition: defaultscriptclass.cpp:454
DefaultscriptClassIterator::name
virtual QScriptString name() const
Definition: defaultscriptclass.cpp:441
QVector
Definition: scriptvalueconverter.h:30
DefaultScriptClass::property
virtual QScriptValue property(const QScriptValue &object, const QScriptString &name, uint id)
Definition: defaultscriptclass.cpp:135
DefaultScriptClass::s_wasAbleToRead
QScriptString s_wasAbleToRead
Definition: defaultscriptclass.h:71
DefaultscriptClassIterator::id
virtual uint id() const
Definition: defaultscriptclass.cpp:464
DefaultscriptClassIterator::next
virtual void next()
Definition: defaultscriptclass.cpp:475
DefaultscriptClassIterator::hasNext
virtual bool hasNext() const
Definition: defaultscriptclass.cpp:431
DefaultscriptClassIterator::toFront
virtual void toFront()
Definition: defaultscriptclass.cpp:492
DefaultScriptClass::mHandlerInfo
ScriptHandlerInfo * mHandlerInfo
Definition: defaultscriptclass.h:84
DefaultScriptClass::s_customTypeName
QScriptString s_customTypeName
Definition: defaultscriptclass.h:79
QScriptClassPropertyIterator
DefaultScriptClass::s_parent
QScriptString s_parent
Definition: defaultscriptclass.h:73
DefaultScriptClass::Default_proto_toString
static QScriptValue Default_proto_toString(QScriptContext *ctx, QScriptEngine *eng)
Definition: defaultscriptclass.cpp:402
DefaultScriptClass::s_name
QScriptString s_name
Definition: defaultscriptclass.h:75
DefaultscriptClassIterator
Provide a default iterator for all properties.
Definition: defaultscriptclass.h:88
DefaultScriptClass::toDataInformation
static DataInformation * toDataInformation(const QScriptValue &val)
Convert a QScriptValue to DataInformation than qscriptvalue_cast, since we know exactly what to expec...
Definition: defaultscriptclass.cpp:75
DefaultScriptClass::additionalProperty
virtual QScriptValue additionalProperty(const DataInformation *data, const QScriptString &name, uint id)=0
DefaultscriptClassIterator::toBack
virtual void toBack()
Definition: defaultscriptclass.cpp:487
DefaultScriptClass::s_validationFunc
QScriptString s_validationFunc
Definition: defaultscriptclass.h:78
DefaultScriptClass::DefaultscriptClassIterator
friend class DefaultscriptClassIterator
Definition: defaultscriptclass.h:38
DefaultScriptClass::s_datatype
QScriptString s_datatype
Definition: defaultscriptclass.h:76
DefaultScriptClass::propertyFlags
virtual QScriptValue::PropertyFlags propertyFlags(const QScriptValue &object, const QScriptString &name, uint id)
Definition: defaultscriptclass.cpp:361
DefaultScriptClass::mIterableProperties
PropertyInfoList mIterableProperties
Contains all properties of this class, classes inheriting should add their own properties to this lis...
Definition: defaultscriptclass.h:82
DefaultScriptClass::s_validationError
QScriptString s_validationError
Definition: defaultscriptclass.h:72
DefaultScriptClass::setAdditionalProperty
virtual bool setAdditionalProperty(DataInformation *data, const QScriptString &name, uint id, const QScriptValue &value)=0
DefaultScriptClass::s_updateFunc
QScriptString s_updateFunc
Definition: defaultscriptclass.h:77
DefaultScriptClass::queryAdditionalProperty
virtual bool queryAdditionalProperty(const DataInformation *data, const QScriptString &name, QueryFlags *flags, uint *id)=0
ScriptHandlerInfo
Definition: scripthandlerinfo.h:39
DefaultScriptClass::s_valid
QScriptString s_valid
Definition: defaultscriptclass.h:70
DefaultscriptClassIterator::hasPrevious
virtual bool hasPrevious() const
Definition: defaultscriptclass.cpp:436
DefaultScriptClass::mDefaultPrototype
QScriptValue mDefaultPrototype
Definition: defaultscriptclass.h:83
DefaultScriptClass::newIterator
virtual QScriptClassPropertyIterator * newIterator(const QScriptValue &object)
Definition: defaultscriptclass.cpp:414
DefaultScriptClass
Definition: defaultscriptclass.h:36
DefaultScriptClass::setProperty
virtual void setProperty(QScriptValue &object, const QScriptString &name, uint id, const QScriptValue &value)
Definition: defaultscriptclass.cpp:281
DefaultScriptClass::additionalPropertyFlags
virtual bool additionalPropertyFlags(const DataInformation *data, const QScriptString &name, uint id, QScriptValue::PropertyFlags *flags)=0
DefaultScriptClass::prototype
virtual QScriptValue prototype() const
Definition: defaultscriptclass.cpp:397
DefaultScriptClass::s_byteOrder
QScriptString s_byteOrder
Definition: defaultscriptclass.h:74
DefaultscriptClassIterator::~DefaultscriptClassIterator
virtual ~DefaultscriptClassIterator()
Definition: defaultscriptclass.cpp:427
DefaultScriptClass::queryProperty
virtual QueryFlags queryProperty(const QScriptValue &object, const QScriptString &name, QueryFlags flags, uint *id)
Definition: defaultscriptclass.cpp:89
DefaultScriptClass::s_asStringFunc
QScriptString s_asStringFunc
Definition: defaultscriptclass.h:80
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

okteta

Skip menu "okteta"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal