]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/utils.h
Mention graphics device classes
[wxWidgets.git] / interface / utils.h
index c071d6b66f7f6f401119996e0b71ecf2d90323d1..357d2822329ebd2214e66dcc8c7b0a91bdaf3f3d 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        utils.h
-// Purpose:     documentation for wxWindowDisabler class
+// Purpose:     interface of various utility classes and functions
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
 /**
     @class wxWindowDisabler
     @wxheader{utils.h}
-    
-    This class disables all windows of the application (may be with the exception
-    of one of them) in its constructor and enables them back in its destructor.
-    This comes in handy when you want to indicate to the user that the application
+
+    This class disables all windows of the application (may be with the
+    exception of one of them) in its constructor and enables them back in its
+    destructor.
+
+    This is useful when you want to indicate to the user that the application
     is currently busy and cannot respond to user input.
-    
+
     @library{wxcore}
-    @category{FIXME}
-    
-    @seealso
-    wxBusyCursor
+    @category{misc}
+
+    @see wxBusyCursor
 */
-class wxWindowDisabler 
+class wxWindowDisabler
 {
 public:
     /**
-        Disables all top level windows of the applications with the exception of 
-        @e winToSkip if it is not @NULL.
+        Disables all top level windows of the applications.
+
+        If @a disable is @c false nothing is done. This can be convenient if
+        the windows should be disabled depending on some condition.
+
+        @since 2.9.0
     */
-    wxWindowDisabler(wxWindow * winToSkip = @NULL);
+    wxWindowDisabler(bool disable = true);
 
     /**
-        Reenables back the windows disabled by the constructor.
+        Disables all top level windows of the applications with the exception
+        of @a winToSkip if it is not @NULL.
+    */
+    wxWindowDisabler(wxWindow* winToSkip);
+
+    /**
+        Reenables the windows disabled by the constructor.
     */
     ~wxWindowDisabler();
 };
 
 
+
 /**
     @class wxBusyCursor
     @wxheader{utils.h}
-    
-    This class makes it easy to tell your user that the program is temporarily busy.
-    Just create a wxBusyCursor object on the stack, and within the current scope,
-    the hourglass will be shown.
-    
+
+    This class makes it easy to tell your user that the program is temporarily
+    busy. Just create a wxBusyCursor object on the stack, and within the
+    current scope, the hourglass will be shown.
+
     For example:
-    
+
     @code
     wxBusyCursor wait;
-    
-      for (int i = 0; i  100000; i++)
+
+    for (int i = 0; i < 100000; i++)
         DoACalculation();
     @endcode
-    
-    It works by calling wxBeginBusyCursor in the constructor,
-    and wxEndBusyCursor in the destructor.
-    
+
+    It works by calling wxBeginBusyCursor() in the constructor, and
+    wxEndBusyCursor() in the destructor.
+
     @library{wxcore}
-    @category{FIXME}
-    
-    @seealso
-    wxBeginBusyCursor, wxEndBusyCursor, wxWindowDisabler
+    @category{misc}
+
+    @see wxBeginBusyCursor(), wxEndBusyCursor(), wxWindowDisabler
 */
-class wxBusyCursor 
+class wxBusyCursor
 {
 public:
     /**
-        Constructs a busy cursor object, calling wxBeginBusyCursor.
+        Constructs a busy cursor object, calling wxBeginBusyCursor().
     */
     wxBusyCursor(wxCursor* cursor = wxHOURGLASS_CURSOR);
 
     /**
-        Destroys the busy cursor object, calling wxEndBusyCursor.
+        Destroys the busy cursor object, calling wxEndBusyCursor().
     */
     ~wxBusyCursor();
 };
 
 
+
+/**
+    @class wxMouseState
+    @wxheader{utils.h}
+
+    Represents the mouse state.
+
+    The methods of this class generally mirror the corresponding methods of
+    wxMouseEvent.
+
+    This class is implemented entirely in @<wx/utils.h@>, meaning no extra
+    library needs to be linked to use this class.
+
+    @category{misc}
+
+    @see wxGetMouseState()
+ */
+class wxMouseState
+{
+public:
+    /**
+        Default constructor.
+    */
+    wxMouseState();
+
+    /**
+        Returns X coordinate of the physical mouse event position.
+    */
+    wxCoord GetX() const;
+    /**
+        Returns Y coordinate of the physical mouse event position.
+    */
+    wxCoord GetY() const;
+    /**
+        Returns the physical mouse position.
+    */
+    wxPoint GetPosition() const;
+
+    /**
+        Returns @true if the left mouse button changed to down.
+    */
+    bool LeftDown() const;
+    /**
+        Returns @true if the middle mouse button changed to down.
+    */
+    bool MiddleDown() const;
+    /**
+        Returns @true if the right mouse button changed to down.
+    */
+    bool RightDown() const;
+    /**
+        Returns @true if the first extra button mouse button changed to down.
+    */
+    bool Aux1Down() const;
+    /**
+        Returns @true if the second extra button mouse button changed to down.
+    */
+    bool Aux2Down() const;
+
+    /**
+        Returns @true if the control key is down.
+    */
+    bool ControlDown() const;
+    /**
+        Returns @true if the shift key is down.
+    */
+    bool ShiftDown() const;
+    /**
+        Returns @true if the alt key is down.
+    */
+    bool AltDown() const;
+    /**
+        Returns @true if the meta key is down.
+    */
+    bool MetaDown() const;
+    /**
+        Same as MetaDown() under Mac systems, ControlDown() for the others.
+    */
+    bool CmdDown() const;
+};
+
+
 // ============================================================================
 // Global functions/macros
 // ============================================================================
 
+
+/** @ingroup group_funcmacro_dialog */
+//@{
+
 /**
-    Returns the type of power source as one of @c wxPOWER_SOCKET,
-    @c wxPOWER_BATTERY or @c wxPOWER_UNKNOWN.
-    @c wxPOWER_UNKNOWN is also the default on platforms where this
-    feature is not implemented (currently everywhere but MS Windows).
+    Changes the cursor to the given cursor for all windows in the application.
+    Use wxEndBusyCursor() to revert the cursor back to its previous state.
+    These two calls can be nested, and a counter ensures that only the outer
+    calls take effect.
+
+    @see wxIsBusy(), wxBusyCursor
+
+    @header{wx/utils.h}
 */
-wxPowerType wxGetPowerType();
+void wxBeginBusyCursor(wxCursor* cursor = wxHOURGLASS_CURSOR);
 
