77 lines
1.8 KiB
C
77 lines
1.8 KiB
C
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
// Name: wx/private/notifmsg.h
|
||
|
// Purpose: wxNotificationMessage declarations
|
||
|
// Author: Tobias Taschner
|
||
|
// Created: 2015-08-04
|
||
|
// Copyright: (c) 2015 wxWidgets development team
|
||
|
// Licence: wxWindows licence
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#ifndef _WX_PRIVATE_NOTIFMSG_H_
|
||
|
#define _WX_PRIVATE_NOTIFMSG_H_
|
||
|
|
||
|
class wxNotificationMessageImpl
|
||
|
{
|
||
|
public:
|
||
|
wxNotificationMessageImpl(wxNotificationMessageBase* notification):
|
||
|
m_notification(notification),
|
||
|
m_active(false)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
virtual ~wxNotificationMessageImpl() { }
|
||
|
|
||
|
virtual bool Show(int timeout) = 0;
|
||
|
|
||
|
virtual bool Close() = 0;
|
||
|
|
||
|
virtual void SetTitle(const wxString& title) = 0;
|
||
|
|
||
|
virtual void SetMessage(const wxString& message) = 0;
|
||
|
|
||
|
virtual void SetParent(wxWindow *parent) = 0;
|
||
|
|
||
|
virtual void SetFlags(int flags) = 0;
|
||
|
|
||
|
virtual void SetIcon(const wxIcon& icon) = 0;
|
||
|
|
||
|
virtual bool AddAction(wxWindowID actionid, const wxString &label) = 0;
|
||
|
|
||
|
virtual void Detach()
|
||
|
{
|
||
|
if (m_active)
|
||
|
m_notification = NULL;
|
||
|
else
|
||
|
delete this;
|
||
|
}
|
||
|
|
||
|
bool ProcessNotificationEvent(wxEvent& event)
|
||
|
{
|
||
|
if (m_notification)
|
||
|
return m_notification->ProcessEvent(event);
|
||
|
else
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
wxNotificationMessageBase* GetNotification() const
|
||
|
{
|
||
|
return m_notification;
|
||
|
}
|
||
|
|
||
|
protected:
|
||
|
wxNotificationMessageBase* m_notification;
|
||
|
bool m_active;
|
||
|
|
||
|
void SetActive(bool active)
|
||
|
{
|
||
|
m_active = active;
|
||
|
|
||
|
// Delete the implementation if the notification is detached
|
||
|
if (!m_notification && !active)
|
||
|
delete this;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
#endif // _WX_PRIVATE_NOTIFMSG_H_
|