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 enum wxStockLabelQueryFlag
45 wxSTOCK_WITH_MNEMONIC = 1,
46 wxSTOCK_WITH_ACCELERATOR = 2
49 // Returns label that should be used for given stock UI element (e.g. "&OK"
51 wxString wxGetStockLabel(wxWindowID id,
52 long flags = wxSTOCK_WITH_MNEMONIC);
55 enum wxStockHelpStringClient
57 wxSTOCK_MENU // help string to use for menu items
60 // Returns an help string for the given stock UI element and for the given "context".
61 wxString wxGetStockHelpString(wxWindowID id,
62 wxStockHelpStringClient client = wxSTOCK_MENU);
70 MustHaveApp(wxEndBusyCursor);
71 void wxEndBusyCursor();
75 bool wxShell(const wxString& command = wxPyEmptyString);
79 int, wxGetOsVersion(int *OUTPUT, int *OUTPUT),
80 "GetOsVersion() -> (platform, major, minor)");
82 wxString wxGetOsDescription();
85 // Get platform endianness
86 bool wxIsPlatformLittleEndian();
88 // Get platform architecture
89 bool wxIsPlatform64Bit();
93 // // Parses the wildCard, returning the number of filters.
94 // // Returns 0 if none or if there's a problem,
95 // // The arrays will contain an equal number of items found before the error.
96 // // wildCard is in the form:
97 // // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"
98 // int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
101 %typemap(out) wxMemorySize {
103 $result = PyLong_FromLongLong($1.GetValue());
105 $result = PyInt_FromLong($1);
109 #if defined(__WXMSW__) || defined(__WXMAC__)
110 wxMemorySize wxGetFreeMemory();
113 wxMemorySize wxGetFreeMemory()
114 { wxPyRaiseNotImplemented(); return 0; }
120 wxSHUTDOWN_POWEROFF, // power off the computer
121 wxSHUTDOWN_REBOOT // shutdown and reboot
124 // Shutdown or reboot the PC
125 MustHaveApp(wxShutdown);
126 bool wxShutdown(wxShutdownFlags wFlags);
129 void wxSleep(int secs);
130 void wxMilliSleep(unsigned long milliseconds);
131 void wxMicroSleep(unsigned long microseconds);
132 %pythoncode { Usleep = MilliSleep }
134 void wxEnableTopLevelWindows(bool enable);
136 wxString wxStripMenuCodes(const wxString& in);
139 wxString wxGetEmailAddress();
140 wxString wxGetHostName();
141 wxString wxGetFullHostName();
142 wxString wxGetUserId();
143 wxString wxGetUserName();
144 wxString wxGetHomeDir();
145 wxString wxGetUserHome(const wxString& user = wxPyEmptyString);
147 unsigned long wxGetProcessId();
154 MustHaveApp(wxFileSelector);
155 wxString wxFileSelector(const wxString& message = wxPyFileSelectorPromptStr,
156 const wxString& default_path = wxPyEmptyString,
157 const wxString& default_filename = wxPyEmptyString,
158 const wxString& default_extension = wxPyEmptyString,
159 const wxString& wildcard = wxPyFileSelectorDefaultWildcardStr,
161 wxWindow *parent = NULL,
162 int x = -1, int y = -1);
164 // TODO: wxFileSelectorEx
167 // Ask for filename to load
168 MustHaveApp(wxLoadFileSelector);
169 wxString wxLoadFileSelector(const wxString& what,
170 const wxString& extension,
171 const wxString& default_name = wxPyEmptyString,
172 wxWindow *parent = NULL);
174 // Ask for filename to save
175 MustHaveApp(wxSaveFileSelector);
176 wxString wxSaveFileSelector(const wxString& what,
177 const wxString& extension,
178 const wxString& default_name = wxPyEmptyString,
179 wxWindow *parent = NULL);
182 MustHaveApp(wxDirSelector);
183 wxString wxDirSelector(const wxString& message = wxPyDirSelectorPromptStr,
184 const wxString& defaultPath = wxPyEmptyString,
185 long style = wxDD_DEFAULT_STYLE,
186 const wxPoint& pos = wxDefaultPosition,
187 wxWindow *parent = NULL);
189 MustHaveApp(wxGetTextFromUser);
190 wxString wxGetTextFromUser(const wxString& message,
191 const wxString& caption = wxPyEmptyString,
192 const wxString& default_value = wxPyEmptyString,
193 wxWindow *parent = NULL,
194 int x = -1, int y = -1,
197 MustHaveApp(wxGetPasswordFromUser);
198 wxString wxGetPasswordFromUser(const wxString& message,
199 const wxString& caption = wxPyEmptyString,
200 const wxString& default_value = wxPyEmptyString,
201 wxWindow *parent = NULL);
204 // TODO: Need to custom wrap this one...
205 // int wxGetMultipleChoice(char* message, char* caption,
206 // int LCOUNT, char** choices,
207 // int nsel, int *selection,
208 // wxWindow *parent = NULL, int x = -1, int y = -1,
209 // bool centre = true, int width=150, int height=200);
212 MustHaveApp(wxGetSingleChoice);
213 wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
214 int choices, wxString* choices_array,
215 wxWindow *parent = NULL,
216 int x = -1, int y = -1,
218 int width=150, int height=200);
220 MustHaveApp(wxGetSingleChoiceIndex);
221 int wxGetSingleChoiceIndex(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);
229 MustHaveApp(wxMessageBox);
230 int wxMessageBox(const wxString& message,
231 const wxString& caption = wxPyEmptyString,
232 int style = wxOK | wxCENTRE,
233 wxWindow *parent = NULL,
234 int x = -1, int y = -1);
236 MustHaveApp(wxGetNumberFromUser);
237 long wxGetNumberFromUser(const wxString& message,
238 const wxString& prompt,
239 const wxString& caption,
241 long min = 0, long max = 100,
242 wxWindow *parent = NULL,
243 const wxPoint& pos = wxDefaultPosition);
247 MustHaveApp(wxColourDisplay);
248 bool wxColourDisplay();
250 MustHaveApp(wxDisplayDepth);
251 int wxDisplayDepth();
253 MustHaveApp(wxGetDisplayDepth);
254 int wxGetDisplayDepth();
256 MustHaveApp(wxDisplaySize);
258 void, wxDisplaySize(int* OUTPUT, int* OUTPUT),
259 "DisplaySize() -> (width, height)");
261 MustHaveApp(wxGetDisplaySize);
262 wxSize wxGetDisplaySize();
264 MustHaveApp(wxDisplaySizeMM);
266 void, wxDisplaySizeMM(int* OUTPUT, int* OUTPUT),
267 "DisplaySizeMM() -> (width, height)");
269 MustHaveApp(wxGetDisplaySizeMM);
270 wxSize wxGetDisplaySizeMM();
272 MustHaveApp(wxClientDisplayRect);
274 void, wxClientDisplayRect(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
275 "ClientDisplayRect() -> (x, y, width, height)");
277 MustHaveApp(wxGetClientDisplayRect);
278 wxRect wxGetClientDisplayRect();
281 MustHaveApp(wxSetCursor);
282 void wxSetCursor(wxCursor& cursor);
285 MustHaveApp(wxGetXDisplay);
286 DocStr(wxGetXDisplay,
287 "Returns a swigified pointer to the X11 display. Returns None on
288 other platforms.", "");
290 void* wxGetXDisplay()
293 return wxGetDisplay();
301 // Miscellaneous functions
303 MustHaveApp(wxBeginBusyCursor);
304 void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
307 MustHaveApp(wxGetMousePosition);
309 wxPoint, wxGetMousePosition(),
310 "Get the current mouse position on the screen.", "");
312 MustHaveApp(FindWindowAtPointer);
313 DocStr(FindWindowAtPointer,
314 "Returns the window currently under the mouse pointer, if it belongs to
315 this application. Otherwise it returns None.", "");
317 wxWindow* FindWindowAtPointer() {
319 return wxFindWindowAtPointer(unused);
324 MustHaveApp(wxGetActiveWindow);
326 wxWindow *, wxGetActiveWindow(),
327 "Get the currently active window of this application, or None", "");
330 MustHaveApp(wxGenericFindWindowAtPoint);
331 wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
333 MustHaveApp(wxFindWindowAtPoint);
334 wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
336 MustHaveApp(wxGetTopLevelParent);
337 wxWindow* wxGetTopLevelParent(wxWindow *win);
341 bool , wxLaunchDefaultBrowser(const wxString& url),
342 "Launches the user's default browser and tells it to open the location
343 at ``url``. Returns ``True`` if the application was successfully
348 MustHaveApp(wxGetKeyState);
350 bool , wxGetKeyState(wxKeyCode key),
351 "Get the state of a key (true if pressed or toggled on, false if not.)
352 This is generally most useful getting the state of the modifier or
353 toggle keys. On some platforms those may be the only keys that this
354 function is able to detect.
359 //---------------------------------------------------------------------------
362 "`wx.MouseState` is used to hold information about mouse button and
363 modifier key states and is what is returned from `wx.GetMouseState`.",
385 void SetX(wxCoord x);
386 void SetY(wxCoord y);
388 void SetLeftDown(bool down);
389 void SetMiddleDown(bool down);
390 void SetRightDown(bool down);
392 void SetControlDown(bool down);
393 void SetShiftDown(bool down);
394 void SetAltDown(bool down);
395 void SetMetaDown(bool down);
398 x = property(GetX, SetX)
399 y = property(GetY, SetY)
400 leftDown = property(LeftDown, SetLeftDown)
401 middleDown = property(MiddleDown, SetMiddleDown)
402 rightDown = property(RightDown, SetRightDown)
403 controlDown = property(ControlDown, SetControlDown)
404 shiftDown = property(ShiftDown, SetShiftDown)
405 altDown = property(AltDown, SetAltDown)
406 metaDown = property(MetaDown, SetMetaDown)
407 cmdDown = property(CmdDown)
413 wxMouseState , wxGetMouseState(),
414 "Returns the current state of the mouse. Returns an instance of a
415 `wx.MouseState` object that contains the current position of the mouse
416 pointer in screen coordinants, as well as boolean values indicating
417 the up/down status of the mouse buttons and the modifier keys.", "");
420 //---------------------------------------------------------------------------
422 MustHaveApp(wxWakeUpMainThread);
424 #if defined(__WXMSW__) || defined(__WXMAC__)
425 void wxWakeUpMainThread();
428 void wxWakeUpMainThread() {}
433 MustHaveApp(wxMutexGuiEnter);
434 void wxMutexGuiEnter();
436 MustHaveApp(wxMutexGuiLeave);
437 void wxMutexGuiLeave();
440 MustHaveApp(wxMutexGuiLocker);
441 class wxMutexGuiLocker {
448 MustHaveApp(wxThread);
450 bool wxThread_IsMain() {
451 #ifdef WXP_WITH_THREAD
452 return wxThread::IsMain();
459 //---------------------------------------------------------------------------
460 //---------------------------------------------------------------------------