SciDAVis  1.D4
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()
const 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>")
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)
inlinevirtual

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

References Code, codeChanged(), compiled, and notCompiled.

const QString Script::code ( ) const
inline

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

References Code.

Referenced by setCode().

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)
virtualslot

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

Reimplemented in PythonScript, and MuParserScript.

References emit_error().

Referenced by Matrix::recalculate(), and Table::recalculate().

const QObject* Script::context ( ) const
inline

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

References Context.

Referenced by Script(), and setContext().

void Script::emit_error ( const QString &  message,
int  lineNumber 
)
inlineprotected
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().

QVariant Script::eval ( )
virtualslot
bool Script::exec ( )
virtualslot

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

Reimplemented in PythonScript, and MuParserScript.

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.

Referenced by setName().

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

output generated by the code

Referenced by PythonScript::write().

virtual void Script::setCode ( const QString &  code)
inlinevirtual

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

References code(), Code, codeChanged(), compiled, and notCompiled.

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

virtual void Script::setContext ( QObject *  context)
inlinevirtual

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

Reimplemented in PythonScript.

References compiled, context(), Context, and notCompiled.

Referenced by ScriptEdit::setContext().

virtual bool Script::setDouble ( double  ,
const char *   
)
inlinevirtualslot
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 *   
)
inlinevirtualslot
void Script::setName ( const QString &  name)
inline

Like QObject::setName, but with unicode support.

References compiled, name(), Name, and notCompiled.

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

virtual bool Script::setQObject ( const QObject *  ,
const char *   
)
inlinevirtualslot

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

Referenced by PythonScript::env(), Script(), and ~Script().

QString Script::Name
protected

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