PythonScripting Class Reference

`#include <PythonScripting.h>`

Inheritance diagram for PythonScripting:

## Public Member Functions

QString | errorMsg ()
PyObject * | eval (const QString &code, PyObject *argDict=NULL, const char *name="<qtiplot>")
| evaluate a Python expression More...
bool | exec (const QString &code, PyObject *argDict=NULL, const char *name="<qtiplot>")
| execute a sequence of Python statements More...
const QStringList | fileExtensions () const
| Return a list of file extensions commonly used for this language. More...
PyObject * | globalDict ()
bool | initialize ()
| Part of the initialization is deferred from the constructor until after the signals have been connected. More...
bool | isRunning () const
| whether asynchronuous execution is enabled (if supported by the implementation) More...
const QString | mathFunctionDoc (const QString &name) const
| Return a documentation string for the given mathematical function. More...
const QStringList | mathFunctions () const
| Return a list of supported mathematical functions. These should be imported into the global namespace. More...
Script * | newScript (const QString &code, QObject *context, const QString &name="<input>")
| Instantiate the Script subclass matching the ScriptEnv subclass. More...
| PythonScripting (ApplicationWindow *parent)
bool | setDouble (double, const char *, PyObject *dict=NULL)
bool | setInt (int, const char *, PyObject *dict=NULL)
bool | setQObject (QObject *, const char *, PyObject *dict)
bool | setQObject (QObject *val, const char *name)
PyObject * | sysDict ()
QString | toString (PyObject *object, bool decref=false)
| like str(object) in Python More...
void | write (const QString &text)
| ~PythonScripting ()
Public Member Functions inherited from ScriptingEnv
ApplicationWindow * | application ()
const QString | fileFilter () const
| Construct a filter expression from fileExtension(), suitable for QFileDialog. More...
bool | initialized () const
| initialization of the interpreter may fail; or there could be other errors setting up the environment More...
| ScriptingEnv (ApplicationWindow *parent, const char *langName)
virtual QString | stackTraceString ()
| If an exception / error occured, return a nicely formated stack backtrace. More...

## Static Public Member Functions

static ScriptingEnv * | constructor (ApplicationWindow *parent)

## Static Public Attributes

static const char * | langName = "Python"

## Private Member Functions

bool | loadInitFile (const QString &path)

## Private Attributes

PyObject * | globals
PyObject * | math
PyObject * | sys

## Additional Inherited Members

Public Slots inherited from ScriptingEnv
virtual void | clear ()
| Clear the global environment. What exactly happens depends on the implementation. More...
void | decref ()
| Decrease the reference count. This should only be called by scripted and Script to avoid segfaults. More...
void | incref ()
| Increase the reference count. This should only be called by scripted and Script to avoid memory leaks. More...
virtual bool | setDouble (double, const char *)
virtual bool | setInt (int, const char *)
virtual void | startExecution ()
| If the implementation supports asynchronuos execution, activate it. More...
virtual void | stopExecution ()
| If the implementation supports asynchronuos execution, deactivate it. More...
Signals inherited from ScriptingEnv
void | error (const QString &message, const QString &scriptName, int lineNumber)
| signal an error condition / exception More...
void | print (const QString &output)
| output that is not handled by a Script More...
Protected Attributes inherited from ScriptingEnv
bool | d_initialized
| whether the interpreter has been successfully initialized More...
ApplicationWindow * | d_parent
| the context in which we are running More...

## Constructor & Destructor Documentation

PythonScripting::PythonScripting | ( | ApplicationWindow * | parent | ) |

References ScriptingEnv::d_initialized, ScriptingEnv::d_parent, globals, initqti(), math, setQObject(), and sys.

Referenced by constructor().

PythonScripting::~PythonScripting | ( |  | ) |

References globals, math, and sys.

## Member Function Documentation

static ScriptingEnv* PythonScripting::constructor | ( | ApplicationWindow * | parent | ) |

inline static

References PythonScripting().

QString PythonScripting::errorMsg | ( |  | ) |

References _traceback::tb_frame, _traceback::tb_lineno, _traceback::tb_next, and toString().

PyObject * PythonScripting::eval | ( | const QString & | code,
|  | PyObject * | argDict = `NULL`,
|  | const char * | name = `"<qtiplot>"`
| ) |  |

