1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG interface defs for various functions and such
7 // Created: 3-July-1997
9 // Copyright: (c) 2003 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
17 #include <wx/stockitem.h>
20 //---------------------------------------------------------------------------
22 MAKE_CONST_WXSTRING(FileSelectorPromptStr);
23 MAKE_CONST_WXSTRING(FileSelectorDefaultWildcardStr);
24 MAKE_CONST_WXSTRING(DirSelectorPromptStr);
26 //---------------------------------------------------------------------------
31 void wxRegisterId(long id);
32 long wxGetCurrentId();
34 // Returns true if the ID is in the list of recognized stock actions
35 bool wxIsStockID(wxWindowID id);
37 // Returns true of the label is empty or label of a stock button with
39 bool wxIsStockLabel(wxWindowID id, const wxString& label);
41 // Returns label that should be used for given stock UI element (e.g. "&OK"
43 wxString wxGetStockLabel(wxWindowID id,
44 bool withCodes = true,
45 wxString accelerator = wxPyEmptyString);
51 MustHaveApp(wxEndBusyCursor);
52 void wxEndBusyCursor();
54 long wxGetElapsedTime(bool resetTimer = true);
55 %pythoncode { GetElapsedTime = wx._deprecated(GetElapsedTime) }
59 bool wxShell(const wxString& command = wxPyEmptyString);
67 wxCURSES, /* Text-only CURSES */
68 wxXVIEW_X, /* Sun's XView OpenLOOK toolkit */
69 wxMOTIF_X, /* OSF Motif 1.x.x */
70 wxCOSE_X, /* OSF Common Desktop Environment */
71 wxNEXTSTEP, /* NeXTStep */
72 wxMAC, /* Apple Mac OS 8/9/X with Mac paths */
73 wxMAC_DARWIN, /* Apple Mac OS X with Unix paths */
76 wxGTK_WIN32, /* GTK on Win32 */
77 wxGTK_OS2, /* GTK on OS/2 */
78 wxGTK_BEOS, /* GTK on BeOS */
80 wxOS2_PM, /* OS/2 Workplace */
81 wxWINDOWS, /* Windows or WfW */
82 wxMICROWINDOWS, /* MicroWindows */
83 wxPENWINDOWS, /* Windows for Pen Computing */
84 wxWINDOWS_NT, /* Windows NT */
85 wxWIN32S, /* Windows 32S API */
86 wxWIN95, /* Windows 95 */
87 wxWIN386, /* Watcom 32-bit supervisor modus */
88 wxWINDOWS_CE, /* Windows CE (generic) */
89 wxWINDOWS_POCKETPC, /* Windows CE PocketPC */
90 wxWINDOWS_SMARTPHONE, /* Windows CE Smartphone */
91 wxMGL_UNIX, /* MGL with direct hardware access */
92 wxMGL_X, /* MGL on X */
93 wxMGL_WIN32, /* MGL on Win32 */
94 wxMGL_OS2, /* MGL on OS/2 */
95 wxMGL_DOS, /* MGL on MS-DOS */
96 wxWINDOWS_OS2, /* Native OS/2 PM */
97 wxUNIX, /* wxBase under Unix */
98 wxX11, /* Plain X11 and Universal widgets */
99 wxPALMOS, /* PalmOS */
100 wxDOS /* wxBase under MS-DOS */
104 int, wxGetOsVersion(int *OUTPUT, int *OUTPUT),
105 "GetOsVersion() -> (platform, major, minor)");
107 wxString wxGetOsDescription();
110 // // Parses the wildCard, returning the number of filters.
111 // // Returns 0 if none or if there's a problem,
112 // // The arrays will contain an equal number of items found before the error.
113 // // wildCard is in the form:
114 // // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"
115 // int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
117 #if defined(__WXMSW__) || defined(__WXMAC__)
118 wxMemorySize wxGetFreeMemory();
121 wxMemorySize wxGetFreeMemory()
122 { wxPyRaiseNotImplemented(); return 0; }
128 wxSHUTDOWN_POWEROFF, // power off the computer
129 wxSHUTDOWN_REBOOT // shutdown and reboot
132 // Shutdown or reboot the PC
133 MustHaveApp(wxShutdown);
134 bool wxShutdown(wxShutdownFlags wFlags);
137 void wxSleep(int secs);
138 void wxMilliSleep(unsigned long milliseconds);
139 void wxMicroSleep(unsigned long microseconds);
140 %pythoncode { Usleep = MilliSleep }
142 void wxEnableTopLevelWindows(bool enable);
144 wxString wxStripMenuCodes(const wxString& in);
147 wxString wxGetEmailAddress();
148 wxString wxGetHostName();
149 wxString wxGetFullHostName();
150 wxString wxGetUserId();
151 wxString wxGetUserName();
152 wxString wxGetHomeDir();
153 wxString wxGetUserHome(const wxString& user = wxPyEmptyString);
155 unsigned long wxGetProcessId();
162 MustHaveApp(wxFileSelector);
163 wxString wxFileSelector(const wxString& message = wxPyFileSelectorPromptStr,
164 const wxString& default_path = wxPyEmptyString,
165 const wxString& default_filename = wxPyEmptyString,
166 const wxString& default_extension = wxPyEmptyString,
167 const wxString& wildcard = wxPyFileSelectorDefaultWildcardStr,
169 wxWindow *parent = NULL,
170 int x = -1, int y = -1);
172 // TODO: wxFileSelectorEx
175 // Ask for filename to load
176 MustHaveApp(wxLoadFileSelector);
177 wxString wxLoadFileSelector(const wxString& what,
178 const wxString& extension,
179 const wxString& default_name = wxPyEmptyString,
180 wxWindow *parent = NULL);
182 // Ask for filename to save
183 MustHaveApp(wxSaveFileSelector);
184 wxString wxSaveFileSelector(const wxString& what,
185 const wxString& extension,
186 const wxString& default_name = wxPyEmptyString,
187 wxWindow *parent = NULL);
190 MustHaveApp(wxDirSelector);
191 wxString wxDirSelector(const wxString& message = wxPyDirSelectorPromptStr,
192 const wxString& defaultPath = wxPyEmptyString,
193 long style = wxDD_DEFAULT_STYLE,
194 const wxPoint& pos = wxDefaultPosition,
195 wxWindow *parent = NULL);
197 MustHaveApp(wxGetTextFromUser);
198 wxString wxGetTextFromUser(const wxString& message,
199 const wxString& caption = wxPyEmptyString,
200 const wxString& default_value = wxPyEmptyString,
201 wxWindow *parent = NULL,
202 int x = -1, int y = -1,
205 MustHaveApp(wxGetPasswordFromUser);
206 wxString wxGetPasswordFromUser(const wxString& message,
207 const wxString& caption = wxPyEmptyString,
208 const wxString& default_value = wxPyEmptyString,
209 wxWindow *parent = NULL);
212 // TODO: Need to custom wrap this one...
213 // int wxGetMultipleChoice(char* message, char* caption,
214 // int LCOUNT, char** choices,
215 // int nsel, int *selection,
216 // wxWindow *parent = NULL, int x = -1, int y = -1,
217 // bool centre = true, int width=150, int height=200);
220 MustHaveApp(wxGetSingleChoice);
221 wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
222 int choices, wxString* choices_array,
223 wxWindow *parent = NULL,
224 int x = -1, int y = -1,
226 int width=150, int height=200);
228 MustHaveApp(wxGetSingleChoiceIndex);
229 int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
230 int choices, wxString* choices_array,
231 wxWindow *parent = NULL,
232 int x = -1, int y = -1,
234 int width=150, int height=200);
237 MustHaveApp(wxMessageBox);
238 int wxMessageBox(const wxString& message,
239 const wxString& caption = wxPyEmptyString,
240 int style = wxOK | wxCENTRE,
241 wxWindow *parent = NULL,
242 int x = -1, int y = -1);
244 // WXWIN_COMPATIBILITY_2_4
246 MustHaveApp(wxGetNumberFromUser);
247 long wxGetNumberFromUser(const wxString& message,
248 const wxString& prompt,
249 const wxString& caption,
251 long min = 0, long max = 100,
252 wxWindow *parent = NULL,
253 const wxPoint& pos = wxDefaultPosition);
254 %pythoncode { GetNumberFromUser = wx._deprecated(GetNumberFromUser) }
259 MustHaveApp(wxColourDisplay);
260 bool wxColourDisplay();
262 MustHaveApp(wxDisplayDepth);
263 int wxDisplayDepth();
265 MustHaveApp(wxGetDisplayDepth);
266 int wxGetDisplayDepth();
268 MustHaveApp(wxDisplaySize);
270 void, wxDisplaySize(int* OUTPUT, int* OUTPUT),
271 "DisplaySize() -> (width, height)");
273 MustHaveApp(wxGetDisplaySize);
274 wxSize wxGetDisplaySize();
276 MustHaveApp(wxDisplaySizeMM);
278 void, wxDisplaySizeMM(int* OUTPUT, int* OUTPUT),
279 "DisplaySizeMM() -> (width, height)");
281 MustHaveApp(wxGetDisplaySizeMM);
282 wxSize wxGetDisplaySizeMM();
284 MustHaveApp(wxClientDisplayRect);
286 void, wxClientDisplayRect(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
287 "ClientDisplayRect() -> (x, y, width, height)");
289 MustHaveApp(wxGetClientDisplayRect);
290 wxRect wxGetClientDisplayRect();
293 MustHaveApp(wxSetCursor);
294 void wxSetCursor(wxCursor& cursor);
297 MustHaveApp(wxGetXDisplay);
298 DocStr(wxGetXDisplay,
299 "Returns a swigified pointer to the X11 display. Returns None on
300 other platforms.", "");
302 void* wxGetXDisplay()
305 return wxGetDisplay();
313 // Miscellaneous functions
315 MustHaveApp(wxBeginBusyCursor);
316 void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
319 MustHaveApp(wxGetMousePosition);
321 wxPoint, wxGetMousePosition(),
322 "Get the current mouse position on the screen.", "");
324 MustHaveApp(FindWindowAtPointer);
325 DocStr(FindWindowAtPointer,
326 "Returns the window currently under the mouse pointer, if it belongs to
327 this application. Otherwise it returns None.", "");
329 wxWindow* FindWindowAtPointer() {
331 return wxFindWindowAtPointer(unused);
336 MustHaveApp(wxGetActiveWindow);
338 wxWindow *, wxGetActiveWindow(),
339 "Get the currently active window of this application, or None", "");
342 MustHaveApp(wxGenericFindWindowAtPoint);
343 wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
345 MustHaveApp(wxFindWindowAtPoint);
346 wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
348 MustHaveApp(wxGetTopLevelParent);
349 wxWindow* wxGetTopLevelParent(wxWindow *win);
353 bool , wxLaunchDefaultBrowser(const wxString& url),
354 "Launches the user's default browser and tells it to open the location
355 at ``url``. Returns ``True`` if the application was successfully
360 MustHaveApp(wxGetKeyState);
362 bool , wxGetKeyState(wxKeyCode key),
363 "Get the state of a key (true if pressed or toggled on, false if not.)
364 This is generally most useful getting the state of the modifier or
365 toggle keys. On some platforms those may be the only keys that this
366 function is able to detect.
371 //---------------------------------------------------------------------------
374 "`wx.MouseState` is used to hold information about mouse button and
375 modifier key states and is what is returned from `wx.GetMouseState`.",
397 void SetX(wxCoord x);
398 void SetY(wxCoord y);
400 void SetLeftDown(bool down);
401 void SetMiddleDown(bool down);
402 void SetRightDown(bool down);
404 void SetControlDown(bool down);
405 void SetShiftDown(bool down);
406 void SetAltDown(bool down);
407 void SetMetaDown(bool down);
410 x = property(GetX, SetX)
411 y = property(GetY, SetY)
412 leftDown = property(LeftDown, SetLeftDown)
413 middleDown = property(MiddleDown, SetMiddleDown)
414 rightDown = property(RightDown, SetRightDown)
415 controlDown = property(ControlDown, SetControlDown)
416 shiftDown = property(ShiftDown, SetShiftDown)
417 altDown = property(AltDown, SetAltDown)
418 metaDown = property(MetaDown, SetMetaDown)
419 cmdDown = property(CmdDown)
425 wxMouseState , wxGetMouseState(),
426 "Returns the current state of the mouse. Returns an instance of a
427 `wx.MouseState` object that contains the current position of the mouse
428 pointer in screen coordinants, as well as boolean values indicating
429 the up/down status of the mouse buttons and the modifier keys.", "");
432 //---------------------------------------------------------------------------
434 MustHaveApp(wxWakeUpMainThread);
436 #if defined(__WXMSW__) || defined(__WXMAC__)
437 void wxWakeUpMainThread();
440 void wxWakeUpMainThread() {}
445 MustHaveApp(wxMutexGuiEnter);
446 void wxMutexGuiEnter();
448 MustHaveApp(wxMutexGuiLeave);
449 void wxMutexGuiLeave();
452 MustHaveApp(wxMutexGuiLocker);
453 class wxMutexGuiLocker {
460 MustHaveApp(wxThread);
462 bool wxThread_IsMain() {
463 #ifdef WXP_WITH_THREAD
464 return wxThread::IsMain();
471 //---------------------------------------------------------------------------
472 //---------------------------------------------------------------------------