]> git.saurik.com Git - wxWidgets.git/blame - utils/wxPython/src/wx.i
Squashed another threading and interpreter lock bug
[wxWidgets.git] / utils / wxPython / src / wx.i
CommitLineData
7bf85405
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: wxp.i
3// Purpose: SWIG interface file for a python wxWindows module
4//
5// Author: Robin Dunn
6//
7// Created: 5/22/98
8// RCS-ID: $Id$
9// Copyright: (c) 1998 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
b8b8dda7 13%module wx
03e9bead
RD
14
15
16%{
7bf85405
RD
17#include "helpers.h"
18%}
19
20//----------------------------------------------------------------------
21// This is where we include the other wrapper definition files for SWIG
22//----------------------------------------------------------------------
23
24%include typemaps.i
25%include my_typemaps.i
26%include _defs.i
27
8bf5d46e
RD
28%include pointer.i
29
7bf85405 30%import misc.i
bb0054cd 31%import misc2.i
7bf85405
RD
32%import windows.i
33%import events.i
34%import gdi.i
35%import mdi.i
36%import controls.i
37%import controls2.i
38%import windows2.i
39%import cmndlgs.i
9c039d08
RD
40%import stattool.i
41%import frames.i
08127323 42%import windows3.i
cf694132 43%import image.i
bb0054cd 44%import printfw.i
2f90df85 45%import sizers.i
7bf85405
RD
46
47
48%native(_wxStart) __wxStart;
49%native(_wxSetDictionary) __wxSetDictionary;
50
51//---------------------------------------------------------------------------
52
2f90df85
RD
53
54#define __version__ "0.0.0" // The real value is in build.py...
7bf85405 55
853b255a
RD
56wxPoint wxPyDefaultPosition;
57wxSize wxPyDefaultSize;
7bf85405
RD
58
59//---------------------------------------------------------------------------
60//---------------------------------------------------------------------------
61
62class wxPyApp : public wxEvtHandler {
63public:
64 %addmethods {
65 wxPyApp() {
66 wxPythonApp = new wxPyApp();
67 return wxPythonApp;
68 }
69 }
70
8bf5d46e 71 ~wxPyApp();
7bf85405
RD
72
73 wxString GetAppName();
853b255a 74#ifdef __WXMSW__
7bf85405 75 bool GetAuto3D();
853b255a 76#endif
7bf85405
RD
77 wxString GetClassName();
78 bool GetExitOnFrameDelete();
79 int GetPrintMode();
80 wxWindow * GetTopWindow();
81 wxString GetVendorName();
82
83 void Dispatch();
84 void ExitMainLoop();
85 bool Initialized();
86 int MainLoop();
87 bool Pending();
8bf5d46e 88 bool ProcessIdle();
7bf85405
RD
89
90 void SetAppName(const wxString& name);
853b255a 91#ifdef __WXMSW__
7bf85405 92 void SetAuto3D(bool auto3D);
853b255a 93#endif
7bf85405
RD
94 void SetClassName(const wxString& name);
95 void SetExitOnFrameDelete(bool flag);
96 void SetPrintMode(int mode);
97 void SetTopWindow(wxWindow* window);
98 void SetVendorName(const wxString& name);
99
8bf5d46e
RD
100 wxIcon GetStdIcon(int which);
101
102
103};
104
105
106//----------------------------------------------------------------------
107// An instance of this object is created in the main wx module. As long
108// as there are no extra references to it then when the wx module is being
109// unloaded from memory then this object's destructor will be called. When
110// it is then we'll use that as a signal to clean up wxWindows
111
112%{
113class __wxPyCleanup {
114public:
115 __wxPyCleanup() { }
116 ~__wxPyCleanup() { wxApp::CleanUp(); }
117};
118%}
119
120// now to swigify it...
121class __wxPyCleanup {
122public:
123 __wxPyCleanup();
124 ~__wxPyCleanup();
7bf85405
RD
125};
126
127
7bf85405
RD
128//----------------------------------------------------------------------
129// This code gets added to the module initialization function
130//----------------------------------------------------------------------
131
132%{
1d99702e
RD
133extern "C" SWIGEXPORT(void) initwindowsc();
134extern "C" SWIGEXPORT(void) initwindows2c();
135extern "C" SWIGEXPORT(void) initeventsc();
136extern "C" SWIGEXPORT(void) initmiscc();
137extern "C" SWIGEXPORT(void) initmisc2c();
138extern "C" SWIGEXPORT(void) initgdic();
139extern "C" SWIGEXPORT(void) initmdic();
140extern "C" SWIGEXPORT(void) initcontrolsc();
141extern "C" SWIGEXPORT(void) initcontrols2c();
142extern "C" SWIGEXPORT(void) initcmndlgsc();
143extern "C" SWIGEXPORT(void) initstattoolc();
144extern "C" SWIGEXPORT(void) initframesc();
145extern "C" SWIGEXPORT(void) initwindows3c();
146extern "C" SWIGEXPORT(void) initimagec();
147extern "C" SWIGEXPORT(void) initprintfwc();
2f90df85 148extern "C" SWIGEXPORT(void) initsizersc();
0699c864 149%}
08127323 150
7bf85405 151
7bf85405
RD
152
153%init %{
7bf85405 154
0d6f9504 155 __wxPreStart(); // initialize the GUI toolkit, if needed.
7bf85405 156
7bf85405
RD
157
158 // Since these modules are all linked together, initialize them now
159 // because python won't be able to find their shared library files,
160 // (since there isn't any.)
161 initwindowsc();
162 initwindows2c();
163 initeventsc();
164 initmiscc();
bb0054cd 165 initmisc2c();
7bf85405
RD
166 initgdic();
167 initmdic();
168 initcontrolsc();
169 initcontrols2c();
170 initcmndlgsc();
9c039d08
RD
171 initstattoolc();
172 initframesc();
08127323 173 initwindows3c();
cf694132 174 initimagec();
bb0054cd 175 initprintfwc();
2f90df85 176 initsizersc();
7bf85405
RD
177%}
178
179//----------------------------------------------------------------------
180// And this gets appended to the shadow class file.
181//----------------------------------------------------------------------
182
183%pragma(python) include="_extras.py";
184
185