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