Implement wxNotificationMessage using libnotify in wxGTK.
Use libnotify -- if detected by configure -- to provide native notifications in wxGTK. Our API maps to libnotify one in rather straightforward way, we might consider extending it to cover more of libnotify functionality (categories, user-defined icons and, especially, actions) later. Also update the dialogs sample to show another kind of notification and the documentation to clarify the behaviour of various methods. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
47
include/wx/gtk/notifmsg.h
Normal file
47
include/wx/gtk/notifmsg.h
Normal file
@@ -0,0 +1,47 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/gtk/notifmsg.h
|
||||
// Purpose: wxNotificationMessage for wxGTK.
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2012-07-25
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2012 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GTK_NOTIFMSG_H_
|
||||
#define _WX_GTK_NOTIFMSG_H_
|
||||
|
||||
typedef struct _NotifyNotification NotifyNotification;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxNotificationMessage
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_ADV wxNotificationMessage : public wxNotificationMessageBase
|
||||
{
|
||||
public:
|
||||
wxNotificationMessage() { Init(); }
|
||||
wxNotificationMessage(const wxString& title,
|
||||
const wxString& message = wxString(),
|
||||
wxWindow *parent = NULL,
|
||||
int flags = wxICON_INFORMATION)
|
||||
: wxNotificationMessageBase(title, message, parent, flags)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
virtual ~wxNotificationMessage();
|
||||
|
||||
|
||||
virtual bool Show(int timeout = Timeout_Auto);
|
||||
virtual bool Close();
|
||||
|
||||
private:
|
||||
void Init() { m_notification = NULL; }
|
||||
|
||||
NotifyNotification* m_notification;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxNotificationMessage);
|
||||
};
|
||||
|
||||
#endif // _WX_GTK_NOTIFMSG_H_
|
@@ -127,13 +127,14 @@ private:
|
||||
wxDECLARE_NO_COPY_CLASS(wxNotificationMessageBase);
|
||||
};
|
||||
|
||||
#if defined(__WXGTK__) && (wxUSE_LIBHILDON || wxUSE_LIBHILDON2)
|
||||
#include "wx/gtk/hildon/notifmsg.h"
|
||||
/*
|
||||
TODO: provide support for
|
||||
- libnotify (Gnome)
|
||||
- Growl (http://growl.info/, OS X)
|
||||
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
|
||||
|
Reference in New Issue
Block a user