| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/notifmsg.h
 
- // Purpose:     class allowing to show notification messages to the user
 
- // Author:      Vadim Zeitlin
 
- // Created:     2007-11-19
 
- // Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_NOTIFMSG_H_
 
- #define _WX_NOTIFMSG_H_
 
- #include "wx/event.h"
 
- #if wxUSE_NOTIFICATION_MESSAGE
 
- // ----------------------------------------------------------------------------
 
- // wxNotificationMessage: allows to show the user a message non intrusively
 
- // ----------------------------------------------------------------------------
 
- // notice that this class is not a window and so doesn't derive from wxWindow
 
- class WXDLLIMPEXP_ADV wxNotificationMessageBase : public wxEvtHandler
 
- {
 
- public:
 
-     // ctors and initializers
 
-     // ----------------------
 
-     // default ctor, use setters below to initialize it later
 
-     wxNotificationMessageBase()
 
-     {
 
-         m_parent = NULL;
 
-         m_flags = wxICON_INFORMATION;
 
-     }
 
-     // create a notification object with the given title and message (the
 
-     // latter may be empty in which case only the title will be shown)
 
-     wxNotificationMessageBase(const wxString& title,
 
-                               const wxString& message = wxEmptyString,
 
-                               wxWindow *parent = NULL,
 
-                               int flags = wxICON_INFORMATION)
 
-         : m_title(title),
 
-           m_message(message),
 
-           m_parent(parent)
 
-     {
 
-         SetFlags(flags);
 
-     }
 
-     // note that the setters must be called before Show()
 
-     // set the title: short string, markup not allowed
 
-     void SetTitle(const wxString& title) { m_title = title; }
 
-     // set the text of the message: this is a longer string than the title and
 
-     // some platforms allow simple HTML-like markup in it
 
-     void SetMessage(const wxString& message) { m_message = message; }
 
-     // set the parent for this notification: we'll be associated with the top
 
-     // level parent of this window or, if this method is not called, with the
 
-     // main application window by default
 
-     void SetParent(wxWindow *parent) { m_parent = parent; }
 
-     // this method can currently be used to choose a standard icon to use: the
 
-     // parameter may be one of wxICON_INFORMATION, wxICON_WARNING or
 
-     // wxICON_ERROR only (but not wxICON_QUESTION)
 
-     void SetFlags(int flags)
 
-     {
 
-         wxASSERT_MSG( flags == wxICON_INFORMATION ||
 
-                         flags == wxICON_WARNING || flags == wxICON_ERROR,
 
-                             "Invalid icon flags specified" );
 
-         m_flags = flags;
 
-     }
 
-     // showing and hiding
 
-     // ------------------
 
-     // possible values for Show() timeout
 
-     enum
 
-     {
 
-         Timeout_Auto = -1,  // notification will be hidden automatically
 
-         Timeout_Never = 0   // notification will never time out
 
-     };
 
-     // show the notification to the user and hides it after timeout seconds
 
-     // pass (special values Timeout_Auto and Timeout_Never can be used)
 
-     //
 
-     // returns false if an error occurred
 
-     virtual bool Show(int timeout = Timeout_Auto) = 0;
 
-     // hide 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)
 
-     virtual bool Close() = 0;
 
- protected:
 
-     // accessors for the derived classes
 
-     const wxString& GetTitle() const { return m_title; }
 
-     const wxString& GetMessage() const { return m_message; }
 
-     wxWindow *GetParent() const { return m_parent; }
 
-     int GetFlags() const { return m_flags; }
 
-     // return the concatenation of title and message separated by a new line,
 
-     // this is suitable for simple implementation which have no support for
 
-     // separate title and message parts of the notification
 
-     wxString GetFullMessage() const
 
-     {
 
-         wxString text(m_title);
 
-         if ( !m_message.empty() )
 
-         {
 
-             text << "\n\n" << m_message;
 
-         }
 
-         return text;
 
-     }
 
- private:
 
-     wxString m_title,
 
-              m_message;
 
-     wxWindow *m_parent;
 
-     int m_flags;
 
-     wxDECLARE_NO_COPY_CLASS(wxNotificationMessageBase);
 
- };
 
- /*
 
-     TODO: Implement under OS X using notification centre (10.8+) or
 
-           Growl (http://growl.info/) for the previous versions.
 
-  */
 
- #if defined(__WXGTK__) && wxUSE_LIBNOTIFY
 
-     #include "wx/gtk/notifmsg.h"
 
- #elif defined(__WXGTK__) && (wxUSE_LIBHILDON || wxUSE_LIBHILDON2)
 
-     #include "wx/gtk/hildon/notifmsg.h"
 
- #elif defined(__WXMSW__) && wxUSE_TASKBARICON && wxUSE_TASKBARICON_BALLOONS
 
-     #include "wx/msw/notifmsg.h"
 
- #else
 
-     #include "wx/generic/notifmsg.h"
 
-     class wxNotificationMessage : public wxGenericNotificationMessage
 
-     {
 
-     public:
 
-         wxNotificationMessage() { }
 
-         wxNotificationMessage(const wxString& title,
 
-                               const wxString& message = wxEmptyString,
 
-                               wxWindow *parent = NULL,
 
-                               int flags = wxICON_INFORMATION)
 
-             : wxGenericNotificationMessage(title, message, parent, flags)
 
-         {
 
-         }
 
-     };
 
- #endif
 
- #endif // wxUSE_NOTIFICATION_MESSAGE
 
- #endif // _WX_NOTIFMSG_H_
 
 
  |