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);
 
  49 MustHaveApp(wxEndBusyCursor);
 
  50 void wxEndBusyCursor();
 
  52 long wxGetElapsedTime(bool resetTimer = true);
 
  54 MustHaveApp(wxGetMousePosition);
 
  56     void, wxGetMousePosition(int* OUTPUT, int* OUTPUT),
 
  57     "GetMousePosition() -> (x,y)");
 
  61 bool wxShell(const wxString& command = wxPyEmptyString);
 
  65     int, wxGetOsVersion(int *OUTPUT, int *OUTPUT),
 
  66     "GetOsVersion() -> (platform, major, minor)");
 
  68 wxString wxGetOsDescription();
 
  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);
 
  78 #if defined(__WXMSW__) || defined(__WXMAC__)
 
  79 long wxGetFreeMemory();
 
  82     long wxGetFreeMemory()
 
  83         { wxPyRaiseNotImplemented(); return 0; }
 
  89     wxSHUTDOWN_POWEROFF,    // power off the computer
 
  90     wxSHUTDOWN_REBOOT       // shutdown and reboot
 
  93 // Shutdown or reboot the PC
 
  94 MustHaveApp(wxShutdown);
 
  95 bool wxShutdown(wxShutdownFlags wFlags);
 
  98 void wxSleep(int secs);
 
  99 void wxMilliSleep(unsigned long milliseconds);
 
 100 void wxMicroSleep(unsigned long microseconds);
 
 101 %pythoncode { Usleep = MilliSleep }
 
 103 void wxEnableTopLevelWindows(bool enable);
 
 105 wxString wxStripMenuCodes(const wxString& in);
 
 108 wxString wxGetEmailAddress();
 
 109 wxString wxGetHostName();
 
 110 wxString wxGetFullHostName();
 
 111 wxString wxGetUserId();
 
 112 wxString wxGetUserName();
 
 113 wxString wxGetHomeDir();
 
 114 wxString wxGetUserHome(const wxString& user = wxPyEmptyString);
 
 116 unsigned long wxGetProcessId();
 
 123 MustHaveApp(wxFileSelector);
 
 124 wxString 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,
 
 130                         wxWindow *parent = NULL,
 
 131                         int x = -1, int y = -1);
 
 133 // TODO: wxFileSelectorEx
 
 136 // Ask for filename to load
 
 137 MustHaveApp(wxLoadFileSelector);
 
 138 wxString wxLoadFileSelector(const wxString& what,
 
 139                             const wxString& extension,
 
 140                             const wxString& default_name = wxPyEmptyString,
 
 141                             wxWindow *parent = NULL);
 
 143 // Ask for filename to save
 
 144 MustHaveApp(wxSaveFileSelector);
 
 145 wxString wxSaveFileSelector(const wxString& what,
 
 146                             const wxString& extension,
 
 147                             const wxString& default_name = wxPyEmptyString,
 
 148                             wxWindow *parent = NULL);
 
 151 MustHaveApp(wxDirSelector);
 
 152 wxString 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);
 
 158 MustHaveApp(wxGetTextFromUser);
 
 159 wxString 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,
 
 166 MustHaveApp(wxGetPasswordFromUser);
 
 167 wxString wxGetPasswordFromUser(const wxString& message,
 
 168                                const wxString& caption = wxPyEmptyString,
 
 169                                const wxString& default_value = wxPyEmptyString,
 
 170                                wxWindow *parent = NULL);
 
 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);
 
 181 MustHaveApp(wxGetSingleChoice);
 
 182 wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
 
 183                            int choices, wxString* choices_array,
 
 184                            wxWindow *parent = NULL,
 
 185                            int x = -1, int y = -1,
 
 187                            int width=150, int height=200);
 
 189 MustHaveApp(wxGetSingleChoiceIndex);
 
 190 int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
 
 191                            int choices, wxString* choices_array,
 
 192                            wxWindow *parent = NULL,
 
 193                            int x = -1, int y = -1,
 
 195                            int width=150, int height=200);
 
 198 MustHaveApp(wxMessageBox);
 
 199 int 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);
 
 205 // WXWIN_COMPATIBILITY_2_4
 
 206 MustHaveApp(wxGetNumberFromUser);
 
 207 long wxGetNumberFromUser(const wxString& message,
 
 208                          const wxString& prompt,
 
 209                          const wxString& caption,
 
 211                          long min = 0, long max = 100,
 
 212                          wxWindow *parent = NULL,
 
 213                          const wxPoint& pos = wxDefaultPosition);
 
 217 MustHaveApp(wxColourDisplay);
 
 218 bool wxColourDisplay();
 
 220 MustHaveApp(wxDisplayDepth);
 
 221 int wxDisplayDepth();
 
 223 MustHaveApp(wxGetDisplayDepth);
 
 224 int wxGetDisplayDepth();
 
 226 MustHaveApp(wxDisplaySize);
 
 228     void, wxDisplaySize(int* OUTPUT, int* OUTPUT),
 
 229     "DisplaySize() -> (width, height)");
 
 231 MustHaveApp(wxGetDisplaySize);
 
 232 wxSize wxGetDisplaySize();
 
 234 MustHaveApp(wxDisplaySizeMM);
 
 236     void, wxDisplaySizeMM(int* OUTPUT, int* OUTPUT),
 
 237     "DisplaySizeMM() -> (width, height)");
 
 239 MustHaveApp(wxGetDisplaySizeMM);
 
 240 wxSize wxGetDisplaySizeMM();
 
 242 MustHaveApp(wxClientDisplayRect);
 
 244     void, wxClientDisplayRect(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
 
 245     "ClientDisplayRect() -> (x, y, width, height)");
 
 247 MustHaveApp(wxGetClientDisplayRect);
 
 248 wxRect wxGetClientDisplayRect();
 
 251 MustHaveApp(wxSetCursor);
 
 252 void wxSetCursor(wxCursor& cursor);
 
 256 // Miscellaneous functions
 
 258 MustHaveApp(wxBeginBusyCursor);
 
 259 void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
 
 261 MustHaveApp(wxGetActiveWindow);
 
 262 wxWindow * wxGetActiveWindow();
 
 264 MustHaveApp(wxGenericFindWindowAtPoint);
 
 265 wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
 
 267 MustHaveApp(wxFindWindowAtPoint);
 
 268 wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
 
 270 MustHaveApp(wxGetTopLevelParent);
 
 271 wxWindow* wxGetTopLevelParent(wxWindow *win);
 
 273 //bool wxSpawnBrowser(wxWindow *parent, wxString href);
 
 278 MustHaveApp(wxGetKeyState);
 
 280     bool , wxGetKeyState(wxKeyCode key),
 
 281     "Get the state of a key (true if pressed or toggled on, false if not.)
 
 282 This is generally most useful getting the state of the modifier or
 
 283 toggle keys.  On some platforms those may be the only keys that work.
 
 288 //---------------------------------------------------------------------------
 
 290 MustHaveApp(wxWakeUpMainThread);
 
 292 #if defined(__WXMSW__) || defined(__WXMAC__)
 
 293 void wxWakeUpMainThread();
 
 296     void wxWakeUpMainThread() {}
 
 301 MustHaveApp(wxMutexGuiEnter);
 
 302 void wxMutexGuiEnter();
 
 304 MustHaveApp(wxMutexGuiLeave);
 
 305 void wxMutexGuiLeave();
 
 308 MustHaveApp(wxMutexGuiLocker);
 
 309 class wxMutexGuiLocker  {
 
 316 MustHaveApp(wxThread);
 
 318     bool wxThread_IsMain() {
 
 319 #ifdef WXP_WITH_THREAD
 
 320         return wxThread::IsMain();
 
 327 //---------------------------------------------------------------------------
 
 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.", "");
 
 343 // enum wxBatteryState
 
 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
 
 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.", "");
 
 362 //---------------------------------------------------------------------------
 
 363 //---------------------------------------------------------------------------