]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_functions.i
Allow the frame (if there is one) to resize the toolbar after Realize
[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):
8815349a
RD
43wxString wxGetStockLabel(wxWindowID id,
44 bool withCodes = true,
45 wxString accelerator = wxPyEmptyString);
1e140719
RD
46
47
ab1f7d2a 48MustHaveApp(wxBell);
d14a1e28 49void wxBell();
ab1f7d2a
RD
50
51MustHaveApp(wxEndBusyCursor);
d14a1e28
RD
52void wxEndBusyCursor();
53
a72f4631 54long wxGetElapsedTime(bool resetTimer = true);
322913ce 55
ab1f7d2a 56MustHaveApp(wxGetMousePosition);
322913ce
RD
57DocDeclA(
58 void, wxGetMousePosition(int* OUTPUT, int* OUTPUT),
59 "GetMousePosition() -> (x,y)");
60
d14a1e28
RD
61bool wxIsBusy();
62wxString wxNow();
63bool wxShell(const wxString& command = wxPyEmptyString);
64void wxStartTimer();
322913ce
RD
65
66DocDeclA(
67 int, wxGetOsVersion(int *OUTPUT, int *OUTPUT),
68 "GetOsVersion() -> (platform, major, minor)");
69
d14a1e28
RD
70wxString wxGetOsDescription();
71
03d51a2d
RD
72// TODO:
73// // Parses the wildCard, returning the number of filters.
74// // Returns 0 if none or if there's a problem,
75// // The arrays will contain an equal number of items found before the error.
76// // wildCard is in the form:
77// // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"
daf32463 78// int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
03d51a2d 79
d14a1e28 80#if defined(__WXMSW__) || defined(__WXMAC__)
e88df737 81wxMemorySize wxGetFreeMemory();
d14a1e28
RD
82#else
83%inline %{
e88df737 84 wxMemorySize wxGetFreeMemory()
81cfe5e1 85 { wxPyRaiseNotImplemented(); return 0; }
d14a1e28
RD
86%}
87#endif
88
89enum wxShutdownFlags
90{
91 wxSHUTDOWN_POWEROFF, // power off the computer
92 wxSHUTDOWN_REBOOT // shutdown and reboot
93};
94
95// Shutdown or reboot the PC
ab1f7d2a 96MustHaveApp(wxShutdown);
d14a1e28
RD
97bool wxShutdown(wxShutdownFlags wFlags);
98
99
100void wxSleep(int secs);
705b61cc
RD
101void wxMilliSleep(unsigned long milliseconds);
102void wxMicroSleep(unsigned long microseconds);
103%pythoncode { Usleep = MilliSleep }
104
d14a1e28
RD
105void wxEnableTopLevelWindows(bool enable);
106
107wxString wxStripMenuCodes(const wxString& in);
108
109
110wxString wxGetEmailAddress();
111wxString wxGetHostName();
112wxString wxGetFullHostName();
113wxString wxGetUserId();
114wxString wxGetUserName();
115wxString wxGetHomeDir();
116wxString wxGetUserHome(const wxString& user = wxPyEmptyString);
117
118unsigned long wxGetProcessId();
119
120void wxTrap();
121
122
123// Dialog Functions
124
ab1f7d2a 125MustHaveApp(wxFileSelector);
d14a1e28
RD
126wxString wxFileSelector(const wxString& message = wxPyFileSelectorPromptStr,
127 const wxString& default_path = wxPyEmptyString,
128 const wxString& default_filename = wxPyEmptyString,
129 const wxString& default_extension = wxPyEmptyString,
130 const wxString& wildcard = wxPyFileSelectorDefaultWildcardStr,
131 int flags = 0,
132 wxWindow *parent = NULL,
133 int x = -1, int y = -1);
134
135// TODO: wxFileSelectorEx
136
137
138// Ask for filename to load
ab1f7d2a 139MustHaveApp(wxLoadFileSelector);
d14a1e28
RD
140wxString wxLoadFileSelector(const wxString& what,
141 const wxString& extension,
142 const wxString& default_name = wxPyEmptyString,
143 wxWindow *parent = NULL);
144
145// Ask for filename to save
ab1f7d2a 146MustHaveApp(wxSaveFileSelector);
d14a1e28
RD
147wxString wxSaveFileSelector(const wxString& what,
148 const wxString& extension,
149 const wxString& default_name = wxPyEmptyString,
150 wxWindow *parent = NULL);
151
152
ab1f7d2a 153MustHaveApp(wxDirSelector);
d14a1e28
RD
154wxString wxDirSelector(const wxString& message = wxPyDirSelectorPromptStr,
155 const wxString& defaultPath = wxPyEmptyString,
156 long style = wxDD_DEFAULT_STYLE,
157 const wxPoint& pos = wxDefaultPosition,
158 wxWindow *parent = NULL);
159
ab1f7d2a 160MustHaveApp(wxGetTextFromUser);
d14a1e28
RD
161wxString wxGetTextFromUser(const wxString& message,
162 const wxString& caption = wxPyEmptyString,
163 const wxString& default_value = wxPyEmptyString,
164 wxWindow *parent = NULL,
165 int x = -1, int y = -1,
a72f4631 166 bool centre = true);
d14a1e28 167
ab1f7d2a 168MustHaveApp(wxGetPasswordFromUser);
d14a1e28
RD
169wxString wxGetPasswordFromUser(const wxString& message,
170 const wxString& caption = wxPyEmptyString,
171 const wxString& default_value = wxPyEmptyString,
172 wxWindow *parent = NULL);
173
174
175// TODO: Need to custom wrap this one...
176// int wxGetMultipleChoice(char* message, char* caption,
177// int LCOUNT, char** choices,
178// int nsel, int *selection,
179// wxWindow *parent = NULL, int x = -1, int y = -1,
a72f4631 180// bool centre = true, int width=150, int height=200);
d14a1e28
RD
181
182
ab1f7d2a 183MustHaveApp(wxGetSingleChoice);
d14a1e28
RD
184wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
185 int choices, wxString* choices_array,
186 wxWindow *parent = NULL,
187 int x = -1, int y = -1,
a72f4631 188 bool centre = true,
d14a1e28
RD
189 int width=150, int height=200);
190
ab1f7d2a 191MustHaveApp(wxGetSingleChoiceIndex);
d14a1e28
RD
192int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
193 int choices, wxString* choices_array,
194 wxWindow *parent = NULL,
195 int x = -1, int y = -1,
a72f4631 196 bool centre = true,
d14a1e28
RD
197 int width=150, int height=200);
198
199
ab1f7d2a 200MustHaveApp(wxMessageBox);
d14a1e28
RD
201int wxMessageBox(const wxString& message,
202 const wxString& caption = wxPyEmptyString,
203 int style = wxOK | wxCENTRE,
204 wxWindow *parent = NULL,
205 int x = -1, int y = -1);
206
aeee37c3 207// WXWIN_COMPATIBILITY_2_4
2f91e3df 208#if 0
ab1f7d2a 209MustHaveApp(wxGetNumberFromUser);
d14a1e28
RD
210long wxGetNumberFromUser(const wxString& message,
211 const wxString& prompt,
212 const wxString& caption,
213 long value,
214 long min = 0, long max = 100,
215 wxWindow *parent = NULL,
216 const wxPoint& pos = wxDefaultPosition);
02b800ce 217%pythoncode { GetNumberFromUser = wx._deprecated(GetNumberFromUser) }
2f91e3df 218#endif
02b800ce 219
d14a1e28
RD
220// GDI Functions
221
ab1f7d2a 222MustHaveApp(wxColourDisplay);
d14a1e28
RD
223bool wxColourDisplay();
224
ab1f7d2a 225MustHaveApp(wxDisplayDepth);
d14a1e28 226int wxDisplayDepth();
ab1f7d2a
RD
227
228MustHaveApp(wxGetDisplayDepth);
d14a1e28
RD
229int wxGetDisplayDepth();
230
ab1f7d2a 231MustHaveApp(wxDisplaySize);
322913ce
RD
232DocDeclA(
233 void, wxDisplaySize(int* OUTPUT, int* OUTPUT),
234 "DisplaySize() -> (width, height)");
ab1f7d2a
RD
235
236MustHaveApp(wxGetDisplaySize);
d14a1e28
RD
237wxSize wxGetDisplaySize();
238
ab1f7d2a 239MustHaveApp(wxDisplaySizeMM);
322913ce
RD
240DocDeclA(
241 void, wxDisplaySizeMM(int* OUTPUT, int* OUTPUT),
242 "DisplaySizeMM() -> (width, height)");
ab1f7d2a
RD
243
244MustHaveApp(wxGetDisplaySizeMM);
d14a1e28
RD
245wxSize wxGetDisplaySizeMM();
246
ab1f7d2a 247MustHaveApp(wxClientDisplayRect);
322913ce
RD
248DocDeclA(
249 void, wxClientDisplayRect(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
250 "ClientDisplayRect() -> (x, y, width, height)");
ab1f7d2a
RD
251
252MustHaveApp(wxGetClientDisplayRect);
d14a1e28
RD
253wxRect wxGetClientDisplayRect();
254
ab1f7d2a
RD
255
256MustHaveApp(wxSetCursor);
d14a1e28
RD
257void wxSetCursor(wxCursor& cursor);
258
259
2327fb3b
RD
260MustHaveApp(wxGetXDisplay);
261DocStr(wxGetXDisplay,
262"Returns a swigified pointer to the X11 display. Returns None on
263other platforms.", "");
264%inline %{
265 void* wxGetXDisplay()
266 {
267#ifdef __WXGTK__
268 return wxGetDisplay();
269#else
270 return NULL;
271#endif
272 }
273%}
274
d14a1e28
RD
275
276// Miscellaneous functions
277
ab1f7d2a 278MustHaveApp(wxBeginBusyCursor);
d14a1e28 279void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
ab1f7d2a
RD
280
281MustHaveApp(wxGetActiveWindow);
d14a1e28
RD
282wxWindow * wxGetActiveWindow();
283
ab1f7d2a 284MustHaveApp(wxGenericFindWindowAtPoint);
d14a1e28 285wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
ab1f7d2a
RD
286
287MustHaveApp(wxFindWindowAtPoint);
d14a1e28
RD
288wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
289
ab1f7d2a 290MustHaveApp(wxGetTopLevelParent);
d14a1e28
RD
291wxWindow* wxGetTopLevelParent(wxWindow *win);
292
d14a1e28 293
aa2fc802
RD
294DocDeclStr(
295 bool , wxLaunchDefaultBrowser(const wxString& url),
296 "Launches the user's default browser and tells it to open the location
297at ``url``. Returns ``True`` if the application was successfully
298launched.", "");
d14a1e28
RD
299
300
89c876de 301
ab1f7d2a 302MustHaveApp(wxGetKeyState);
ad411ab2
RD
303DocDeclStr(
304 bool , wxGetKeyState(wxKeyCode key),
305 "Get the state of a key (true if pressed or toggled on, false if not.)
306This is generally most useful getting the state of the modifier or
307toggle keys. On some platforms those may be the only keys that work.
308", "");
309
57b1892f
RD
310
311
d14a1e28
RD
312//---------------------------------------------------------------------------
313
ab1f7d2a
RD
314MustHaveApp(wxWakeUpMainThread);
315
d14a1e28
RD
316#if defined(__WXMSW__) || defined(__WXMAC__)
317void wxWakeUpMainThread();
318#else
319%inline %{
320 void wxWakeUpMainThread() {}
321%}
322#endif
323
ab1f7d2a
RD
324
325MustHaveApp(wxMutexGuiEnter);
d14a1e28 326void wxMutexGuiEnter();
ab1f7d2a
RD
327
328MustHaveApp(wxMutexGuiLeave);
d14a1e28
RD
329void wxMutexGuiLeave();
330
331
ab1f7d2a 332MustHaveApp(wxMutexGuiLocker);
d14a1e28
RD
333class wxMutexGuiLocker {
334public:
335 wxMutexGuiLocker();
336 ~wxMutexGuiLocker();
337};
338
339
ab1f7d2a 340MustHaveApp(wxThread);
d14a1e28
RD
341%inline %{
342 bool wxThread_IsMain() {
343#ifdef WXP_WITH_THREAD
344 return wxThread::IsMain();
345#else
a72f4631 346 return true;
d14a1e28
RD
347#endif
348 }
349%}
350
aeee37c3
RD
351//---------------------------------------------------------------------------
352
353// enum wxPowerType
354// {
355// wxPOWER_SOCKET,
356// wxPOWER_BATTERY,
357// wxPOWER_UNKNOWN
358// };
359
360// DocDeclStr(
361// wxPowerType , wxGetPowerType(),
362// "Returns the type of power source as one of wx.POWER_SOCKET,
363// wx.POWER_BATTERY or wx.POWER_UNKNOWN. wx.POWER_UNKNOWN is also the
364// default on platforms where this feature is not implemented.", "");
365
366
367// enum wxBatteryState
368// {
369// wxBATTERY_NORMAL_STATE, // system is fully usable
370// wxBATTERY_LOW_STATE, // start to worry
371// wxBATTERY_CRITICAL_STATE, // save quickly
372// wxBATTERY_SHUTDOWN_STATE, // too late
373// wxBATTERY_UNKNOWN_STATE
374// };
375
376// DocDeclStr(
377// wxBatteryState , wxGetBatteryState(),
378// "Returns battery state as one of wx.BATTERY_NORMAL_STATE,
379// wx.BATTERY_LOW_STATE}, wx.BATTERY_CRITICAL_STATE,
380// wx.BATTERY_SHUTDOWN_STATE or wx.BATTERY_UNKNOWN_STATE.
381// wx.BATTERY_UNKNOWN_STATE is also the default on platforms where this
382// feature is not implemented.", "");
383
384
385
d14a1e28
RD
386//---------------------------------------------------------------------------
387//---------------------------------------------------------------------------