QtiPlot  0.9.8.2
Public Slots | Signals | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Script Class Reference

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

#include <Script.h>

Inheritance diagram for Script:
muParserScript PythonScript

Public Slots

virtual bool compile (bool for_eval=true)
 Compile the Code. Return true if the implementation doesn't support compilation. More...
 
virtual QVariant eval ()
 Evaluate the Code, returning QVariant() on an error / exception. More...
 
virtual bool exec ()
 Execute the Code, returning false on an error / exception. More...
 
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. More...
 
void error (const QString &message, const QString &scriptName, int lineNumber)
 signal an error condition / exception More...
 
void print (const QString &output)
 output generated by the code More...
 

Public Member Functions

virtual void addCode (const QString &code)
 Append to the code that will be executed when calling exec() or eval() More...
 
const QString code () const
 Return the code that will be executed when calling exec() or eval() More...
 
QObject * context () const
 Return the context in which the code is to be executed. More...
 
bool emitErrors () const
 Return whether errors / exceptions are to be emitted or silently ignored. More...
 
const QString name () const
 Like QObject::name, but with unicode support. More...
 
 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() More...
 
virtual void setContext (QObject *context)
 Set the context in which the code is to be executed. More...
 
void setEmitErrors (bool yes)
 Set whether errors / exceptions are to be emitted or silently ignored. More...
 
void setName (const QString &name)
 Like QObject::setName, but with unicode support. More...
 
 ~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

§ compileStatus

enum Script::compileStatus
protected
Enumerator
notCompiled 
isCompiled 
compileErr 

Constructor & Destructor Documentation

§ Script()

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

§ ~Script()

Script::~Script ( )
inline

References ScriptingEnv::decref(), and Env.

Member Function Documentation

§ addCode()

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.

§ code()

const QString Script::code ( ) const
inline

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

References Code.

Referenced by ScriptEdit::evaluate(), and setCode().

§ codeChanged

void Script::codeChanged ( )
signal

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

Referenced by addCode(), setCode(), and setDouble().

§ compile

bool Script::compile ( bool  for_eval = true)
virtualslot

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

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

§ context()

QObject* Script::context ( ) const
inline

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

References Context.

Referenced by ScriptEdit::contextMenuEvent(), Script(), setContext(), ScriptEdit::setFileName(), and PythonScript::write().

§ emit_error()

void Script::emit_error ( const QString &  message,
int  lineNumber 
)
inlineprotected

§ emitErrors()

bool Script::emitErrors ( ) const
inline

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

References EmitErrors.

§ error

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

signal an error condition / exception

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

§ eval

QVariant Script::eval ( )
virtualslot

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

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

§ exec

bool Script::exec ( )
virtualslot

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

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

§ name()

const QString Script::name ( ) const
inline

Like QObject::name, but with unicode support.

References Name.

Referenced by muParserScript::defineVariable(), muParserScript::setDouble(), setName(), and PythonScript::write().

§ print

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

output generated by the code

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

§ scriptingEnv()

ScriptingEnv* Script::scriptingEnv ( )
inline

§ setCode()

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

§ setContext()

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

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

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

Referenced by PythonScript::setContext(), and ScriptEdit::setContext().

§ setDouble

virtual bool Script::setDouble ( double  ,
const char *   
)
inlinevirtualslot

§ setEmitErrors()

void Script::setEmitErrors ( bool  yes)
inline

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

References EmitErrors.

§ setInt

virtual bool Script::setInt ( int  ,
const char *   
)
inlinevirtualslot

Referenced by Table::cellEdited().

§ setName()

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

§ setQObject

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

Member Data Documentation

§ Code

QString Script::Code
protected

§ compiled

enum Script::compileStatus Script::compiled
protected

§ Context

QObject* Script::Context
protected

§ EmitErrors

bool Script::EmitErrors
protected

Referenced by emitErrors(), Script(), and setEmitErrors().

§ Env

ScriptingEnv* Script::Env
protected

§ Name

QString Script::Name
protected

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