X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2da2f941bbd25599c2c1453204b5f1a4e116ae91..65df77ec74a1dc36af9eb27205859eb604b1a5c4:/include/wx/utils.h diff --git a/include/wx/utils.h b/include/wx/utils.h index a6582b7679..14ed37d23f 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -16,7 +16,14 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) && !defined(__EMX__) +// Some older compilers (such as EMX) cannot handle +// #pragma interface/implementation correctly, iff +// #pragma implementation is used in _two_ translation +// units (as created by e.g. event.cpp compiled for +// libwx_base and event.cpp compiled for libwx_gui_core). +// So we must not use those pragmas for those compilers in +// such files. #pragma interface "utils.h" #endif @@ -41,11 +48,11 @@ class WXDLLIMPEXP_BASE wxArrayString; // Forward declaration // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxProcess; -class WXDLLIMPEXP_BASE wxFrame; -class WXDLLIMPEXP_BASE wxWindow; -class WXDLLIMPEXP_BASE wxWindowList; -class WXDLLIMPEXP_BASE wxPoint; +class WXDLLIMPEXP_CORE wxProcess; +class WXDLLIMPEXP_CORE wxFrame; +class WXDLLIMPEXP_CORE wxWindow; +class WXDLLIMPEXP_CORE wxWindowList; +class WXDLLIMPEXP_CORE wxPoint; // ---------------------------------------------------------------------------- // Macros @@ -63,11 +70,6 @@ class WXDLLIMPEXP_BASE wxPoint; WXDLLIMPEXP_BASE wxChar* copystring(const wxChar *s); #endif -#if WXWIN_COMPATIBILITY_2 -// Matches string one within string two regardless of case -WXDLLIMPEXP_BASE bool StringMatch(const wxChar *one, const wxChar *two, bool subString = TRUE, bool exact = FALSE); -#endif - // A shorter way of using strcmp #define wxStringEq(s1, s2) (s1 && s2 && (wxStrcmp(s1, s2) == 0)) @@ -88,13 +90,20 @@ WXDLLIMPEXP_BASE int wxGetOsVersion(int *majorVsn = (int *) NULL, // Return a string with the current date/time WXDLLIMPEXP_BASE wxString wxNow(); -// Return path where wxWindows is installed (mostly useful in Unices) +// Return path where wxWidgets is installed (mostly useful in Unices) WXDLLIMPEXP_BASE const wxChar *wxGetInstallPrefix(); // Return path to wxWin data (/usr/share/wx/%{version}) (Unices) WXDLLIMPEXP_BASE wxString wxGetDataDir(); #if wxUSE_GUI + +// Get the state of a key (true if pressed, false if not) +// This is generally most useful getting the state of +// the modifier or toggle keys. +WXDLLEXPORT bool wxGetKeyState(const wxKeyCode& key); + + // Don't synthesize KeyUp events holding down a key and producing // KeyDown events with autorepeat. On by default and always on // in wxMSW. @@ -106,15 +115,9 @@ WXDLLEXPORT bool wxSetDetectableAutoRepeat( bool flag ); // Generate a unique ID WXDLLEXPORT long wxNewId(); -#if !defined(NewId) && defined(WXWIN_COMPATIBILITY) - #define NewId wxNewId -#endif // Ensure subsequent IDs don't clash with this one WXDLLEXPORT void wxRegisterId(long id); -#if !defined(RegisterId) && defined(WXWIN_COMPATIBILITY) - #define RegisterId wxRegisterId -#endif // Return the current ID WXDLLEXPORT long wxGetCurrentId(); @@ -254,7 +257,13 @@ WXDLLIMPEXP_BASE bool wxShell(const wxString& command, wxArrayString& output); WXDLLIMPEXP_BASE void wxSleep(int nSecs); // Sleep for a given amount of milliseconds -WXDLLIMPEXP_BASE void wxUsleep(unsigned long milliseconds); +WXDLLIMPEXP_BASE void wxMilliSleep(unsigned long milliseconds); + +// Sleep for a given amount of microseconds +WXDLLIMPEXP_BASE void wxMicroSleep(unsigned long microseconds); + +// Sleep for a given amount of milliseconds (old, bad name), use wxMilliSleep +wxDEPRECATED( WXDLLIMPEXP_BASE void wxUsleep(unsigned long milliseconds) ); // Get the process id of the current process WXDLLIMPEXP_BASE unsigned long wxGetProcessId(); @@ -263,17 +272,17 @@ WXDLLIMPEXP_BASE unsigned long wxGetProcessId(); WXDLLIMPEXP_BASE long wxGetFreeMemory(); // should wxApp::OnFatalException() be called? -WXDLLIMPEXP_BASE bool wxHandleFatalExceptions(bool doit = TRUE); +WXDLLIMPEXP_BASE bool wxHandleFatalExceptions(bool doit = true); // ---------------------------------------------------------------------------- // Environment variables // ---------------------------------------------------------------------------- -// returns TRUE if variable exists (value may be NULL if you just want to check +// returns true if variable exists (value may be NULL if you just want to check // for this) WXDLLIMPEXP_BASE bool wxGetEnv(const wxString& var, wxString *value); -// set the env var name to the given value, return TRUE on success +// set the env var name to the given value, return true on success WXDLLIMPEXP_BASE bool wxSetEnv(const wxString& var, const wxChar *value); // remove the env var from environment @@ -340,7 +349,7 @@ WXDLLEXPORT wxAcceleratorEntry *wxGetAccelFromString(const wxString& label); // Window search // ---------------------------------------------------------------------------- -// Returns menu item id or -1 if none. +// Returns menu item id or wxNOT_FOUND if none. WXDLLEXPORT int wxFindMenuItemId(wxFrame *frame, const wxString& menuString, const wxString& itemString); // Find the wxWindow at the given point. wxGenericFindWindowAtPoint @@ -365,10 +374,10 @@ WXDLLEXPORT wxWindow* wxFindWindowByName(const wxString& name, wxWindow *parent // ---------------------------------------------------------------------------- // Yield to other apps/messages and disable user input -WXDLLEXPORT bool wxSafeYield(wxWindow *win = NULL, bool onlyIfNeeded = FALSE); +WXDLLEXPORT bool wxSafeYield(wxWindow *win = NULL, bool onlyIfNeeded = false); // Enable or disable input to all top level windows -WXDLLEXPORT void wxEnableTopLevelWindows(bool enable = TRUE); +WXDLLEXPORT void wxEnableTopLevelWindows(bool enable = true); // Check whether this window wants to process messages, e.g. Stop button // in long calculations. @@ -403,7 +412,7 @@ WXDLLEXPORT void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR); // Restore cursor to normal WXDLLEXPORT void wxEndBusyCursor(); -// TRUE if we're between the above two calls +// true if we're between the above two calls WXDLLEXPORT bool wxIsBusy(); // Convenience class so we can just create a wxBusyCursor object on the stack @@ -490,7 +499,7 @@ WXDLLIMPEXP_BASE bool wxYield(); WXDLLIMPEXP_BASE bool wxYieldIfNeeded(); // ---------------------------------------------------------------------------- -// Error message functions used by wxWindows (deprecated, use wxLog) +// Error message functions used by wxWidgets (deprecated, use wxLog) // ---------------------------------------------------------------------------- #if WXWIN_COMPATIBILITY_2_2