X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6be23c2a23c96edf62acfe8ab1ff43efa8870253..23a59c2cbe8489445b9c26dee4a77e2d20a999c2:/include/wx/utils.h diff --git a/include/wx/utils.h b/include/wx/utils.h index 14ed37d23f..b783dc25d6 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -61,6 +61,18 @@ class WXDLLIMPEXP_CORE wxPoint; #define wxMax(a,b) (((a) > (b)) ? (a) : (b)) #define wxMin(a,b) (((a) < (b)) ? (a) : (b)) +// wxGetFreeMemory can return huge amount of memory on 64-bit platforms +// define wxMemorySize according to the type which best fits your platform +#if wxUSE_LONGLONG && defined(__WIN64__) + // 64 bit Windowses have sizeof(long) only 32 bit long + // we need to use wxLongLong to express memory sizes + #define wxMemorySize wxLongLong +#else + // 64 bit UNIX has sizeof(long) = 64 + // assume 32 bit platforms cannnot return more than 32bits of + #define wxMemorySize long +#endif + // ---------------------------------------------------------------------------- // String functions (deprecated, use wxString) // ---------------------------------------------------------------------------- @@ -101,7 +113,7 @@ WXDLLIMPEXP_BASE wxString wxGetDataDir(); // 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); +WXDLLEXPORT bool wxGetKeyState(wxKeyCode key); // Don't synthesize KeyUp events holding down a key and producing @@ -156,7 +168,7 @@ WXDLLIMPEXP_BASE wxString wxDecToHex(int dec); // Process management // ---------------------------------------------------------------------------- -// NB: for backwars compatibility reasons the values of wxEXEC_[A]SYNC *must* +// NB: for backwards compatibility reasons the values of wxEXEC_[A]SYNC *must* // be 0 and 1, don't change! enum @@ -171,9 +183,14 @@ enum // is done by default) wxEXEC_NOHIDE = 2, - // under Unix, if the process is the group leader then killing -pid kills - // all children as well as pid - wxEXEC_MAKE_GROUP_LEADER = 4 + // under Unix, if the process is the group leader then passing wxKILL_CHILDREN to wxKill + // kills all children as well as pid + wxEXEC_MAKE_GROUP_LEADER = 4, + + // by default synchronous execution disables all program windows to avoid + // that the user interacts with the program while the child process is + // running, you can use this flag to prevent this from happening + wxEXEC_NODISABLE = 8 }; // Execute another program. @@ -189,12 +206,14 @@ WXDLLIMPEXP_BASE long wxExecute(const wxString& command, int flags = wxEXEC_ASYN // execute the command capturing its output into an array line by line, this is // always synchronous WXDLLIMPEXP_BASE long wxExecute(const wxString& command, - wxArrayString& output); + wxArrayString& output, + int flags = 0); // also capture stderr (also synchronous) WXDLLIMPEXP_BASE long wxExecute(const wxString& command, - wxArrayString& output, - wxArrayString& error); + wxArrayString& output, + wxArrayString& error, + int flags = 0); enum wxSignal { @@ -228,6 +247,12 @@ enum wxKillError wxKILL_ERROR // another, unspecified error }; +enum wxKillFlags +{ + wxKILL_NOCHILDREN = 0, // don't kill children + wxKILL_CHILDREN = 1 // kill children +}; + enum wxShutdownFlags { wxSHUTDOWN_POWEROFF, // power off the computer @@ -243,7 +268,8 @@ WXDLLIMPEXP_BASE bool wxShutdown(wxShutdownFlags wFlags); // return detailed error in rc if not NULL WXDLLIMPEXP_BASE int wxKill(long pid, wxSignal sig = wxSIGTERM, - wxKillError *rc = NULL); + wxKillError *rc = NULL, + int flags = wxKILL_NOCHILDREN); // Execute a command in an interactive shell window (always synchronously) // If no command then just the shell @@ -269,7 +295,7 @@ wxDEPRECATED( WXDLLIMPEXP_BASE void wxUsleep(unsigned long milliseconds) ); WXDLLIMPEXP_BASE unsigned long wxGetProcessId(); // Get free memory in bytes, or -1 if cannot determine amount (e.g. on UNIX) -WXDLLIMPEXP_BASE long wxGetFreeMemory(); +WXDLLIMPEXP_BASE wxMemorySize wxGetFreeMemory(); // should wxApp::OnFatalException() be called? WXDLLIMPEXP_BASE bool wxHandleFatalExceptions(bool doit = true);