-//@{
 /**
-    This function returns the "user id" also known as "login name" under Unix i.e.
-    something like "jsmith". It uniquely identifies the current user (on this
-    system).
-    
-    Under Windows or NT, this function first looks in the environment
-    variables USER and LOGNAME; if neither of these is found, the entry @b UserId
-    in the @b wxWidgets section of the WIN.INI file is tried.
-    
-    The first variant of this function returns the login name if successful or an
-    empty string otherwise. The second (deprecated) function returns @true
-    if successful, @false otherwise.
-    
-    @sa wxGetUserName
+    Changes the cursor back to the original cursor, for all windows in the
+    application. Use with wxBeginBusyCursor().
+
+    @see wxIsBusy(), wxBusyCursor
+
+    @header{wx/utils.h}
 */
-wxString wxGetUserId();
-    bool wxGetUserId(char * buf, int sz);
+void wxEndBusyCursor();
+
+/**
+    Returns @true if between two wxBeginBusyCursor() and wxEndBusyCursor()
+    calls.
+
+    @see wxBusyCursor.
+
+    @header{wx/utils.h}
+*/
+bool wxIsBusy();
+
+/**
+    Ring the system bell.
+
+    @note This function is categorized as a GUI one and so is not thread-safe.
+
+    @header{wx/utils.h}
+*/
+void wxBell();
+
+/**
+    Shows a message box with the information about the wxWidgets build used,
+    including its version, most important build parameters and the version of
+    the underlying GUI toolkit. This is mainly used for diagnostic purposes
+    and can be invoked by Ctrl-Alt-middle clicking on any wxWindow which
+    doesn't otherwise handle this event.
+
+    @since 2.9.0
+
+    @header{wx/utils.h}
+*/
+void wxInfoMessageBox(wxWindow parent = NULL);
+
 //@}
 
+
+
+/** @ingroup group_funcmacro_env */
+//@{
+
 /**
-    @b NB: This function is now obsolete, please use
-    wxLogFatalError instead.
-    
-    Displays @e msg and exits. This writes to standard error under Unix,
-    and pops up a message box under Windows. Used for fatal internal
-    wxWidgets errors. See also wxError.
+    This is a macro defined as @c getenv() or its wide char version in Unicode
+    mode.
+
+    Note that under Win32 it may not return correct value for the variables set
+    with wxSetEnv(), use wxGetEnv() function instead.
+
+    @header{wx/utils.h}
 */
-void wxFatalError(const wxString& msg,
-                  const wxString& title = "wxWidgets Fatal Error");
+wxChar* wxGetenv(const wxString& var);
 
 /**
-    Returns battery state as one of @c wxBATTERY_NORMAL_STATE,
-    @c wxBATTERY_LOW_STATE, @c wxBATTERY_CRITICAL_STATE,
-    @c wxBATTERY_SHUTDOWN_STATE or @c wxBATTERY_UNKNOWN_STATE.
-    @c wxBATTERY_UNKNOWN_STATE is also the default on platforms where
-    this feature is not implemented (currently everywhere but MS Windows).
+    Returns the current value of the environment variable @c var in @c value.
+    @c value may be @NULL if you just want to know if the variable exists and
+    are not interested in its value.
+
+    Returns @true if the variable exists, @false otherwise.
+
+    @header{wx/utils.h}
 */
-wxBatteryState wxGetBatteryState();
+bool wxGetEnv(const wxString& var, wxString* value);
 
 /**
-    @b NB: This function is obsolete, please use
-    wxWindow::FindWindowByName instead.
-    
-    Find a window by its name (as given in a window constructor or @b Create
-    function call).
-    If @e parent is @NULL, the search will start from all top-level
-    frames and dialog boxes; if non-@NULL, the search will be limited to the given
-    window hierarchy.
-    The search is recursive in both cases.
-    
-    If no such named window is found, @b wxFindWindowByLabel is called.
+    Sets the value of the environment variable @c var (adding it if necessary)
+    to @c value.
+
+    Returns @true on success.
+
+    @see wxUnsetEnv()
+
+    @header{wx/utils.h}
 */
-wxWindow * wxFindWindowByName(const wxString& name,
-                              wxWindow * parent=@NULL);
+bool wxSetEnv(const wxString& var, const wxString& value);
 
 /**
-    Changes the cursor back to the original cursor, for all windows in the
-    application.
-    Use with wxBeginBusyCursor.
-    
-    See also wxIsBusy, wxBusyCursor.
+    Removes the variable @c var from the environment. wxGetEnv() will return
+    @NULL after the call to this function.
+
+    Returns @true on success.
+
+    @header{wx/utils.h}
 */
-void wxEndBusyCursor();
+bool wxUnsetEnv(const wxString& var);
+
+//@}
+
+
+
+/** @ingroup group_funcmacro_misc */
+//@{
 
 /**
-    This function is deprecated as the ids generated by it can conflict with the
-    ids defined by the user code, use @c wxID_ANY to assign ids which are
-    guaranteed to not conflict with the user-defined ids for the controls and menu
-    items you create instead of using this function.
-    Generates an integer identifier unique to this run of the program.
+    Returns battery state as one of @c wxBATTERY_NORMAL_STATE,
+    @c wxBATTERY_LOW_STATE, @c wxBATTERY_CRITICAL_STATE,
+    @c wxBATTERY_SHUTDOWN_STATE or @c wxBATTERY_UNKNOWN_STATE.
+    @c wxBATTERY_UNKNOWN_STATE is also the default on platforms where this
+    feature is not implemented (currently everywhere but MS Windows).
+
+    @header{wx/utils.h}
 */
-long wxNewId();
+wxBatteryState wxGetBatteryState();
 
 /**
-    Ensures that ids subsequently generated by @b NewId do not clash with
-    the given @b id.
+    Returns the type of power source as one of @c wxPOWER_SOCKET,
+    @c wxPOWER_BATTERY or @c wxPOWER_UNKNOWN. @c wxPOWER_UNKNOWN is also the
+    default on platforms where this feature is not implemented (currently
+    everywhere but MS Windows).
+
+    @header{wx/utils.h}
 */
