X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/59a12e90345a6d88e74f594b500be4b48637f52c..bf7d7ee7062f7f6028df40e43745235658e38b4d:/include/wx/utils.h diff --git a/include/wx/utils.h b/include/wx/utils.h index b907015be3..601f3cedbb 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -42,12 +42,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 +53,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' @@ -180,8 +174,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 +211,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 +263,12 @@ 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 + #if wxUSE_GUI // GUI only things from now on // ---------------------------------------------------------------------------- @@ -270,6 +298,9 @@ WXDLLEXPORT wxWindow* wxFindWindowByName(const wxString& name, wxWindow *parent // Returns menu item id or -1 if none. WXDLLEXPORT int wxFindMenuItemId(wxFrame *frame, const wxString& menuString, const wxString& itemString); +// Find the wxWindow at the given point. wxGenericFindWindowAtPoint +// is always present but may be less reliable than a native version. +WXDLLEXPORT wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt); WXDLLEXPORT wxWindow* wxFindWindowAtPoint(const wxPoint& pt); // ---------------------------------------------------------------------------- @@ -279,6 +310,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); @@ -302,10 +336,6 @@ public: private: wxWindowList *m_winDisabled; - -#ifdef __WXMSW__ - wxWindow *m_winTop; -#endif // MSW }; // ----------------------------------------------------------------------------