]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/utils.h
Removed redundant wx<Control>NameStr declarations.
[wxWidgets.git] / include / wx / utils.h
index f3cb1257fb8f2883290235cf1742fb7d2d1eefbd..d91baabc4819077b7910fed65425f421a20cc2b7 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     29/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Julian Smart
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_UTILSH__
@@ -16,7 +16,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "utils.h"
 #endif
 
@@ -57,13 +57,18 @@ class WXDLLEXPORT wxPoint;
 // ----------------------------------------------------------------------------
 
 // Useful buffer (FIXME VZ: To be removed!!!)
+// Now only needed in MSW port
+#if !defined(__WXMOTIF__) && !defined(__WXGTK__) && !defined(__WXX11__) && !defined(__WXMGL__) && !defined(__WXMAC__)
 WXDLLEXPORT_DATA(extern wxChar*) wxBuffer;
+#endif
 
 // Make a copy of this string using 'new'
 WXDLLEXPORT wxChar* copystring(const wxChar *s);
 
+#if WXWIN_COMPATIBILITY_2
 // Matches string one within string two regardless of case
 WXDLLEXPORT bool StringMatch(const wxChar *one, const wxChar *two, bool subString = TRUE, bool exact = FALSE);
+#endif
 
 // A shorter way of using strcmp
 #define wxStringEq(s1, s2) (s1 && s2 && (wxStrcmp(s1, s2) == 0))
@@ -122,6 +127,9 @@ WXDLLEXPORT long wxGetCurrentId();
 // Various conversions
 // ----------------------------------------------------------------------------
 
+// these functions are deprecated, use wxString methods instead!
+#if WXWIN_COMPATIBILITY_2_4
+
 WXDLLEXPORT_DATA(extern const wxChar*) wxFloatToStringStr;
 WXDLLEXPORT_DATA(extern const wxChar*) wxDoubleToStringStr;
 
@@ -134,6 +142,8 @@ WXDLLEXPORT void StringToLong(const wxChar *s, long *number);
 WXDLLEXPORT wxChar* IntToString(int number);
 WXDLLEXPORT wxChar* LongToString(long number);
 
+#endif // WXWIN_COMPATIBILITY_2_4
+
 // Convert 2-digit hex number to decimal
 WXDLLEXPORT int wxHexToDec(const wxString& buf);
 
@@ -145,17 +155,42 @@ WXDLLEXPORT wxString wxDecToHex(int dec);
 // Process management
 // ----------------------------------------------------------------------------
 
