]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_functions.i
* Some WXWIN_COMPATIBILITY_2_4 changes, as well as flagging other
[wxWidgets.git] / wxPython / src / _functions.i
CommitLineData
d14a1e28
RD
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
1e140719
RD
16%{
17#include <wx/stockitem.h>
18%}
19
d14a1e28
RD
20//---------------------------------------------------------------------------
21
b2dc1044
RD
22MAKE_CONST_WXSTRING(FileSelectorPromptStr);
23MAKE_CONST_WXSTRING(FileSelectorDefaultWildcardStr);
24MAKE_CONST_WXSTRING(DirSelectorPromptStr);
d14a1e28
RD
25
26//---------------------------------------------------------------------------
27%newgroup;
28
29
30long wxNewId();
31void wxRegisterId(long id);
32long wxGetCurrentId();
33
1e140719
RD
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
ab1f7d2a 46MustHaveApp(wxBell);
d14a1e28 47void wxBell();
ab1f7d2a
RD
48
49MustHaveApp(wxEndBusyCursor);
d14a1e28
RD
50void wxEndBusyCursor();
51
a72f4631 52long wxGetElapsedTime(bool resetTimer = true);
322913ce 53
ab1f7d2a 54MustHaveApp(wxGetMousePosition);
322913ce
RD
55DocDeclA(
56 void, wxGetMousePosition(int* OUTPUT, int* OUTPUT),
57 "GetMousePosition() -> (x,y)");
58
d14a1e28
RD
59bool wxIsBusy();
60wxString wxNow();
61bool wxShell(const wxString& command = wxPyEmptyString);
62void wxStartTimer();
322913ce
RD
63
64DocDeclA(
65 int, wxGetOsVersion(int *OUTPUT, int *OUTPUT),
66 "GetOsVersion() -> (platform, major, minor)");
67
d14a1e28
RD
68wxString wxGetOsDescription();
69
03d51a2d
RD
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"
daf32463 76// int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
03d51a2d 77
d14a1e28
RD
78#if defined(__WXMSW__) || defined(__WXMAC__)
79long wxGetFreeMemory();
80#else
81%inline %{
82 long wxGetFreeMemory()
81cfe5e1 83 { wxPyRaiseNotImplemented(); return 0; }
d14a1e28
RD
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
ab1f7d2a 94MustHaveApp(wxShutdown);
d14a1e28
RD
95bool wxShutdown(wxShutdownFlags wFlags);
96
97
98void wxSleep(int secs);
705b61cc
RD
99void wxMilliSleep(unsigned long milliseconds);
100void wxMicroSleep(unsigned long microseconds);
101%pythoncode { Usleep = MilliSleep }
102
d14a1e28
RD
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
ab1f7d2a 123MustHaveApp(wxFileSelector);
d14a1e28
RD
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
ab1f7d2a 137MustHaveApp(wxLoadFileSelector);
d14a1e28
RD
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
ab1f7d2a 144MustHaveApp(wxSaveFileSelector);
d14a1e28
RD
145wxString wxSaveFileSelector(const wxString& what,
146 const wxString& extension,
147 const wxString& default_name = wxPyEmptyString,
148 wxWindow *parent = NULL);
149
150
ab1f7d2a 151MustHaveApp(wxDirSelector);
d14a1e28
RD
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
ab1f7d2a 158MustHaveApp(wxGetTextFromUser);
d14a1e28
RD
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,
a72f4631 164 bool centre = true);
d14a1e28 165
ab1f7d2a 166MustHaveApp(wxGetPasswordFromUser);
d14a1e28
RD
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,
a72f4631 178// bool centre = true, int width=150, int height=200);
d14a1e28
RD
179
180
ab1f7d2a 181MustHaveApp(wxGetSingleChoice);
d14a1e28
RD
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,
a72f4631 186 bool centre = true,
d14a1e28
RD
187 int width=150, int height=200);
188
ab1f7d2a 189MustHaveApp(wxGetSingleChoiceIndex);
d14a1e28
RD
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,
a72f4631 194 bool centre = true,
d14a1e28
RD
195 int width=150, int height=200);
196
197
ab1f7d2a 198MustHaveApp(wxMessageBox);
d14a1e28
RD
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
aeee37c3 205// WXWIN_COMPATIBILITY_2_4
ab1f7d2a 206MustHaveApp(wxGetNumberFromUser);
d14a1e28
RD
207long wxGetNumberFromUser(const wxString& message,
208 const wxString& prompt,
209 const wxString& caption,
210 long value,
211 long min = 0, long max = 100,
212 wxWindow *parent = NULL,
213 const wxPoint& pos = wxDefaultPosition);
214
215// GDI Functions
216
ab1f7d2a 217MustHaveApp(wxColourDisplay);
d14a1e28
RD
218bool wxColourDisplay();
219
ab1f7d2a 220MustHaveApp(wxDisplayDepth);
d14a1e28 221int wxDisplayDepth();
ab1f7d2a
RD
222
223MustHaveApp(wxGetDisplayDepth);
d14a1e28
RD
224int wxGetDisplayDepth();
225
ab1f7d2a 226MustHaveApp(wxDisplaySize);
322913ce
RD
227DocDeclA(
228 void, wxDisplaySize(int* OUTPUT, int* OUTPUT),
229 "DisplaySize() -> (width, height)");
ab1f7d2a
RD
230
231MustHaveApp(wxGetDisplaySize);
d14a1e28
RD
232wxSize wxGetDisplaySize();
233
ab1f7d2a 234MustHaveApp(wxDisplaySizeMM);
322913ce
RD
235DocDeclA(
236 void, wxDisplaySizeMM(int* OUTPUT, int* OUTPUT),
237 "DisplaySizeMM() -> (width, height)");
ab1f7d2a
RD
238
239MustHaveApp(wxGetDisplaySizeMM);
d14a1e28
RD
240wxSize wxGetDisplaySizeMM();
241
ab1f7d2a 242MustHaveApp(wxClientDisplayRect);
322913ce
RD
243DocDeclA(
244 void, wxClientDisplayRect(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
245 "ClientDisplayRect() -> (x, y, width, height)");
ab1f7d2a
RD
246
247MustHaveApp(wxGetClientDisplayRect);
d14a1e28
RD
248wxRect wxGetClientDisplayRect();
249
ab1f7d2a
RD
250
251MustHaveApp(wxSetCursor);
d14a1e28
RD
252void wxSetCursor(wxCursor& cursor);
253
254
255
256// Miscellaneous functions
257
ab1f7d2a 258MustHaveApp(wxBeginBusyCursor);
d14a1e28 259void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
ab1f7d2a
RD
260
261MustHaveApp(wxGetActiveWindow);
d14a1e28
RD
262wxWindow * wxGetActiveWindow();
263
ab1f7d2a 264MustHaveApp(wxGenericFindWindowAtPoint);
d14a1e28 265wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
ab1f7d2a
RD
266
267MustHaveApp(wxFindWindowAtPoint);
d14a1e28
RD
268wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
269
ab1f7d2a 270MustHaveApp(wxGetTopLevelParent);
d14a1e28
RD
271wxWindow* wxGetTopLevelParent(wxWindow *win);
272
273//bool wxSpawnBrowser(wxWindow *parent, wxString href);
274
275
276
89c876de 277
ab1f7d2a 278MustHaveApp(wxGetKeyState);
ad411ab2
RD
279DocDeclStr(
280 bool , wxGetKeyState(wxKeyCode key),
281 "Get the state of a key (true if pressed or toggled on, false if not.)
282This is generally most useful getting the state of the modifier or
283toggle keys. On some platforms those may be the only keys that work.
284", "");
285
57b1892f
RD
286
287
d14a1e28
RD
288//---------------------------------------------------------------------------
289
ab1f7d2a
RD
290MustHaveApp(wxWakeUpMainThread);
291
d14a1e28
RD
292#if defined(__WXMSW__) || defined(__WXMAC__)
293void wxWakeUpMainThread();
294#else
295%inline %{
296 void wxWakeUpMainThread() {}
297%}
298#endif
299
ab1f7d2a
RD
300
301MustHaveApp(wxMutexGuiEnter);
d14a1e28 302void wxMutexGuiEnter();
ab1f7d2a
RD
303
304MustHaveApp(wxMutexGuiLeave);
d14a1e28
RD
305void wxMutexGuiLeave();
306
307
ab1f7d2a 308MustHaveApp(wxMutexGuiLocker);
d14a1e28
RD
309class wxMutexGuiLocker {
310public:
311 wxMutexGuiLocker();
312 ~wxMutexGuiLocker();
313};
314
315
ab1f7d2a 316MustHaveApp(wxThread);
d14a1e28
RD
317%inline %{
318 bool wxThread_IsMain() {
319#ifdef WXP_WITH_THREAD
320 return wxThread::IsMain();
321#else
a72f4631 322 return true;
d14a1e28
RD
323#endif
324 }
325%}
326
aeee37c3
RD
327//---------------------------------------------------------------------------
328
329// enum wxPowerType
330// {
331// wxPOWER_SOCKET,
332// wxPOWER_BATTERY,
333// wxPOWER_UNKNOWN
334// };
335
336// DocDeclStr(
337// wxPowerType , wxGetPowerType(),
338// "Returns the type of power source as one of wx.POWER_SOCKET,
339// wx.POWER_BATTERY or wx.POWER_UNKNOWN. wx.POWER_UNKNOWN is also the
340// default on platforms where this feature is not implemented.", "");
341
342
343// enum wxBatteryState
344// {
345// wxBATTERY_NORMAL_STATE, // system is fully usable
346// wxBATTERY_LOW_STATE, // start to worry
347// wxBATTERY_CRITICAL_STATE, // save quickly
348// wxBATTERY_SHUTDOWN_STATE, // too late
349// wxBATTERY_UNKNOWN_STATE
350// };
351
352// DocDeclStr(
353// wxBatteryState , wxGetBatteryState(),
354// "Returns battery state as one of wx.BATTERY_NORMAL_STATE,
355// wx.BATTERY_LOW_STATE}, wx.BATTERY_CRITICAL_STATE,
356// wx.BATTERY_SHUTDOWN_STATE or wx.BATTERY_UNKNOWN_STATE.
357// wx.BATTERY_UNKNOWN_STATE is also the default on platforms where this
358// feature is not implemented.", "");
359
360
361
d14a1e28
RD
362//---------------------------------------------------------------------------
363//---------------------------------------------------------------------------