SciDAVis
1.D4
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
scidavis
src
PythonScript.h
Go to the documentation of this file.
1
/***************************************************************************
2
File : PythonScript.h
3
Project : SciDAVis
4
--------------------------------------------------------------------
5
Copyright : (C) 2006 by Knut Franke
6
Email (use @ for *) : knut.franke*gmx.de
7
Description : Execute Python code from within SciDAVis
8
9
***************************************************************************/
10
11
/***************************************************************************
12
* *
13
* This program is free software; you can redistribute it and/or modify *
14
* it under the terms of the GNU General Public License as published by *
15
* the Free Software Foundation; either version 2 of the License, or *
16
* (at your option) any later version. *
17
* *
18
* This program is distributed in the hope that it will be useful, *
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
21
* GNU General Public License for more details. *
22
* *
23
* You should have received a copy of the GNU General Public License *
24
* along with this program; if not, write to the Free Software *
25
* Foundation, Inc., 51 Franklin Street, Fifth Floor, *
26
* Boston, MA 02110-1301 USA *
27
* *
28
***************************************************************************/
29
#ifndef PYTHON_SCRIPT_H
30
#define PYTHON_SCRIPT_H
31
32
#include "
Script.h
"
33
34
class
QString;
35
class
QObject;
36
37
typedef
struct
_object
PyObject
;
38
class
PythonScripting
;
39
class
ScriptingEnv
;
40
41
class
PythonScript
:
public
Script
42
{
43
Q_OBJECT
44
45
public
:
46
PythonScript
(
PythonScripting
*
env
,
const
QString &
code
, QObject *
context
=0,
const
QString &
name
=
"<input>"
);
47
~PythonScript
();
48
49
void
write
(
const
QString &text) { emit
print
(text); }
50
51
public
slots:
52
bool
compile
(
bool
for_eval=
true
);
53
QVariant
eval
();
54
bool
exec
();
55
bool
setQObject
(QObject *val,
const
char
*
name
);
56
bool
setInt
(
int
val,
const
char
*
name
);
57
bool
setDouble
(
double
val,
const
char
*
name
);
58
void
setContext
(QObject *
context
);
59
60
private
:
61
PythonScripting
*
env
() {
return
(
PythonScripting
*)
Env
; }
62
void
beginStdoutRedirect
();
63
void
endStdoutRedirect
();
64
65
PyObject
*
PyCode
, *
localDict
, *
stdoutSave
, *
stderrSave
;
66
bool
isFunction
;
67
};
68
69
70
#endif
Generated by
1.8.1