Public Slots | Signals | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

Script Class Reference

A chunk of scripting code. Abstract. More...

#include <Script.h>

Inheritance diagram for Script:
muParserScript PythonScript

List of all members.

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().
QObject * context () const
 Return the context in which the code is to be executed.
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>")
ScriptingEnvscriptingEnv ()
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

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.


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]

References ScriptingEnv::decref(), and Env.


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().

References Code, codeChanged(), and compiled.

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

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

References Code.

Referenced by ScriptEdit::evaluate().

void Script::codeChanged (  )  [signal]

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

Referenced by addCode(), and setCode().

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.

References emit_error().

Referenced by Table::calculate(), MatrixModel::calculate(), and Matrix::canCalculate().

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

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

References Context.

Referenced by ScriptEdit::contextMenuEvent(), and ScriptEdit::setFileName().

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

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

References EmitErrors.

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

signal an error condition / exception

Referenced by emit_error(), and muParserScript::muParserScript().

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

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

Reimplemented in muParserScript, and PythonScript.

References emit_error().

Referenced by Table::calculate(), MatrixModel::calculate(), Matrix::canCalculate(), Table::cellEdited(), and ScriptEdit::evaluate().

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

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

Reimplemented in muParserScript, and PythonScript.

References emit_error().

Referenced by ScriptEdit::execute(), and ScriptEdit::executeAll().

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

Like QObject::name, but with unicode support.

References Name.

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

output generated by the code

Referenced by muParserScript::muParserScript(), and PythonScript::write().

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

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

References Code, codeChanged(), and compiled.

Referenced by ScriptEdit::evaluate(), ScriptEdit::execute(), and ScriptEdit::executeAll().

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

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

Reimplemented in PythonScript.

References compiled, and Context.

Referenced by ScriptEdit::setContext().

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

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

References EmitErrors.

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

Reimplemented in muParserScript, and PythonScript.

Referenced by Table::cellEdited().

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

Like QObject::setName, but with unicode support.

References compiled, and Name.

Referenced by ScriptEdit::evaluate(), ScriptEdit::execute(), and ScriptEdit::executeAll().

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

Member Data Documentation

bool Script::EmitErrors [protected]
QString Script::Name [protected]

The documentation for this class was generated from the following files: