]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/src/_functions.i
added a test to check how exception handling works with Win32 SEH; corrected copyright
[wxWidgets.git] / wxPython / src / _functions.i
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: _functions.i
3// Purpose: SWIG interface defs for various functions and such
4//
5// Author: Robin Dunn
6//
7// Created: 3-July-1997
8// RCS-ID: $Id$
9// Copyright: (c) 2003 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13// Not a %module
14
15
16%{
17#include <wx/stockitem.h>
18%}
19
20//---------------------------------------------------------------------------
21
22MAKE_CONST_WXSTRING(FileSelectorPromptStr);
23MAKE_CONST_WXSTRING(FileSelectorDefaultWildcardStr);
24MAKE_CONST_WXSTRING(DirSelectorPromptStr);
25
26//---------------------------------------------------------------------------
27%newgroup;
28
29
30long wxNewId();
31void wxRegisterId(long id);
32long wxGetCurrentId();
33
34// Returns true if the ID is in the list of recognized stock actions
35bool wxIsStockID(wxWindowID id);
36
37// Returns true of the label is empty or label of a stock button with
38// given ID
39bool wxIsStockLabel(wxWindowID id, const wxString& label);
40
41// Returns label that should be used for given stock UI element (e.g. "&OK"
42// for wxID_OK):
43wxString wxGetStockLabel(wxWindowID id);
44
45
46MustHaveApp(wxBell);
47void wxBell();
48
49MustHaveApp(wxEndBusyCursor);
50void wxEndBusyCursor();
51
52long wxGetElapsedTime(bool resetTimer = true);
53
54MustHaveApp(wxGetMousePosition);
55DocDeclA(
56 void, wxGetMousePosition(int* OUTPUT, int* OUTPUT),
57 "GetMousePosition() -> (x,y)");
58
59bool wxIsBusy();
60wxString wxNow();
61bool wxShell(const wxString& command = wxPyEmptyString);
62void wxStartTimer();
63
64DocDeclA(
65 int, wxGetOsVersion(int *OUTPUT, int *OUTPUT),
66 "GetOsVersion() -> (platform, major, minor)");
67
68wxString wxGetOsDescription();
69
70// TODO:
71// // Parses the wildCard, returning the number of filters.
72// // Returns 0 if none or if there's a problem,
73// // The arrays will contain an equal number of items found before the error.
74// // wildCard is in the form:
75// // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"
76// int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
77
78#if defined(__WXMSW__) || defined(__WXMAC__)
79long wxGetFreeMemory();
80#else
81%inline %{
82 long wxGetFreeMemory()
83 { wxPyRaiseNotImplemented(); return 0; }
84%}
85#endif
86
87enum wxShutdownFlags
88{
89 wxSHUTDOWN_POWEROFF, // power off the computer
90 wxSHUTDOWN_REBOOT // shutdown and reboot
91};
92
93// Shutdown or reboot the PC
94MustHaveApp(wxShutdown);
95bool wxShutdown(wxShutdownFlags wFlags);
96
97
98void wxSleep(int secs);
99void wxMilliSleep(unsigned long milliseconds);
100void wxMicroSleep(unsigned long microseconds);
101%pythoncode { Usleep = MilliSleep }
102
103void wxEnableTopLevelWindows(bool enable);
104
105wxString wxStripMenuCodes(const wxString& in);
106
107
108wxString wxGetEmailAddress();
109wxString wxGetHostName();
110wxString wxGetFullHostName();
111wxString wxGetUserId();
112wxString wxGetUserName();
113wxString wxGetHomeDir();
114wxString wxGetUserHome(const wxString& user = wxPyEmptyString);
115
116unsigned long wxGetProcessId();
117
118void wxTrap();
119
120
121// Dialog Functions
122
123MustHaveApp(wxFileSelector);
124wxString wxFileSelector(const wxString& message = wxPyFileSelectorPromptStr,
125 const wxString& default_path = wxPyEmptyString,
126 const wxString& default_filename = wxPyEmptyString,
127 const wxString& default_extension = wxPyEmptyString,
128 const wxString& wildcard = wxPyFileSelectorDefaultWildcardStr,
129 int flags = 0,
130 wxWindow *parent = NULL,
131 int x = -1, int y = -1);
132
133// TODO: wxFileSelectorEx
134
135
136// Ask for filename to load
137MustHaveApp(wxLoadFileSelector);
138wxString wxLoadFileSelector(const wxString& what,
139 const wxString& extension,
140 const wxString& default_name = wxPyEmptyString,
141 wxWindow *parent = NULL);
142
143// Ask for filename to save
144MustHaveApp(wxSaveFileSelector);
145wxString wxSaveFileSelector(const wxString& what,
146 const wxString& extension,
147 const wxString& default_name = wxPyEmptyString,
148 wxWindow *parent = NULL);
149
150
151MustHaveApp(wxDirSelector);
152wxString wxDirSelector(const wxString& message = wxPyDirSelectorPromptStr,
153 const wxString& defaultPath = wxPyEmptyString,
154 long style = wxDD_DEFAULT_STYLE,
155 const wxPoint& pos = wxDefaultPosition,
156 wxWindow *parent = NULL);
157
158MustHaveApp(wxGetTextFromUser);
159wxString wxGetTextFromUser(const wxString& message,
160 const wxString& caption = wxPyEmptyString,
161 const wxString& default_value = wxPyEmptyString,
162 wxWindow *parent = NULL,
163 int x = -1, int y = -1,
164 bool centre = true);
165
166MustHaveApp(wxGetPasswordFromUser);
167wxString wxGetPasswordFromUser(const wxString& message,
168 const wxString& caption = wxPyEmptyString,
169 const wxString& default_value = wxPyEmptyString,
170 wxWindow *parent = NULL);
171
172
173// TODO: Need to custom wrap this one...
174// int wxGetMultipleChoice(char* message, char* caption,
175// int LCOUNT, char** choices,
176// int nsel, int *selection,
177// wxWindow *parent = NULL, int x = -1, int y = -1,
178// bool centre = true, int width=150, int height=200);
179
180
181MustHaveApp(wxGetSingleChoice);
182wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
183 int choices, wxString* choices_array,
184 wxWindow *parent = NULL,
185 int x = -1, int y = -1,
186 bool centre = true,
187 int width=150, int height=200);
188
189MustHaveApp(wxGetSingleChoiceIndex);
190int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
191 int choices, wxString* choices_array,
192 wxWindow *parent = NULL,
193 int x = -1, int y = -1,
194 bool centre = true,
195 int width=150, int height=200);
196
197
198MustHaveApp(wxMessageBox);
199int wxMessageBox(const wxString& message,
200 const wxString& caption = wxPyEmptyString,
201 int style = wxOK | wxCENTRE,
202 wxWindow *parent = NULL,
203 int x = -1, int y = -1);
204
205MustHaveApp(wxGetNumberFromUser);
206long wxGetNumberFromUser(const wxString& message,
207 const wxString& prompt,
208 const wxString& caption,
209 long value,
210 long min = 0, long max = 100,
211 wxWindow *parent = NULL,
212 const wxPoint& pos = wxDefaultPosition);
213
214// GDI Functions
215
216MustHaveApp(wxColourDisplay);
217bool wxColourDisplay();
218
219MustHaveApp(wxDisplayDepth);
220int wxDisplayDepth();
221
222MustHaveApp(wxGetDisplayDepth);
223int wxGetDisplayDepth();
224
225MustHaveApp(wxDisplaySize);
226DocDeclA(
227 void, wxDisplaySize(int* OUTPUT, int* OUTPUT),
228 "DisplaySize() -> (width, height)");
229
230MustHaveApp(wxGetDisplaySize);
231wxSize wxGetDisplaySize();
232
233MustHaveApp(wxDisplaySizeMM);
234DocDeclA(
235 void, wxDisplaySizeMM(int* OUTPUT, int* OUTPUT),
236 "DisplaySizeMM() -> (width, height)");
237
238MustHaveApp(wxGetDisplaySizeMM);
239wxSize wxGetDisplaySizeMM();
240
241MustHaveApp(wxClientDisplayRect);
242DocDeclA(
243 void, wxClientDisplayRect(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
244 "ClientDisplayRect() -> (x, y, width, height)");
245
246MustHaveApp(wxGetClientDisplayRect);
247wxRect wxGetClientDisplayRect();
248
249
250MustHaveApp(wxSetCursor);
251void wxSetCursor(wxCursor& cursor);
252
253
254
255// Miscellaneous functions
256
257MustHaveApp(wxBeginBusyCursor);
258void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
259
260MustHaveApp(wxGetActiveWindow);
261wxWindow * wxGetActiveWindow();
262
263MustHaveApp(wxGenericFindWindowAtPoint);
264wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
265
266MustHaveApp(wxFindWindowAtPoint);
267wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
268
269MustHaveApp(wxGetTopLevelParent);
270wxWindow* wxGetTopLevelParent(wxWindow *win);
271
272//bool wxSpawnBrowser(wxWindow *parent, wxString href);
273
274
275
276
277MustHaveApp(wxGetKeyState);
278DocDeclStr(
279 bool , wxGetKeyState(wxKeyCode key),
280 "Get the state of a key (true if pressed or toggled on, false if not.)
281This is generally most useful getting the state of the modifier or
282toggle keys. On some platforms those may be the only keys that work.
283", "");
284
285
286
287//---------------------------------------------------------------------------
288
289MustHaveApp(wxWakeUpMainThread);
290
291#if defined(__WXMSW__) || defined(__WXMAC__)
292void wxWakeUpMainThread();
293#else
294%inline %{
295 void wxWakeUpMainThread() {}
296%}
297#endif
298
299
300MustHaveApp(wxMutexGuiEnter);
301void wxMutexGuiEnter();
302
303MustHaveApp(wxMutexGuiLeave);
304void wxMutexGuiLeave();
305
306
307MustHaveApp(wxMutexGuiLocker);
308class wxMutexGuiLocker {
309public:
310 wxMutexGuiLocker();
311 ~wxMutexGuiLocker();
312};
313
314
315MustHaveApp(wxThread);
316%inline %{
317 bool wxThread_IsMain() {
318#ifdef WXP_WITH_THREAD
319 return wxThread::IsMain();
320#else
321 return true;
322#endif
323 }
324%}
325
326//---------------------------------------------------------------------------
327//---------------------------------------------------------------------------