-// Execute another program. Returns 0 if there was an error, a PID otherwise.
-WXDLLEXPORT long wxExecute(wxChar **argv, bool sync = FALSE,
+// NB: for backwars compatibility reasons the values of wxEXEC_[A]SYNC *must*
+//     be 0 and 1, don't change!
+
+enum
+{
+    // 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.
+//
+// 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,
                            wxProcess *process = (wxProcess *) NULL);
-WXDLLEXPORT long wxExecute(const wxString& command, bool sync = FALSE,
+WXDLLEXPORT long wxExecute(const wxString& command, int flags = wxEXEC_ASYNC,
                            wxProcess *process = (wxProcess *) NULL);
 
-// execute the command capturing its output into an array line by line
+// execute the command capturing its output into an array line by line, this is
+// always synchronous
 WXDLLEXPORT long wxExecute(const wxString& command,
                            wxArrayString& output);
 
-// also capture stderr
+// also capture stderr (also synchronous)
 WXDLLEXPORT long wxExecute(const wxString& command,
                            wxArrayString& output,
                            wxArrayString& error);
@@ -192,6 +227,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
 //
@@ -214,6 +258,9 @@ WXDLLEXPORT void wxSleep(int nSecs);
 // Sleep for a given amount of milliseconds
 WXDLLEXPORT void wxUsleep(unsigned long milliseconds);
 
+// Get the process id of the current process
+WXDLLEXPORT unsigned long wxGetProcessId();
+
 // Get free memory in bytes, or -1 if cannot determine amount (e.g. on UNIX)
 WXDLLEXPORT long wxGetFreeMemory();
 
@@ -295,14 +342,6 @@ WXDLLEXPORT wxAcceleratorEntry *wxGetAccelFromString(const wxString& label);
 // Window search
 // ----------------------------------------------------------------------------
 
-// Find the window/widget with the given title or label.
-// Pass a parent to begin the search from, or NULL to look through
-// all windows.
-WXDLLEXPORT wxWindow* wxFindWindowByLabel(const wxString& title, wxWindow *parent = (wxWindow *) NULL);
-
-// Find window by name, and if that fails, by label.
-WXDLLEXPORT wxWindow* wxFindWindowByName(const wxString& name, wxWindow *parent = (wxWindow *) NULL);
-
 // Returns menu item id or -1 if none.
 WXDLLEXPORT int wxFindMenuItemId(wxFrame *frame, const wxString& menuString, const wxString& itemString);
 
@@ -311,10 +350,24 @@ WXDLLEXPORT int wxFindMenuItemId(wxFrame *frame, const wxString& menuString, con
 WXDLLEXPORT wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
 WXDLLEXPORT wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
 
+// NB: this function is obsolete, use wxWindow::FindWindowByLabel() instead
+//
+// Find the window/widget with the given title or label.
+// Pass a parent to begin the search from, or NULL to look through
+// all windows.
+WXDLLEXPORT wxWindow* wxFindWindowByLabel(const wxString& title, wxWindow *parent = (wxWindow *) NULL);
+
+// NB: this function is obsolete, use wxWindow::FindWindowByName() instead
+//
+// Find window by name, and if that fails, by label.
+WXDLLEXPORT wxWindow* wxFindWindowByName(const wxString& name, wxWindow *parent = (wxWindow *) NULL);
+
 // ----------------------------------------------------------------------------
 // Message/event queue helpers
 // ----------------------------------------------------------------------------
 
+// NB: these functions are obsolete, please use wxApp methods instead!
+
 // Yield to other apps/messages
 WXDLLEXPORT bool wxYield();
 
@@ -322,7 +375,7 @@ WXDLLEXPORT bool wxYield();
 WXDLLEXPORT bool wxYieldIfNeeded();
 
 // Yield to other apps/messages and disable user input
-WXDLLEXPORT bool wxSafeYield(wxWindow *win = NULL);
+WXDLLEXPORT bool wxSafeYield(wxWindow *win = NULL, bool onlyIfNeeded = FALSE);
 
 // Enable or disable input to all top level windows
 WXDLLEXPORT void wxEnableTopLevelWindows(bool enable = TRUE);
@@ -344,6 +397,8 @@ public:
 
 private:
     wxWindowList *m_winDisabled;
+
+    DECLARE_NO_COPY_CLASS(wxWindowDisabler)
 };
 
 // ----------------------------------------------------------------------------
@@ -438,9 +493,11 @@ void WXDLLEXPORT wxGetMousePosition( int* x, int* y );
 // Error message functions used by wxWindows (deprecated, use wxLog)
 // ----------------------------------------------------------------------------
 
+#if WXWIN_COMPATIBILITY_2_2
+
 // Format a message on the standard error (UNIX) or the debugging
 // stream (Windows)
-WXDLLEXPORT void wxDebugMsg(const wxChar *fmt ...);
+WXDLLEXPORT void wxDebugMsg(const wxChar *fmt ...) ATTRIBUTE_PRINTF_1;
 
 // Non-fatal error (continues)
 WXDLLEXPORT_DATA(extern const wxChar*) wxInternalErrorStr;
@@ -450,6 +507,7 @@ WXDLLEXPORT void wxError(const wxString& msg, const wxString& title = wxInternal
 WXDLLEXPORT_DATA(extern const wxChar*) wxFatalErrorStr;
 WXDLLEXPORT void wxFatalError(const wxString& msg, const wxString& title = wxFatalErrorStr);
 
+#endif // WXWIN_COMPATIBILITY_2_2
 
 #endif
     // _WX_UTILSH__