summaryrefslogtreecommitdiff
path: root/src/shared/scriptwrapper/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/scriptwrapper/README')
-rw-r--r--src/shared/scriptwrapper/README58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/shared/scriptwrapper/README b/src/shared/scriptwrapper/README
deleted file mode 100644
index dd7f4bf14a..0000000000
--- a/src/shared/scriptwrapper/README
+++ /dev/null
@@ -1,58 +0,0 @@
-Some wrap helpers for Script support.
-
-How to wrap an interface:
-=========================
-
-1) Prototypes (preferred)
--------------------------
-
-- Interface must inherit QObjectInterface and be qvariant-castable, that is,
- declared as Q-MetaType.
-
-- Register a prototype with the engine for each interface:
- - Provide an informative toString()-slot.
- - Use properties and slots for everything, can be non-void as well
- - Accessors to interfaces should be properties.
-
-- In the toScriptValue() function passed on to qScriptRegisterMetaType, create
- an newQObject on the QObject obtained from the QObjectInterface and assign it the prototype
- registered for the interface (obtained from the engine) using QScriptValue::setDefaultPrototype
- The prototype can then qobject (-extension)-cast to the interface as each
- implementing class returns 'this' as qObject() of QObjectInterface.
-
-- If sequences of the interface are used, declare them as Q-MetaType
- and do qScriptRegisterSequenceMetaType().
-
-The template registerQObjectInterface does the magic.
-
-2) Manually bless a script value with properties
-------------------------------------------------
-
-Typically, a qobject-derived wrapper will be used
-that provides an accessor to the wrapped class.
-The wrapper contains a QScriptValue 'm_self' which
-typically is initialized using:
-
-- engine.newQObject(this, QScriptEngine::ScriptOwnership))
- for interfaces that are always present.
-
-- m_self(engine.newQObject(this, QScriptEngine::QtOwnership)),
- can be used when setting the qObject() of an QObjectInterface
- as parent of the qobject-derived wrapper. If the QObject goes
- out of scope while running the script, the script object
- will stop working.
-
-A conversion cast to QScriptValue can then be provided.
-
-How to wrap functions:
-
-Most functions can then be implemented as slots, property-like
-things as such.
-
-The other functions have to be implemented via script-callbacks.
-(Parameter checking required).
-
-The templates in here can help in writing the wrapper
-objects. For examples, see
-
-src/plugins/core/scriptmanager/qworkbench_wrapper.h