]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/wx.i
Finished wrapping and providing typemaps for wxInputStream and also
[wxWidgets.git] / wxPython / src / wx.i
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
13 %module wx
14
15
16 %{
17 #include "helpers.h"
18 %}
19
20 // %pragma(python) code="
21 // # This gives this module's dictionary to the C++ extension code...
22 // wxc._wxSetDictionary(vars())
23 // "
24
25 //----------------------------------------------------------------------
26 // This is where we include the other wrapper definition files for SWIG
27 //----------------------------------------------------------------------
28
29 %include typemaps.i
30 %include my_typemaps.i
31 %include _defs.i
32
33 %include pointer.i
34
35 %import misc.i
36 %import misc2.i
37 %import windows.i
38 %import events.i
39 %import gdi.i
40 %import mdi.i
41 %import controls.i
42 %import controls2.i
43 %import windows2.i
44 %import cmndlgs.i
45 %import stattool.i
46 %import frames.i
47 %import windows3.i
48 %import image.i
49 %import printfw.i
50 %import sizers.i
51 %import streams.i
52 %import filesys.i
53 %import utils.i
54
55 %native(_wxStart) __wxStart;
56 %native(_wxSetDictionary) __wxSetDictionary;
57
58 //---------------------------------------------------------------------------
59
60
61 #define __version__ "0.0.0" // The real value is now in setup.py...
62
63 %readonly
64 wxPoint wxDefaultPosition;
65 wxSize wxDefaultSize;
66 %readwrite
67
68 //---------------------------------------------------------------------------
69 //---------------------------------------------------------------------------
70
71 class wxPyApp : public wxEvtHandler {
72 public:
73 %addmethods {
74 wxPyApp() {
75 wxPythonApp = new wxPyApp();
76 return wxPythonApp;
77 }
78 }
79
80 ~wxPyApp();
81
82 wxString GetAppName();
83 #ifdef __WXMSW__
84 bool GetAuto3D();
85 #endif
86 wxString GetClassName();
87 bool GetExitOnFrameDelete();
88 int GetPrintMode();
89 wxWindow * GetTopWindow();
90 wxString GetVendorName();
91 bool GetUseBestVisual();
92
93 void Dispatch();
94 void ExitMainLoop();
95 bool Initialized();
96 int MainLoop();
97 bool Pending();
98 bool ProcessIdle();
99
100 void SetAppName(const wxString& name);
101 #ifdef __WXMSW__
102 void SetAuto3D(bool auto3D);
103 #endif
104 void SetClassName(const wxString& name);
105 void SetExitOnFrameDelete(bool flag);
106 void SetPrintMode(int mode);
107 void SetTopWindow(wxWindow* window);
108 void SetVendorName(const wxString& name);
109 void SetUseBestVisual(bool flag);
110 wxIcon GetStdIcon(int which);
111 };
112
113 %inline %{
114 wxPyApp* wxGetApp() {
115 return wxPythonApp;
116 }
117 %}
118
119
120
121 //----------------------------------------------------------------------
122 // this is used to cleanup after wxWindows when Python shuts down.
123
124 %inline %{
125 void wxApp_CleanUp() {
126 __wxCleanup();
127 }
128 %}
129
130 //----------------------------------------------------------------------
131 // This code gets added to the module initialization function
132 //----------------------------------------------------------------------
133
134 %{
135
136
137 extern "C" SWIGEXPORT(void) initwindowsc();
138 extern "C" SWIGEXPORT(void) initwindows2c();
139 extern "C" SWIGEXPORT(void) initeventsc();
140 extern "C" SWIGEXPORT(void) initmiscc();
141 extern "C" SWIGEXPORT(void) initmisc2c();
142 extern "C" SWIGEXPORT(void) initgdic();
143 extern "C" SWIGEXPORT(void) initmdic();
144 extern "C" SWIGEXPORT(void) initcontrolsc();
145 extern "C" SWIGEXPORT(void) initcontrols2c();
146 extern "C" SWIGEXPORT(void) initcmndlgsc();
147 extern "C" SWIGEXPORT(void) initstattoolc();
148 extern "C" SWIGEXPORT(void) initframesc();
149 extern "C" SWIGEXPORT(void) initwindows3c();
150 extern "C" SWIGEXPORT(void) initimagec();
151 extern "C" SWIGEXPORT(void) initprintfwc();
152 extern "C" SWIGEXPORT(void) initsizersc();
153 extern "C" SWIGEXPORT(void) initclip_dndc();
154 extern "C" SWIGEXPORT(void) initstreamsc();
155 extern "C" SWIGEXPORT(void) initfilesysc();
156 extern "C" SWIGEXPORT(void) initutilsc();
157
158
159
160 // Export a C API in a struct. Other modules will be able to load this from
161 // the wxc module and will then have safe access to these functions, even if
162 // in another shared library.
163 static wxPyCoreAPI API = {
164 SWIG_MakePtr,
165 SWIG_GetPtr,
166 SWIG_GetPtrObj,
167 SWIG_RegisterMapping,
168 SWIG_addvarlink,
169 SWIG_newvarlink,
170
171 wxPyBeginAllowThreads,
172 wxPyEndAllowThreads,
173 wxPyBeginBlockThreads,
174 wxPyEndBlockThreads,
175
176 wxPyConstructObject,
177 wxPy_ConvertList,
178
179 byte_LIST_helper,
180 int_LIST_helper,
181 long_LIST_helper,
182 string_LIST_helper,
183 wxPoint_LIST_helper,
184 wxBitmap_LIST_helper,
185 wxString_LIST_helper,
186 wxAcceleratorEntry_LIST_helper,
187
188 wxSize_helper,
189 wxPoint_helper,
190 wxRealPoint_helper,
191 wxRect_helper,
192 wxColour_helper,
193
194 wxPyCBH_setCallbackInfo,
195 wxPyCBH_findCallback,
196 wxPyCBH_callCallback,
197 wxPyCBH_callCallbackObj,
198 wxPyCBH_delete,
199
200 wxPyClassExists,
201 wxPyMake_wxObject,
202 wxPyMake_wxSizer,
203 wxPyPtrTypeMap_Add,
204 wxArrayString2PyList_helper,
205 wxArrayInt2PyList_helper
206 };
207
208
209 %}
210
211
212
213 %init %{
214 // Make our API structure a CObject so other modules can import it
215 // from this module.
216 PyObject* v = PyCObject_FromVoidPtr(&API, NULL);
217 PyDict_SetItemString(d,"wxPyCoreAPI", v);
218 Py_XDECREF(v);
219
220
221 __wxPreStart(); // initialize the GUI toolkit, if needed.
222
223
224 // Since these modules are all linked together, initialize them now
225 // because Python won't be able to find their shared library files,
226 // (since there isn't any.)
227 initwindowsc();
228 initwindows2c();
229 initeventsc();
230 initmiscc();
231 initmisc2c();
232 initgdic();
233 initmdic();
234 initcontrolsc();
235 initcontrols2c();
236 initcmndlgsc();
237 initstattoolc();
238 initframesc();
239 initwindows3c();
240 initimagec();
241 initprintfwc();
242 initsizersc();
243 initclip_dndc();
244 initstreamsc();
245 initfilesysc();
246 initutilsc();
247
248
249 PyDict_SetItemString(d,"wxMAJOR_VERSION", PyInt_FromLong((long)wxMAJOR_VERSION ));
250 PyDict_SetItemString(d,"wxMINOR_VERSION", PyInt_FromLong((long)wxMINOR_VERSION ));
251 PyDict_SetItemString(d,"wxRELEASE_NUMBER", PyInt_FromLong((long)wxRELEASE_NUMBER ));
252 PyDict_SetItemString(d,"wxVERSION_NUMBER", PyInt_FromLong((long)wxVERSION_NUMBER ));
253 PyDict_SetItemString(d,"wxVERSION_STRING", PyString_FromString(wxVERSION_STRING));
254
255
256 %}
257
258 //----------------------------------------------------------------------
259 // And this gets appended to the shadow class file.
260 //----------------------------------------------------------------------
261
262 %pragma(python) include="_extras.py";
263
264