X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..e733c4ce1e24cf7e4b0b0d8362fc59aaa7a7641c:/interface/wx/notifmsg.h diff --git a/interface/wx/notifmsg.h b/interface/wx/notifmsg.h index ecc14510e9..3b5d11900f 100644 --- a/interface/wx/notifmsg.h +++ b/interface/wx/notifmsg.h @@ -2,88 +2,112 @@ // Name: notifmsg.h // Purpose: interface of wxNotificationMessage // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxNotificationMessage - @wxheader{notifmsg.h} - This class allows to show the user a message non intrusively. Currently it is - implemented natively only for the Maemo platform and uses (non-modal) dialogs - for the display of the notifications under the other platforms but it will be - extended to use the platform-specific notifications in the other ports in the - future. + This class allows to show the user a message non intrusively. + + Currently it is implemented natively for Windows and GTK and uses + (non-modal) dialogs for the display of the notifications under the other + platforms. Notice that this class is not a window and so doesn't derive from wxWindow. - @library{wxbase} - @category{FIXME} + @library{wxadv} + @category{misc} */ class wxNotificationMessage : public wxEvtHandler { public: - //@{ + /// Possible values for Show() timeout. + enum + { + Timeout_Auto = -1, ///< Notification will be hidden automatically. + Timeout_Never = 0 ///< Notification will never time out. + }; + /** - , @b wxWindow*@e parent = @NULL, @b int@e flags = @c wxICON_INFORMATION) - Create a notification object with the given attributes. - See SetTitle(), - SetMessage(), - SetParent() and - SetFlags() for the description of the - corresponding parameters. + Default constructor, use SetParent(), SetTitle() and SetMessage() to + initialize the object before showing it. */ wxNotificationMessage(); - wxNotificationMessage(const wxString& title); - //@} + + /** + Create a notification object with the given attributes. + + See SetTitle(), SetMessage(), SetParent() and SetFlags() for the + description of the corresponding parameters. + */ + wxNotificationMessage(const wxString& title, const wxString& message = wxEmptyString, + wxWindow* parent = NULL, int flags = wxICON_INFORMATION); + + /** + Destructor does not hide the notification. + + The notification can continue to be shown even after the C++ object was + destroyed, call Close() explicitly if it needs to be hidden. + */ + virtual ~wxNotificationMessage(); /** Hides the notification. - Returns @true if it was hidden or @false if it couldn't be done (e.g. on - some - systems automatically hidden notifications can't be hidden manually) + + Returns @true if it was hidden or @false if it couldn't be done + (e.g. on some systems automatically hidden notifications can't be + hidden manually). */ - bool Close(); + virtual bool Close(); /** This parameter can be currently used to specify the icon to show in the - notification. Valid values are @c wxICON_INFORMATION, - @c wxICON_WARNING and @c wxICON_ERROR (notice that - @c wxICON_QUESTION is not allowed here). + notification. + + Valid values are @c wxICON_INFORMATION, @c wxICON_WARNING and + @c wxICON_ERROR (notice that @c wxICON_QUESTION is not allowed here). Some implementations of this class may not support the icons. */ void SetFlags(int flags); /** - Set the main text of the notification. This should be a more detailed - description than the title but still limited to reasonable length (not more - than 256 characters). + Set the main text of the notification. + + This should be a more detailed description than the title but still limited + to reasonable length (not more than 256 characters). */ void SetMessage(const wxString& message); /** Set the parent for this notification: the notification will be associated with the top level parent of this window or, if this method is not called, with the - main application window by default + main application window by default. */ void SetParent(wxWindow* parent); /** Set the title, it must be a concise string (not more than 64 characters), use - SetMessage() to give the user more - details. + SetMessage() to give the user more details. */ void SetTitle(const wxString& title); /** - Show the notification to the user and hides it after timeout seconds - pass. Special values @c Timeout_Auto and @c Timeout_Never can be - used here, notice that you shouldn't rely on @a timeout being exactly - respected because the current platform may only support default timeout value + Show the notification to the user and hides it after @a timeout seconds + are elapsed. + + Special values @c Timeout_Auto and @c Timeout_Never can be used here, + notice that you shouldn't rely on @a timeout being exactly respected + because the current platform may only support default timeout value and also because the user may be able to close the notification. - Returns @false if an error occurred. + + @note When using native notifications in wxGTK, the timeout is ignored + for the notifications with @c wxICON_WARNING or @c wxICON_ERROR + flags, they always remain shown unless they're explicitly hidden by + the user, i.e. behave as if Timeout_Auto were given. + + @return @false if an error occurred. */ - bool Show(int timeout = Timeout_Auto); + virtual bool Show(int timeout = Timeout_Auto); };