]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/utils.h
prevent the parent window from losing activation when a popup is shown
[wxWidgets.git] / include / wx / utils.h
index 2306a14cd396738bea25c9125abe6915fc1752d7..2b984a8d4c0a05834b8711143ac974560abef230 100644 (file)
@@ -153,10 +153,19 @@ WXDLLEXPORT wxString wxDecToHex(int dec);
 
 enum
 {
-    wxEXEC_ASYNC    = 0,    // execute the process asynchronously
-    wxEXEC_SYNC     = 1,    //                     synchronously
-    wxEXEC_NOHIDE   = 2     // under Windows, don't hide the child even if it's
-                            // IO is redirected (this is done by default)
+    // execute the process asynchronously
+    wxEXEC_ASYNC    = 0,
+
+    // execute it synchronously, i.e. wait until it finishes
+    wxEXEC_SYNC     = 1,
+
+    // under Windows, don't hide the child even if it's IO is redirected (this
+    // 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
 };
 
 // Execute another program.
@@ -164,7 +173,7 @@ enum
 // If flags contain wxEXEC_SYNC, return -1 on failure and the exit code of the
 // process if everything was ok. Otherwise (i.e. if wxEXEC_ASYNC), return 0 on
 // failure and the PID of the launched process if ok.
-WXDLLEXPORT long wxExecute(wxChar **argv, int flags = wxEXEC_ASYNC,
+WXDLLEXPORT long wxExecute(char **argv, int flags = wxEXEC_ASYNC,
                            wxProcess *process = (wxProcess *) NULL);
 WXDLLEXPORT long wxExecute(const wxString& command, int flags = wxEXEC_ASYNC,
                            wxProcess *process = (wxProcess *) NULL);
@@ -211,6 +220,15 @@ enum wxKillError
     wxKILL_ERROR            // another, unspecified error
 };
 
+enum wxShutdownFlags
+{
+    wxSHUTDOWN_POWEROFF,    // power off the computer
+    wxSHUTDOWN_REBOOT       // shutdown and reboot
+};
+
+// Shutdown or reboot the PC 
+WXDLLEXPORT bool wxShutdown(wxShutdownFlags wFlags);
+
 // 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
 //
@@ -357,6 +375,8 @@ WXDLLEXPORT void wxFlushEvents();
 // ctor and enables them back in its dtor
 class WXDLLEXPORT wxWindowDisabler
 {
+    DECLARE_NO_COPY_CLASS(wxWindowDisabler)
+        
 public:
     wxWindowDisabler(wxWindow *winToSkip = (wxWindow *)NULL);
     ~wxWindowDisabler();