]> Shamusworld >> Repos - architektonas/blob - src/base/rs_simplepython.h.bak
Refactoring: Moved RS_GraphicView to GraphicView.
[architektonas] / src / base / rs_simplepython.h.bak
1 /****************************************************************************
2 ** $Id: rs_simplepython.h 1960 2005-03-12 12:22:01Z andrew $
3 **
4 ** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
5 **
6 ** This file is part of the qcadlib Library project.
7 **
8 ** This file may be distributed and/or modified under the terms of the
9 ** GNU General Public License version 2 as published by the Free Software
10 ** Foundation and appearing in the file LICENSE.GPL included in the
11 ** packaging of this file.
12 **
13 ** Licensees holding valid qcadlib Professional Edition licenses may use 
14 ** this file in accordance with the qcadlib Commercial License
15 ** Agreement provided with the Software.
16 **
17 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19 **
20 ** See http://www.ribbonsoft.com for further details.
21 **
22 ** Contact info@ribbonsoft.com if any conditions of this licensing are
23 ** not clear to you.
24 **
25 **********************************************************************/
26
27 #ifndef RS_SIMPLEPYTHON_H
28 #define RS_SIMPLEPYTHON_H
29
30 #ifdef RS_OPT_SIMPLEPYTHON
31
32 #include "Python.h"
33
34 #include "rs_graphic.h"
35
36 #define RS_SIMPLEPYTHON RS_SimplePython::instance()
37
38 /**
39  * Python scripting support.
40  *
41  * OBSOLETE
42  *
43  * @author Andrew Mustun
44  */
45 class RS_SimplePython {
46 private:
47     RS_SimplePython() {
48         graphic = NULL;
49     }
50
51 public:
52     static RS_SimplePython* instance();
53
54     void setGraphic(RS_Graphic* g) {
55         graphic = g;
56     }
57
58     RS_Graphic* getGraphic() {
59         return graphic;
60     }
61
62     int launch(const RS_String& script);
63
64 private:
65     static RS_SimplePython* uniqueInstance;
66
67     RS_Graphic* graphic;
68 };
69
70
71
72 /**
73  * Global method needed by the python lib for initialisation.
74  */
75 void init_pyextension();
76
77 /**
78  * Test method.
79  */
80 long inc(long i);
81
82 /**
83  * Adds a line to the current graphic document.
84  */
85 void rsPyAddLine(double x1, double y1, double x2, double y2);
86
87 #endif
88
89 #endif