![]() |
Scripting components. More...
#include <arcsscriptcomponent.h>
Public Member Functions | |
virtual QString | toString () |
Defines a basic seralization mechanism. More... | |
virtual bool | parseString (QString s) |
Defines a basic seralization mechanism. More... | |
virtual QStringList | getSignals () |
Returns the names of the availables signals. | |
virtual QStringList | getSlots () |
Returns the names of the available slots. | |
![]() | |
bool | instanciate () |
Instanciates the real component. | |
bool | isInstanciated () |
Determines wether the component is instanciated or not. | |
void | destroy () |
Destroys the real component. | |
ARCSAbstractComponent * | clone () |
Kage bunshin no jutsu ! More... | |
virtual bool | connect (QString sig, ARCSAbstractComponent *dst, QString slt, bool queued=false) |
This method connects two components by the indicated signals and slots. More... | |
bool | disconnect (QString sig, ARCSAbstractComponent *dst, QString slt) |
This method disconnects two components by the indicated signals and slots. More... | |
bool | init (QString slt, QVariant *var) |
Initializes a component. More... | |
virtual bool | loadFile (QString fn) |
Defines a way to load a component description from a file. More... | |
virtual bool | saveFile (QString fn) |
Defines a way to save a component description inside a file. More... | |
void | setProperty (QString name, QVariant value) |
Sets a meta-property on this component. More... | |
QVariant | getProperty (QString name) |
Gets a meta-property from this component. More... | |
void | removeProperty (QString name) |
Removes a meta-property from this component. More... | |
void | resetProperties () |
Sets the property list to a blank list. | |
QStringList | getProperties () |
void | setFamily (QString s) |
QString | getFamily () |
void | setType (QString s) |
QString | getType () |
virtual QVariant | getGenuineComponentInstance () |
Protected Member Functions | |
virtual void | getProxySlot (QString slot, ObjectList &obj, QStringList &proxySlot) |
Creates a proxy slot to interface a component to native ARCS components. More... | |
virtual void | getProxySignal (QString signal, ObjectList &obj, QStringList &proxySignal) |
Creates a proxy signal to interface a component to native ARCS components. More... | |
virtual bool | genuineInstanciate () |
This method should implement the instanciation of the actual component. More... | |
virtual void | genuineDestroy () |
This method should implement the destruction of the actual component. More... | |
![]() | |
virtual bool | genuineConnect (QString, ARCSAbstractComponent *, QString, bool=false) |
This method connects two components by the indicated signals and slots. More... | |
virtual bool | genuineDisconnect (QString, ARCSAbstractComponent *, QString) |
This method disconnects two components by the indicated signals and slots. More... | |
Additional Inherited Members | |
![]() | |
static void | getProxySlot (ARCSAbstractComponent *cmp, QString slot, ObjectList &obj, QStringList &proxySlot) |
Wrapper for getProxySlot() | |
static void | getProxySignal (ARCSAbstractComponent *cmp, QString signal, ObjectList &obj, QStringList &proxySignal) |
Wrapper for getProxySignal() | |
![]() | |
static const QString | slotPrefix = "1" |
static const QString | signalPrefix = "2" |
Scripting components.
ARCS offers the possibility to quickly design components using a variant of ECMA-Script used by the Qt4 library.
There are simple rules to make scripting components but they should be respected :
Here is a slight example of a script :
This snippet of code is interpreted as a component having a slot named squareRoot
and a signal named squareRooted
. Please also notice that the following snippet of code is invalid despite its correctness with respect to ECMA-Script syntax:
The reason is that this code doesn't respect rule #4.
Definition at line 114 of file arcsscriptcomponent.h.
|
inlineprotectedvirtual |
This method should implement the destruction of the actual component.
Should be overloaded by each subclasses.
Implements ARCSAbstractComponent.
Definition at line 130 of file arcsscriptcomponent.h.
|
inlineprotectedvirtual |
This method should implement the instanciation of the actual component.
Should be overloaded by each subclasses.
Implements ARCSAbstractComponent.
Definition at line 129 of file arcsscriptcomponent.h.
|
protectedvirtual |
Creates a proxy signal to interface a component to native ARCS components.
This function should be overriden by subclasses. It is used in the case the abstracted component is not from the same family as another component to connect to. In this case, the abstracted component should offer a wrapper using a QObject to communicate with other components as if it was a native component of the ARCS runtime.
sig | the signal name of the current component |
obj | a list of QObject wrappers returned by this method |
proxySignal | the list of the real slot names associated to the QObjects returned by this method. |
Implements ARCSAbstractComponent.
Definition at line 363 of file arcsscriptcomponent.cpp.
|
protectedvirtual |
Creates a proxy slot to interface a component to native ARCS components.
This function should be overriden by subclasses. It is used in the case the abstracted component is not from the same family as another component to connect to. In this case, the abstracted component should offer a wrapper using a QObject to communicate with other components as if it was a native component of the ARCS runtime.
slot | the slot name of the current component |
obj | a list of QObject wrappers returned by this method |
proxySlot | the list of the real slot names associated to the QObjects returned by this method. |
Implements ARCSAbstractComponent.
Definition at line 356 of file arcsscriptcomponent.cpp.
|
virtual |
Defines a basic seralization mechanism.
This should parse a string and affect the internal representation of the component.
true
if parsing was a success, false
otherwise. Implements ARCSAbstractComponent.
Definition at line 349 of file arcsscriptcomponent.cpp.
|
inlinevirtual |
Defines a basic seralization mechanism.
This should return a string representation of the component.
Implements ARCSAbstractComponent.
Definition at line 121 of file arcsscriptcomponent.h.