Script Class Reference

#include <Script.h>

Inheritance diagram for Script:

muParserScript PythonScript

List of all members.


Detailed Description

A chunk of scripting code. Abstract.

Script objects represent a chunk of code, possibly together with local variables. The code may be changed and executed multiple times during the lifetime of an object.

Public Slots

virtual bool compile (bool for_eval=true)
 Compile the Code. Return true if the implementation doesn't support compilation.
virtual QVariant eval ()
 Evaluate the Code, returning QVariant() on an error / exception.
virtual bool exec ()
 Execute the Code, returning false on an error / exception.
virtual bool setDouble (double, const char *)
virtual bool setInt (int, const char *)
virtual bool setQObject (const QObject *, const char *)

Signals

void codeChanged ()
 This is emitted whenever the code to be executed by exec() and eval() is changed.
void error (const QString &message, const QString &scriptName, int lineNumber)
 signal an error condition / exception
void print (const QString &output)
 output generated by the code

Public Member Functions

virtual void addCode (const QString &code)
 Append to the code that will be executed when calling exec() or eval().
const QString code () const
 Return the code that will be executed when calling exec() or eval().
const QObject * context () const
 Return the context in which the code is to be executed.
const bool emitErrors () const
 Return whether errors / exceptions are to be emitted or silently ignored.
const QString name () const
 Like QObject::name, but with unicode support.
 Script (ScriptingEnv *env, const QString &code, QObject *context=0, const QString &name="<input>")
virtual void setCode (const QString &code)
 Set the code that will be executed when calling exec() or eval().
virtual void setContext (QObject *context)
 Set the context in which the code is to be executed.
void setEmitErrors (bool yes)
 Set whether errors / exceptions are to be emitted or silently ignored.
void setName (const QString &name)
 Like QObject::setName, but with unicode support.
 ~Script ()

Protected Types

enum  compileStatus { notCompiled, isCompiled, compileErr }

Protected Member Functions

void emit_error (const QString &message, int lineNumber)

Protected Attributes

QString Code
enum Script::compileStatus compiled
QObject * Context
bool EmitErrors
ScriptingEnvEnv
QString Name


Member Enumeration Documentation

enum Script::compileStatus [protected]

Enumerator:
notCompiled 
isCompiled 
compileErr 


Constructor & Destructor Documentation

Script::Script ( ScriptingEnv env,
const QString &  code,
QObject *  context = 0,
const QString &  name = "<input>" 
) [inline]

Script::~Script (  )  [inline]


Member Function Documentation

virtual void Script::addCode ( const QString &  code  )  [inline, virtual]

Append to the code that will be executed when calling exec() or eval().

const QString Script::code (  )  const [inline]

Return the code that will be executed when calling exec() or eval().

void Script::codeChanged (  )  [signal]

This is emitted whenever the code to be executed by exec() and eval() is changed.

bool Script::compile ( bool  for_eval = true  )  [virtual, slot]

Compile the Code. Return true if the implementation doesn't support compilation.

Reimplemented in muParserScript, and PythonScript.

const QObject* Script::context (  )  const [inline]

Return the context in which the code is to be executed.

void Script::emit_error ( const QString &  message,
int  lineNumber 
) [inline, protected]

const bool Script::emitErrors (  )  const [inline]

Return whether errors / exceptions are to be emitted or silently ignored.

void Script::error ( const QString &  message,
const QString &  scriptName,
int  lineNumber 
) [signal]

signal an error condition / exception

QVariant Script::eval (  )  [virtual, slot]

Evaluate the Code, returning QVariant() on an error / exception.

Reimplemented in muParserScript, and PythonScript.

bool Script::exec (  )  [virtual, slot]

Execute the Code, returning false on an error / exception.

Reimplemented in muParserScript, and PythonScript.

const QString Script::name (  )  const [inline]

Like QObject::name, but with unicode support.

void Script::print ( const QString &  output  )  [signal]

output generated by the code

virtual void Script::setCode ( const QString &  code  )  [inline, virtual]

Set the code that will be executed when calling exec() or eval().

virtual void Script::setContext ( QObject *  context  )  [inline, virtual]

Set the context in which the code is to be executed.

Reimplemented in PythonScript.

virtual bool Script::setDouble ( double  ,
const char *   
) [inline, virtual, slot]

Reimplemented in muParserScript, and PythonScript.

void Script::setEmitErrors ( bool  yes  )  [inline]

Set whether errors / exceptions are to be emitted or silently ignored.

virtual bool Script::setInt ( int  ,
const char *   
) [inline, virtual, slot]

Reimplemented in muParserScript, and PythonScript.

void Script::setName ( const QString &  name  )  [inline]

Like QObject::setName, but with unicode support.

virtual bool Script::setQObject ( const QObject *  ,
const char *   
) [inline, virtual, slot]


Member Data Documentation

QString Script::Code [protected]

enum Script::compileStatus Script::compiled [protected]

QObject* Script::Context [protected]

bool Script::EmitErrors [protected]

ScriptingEnv* Script::Env [protected]

QString Script::Name [protected]


The documentation for this class was generated from the following files:
Generated on Thu Feb 7 13:59:29 2008 for QtiPlot by  doxygen 1.5.4