X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0a6bb75bcd4b5a4873d766a9208ac6376fe8625..bd73ba41f93a040ecf9c18040d7f788992d0a6ec:/include/wx/utils.h diff --git a/include/wx/utils.h b/include/wx/utils.h index 5329a493e6..a737731cac 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -25,6 +25,10 @@ #include "wx/list.h" #include "wx/filefn.h" +// need this for wxGetDiskSpace() as we can't, unfortunately, forward declare +// wxLongLong +#include "wx/longlong.h" + #ifdef __X__ #include #include @@ -42,12 +46,6 @@ class WXDLLEXPORT wxWindow; class WXDLLEXPORT wxWindowList; class WXDLLEXPORT wxPoint; -// FIXME should use wxStricmp() instead -#if defined(__GNUWIN32__) - #define stricmp strcasecmp - #define strnicmp strncasecmp -#endif - // ---------------------------------------------------------------------------- // Macros // ---------------------------------------------------------------------------- @@ -59,7 +57,7 @@ class WXDLLEXPORT wxPoint; // String functions (deprecated, use wxString) // ---------------------------------------------------------------------------- -// Useful buffer (FIXME VZ: yeah, that is. To be removed!) +// Useful buffer (FIXME VZ: To be removed!!!) WXDLLEXPORT_DATA(extern wxChar*) wxBuffer; // Make a copy of this string using 'new' @@ -88,6 +86,10 @@ WXDLLEXPORT int wxGetOsVersion(int *majorVsn = (int *) NULL, // Return a string with the current date/time WXDLLEXPORT wxString wxNow(); +// Return path where wxWindows is installed (mostly useful in Unices) +WXDLLEXPORT const wxChar *wxGetInstallPrefix(); + + #if wxUSE_GUI // Don't synthesize KeyUp events holding down a key and producing // KeyDown events with autorepeat. On by default and always on @@ -180,8 +182,22 @@ enum wxSignal // further signals are different in meaning between different Unix systems }; -// the argument is ignored under Windows - the process is always killed -WXDLLEXPORT int wxKill(long pid, wxSignal sig = wxSIGTERM); +enum wxKillError +{ + wxKILL_OK, // no error + wxKILL_BAD_SIGNAL, // no such signal + wxKILL_ACCESS_DENIED, // permission denied + wxKILL_NO_PROCESS, // no such process + wxKILL_ERROR // another, unspecified error +}; + +// send the given signal to the process (only NONE and KILL are supported under +// Windows, all others mean TERM), return 0 if ok and -1 on error +// +// return detailed error in rc if not NULL +WXDLLEXPORT int wxKill(long pid, + wxSignal sig = wxSIGTERM, + wxKillError *rc = NULL); // Execute a command in an interactive shell window (always synchronously) // If no command then just the shell @@ -203,6 +219,20 @@ WXDLLEXPORT long wxGetFreeMemory(); // should wxApp::OnFatalException() be called? WXDLLEXPORT bool wxHandleFatalExceptions(bool doit = TRUE); +// ---------------------------------------------------------------------------- +// Environment variables +// ---------------------------------------------------------------------------- + +// returns TRUE if variable exists (value may be NULL if you just want to check +// for this) +WXDLLEXPORT bool wxGetEnv(const wxString& var, wxString *value); + +// set the env var name to the given value, return TRUE on success +WXDLLEXPORT bool wxSetEnv(const wxString& var, const wxChar *value); + +// remove the env var from environment +inline bool wxUnsetEnv(const wxString& var) { return wxSetEnv(var, NULL); } + // ---------------------------------------------------------------------------- // Network and username functions. // ---------------------------------------------------------------------------- @@ -241,6 +271,17 @@ WXDLLEXPORT const wxMB2WXbuf wxGetUserHome(const wxString& user = wxEmptyString) WXDLLEXPORT wxChar* wxGetUserHome(const wxString& user = wxEmptyString); #endif +#ifdef __WXMAC__ +WXDLLEXPORT wxString wxMacFindFolder(short vRefNum, + OSType folderType, + Boolean createFolder); +#endif + +// get number of total/free bytes on the disk where path belongs +WXDLLEXPORT bool wxGetDiskSpace(const wxString& path, + wxLongLong *pTotal = NULL, + wxLongLong *pFree = NULL); + #if wxUSE_GUI // GUI only things from now on // ---------------------------------------------------------------------------- @@ -282,6 +323,9 @@ WXDLLEXPORT wxWindow* wxFindWindowAtPoint(const wxPoint& pt); // Yield to other apps/messages WXDLLEXPORT bool wxYield(); +// Like wxYield, but fails silently if the yield is recursive. +WXDLLEXPORT bool wxYieldIfNeeded(); + // Yield to other apps/messages and disable user input WXDLLEXPORT bool wxSafeYield(wxWindow *win = NULL);