X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8fd0d89b7dc8ed4ed7e460ddc9b61ae4a0e63c3e..bd73ba41f93a040ecf9c18040d7f788992d0a6ec:/include/wx/utils.h diff --git a/include/wx/utils.h b/include/wx/utils.h index abb225b1ea..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 // ---------------------------------------------------------------------------- @@ -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 @@ -207,9 +223,9 @@ WXDLLEXPORT bool wxHandleFatalExceptions(bool doit = TRUE); // Environment variables // ---------------------------------------------------------------------------- -// wxGetenv is declared in wxchar.h, but define a wrapper/synonym for it for -// consistency with wxSetEnv -inline const wxChar *wxGetEnv(const wxString& var) { return wxGetenv(var); } +// 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); @@ -255,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 // ---------------------------------------------------------------------------- @@ -296,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);