Kross
#include <action.h>
Public Slots | |
void | addQObject (QObject *obj, const QString &name=QString()) |
QVariant | callFunction (const QString &name, const QVariantList &args=QVariantList()) |
QByteArray | code () const |
QString | currentPath () const |
QString | description () const |
QVariant | evaluate (const QByteArray &code) |
QString | file () const |
QStringList | functionNames () |
QString | iconName () const |
QString | interpreter () const |
bool | isEnabled () const |
QString | name () const |
QVariant | option (const QString &name, const QVariant &defaultvalue=QVariant()) |
QVariantMap | options () const |
QObject * | qobject (const QString &name) const |
QStringList | qobjectNames () const |
void | setCode (const QByteArray &code) |
void | setDescription (const QString &description) |
void | setEnabled (bool enabled) |
bool | setFile (const QString &scriptfile) |
void | setIconName (const QString &iconname) |
void | setInterpreter (const QString &interpretername) |
bool | setOption (const QString &name, const QVariant &value) |
int | version () const |
Signals | |
void | dataChanged (Action *) |
void | finalized (Kross::Action *) |
void | finished (Kross::Action *) |
void | started (Kross::Action *) |
void | updated () |
Public Member Functions | |
Action (QObject *parent, const QString &name, const QDir &packagepath=QDir()) | |
Action (QObject *parent, const QUrl &url) | |
virtual | ~Action () |
void | finalize () |
void | fromDomElement (const QDomElement &element) |
void | fromDomElement (const QDomElement &element, const QStringList &searchPath) |
bool | initialize () |
bool | isFinalized () const |
Script * | script () const |
QDomElement | toDomElement () const |
QDomElement | toDomElement (const QStringList &searchPath) const |
Public Member Functions inherited from Kross::ChildrenInterface | |
void | addObject (QObject *object, const QString &name=QString(), Options options=NoOption) |
bool | hasObject (const QString &name) const |
QObject * | object (const QString &name) const |
Options | objectOption (const QString &name) const |
QHash< QString, Options > | objectOptions () const |
QHash< QString, QObject * > | objects () const |
Public Member Functions inherited from Kross::ErrorInterface | |
ErrorInterface () | |
void | clearError () |
long | errorLineNo () const |
const QString | errorMessage () const |
const QString | errorTrace () const |
bool | hadError () const |
void | setError (const QString &errormessage, const QString &tracemessage=QString(), long lineno=-1) |
void | setError (ErrorInterface *error) |
Additional Inherited Members | |
Public Types inherited from Kross::ChildrenInterface | |
enum | Options { NoOption = 0x00, AutoConnectSignals = 0x01, LastOption = 0x1000000 } |
Detailed Description
The Action class is an abstract container to deal with scripts like a single standalone script file.
Each action holds a reference to the matching Kross::Interpreter created Kross::Script instance.
The Manager takes care of handling the Action instances application by providing access to ActionCollection containers for those Action instances.
Once you've such a Action instance you're able to perform actions with it like executing scripting code.
Following sample shows "Hello World." executed with the python interpreter:
Following sample demonstrates how to execute an external python script file. The script file itself is named "mytest.py" and contains:
Then you are able to load the script file, publish QObject instances and let the script do whatever it likes to do:
Constructor & Destructor Documentation
Constructor.
- Parameters
-
parent The parent QObject this Action is a child of. name The unique name this Action has. It's used e.g. at the Manager to identify the Action. The name is accessible via QObject::objectName .
- Deprecated:
- since 4.3: pass search path to fromDomElement() and toDomElement()
Definition at line 115 of file action.cpp.
Constructor.
- Parameters
-
parent The parent QObject this Action is a child of. url The URL should point to a valid scripting file. This Action will be filled with the content of the file (e.g. the file is read and code should return its content and it's also tried to determine the interpreter ). Remember to use QUrl c'tor explicitly. The name will be set to url.path()
Definition at line 126 of file action.cpp.
|
virtual |
Destructor.
Definition at line 139 of file action.cpp.
Member Function Documentation
Add a QObject instance to the action.
This instance will be published to scripts.
Definition at line 386 of file action.cpp.
|
slot |
Call a function in the script.
- Parameters
-
name The name of the function which should be called. args The optional list of arguments.
Definition at line 430 of file action.cpp.
|
slot |
- Returns
- the scriptcode this Action holds.
Definition at line 318 of file action.cpp.
|
slot |
- Returns
- the current path the script is running in or an empty string if there is no current path defined.
Definition at line 376 of file action.cpp.
|
signal |
This signal is emitted when the data of the Action is changed.
|
slot |
- Returns
- the optional description for this Action.
Definition at line 281 of file action.cpp.
|
slot |
Evaluate some scripting code.
Example how this can be used:
- Parameters
-
code The scripting code to evaluate.
- Returns
- The return value of the evaluation.
Definition at line 439 of file action.cpp.
|
slot |
- Returns
- the script file that should be executed.
Definition at line 351 of file action.cpp.
void Action::finalize | ( | ) |
Finalize the Script instance and frees any cached or still running executions.
Normally there is no need to call this function directly because the Action will take care of calling it if needed.
Definition at line 496 of file action.cpp.
|
signal |
This signal is emitted once a script finalized.
|
signal |
This signal is emitted after the script got executed.
void Action::fromDomElement | ( | const QDomElement & | element | ) |
Method to read settings from the QDomElement element
that contains details about e.g.
the displayed text, the file to execute or the used interpreter.
- Todo:
- BIC merge
Definition at line 153 of file action.cpp.
void Action::fromDomElement | ( | const QDomElement & | element, |
const QStringList & | searchPath | ||
) |
Method to read settings from the QDomElement element
that contains details about e.g.
the displayed text, the file to execute or the used interpreter.
- Parameters
-
searchPath List of directories where to search the script if its path is relative First item is given the highest priority.
Definition at line 158 of file action.cpp.
|
slot |
- Returns
- the list of functionnames.
Definition at line 421 of file action.cpp.
|
slot |
Return the name of the icon.
Definition at line 293 of file action.cpp.
bool Action::initialize | ( | ) |
Initialize the Script instance.
Normally there is no need to call this function directly because if will be called internally if needed (e.g. on execute ).
- Returns
- true if the initialization was successful else false is returned.
Definition at line 448 of file action.cpp.
|
slot |
- Returns
- the name of the interpreter. Could be for example "python" or "ruby".
Definition at line 333 of file action.cpp.
|
slot |
Return true if this Action is enabled else false is returned.
Definition at line 306 of file action.cpp.
bool Action::isFinalized | ( | ) | const |
- Returns
- true if the action is finalized, which means the action is currently not running.
Definition at line 504 of file action.cpp.
|
slot |
- Returns
- the objectName for this Action.
Definition at line 271 of file action.cpp.
- Returns
- the value of the option defined with
name
. If there doesn't exist an option with such a name, thedefaultvalue
is returned.
Definition at line 401 of file action.cpp.
|
slot |
- Returns
- a map of options this Action defines. The options are returned call-by-ref, so you are able to manipulate them.
Definition at line 381 of file action.cpp.
- Returns
- the QObject with the object name
name
.
Definition at line 391 of file action.cpp.
|
slot |
- Returns
- a list of QObject object names.
Definition at line 396 of file action.cpp.
Kross::Script * Action::script | ( | ) | const |
- Returns
- the Kross::Script implementation used by the scripting backend. This returns NULL until the action got triggered or if there was an error before that.
Normaly it shouldn't be necessary to deal with the scripting backend depending instance of a Kross::Script implementation since this Action class already decorates all the things needed. It may however be useful to provide additional interpreter dependent functionality.
Definition at line 266 of file action.cpp.
|
slot |
Set the scriptcode code
this Action should execute.
Definition at line 323 of file action.cpp.
|
slot |
Set the optional description for this Action.
Definition at line 286 of file action.cpp.
|
slot |
Set the enable state of this Action to enabled
.
Definition at line 311 of file action.cpp.
Set the script file that should be executed.
Definition at line 356 of file action.cpp.
|
slot |
Set the name of the icon to iconname
.
Definition at line 298 of file action.cpp.
|
slot |
Set the name of the interpreter (javascript, python or ruby).
Definition at line 338 of file action.cpp.
Set the Interpreter::Option value.
Definition at line 409 of file action.cpp.
|
signal |
This signal is emitted before the script got executed.
QDomElement Action::toDomElement | ( | ) | const |
- Returns
- a QDomElement that contains the settings like e.g. the displayed text, the file to execute or the used interpreter of this Action instance.
Definition at line 212 of file action.cpp.
QDomElement Action::toDomElement | ( | const QStringList & | searchPath | ) | const |
- Returns
- a QDomElement that contains the settings like e.g. the displayed text, the file to execute or the used interpreter of this Action instance.
- Parameters
-
searchPath if given, find the closest directory containing the scriptfile and write relative filepath
Definition at line 217 of file action.cpp.
|
signal |
This signal is emitted if the content of the Action was changed.
The ActionCollection instances this Action is a child of are connected with this signal to fire up their own updated signal if an Action of them was updated.
|
slot |
- Returns
- the version number this Action has. Per default 0 is returned.
Definition at line 276 of file action.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:49:54 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.