-void wxRegisterId(long id);
+wxPowerType wxGetPowerType();
 
 /**
-    @b NB: This function is now obsolete, replaced by Log
-    functions and wxLogDebug in particular.
-    
-    Display a debugging message; under Windows, this will appear on the
-    debugger command window, and under Unix, it will be written to standard
-    error.
-    
-    The syntax is identical to @b printf: pass a format string and a
-    variable list of arguments.
-    
-    @b Tip: under Windows, if your application crashes before the
-    message appears in the debugging window, put a wxYield call after
-    each wxDebugMsg call. wxDebugMsg seems to be broken under WIN32s
-    (at least for Watcom C++): preformat your messages and use OutputDebugString
-    instead.
+    Under X only, returns the current display name.
+
+    @see wxSetDisplayName()
+
+    @header{wx/utils.h}
 */
-void wxDebugMsg(const wxString& fmt, ... );
+wxString wxGetDisplayName();
 
 /**
     For normal keys, returns @true if the specified key is currently down.
-    
-    For togglable keys (Caps Lock, Num Lock and Scroll Lock), returns
-    @true if the key is toggled such that its LED indicator is lit. There is
-    currently no way to test whether togglable keys are up or down.
-    
+
+    For togglable keys (Caps Lock, Num Lock and Scroll Lock), returns @true if
+    the key is toggled such that its LED indicator is lit. There is currently
+    no way to test whether togglable keys are up or down.
+
     Even though there are virtual key codes defined for mouse buttons, they
     cannot be used with this function currently.
+
+    @header{wx/utils.h}
 */
 bool wxGetKeyState(wxKeyCode key);
 
 /**
-    Returns the string containing the description of the current platform in a
-    user-readable form. For example, this function may return strings like
-    @c Windows NT Version 4.0 or @c Linux 2.2.2 i386.
-    
-    @sa ::wxGetOsVersion
+    Returns the mouse position in screen coordinates.
+
+    @header{wx/utils.h}
 */
-wxString wxGetOsDescription();
+wxPoint wxGetMousePosition();
 
 /**
-    Return the (current) user's home directory.
-    
-    @sa wxGetUserHome, wxStandardPaths
+    Returns the current state of the mouse.  Returns a wxMouseState instance
+    that contains the current position of the mouse pointer in screen
+    coordinates, as well as boolean values indicating the up/down status of the
+    mouse buttons and the modifier keys.
+
+    @header{wx/utils.h}
 */
-wxString wxGetHomeDir();
+wxMouseState wxGetMouseState();
 
 /**
-    Sleeps for the specified number of milliseconds. Notice that usage of this
-    function is encouraged instead of calling usleep(3) directly because the
-    standard usleep() function is not MT safe.
+    This function enables or disables all top level windows. It is used by
+    wxSafeYield().
+
+    @header{wx/utils.h}
 */
-void wxMilliSleep(unsigned long milliseconds);
+void wxEnableTopLevelWindows(bool enable = true);
 
 /**
-    Sleeps for the specified number of microseconds. The microsecond resolution may
-    not, in fact, be available on all platforms (currently only Unix platforms with
-    nanosleep(2) may provide it) in which case this is the same as
-    wxMilliSleep(@e microseconds/1000).
+    Find the deepest window at the given mouse position in screen coordinates,
+    returning the window if found, or @NULL if not.
+
+    @header{wx/utils.h}
 */
-void wxMicroSleep(unsigned long microseconds);
+wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
 
 /**
-    Shows a message box with the information about the wxWidgets build used,
-    including its version, most important build parameters and the version of the
-    underlying GUI toolkit. This is mainly used for diagnostic purposes and can be
-    invoked by Ctrl-Alt-middle clicking on any wxWindow which doesn't otherwise
-    handle this event.
-    
-    This function is new since wxWidgets version 2.9.0
+    @deprecated Replaced by wxWindow::FindWindowByLabel().
+
+    Find a window by its label. Depending on the type of window, the label may
+    be a window title or panel item label. If @a parent is @NULL, the search
+    will start from all top-level frames and dialog boxes; if non-@NULL, the
+    search will be limited to the given window hierarchy. The search is
+    recursive in both cases.
+
+    @header{wx/utils.h}
 */