evaluate a Python expression

Evaluates code, using argDict (borrowed reference) as local dictionary or an empty one if argDict==NULL. name is the filename Python uses when reporting errors. Returns a new reference; NULL means caller has to do exception handling.

References globals.

bool PythonScripting::exec | ( | const QString & | code,
|  | PyObject * | argDict = `NULL`,
|  | const char * | name = `"<qtiplot>"`
| ) |  |

execute a sequence of Python statements

Executes code, using argDict (borrowed reference) as local dictionary or an empty one if argDict==NULL. name is the filename Python uses when reporting errors. A false return value means caller has to do exception handling.

References globals.

const QStringList PythonScripting::fileExtensions | ( |  | ) | const

virtual

Return a list of file extensions commonly used for this language.

Reimplemented from ScriptingEnv.

PyObject* PythonScripting::globalDict | ( |  | ) |

inline

References globals.

Referenced by PythonScript::eval(), and PythonScript::exec().

bool PythonScripting::initialize | ( |  | ) |

virtual

Part of the initialization is deferred from the constructor until after the signals have been connected.

Reimplemented from ScriptingEnv.

References ScriptingEnv::d_initialized, ScriptingEnv::d_parent, ApplicationWindow::d_python_config_folder, ScriptingEnv::initialized(), loadInitFile(), setQObject(), and sys.

bool PythonScripting::isRunning | ( |  | ) | const

virtual

whether asynchronuous execution is enabled (if supported by the implementation)

Reimplemented from ScriptingEnv.

bool PythonScripting::loadInitFile | ( | const QString & | path | ) |

private

Referenced by initialize().

const QString PythonScripting::mathFunctionDoc | ( | const QString & |  | ) | const

virtual

Return a documentation string for the given mathematical function.

Reimplemented from ScriptingEnv.

References math.

const QStringList PythonScripting::mathFunctions | ( |  | ) | const

virtual

Return a list of supported mathematical functions. These should be imported into the global namespace.

Reimplemented from ScriptingEnv.

References math.

Script* PythonScripting::newScript | ( | const QString & | ,
|  | QObject * | ,
|  | const QString & | = `"<input>"`
| ) |  |

inline virtual

Instantiate the Script subclass matching the ScriptEnv subclass.

Reimplemented from ScriptingEnv.

bool PythonScripting::setDouble | ( | double | val,
|  | const char * | name,
|  | PyObject * | dict = `NULL`
| ) |  |

References globals.

bool PythonScripting::setInt | ( | int | val,
|  | const char * | name,
|  | PyObject * | dict = `NULL`
| ) |  |

References globals.

bool PythonScripting::setQObject | ( | QObject * | val,
|  | const char * | name,
|  | PyObject * | dict
| ) |  |

References globals.

Referenced by PythonScript::beginStdoutRedirect(), initialize(), and PythonScripting().

bool PythonScripting::setQObject | ( | QObject * | val,
|  | const char * | name
| ) |  |

inline virtual

Reimplemented from ScriptingEnv.

References setQObject().

Referenced by setQObject().

PyObject* PythonScripting::sysDict | ( |  | ) |

inline

References sys.

QString PythonScripting::toString | ( | PyObject * | object,
|  | bool | decref = `false`
| ) |  |

like str(object) in Python

Convert object to a string. Steals a reference to object if decref is true; borrows otherwise.

Referenced by errorMsg().

void PythonScripting::write | ( | const QString & | text | ) |

inline

References ScriptingEnv::print().

## Member Data Documentation

PyObject* PythonScripting::globals

private

Referenced by eval(), exec(), globalDict(), PythonScripting(), setDouble(), setInt(), setQObject(), and ~PythonScripting().

const char * PythonScripting::langName = "Python"

static

PyObject* PythonScripting::math

private

Referenced by mathFunctionDoc(), mathFunctions(), PythonScripting(), and ~PythonScripting().

PyObject* PythonScripting::sys

private

Referenced by initialize(), PythonScripting(), sysDict(), and ~PythonScripting().

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

- qtiplot/src/scripting/PythonScripting.h
- qtiplot/src/scripting/PythonScripting.cpp