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