-void wxInfoMessageBox(wxWindow ( parent = @NULL);
+wxWindow* wxFindWindowByLabel(const wxString& label,
+                              wxWindow* parent = NULL);
 
 /**
-    Find a menu item identifier associated with the given frame's menu bar.
+    @deprecated Replaced by wxWindow::FindWindowByName().
+
+    Find a window by its name (as given in a window constructor or @e Create
+    function call). If @a parent is @NULL, the search will start from all
+    top-level frames and dialog boxes; if non-@NULL, the search will be limited
+    to the given window hierarchy. The search is recursive in both cases.
+
+    If no such named window is found, wxFindWindowByLabel() is called.
+
+    @header{wx/utils.h}
 */
-int wxFindMenuItemId(wxFrame * frame, const wxString& menuString,
-                     const wxString& itemString);
+wxWindow* wxFindWindowByName(const wxString& name, wxWindow* parent = NULL);
 
 /**
-    This function enables or disables all top level windows. It is used by
-    ::wxSafeYield.
+    Find a menu item identifier associated with the given frame's menu bar.
+
+    @header{wx/utils.h}
 */
-void wxEnableTopLevelWindows(bool enable = @true);
+int wxFindMenuItemId(wxFrame* frame, const wxString& menuString,
+                     const wxString& itemString);
 
 /**
-    Strips any menu codes from @e str and returns the result.
-    
-    By default, the functions strips both the mnemonics character (@c '')
-    which is used to indicate a keyboard shortkey, and the accelerators, which are
-    used only in the menu items and are separated from the main text by the
-    @c \t (TAB) character. By using @e flags of
-    @c wxStrip_Mnemonics or @c wxStrip_Accel to strip only the former
-    or the latter part, respectively.
-    
-    Notice that in most cases
-    wxMenuItem::GetLabelFromText or
-    wxControl::GetLabelText can be used instead.
+    @deprecated Ids generated by it can conflict with the Ids defined by the
+                user code, use @c wxID_ANY to assign ids which are guaranteed
+                to not conflict with the user-defined ids for the controls and
+                menu items you create instead of using this function.
+
+    Generates an integer identifier unique to this run of the program.
+
+    @header{wx/utils.h}
 */
-wxString wxStripMenuCodes(const wxString& str,
-                          int flags = wxStrip_All);
+long wxNewId();
 
 /**
-    @b NB: This function is now obsolete, please use wxLogError
-    instead.
-    
-    Displays @e msg and continues. This writes to standard error under
-    Unix, and pops up a message box under Windows. Used for internal
-    wxWidgets errors. See also wxFatalError.
+    Ensures that Ids subsequently generated by wxNewId() do not clash with the
+    given @a id.
+
+    @header{wx/utils.h}
 */
-void wxError(const wxString& msg,
-             const wxString& title = "wxWidgets Internal Error");
+void wxRegisterId(long id);
 
 /**
-    Open the @e url in user's default browser. If @e flags parameter contains
-    @c wxBROWSER_NEW_WINDOW flag, a new window is opened for the URL
-    (currently this is only supported under Windows). The @e url may also be a
-    local file path (with or without @c file:// prefix), if it doesn't
-    correspond to an existing file and the URL has no scheme @c http:// is
+    Opens the @a url in user's default browser. If the @a flags parameter
+    contains @c wxBROWSER_NEW_WINDOW flag, a new window is opened for the URL
+    (currently this is only supported under Windows). The @a url may also be a
+    local file path (with or without the "file://" prefix), if it doesn't
+    correspond to an existing file and the URL has no scheme "http://" is
     prepended to it by default.
-    
+
     Returns @true if the application was successfully launched.
-    
-    Note that for some configurations of the running user, the application which
-    is launched to open the given URL may be URL-dependent (e.g. a browser may be
-    used for
-    local URLs while another one may be used for remote URLs).
+
+    @note For some configurations of the running user, the application which is
+          launched to open the given URL may be URL-dependent (e.g. a browser
+          may be used for local URLs while another one may be used for remote
+          URLs).
+
+    @header{wx/utils.h}
 */
 bool wxLaunchDefaultBrowser(const wxString& url, int flags = 0);
 
 /**
-    Executes a command in an interactive shell window. If no command is
-    specified, then just the shell is spawned.
-    
-    See also wxExecute, @ref overview_sampleexec "Exec sample".
+    Loads a user-defined Windows resource as a string. If the resource is
+    found, the function creates a new character array and copies the data into
+    it. A pointer to this data is returned. If unsuccessful, @NULL is returned.
+
+    The resource must be defined in the @c .rc file using the following syntax:
+
+    @code
+    myResource TEXT file.ext
+    @endcode
+
+    Where @c file.ext is a file that the resource compiler can find.
+
+    This function is available under Windows only.
+
+    @header{wx/utils.h}
 */
-bool wxShell(const wxString& command = @NULL);
+wxString wxLoadUserResource(const wxString& resourceName,
+                            const wxString& resourceType = "TEXT");
 
 /**
-    Gets the version and the operating system ID for currently running OS.
-    See wxPlatformInfo for more details about wxOperatingSystemId.
-    
-    @sa ::wxGetOsDescription, wxPlatformInfo
+    @deprecated Replaced by wxWindow::Close(). See the
+                @ref overview_windowdeletion "window deletion overview".
+
+    Tells the system to delete the specified object when all other events have
+    been processed. In some environments, it is necessary to use this instead
+    of deleting a frame directly with the delete operator, because some GUIs
+    will still send events to a deleted window.
+
+    @header{wx/utils.h}
 */
-wxOperatingSystemId wxGetOsVersion(int * major = @NULL,
-                                   int * minor = @NULL);
+void wxPostDelete(wxObject* object);
 
 /**
-    Returns the FQDN (fully qualified domain host name) or an empty string on
-    error.
-    
-    @sa wxGetHostName
+    Under X only, sets the current display name. This is the X host and display
+    name such as "colonsay:0.0", and the function indicates which display
+    should be used for creating windows from this point on. Setting the display
+    within an application allows multiple displays to be used.
+
+    @see wxGetDisplayName()
+
+    @header{wx/utils.h}
 */
-wxString wxGetFullHostName();
+void wxSetDisplayName(const wxString& displayName);
 
 /**
-    Changes the cursor to the given cursor for all windows in the application.
-    Use wxEndBusyCursor to revert the cursor back
-    to its previous state. These two calls can be nested, and a counter
-    ensures that only the outer calls take effect.
-    
-    See also wxIsBusy, wxBusyCursor.
+    Strips any menu codes from @a str and returns the result.
+
+    By default, the functions strips both the mnemonics character (@c '&')
+    which is used to indicate a keyboard shortkey, and the accelerators, which
+    are used only in the menu items and are separated from the main text by the
+    @c \t (TAB) character. By using @a flags of @c wxStrip_Mnemonics or
+    @c wxStrip_Accel to strip only the former or the latter part, respectively.
+
+    Notice that in most cases wxMenuItem::GetLabelFromText() or
+    wxControl::GetLabelText() can be used instead.
+
+    @header{wx/utils.h}
 */
-void wxBeginBusyCursor(wxCursor * cursor = wxHOURGLASS_CURSOR);
+wxString wxStripMenuCodes(const wxString& str, int flags = wxStrip_All);
+
+//@}
+
+
+
+/** @ingroup group_funcmacro_networkuseros */
+//@{
 
 /**
-    Tells the system to delete the specified object when
-    all other events have been processed. In some environments, it is
-    necessary to use this instead of deleting a frame directly with the
-    delete operator, because some GUIs will still send events to a deleted window.
-    
-    Now obsolete: use wxWindow::Close instead.
+    Copies the user's email address into the supplied buffer, by concatenating
+    the values returned by wxGetFullHostName() and wxGetUserId().
+
+    @returns @true if successful, @false otherwise.
+
+    @header{wx/utils.h}
 */
-void wxPostDelete(wxObject * object);
+wxString wxGetEmailAddress();
 
 /**
-    @b NB: This function is obsolete, please use
-    wxWindow::FindWindowByLabel instead.
-    
-    Find a window by its label. Depending on the type of window, the label may be a
-    window title
-    or panel item label. If @e parent is @NULL, the search will start from all
-    top-level
-    frames and dialog boxes; if non-@NULL, the search will be limited to the given
-    window hierarchy.
-    The search is recursive in both cases.
+    @deprecated Use wxGetEmailAddress() instead.
+
+    @param buf Buffer to store the email address in.
+    @param sz  Size of the buffer.
+
+    @returns @true if successful, @false otherwise.
+
+    @header{wx/utils.h}
 */
-wxWindow * wxFindWindowByLabel(const wxString& label,
-                               wxWindow * parent=@NULL);
+bool wxGetEmailAddress(char* buf, int sz);
 
 /**
-    This function is similar to wxYield, except that it disables the user input to
-    all program windows before calling wxYield and re-enables it again
-    afterwards. If @e win is not @NULL, this window will remain enabled,
-    allowing the implementation of some limited user interaction.
-    
-    Returns the result of the call to ::wxYield.
+    Returns the amount of free memory in bytes under environments which support
+    it, and -1 if not supported or failed to perform measurement.
+
+    @header{wx/utils.h}
 */
-bool wxSafeYield(wxWindow* win = @NULL, bool onlyIfNeeded = @false);
+wxMemorySize wxGetFreeMemory();
 
 /**
-    Returns the mouse position in screen coordinates.
+    Return the (current) user's home directory.
+
+    @see wxGetUserHome(), wxStandardPaths
+
+    @header{wx/utils.h}
 */
-wxPoint wxGetMousePosition();
+wxString wxGetHomeDir();
 
 /**
-    Loads a user-defined Windows resource as a string. If the resource is found,
-    the function creates
-    a new character array and copies the data into it. A pointer to this data is
-    returned. If unsuccessful, @NULL is returned.
-    
-    The resource must be defined in the @c .rc file using the following syntax:
-    @code
-    myResource TEXT file.ext
-    @endcode
-    
-    where @c file.ext is a file that the resource compiler can find.
-    
-    This function is available under Windows only.
+    Copies the current host machine's name into the supplied buffer. Please
+    note that the returned name is @e not fully qualified, i.e. it does not
+    include the domain name.
+
+    Under Windows or NT, this function first looks in the environment variable
+    SYSTEM_NAME; if this is not found, the entry @b HostName in the wxWidgets
+    section of the WIN.INI file is tried.
+
+    @returns The hostname if successful or an empty string otherwise.
+
+    @see wxGetFullHostName()
+
+    @header{wx/utils.h}
 */
-wxString wxLoadUserResource(const wxString& resourceName,
-                            const wxString& resourceType="TEXT");
+wxString wxGetHostName();
 
 /**
-    Returns the amount of free memory in bytes under environments which
-    support it, and -1 if not supported or failed to perform measurement.
+    @deprecated Use wxGetHostName() instead.
+
+    @param buf Buffer to store the host name in.
+    @param sz  Size of the buffer.
+
+    @returns @true if successful, @false otherwise.
+
+    @header{wx/utils.h}
 */
-wxMemorySize wxGetFreeMemory();
+bool wxGetHostName(char* buf, int sz);
 
 /**
-    This is a macro defined as @c getenv() or its wide char version in Unicode
-    mode.
-    
-    Note that under Win32 it may not return correct value for the variables set
-    with wxSetEnv, use wxGetEnv function
-    instead.
+    Returns the FQDN (fully qualified domain host name) or an empty string on
+    error.
+
+    @see wxGetHostName()
+
+    @header{wx/utils.h}
 */
-wxChar * wxGetEnv(const wxString& var);
+wxString wxGetFullHostName();
 
-//@{
 /**
-    Copies the current host machine's name into the supplied buffer. Please note
-    that the returned name is @e not fully qualified, i.e. it does not include
-    the domain name.
-    
-    Under Windows or NT, this function first looks in the environment
-    variable SYSTEM_NAME; if this is not found, the entry @b HostName
-    in the @b wxWidgets section of the WIN.INI file is tried.
-    
-    The first variant of this function returns the hostname if successful or an
-    empty string otherwise. The second (deprecated) function returns @true
-    if successful, @false otherwise.
-    
-    @sa wxGetFullHostName
+    Returns the home directory for the given user. If the @a user is empty
+    (default value), this function behaves like wxGetHomeDir() (i.e. returns
+    the current user home directory).
+
+    If the home directory couldn't be determined, an empty string is returned.
+
+    @header{wx/utils.h}
 */
-wxString wxGetHostName();
-    bool wxGetHostName(char * buf, int sz);
-//@}
+wxString wxGetUserHome(const wxString& user = "");
 
 /**
-    Returns the current value of the environment variable @e var in @e value.
-    @e value may be @NULL if you just want to know if the variable exists
-    and are not interested in its value.
-    
-    Returns @true if the variable exists, @false otherwise.
+    This function returns the "user id" also known as "login name" under Unix
+    (i.e. something like "jsmith"). It uniquely identifies the current user (on
+    this system).  Under Windows or NT, this function first looks in the
+    environment variables USER and LOGNAME; if neither of these is found, the
+    entry @b UserId in the @b wxWidgets section of the WIN.INI file is tried.
+
+    @returns The login name if successful or an empty string otherwise.
+
+    @see wxGetUserName()
+
+    @header{wx/utils.h}
 */
-bool wxGetEnv(const wxString& var, wxString * value);
+wxString wxGetUserId();
 
 /**
-    Under X only, returns the current display name. See also wxSetDisplayName.
+    @deprecated Use wxGetUserId() instead.
+
+    @param buf Buffer to store the login name in.
+    @param sz  Size of the buffer.
+
+    @returns @true if successful, @false otherwise.
+
+    @header{wx/utils.h}
 */
-wxString wxGetDisplayName();
+bool wxGetUserId(char* buf, int sz);
 
 /**
-    Ring the system bell.
-    
-    Note that this function is categorized as a GUI one and so is not thread-safe.
+    This function returns the full user name (something like "Mr. John Smith").
+
+    Under Windows or NT, this function looks for the entry UserName in the
+    wxWidgets section of the WIN.INI file. If PenWindows is running, the entry
+    Current in the section User of the PENWIN.INI file is used.
+
+    @returns The full user name if successful or an empty string otherwise.
+
+    @see wxGetUserId()
+
+    @header{wx/utils.h}
 */
-void wxBell();
+wxString wxGetUserName();
 
 /**
-    Returns the home directory for the given user. If the @e user is empty
-    (default value), this function behaves like 
-    wxGetHomeDir i.e. returns the current user home
-    directory.
-    
-    If the home directory couldn't be determined, an empty string is returned.
+    @deprecated Use wxGetUserName() instead.
+
+    @param buf Buffer to store the full user name in.
+    @param sz  Size of the buffer.
+
+    @returns @true if successful, @false otherwise.
+
+    @header{wx/utils.h}
 */
-wxString wxGetUserHome(const wxString& user = "");
+bool wxGetUserName(char* buf, int sz);
+
+/**
+    Returns the string containing the description of the current platform in a
+    user-readable form. For example, this function may return strings like
+    "Windows NT Version 4.0" or "Linux 2.2.2 i386".
+
+    @see wxGetOsVersion()
+
+    @header{wx/utils.h}
+*/
+wxString wxGetOsDescription();
+
+/**
+    Gets the version and the operating system ID for currently running OS. See
+    wxPlatformInfo for more details about wxOperatingSystemId.
+
+    @see wxGetOsDescription(), wxPlatformInfo
+
+    @header{wx/utils.h}
+*/
+wxOperatingSystemId wxGetOsVersion(int* major = NULL, int* minor = NULL);
+
+/**
+    Returns @true if the operating system the program is running under is 64
+    bit. The check is performed at run-time and may differ from the value
+    available at compile-time (at compile-time you can just check if
+    <tt>sizeof(void*) == 8</tt>) since the program could be running in
+    emulation mode or in a mixed 32/64 bit system (bi-architecture operating
+    system).
+
+    @note This function is not 100% reliable on some systems given the fact
+          that there isn't always a standard way to do a reliable check on the
+          OS architecture.
+
+    @header{wx/utils.h}
+*/
+bool wxIsPlatform64Bit();
+
+/**
+    Returns @true if the current platform is little endian (instead of big
+    endian). The check is performed at run-time.
+
+    @see @ref group_funcmacro_byteorder "Byte Order Functions and Macros"
+
+    @header{wx/utils.h}
+*/
+bool wxIsPlatformLittleEndian();
+
+//@}
+
+
 
+/** @ingroup group_funcmacro_procctrl */
 //@{
+
 /**
-    @b wxPerl note: In wxPerl this function is called @c Wx::ExecuteStdoutStderr
-    and it only takes the @c command argument,
-    and returns a 3-element list @c ( status, output, errors ), where
-    @c output and @c errors are array references.
-    
     Executes another program in Unix or Windows.
-    
-    The first form takes a command string, such as @c "emacs file.txt".
-    
-    The second form takes an array of values: a command, any number of
-    arguments, terminated by @NULL.
-    
-    The semantics of the third and fourth versions is different from the first two
-    and is described in more details below.
-    
-    If @e flags parameter contains @c wxEXEC_ASYNC flag (the default), flow
-    of control immediately returns. If it contains @c wxEXEC_SYNC, the current
-    application waits until the other program has terminated.
-    
+
+    In the overloaded versions of this function, if @a flags parameter contains
+    @c wxEXEC_ASYNC flag (the default), flow of control immediately returns. If
+    it contains @c wxEXEC_SYNC, the current application waits until the other
+    program has terminated.
+
     In the case of synchronous execution, the return value is the exit code of
-    the process (which terminates by the moment the function returns) and will be
-    -1 if the process couldn't be started and typically 0 if the process
-    terminated successfully. Also, while waiting for the process to
-    terminate, wxExecute will call wxYield. Because of this, by
-    default this function disables all application windows to avoid unexpected
-    reentrancies which could result from the users interaction with the program
-    while the child process is running. If you are sure that it is safe to not
-    disable the program windows, you may pass @c wxEXEC_NODISABLE flag to
-    prevent this automatic disabling from happening.
-    
+    the process (which terminates by the moment the function returns) and will
+    be -1 if the process couldn't be started and typically 0 if the process
+    terminated successfully. Also, while waiting for the process to terminate,
+    wxExecute() will call wxYield(). Because of this, by default this function
+    disables all application windows to avoid unexpected reentrancies which
+    could result from the users interaction with the program while the child
+    process is running. If you are sure that it is safe to not disable the
+    program windows, you may pass @c wxEXEC_NODISABLE flag to prevent this
+    automatic disabling from happening.
+
     For asynchronous execution, however, the return value is the process id and
     zero value indicates that the command could not be executed. As an added
     complication, the return value of -1 in this case indicates that we didn't
-    launch a new process, but connected to the running one (this can only happen in
-    case of using DDE under Windows for command execution). In particular, in this,
-    and only this, case the calling code will not get the notification about
+    launch a new process, but connected to the running one (this can only
+    happen when using DDE under Windows for command execution). In particular,
+    in this case only, the calling code will not get the notification about
     process termination.
-    
-    If callback isn't @NULL and if execution is asynchronous,
-    wxProcess::OnTerminate will be called when
-    the process finishes. Specifying this parameter also allows you to redirect the
-    standard input and/or output of the process being launched by calling
-    wxProcess::Redirect. If the child process IO is redirected,
-    under Windows the process window is not shown by default (this avoids having to
-    flush an unnecessary console for the processes which don't create any windows
+
+    If @a callback isn't @NULL and if execution is asynchronous,
+    wxProcess::OnTerminate() will be called when the process finishes.
+    Specifying this parameter also allows you to redirect the standard input
+    and/or output of the process being launched by calling
+    wxProcess::Redirect(). If the child process IO is redirected, under Windows
+    the process window is not shown by default (this avoids having to flush an
+    unnecessary console for the processes which don't create any windows
     anyhow) but a @c wxEXEC_NOHIDE flag can be used to prevent this from
-    happening, i.e. with this flag the child process window will be shown normally.
-    
-    Under Unix the flag @c wxEXEC_MAKE_GROUP_LEADER may be used to ensure
-    that the new process is a group leader (this will create a new session if
-    needed). Calling wxKill passing wxKILL_CHILDREN will
-    kill this process as well as all of its children (except those which have
-    started their own session).
-    
+    happening, i.e. with this flag the child process window will be shown
+    normally.
+
+    Under Unix the flag @c wxEXEC_MAKE_GROUP_LEADER may be used to ensure that
+    the new process is a group leader (this will create a new session if
+    needed). Calling wxKill() passing wxKILL_CHILDREN will kill this process as
+    well as all of its children (except those which have started their own
+    session).
+
     The @c wxEXEC_NOEVENTS flag prevents processing of any events from taking
     place while the child process is running. It should be only used for very
     short-lived processes as otherwise the application windows risk becoming
-    unresponsive from the users point of view. As this flag only makes sense with
-    @c wxEXEC_SYNC, @c wxEXEC_BLOCK equal to the sum of both of these flags
-    is provided as a convenience.
-    
-    Finally, you may use the third overloaded version of this function to execute
-    a process (always synchronously, the contents of @e flags is or'd with
-    @c wxEXEC_SYNC) and capture its output in the array @e output. The
-    fourth version adds the possibility to additionally capture the messages from
-    standard error output in the @e errors array.
-    
-    @b NB: Currently wxExecute() can only be used from the main thread, calling
-    this function from another thread will result in an assert failure in debug
-    build and won't work.
-    
-    @param command 
-    The command to execute and any parameters to pass to it as a
-    single string.
-    
-    @param argv 
-    The command to execute should be the first element of this
-    array, any additional ones are the command parameters and the array must be
-    terminated with a @NULL pointer.
-    
-    @param flags 
-    Combination of bit masks wxEXEC_ASYNC,
-    wxEXEC_SYNC and wxEXEC_NOHIDE
-    
-    @param callback 
-    An optional pointer to wxProcess
-    
-    @sa wxShell, wxProcess, @ref overview_sampleexec "Exec sample".
-*/
-long wxExecute(const wxString& command, int sync = wxEXEC_ASYNC,
-               wxProcess * callback = @NULL);
-    wxPerl note: long wxExecute(char ** argv,
-                                int flags = wxEXEC_ASYNC,
-                                wxProcess * callback = @NULL);
-    wxPerl note: long wxExecute(const wxString& command,
-                                wxArrayString& output,
-                                int flags = 0);
-    wxPerl note: long wxExecute(const wxString& command,
-                                wxArrayString& output,
-                                wxArrayString& errors,
-                                int flags = 0);
+    unresponsive from the users point of view. As this flag only makes sense
+    with @c wxEXEC_SYNC, @c wxEXEC_BLOCK equal to the sum of both of these
+    flags is provided as a convenience.
+
+    @note Currently wxExecute() can only be used from the main thread, calling
+          this function from another thread will result in an assert failure in
+          debug build and won't work.
+
+    @param command
+        The command to execute and any parameters to pass to it as a single
+        string, i.e. "emacs file.txt".
+    @param flags
+        Must include either wxEXEC_ASYNC or wxEXEC_SYNC and can also include
+        wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or
+        wxEXEC_NODISABLE and wxEXEC_NOEVENTS or wxEXEC_BLOCK, which is equal to
+        their combination, in wxEXEC_SYNC case.
+    @param callback
+        An optional pointer to wxProcess.
+
+    @see wxShell(), wxProcess, @ref page_samples_exec
+
+    @header{wx/utils.h}
+
+    @beginWxPerlOnly
+    This function is called @c Wx::ExecuteStdoutStderr and it only takes the
+    @a command argument, and returns a 3-element list (@c status, @c output,
+    @c errors), where @c output and @c errors are array references.
+    @endWxPerlOnly
+*/
+long wxExecute(const wxString& command, int flags = wxEXEC_ASYNC,
+                wxProcess* callback = NULL);
+
 //@}
 
+/** @ingroup group_funcmacro_procctrl */
+//@{
 /**
-    Returns a string representing the current date and time.
+    This is an overloaded version of wxExecute(const wxString&,int,wxProcess*),
+    please see its documentation for general information.
+
+    This version takes an array of values: a command, any number of arguments,
+    terminated by @NULL.
+
+    @param argv
+        The command to execute should be the first element of this array, any
+        additional ones are the command parameters and the array must be
+        terminated with a @NULL pointer.
+    @param flags
+        Must include either wxEXEC_ASYNC or wxEXEC_SYNC and can also include
+        wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or
+        wxEXEC_NODISABLE and wxEXEC_NOEVENTS or wxEXEC_BLOCK, which is equal to
+        their combination, in wxEXEC_SYNC case.
+    @param callback
+        An optional pointer to wxProcess.
+
+    @header{wx/utils.h}
+*/
+long wxExecute(char** argv, int flags = wxEXEC_ASYNC,
+                wxProcess* callback = NULL);
+long wxExecute(wchar_t** argv, int flags = wxEXEC_ASYNC,
+                wxProcess* callback = NULL);
+//@}
+
+/** @ingroup group_funcmacro_procctrl */
+//@{
+
+/**
+    This is an overloaded version of wxExecute(const wxString&,int,wxProcess*),
+    please see its documentation for general information.
+
+    This version can be used to execute a process (always synchronously, the
+    contents of @a flags is or'd with @c wxEXEC_SYNC) and capture its output in
+    the array @e output.
+
+    @param command
+        The command to execute and any parameters to pass to it as a single
+        string.
+    @param flags
+        Must include either wxEXEC_ASYNC or wxEXEC_SYNC and can also include
+        wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or
+        wxEXEC_NODISABLE and wxEXEC_NOEVENTS or wxEXEC_BLOCK, which is equal to
+        their combination, in wxEXEC_SYNC case.
+
+    @header{wx/utils.h}
 */
-wxString wxNow();
+long wxExecute(const wxString& command, wxArrayString& output,
+                int flags = 0);
 
 /**
-    Returns @true if the operating system the program is running under is 64 bit.
-    The check is performed at run-time and may differ from the value available at
-    compile-time (at compile-time you can just check if @c sizeof(void*)==8)
-    since the program could be running in emulation mode or in a mixed 32/64 bit
-    system
-    (bi-architecture operating system).
-    
-    Very important: this function is not 100% reliable on some systems given the
-    fact
-    that there isn't always a standard way to do a reliable check on the OS
-    architecture.
+    This is an overloaded version of wxExecute(const wxString&,int,wxProcess*),
+    please see its documentation for general information.
+
+    This version adds the possibility to additionally capture the messages from
+    standard error output in the @a errors array.
+
+    @param command
+        The command to execute and any parameters to pass to it as a single
+        string.
+    @param flags
+        Must include either wxEXEC_ASYNC or wxEXEC_SYNC and can also include
+        wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or
+        wxEXEC_NODISABLE and wxEXEC_NOEVENTS or wxEXEC_BLOCK, which is equal to
+        their combination, in wxEXEC_SYNC case.
+
+    @header{wx/utils.h}
 */
-bool wxIsPlatform64Bit();
+long wxExecute(const wxString& command, wxArrayString& output,
+                wxArrayString& errors, int flags = 0);
 
 /**
     Returns the number uniquely identifying the current process in the system.
-    
     If an error occurs, 0 is returned.
+
+    @header{wx/utils.h}
 */
 unsigned long wxGetProcessId();
 
 /**
-    Equivalent to the Unix kill function: send the given signal @e sig to the
-    process with PID @e pid. The valid signal values are
+    Equivalent to the Unix kill function: send the given signal @a sig to the
+    process with PID @a pid. The valid signal values are:
+
     @code
     enum wxSignal
     {
-        wxSIGNONE = 0,  // verify if the process exists under Unix
+        wxSIGNONE = 0, // verify if the process exists under Unix
         wxSIGHUP,
         wxSIGINT,
         wxSIGQUIT,
@@ -607,106 +888,125 @@ unsigned long wxGetProcessId();
         wxSIGABRT,
         wxSIGEMT,
         wxSIGFPE,
-        wxSIGKILL,      // forcefully kill, dangerous!
+        wxSIGKILL,     // forcefully kill, dangerous!
         wxSIGBUS,
         wxSIGSEGV,
         wxSIGSYS,
         wxSIGPIPE,
         wxSIGALRM,
-        wxSIGTERM       // terminate the process gently
+        wxSIGTERM      // terminate the process gently
     };
     @endcode
-    
-    @c wxSIGNONE, @c wxSIGKILL and @c wxSIGTERM have the same meaning
-    under both Unix and Windows but all the other signals are equivalent to
+
+    @c wxSIGNONE, @c wxSIGKILL and @c wxSIGTERM have the same meaning under
+    both Unix and Windows but all the other signals are equivalent to
     @c wxSIGTERM under Windows.
-    
-    Returns 0 on success, -1 on failure. If @e rc parameter is not @NULL, it will
-    be filled with an element of @c wxKillError enum:
+
+    Returns 0 on success, -1 on failure. If the @a rc parameter is not @NULL,
+    it will be filled with a value of the the @c wxKillError enum:
+
     @code
     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
+        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
     };
     @endcode
-    
-    The @e flags parameter can be wxKILL_NOCHILDREN (the default),
-    or wxKILL_CHILDREN, in which case the child processes of this
-    process will be killed too. Note that under Unix, for wxKILL_CHILDREN
-    to work you should have created the process by passing wxEXEC_MAKE_GROUP_LEADER
-    to wxExecute.
-    
-    @sa wxProcess::Kill, wxProcess::Exists, @ref overview_sampleexec "Exec sample"
+
+    The @a flags parameter can be wxKILL_NOCHILDREN (the default), or
+    wxKILL_CHILDREN, in which case the child processes of this process will be
+    killed too. Note that under Unix, for wxKILL_CHILDREN to work you should
+    have created the process by passing wxEXEC_MAKE_GROUP_LEADER to
+    wxExecute().
+
+    @see wxProcess::Kill(), wxProcess::Exists(), @ref page_samples_exec
+
+    @header{wx/utils.h}
 */
-int wxKill(long pid, int sig = wxSIGTERM, wxKillError rc = @NULL,
-           int flags = 0);
+int wxKill(long pid, int sig = wxSIGTERM,
+            wxKillError rc = NULL, int flags = 0);
 
 /**
-    Returns the current state of the mouse.  Returns a wxMouseState
-    instance that contains the current position of the mouse pointer in
-    screen coordinates, as well as boolean values indicating the up/down
-    status of the mouse buttons and the modifier keys.
+    Executes a command in an interactive shell window. If no command is
+    specified, then just the shell is spawned.
+
+    @see wxExecute(), @ref page_samples_exec
+
+    @header{wx/utils.h}
 */
-wxMouseState wxGetMouseState();
+bool wxShell(const wxString& command = NULL);
 
 /**
-    Returns @true if between two wxBeginBusyCursor and
-    wxEndBusyCursor calls.
-    
-    See also wxBusyCursor.
+    This function shuts down or reboots the computer depending on the value of
+    the @a flags.
+
+    @note Doing this requires the corresponding access rights (superuser under
+          Unix, SE_SHUTDOWN privilege under Windows NT) and that this function
+          is only implemented under Unix and Win32.
+
+    @param flags
+        Either wxSHUTDOWN_POWEROFF or wxSHUTDOWN_REBOOT
+
+    @returns @true on success, @false if an error occurred.
+
+    @header{wx/utils.h}
 */
-bool wxIsBusy();
+bool wxShutdown(wxShutdownFlags flags);
+
+//@}
+
+
 
+/** @ingroup group_funcmacro_time */
 //@{
+
 /**
-    Copies the user's email address into the supplied buffer, by
-    concatenating the values returned by wxGetFullHostName
-    and wxGetUserId.
-    
-    Returns @true if successful, @false otherwise.
+    Sleeps for the specified number of microseconds. The microsecond resolution
+    may not, in fact, be available on all platforms (currently only Unix
+    platforms with nanosleep(2) may provide it) in which case this is the same
+    as calling wxMilliSleep() with the argument of @e microseconds/1000.
+
+    @header{wx/utils.h}
 */
-wxString wxGetEmailAddress();
-    bool wxGetEmailAddress(char * buf, int sz);
-//@}
+void wxMicroSleep(unsigned long microseconds);
 
 /**
-    Sleeps for the specified number of seconds.
+    Sleeps for the specified number of milliseconds. Notice that usage of this
+    function is encouraged instead of calling usleep(3) directly because the
+    standard @e usleep() function is not MT safe.
+
+    @header{wx/utils.h}
 */
-void wxSleep(int secs);
+void wxMilliSleep(unsigned long milliseconds);
 
 /**
-    Sets the value of the environment variable @e var (adding it if necessary)
-    to @e value.
-    
-    Returns @true on success.
-    
-    @sa wxUnsetEnv
+    Returns a string representing the current date and time.
+
+    @header{wx/utils.h}
 */
-bool wxSetEnv(const wxString& var, const wxString& value);
+wxString wxNow();
 
 /**
-    Returns @true if the current platform is little endian (instead of big
-    endian).
-    The check is performed at run-time.
-    
-    @sa @ref overview_byteordermacros "Byte order macros"
+    Sleeps for the specified number of seconds.
+
+    @header{wx/utils.h}
 */
-bool wxIsPlatformLittleEndian();
+void wxSleep(int secs);
 
 /**
-    Under X only, sets the current display name. This is the X host and display
-    name such
-    as "colonsay:0.0", and the function indicates which display should be used for
-    creating
-    windows from this point on. Setting the display within an application allows
-    multiple
-    displays to be used.
-    
-    See also wxGetDisplayName.
+    @deprecated This function is deprecated because its name is misleading:
+                notice that the argument is in milliseconds, not microseconds.
+                Please use either wxMilliSleep() or wxMicroSleep() depending on
+                the resolution you need.
+
+    Sleeps for the specified number of milliseconds.
+
+    @header{wx/utils.h}
 */
-void wxSetDisplayName(const wxString& displayName);
+void wxUsleep(unsigned long milliseconds);
+
+//@}