]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/notifmsg.h
Define WXBUILDING in Xcode projects.
[wxWidgets.git] / include / wx / msw / notifmsg.h
CommitLineData
e2d5abbf
VZ
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/msw/notifmsg.h
3// Purpose: implementation of wxNotificationMessage for Windows
4// Author: Vadim Zeitlin
5// Created: 2007-12-01
6// RCS-ID: $Id$
7// Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
8// Licence: wxWindows licence
9///////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_MSW_NOTIFMSG_H_
12#define _WX_MSW_NOTIFMSG_H_
13
14class WXDLLIMPEXP_FWD_ADV wxTaskBarIcon;
15
16// ----------------------------------------------------------------------------
17// wxNotificationMessage
18// ----------------------------------------------------------------------------
19
20class WXDLLIMPEXP_ADV wxNotificationMessage : public wxNotificationMessageBase
21{
22public:
23 wxNotificationMessage() { Init(); }
24 wxNotificationMessage(const wxString& title,
25 const wxString& message = wxString(),
7e7ba0df
VZ
26 wxWindow *parent = NULL,
27 int flags = wxICON_INFORMATION)
28 : wxNotificationMessageBase(title, message, parent, flags)
e2d5abbf
VZ
29 {
30 Init();
31 }
32
33 virtual ~wxNotificationMessage();
34
35
36 virtual bool Show(int timeout = Timeout_Auto);
37 virtual bool Close();
38
39 // MSW implementation-specific methods
40
41 // by default, wxNotificationMessage under MSW creates a temporary taskbar
42 // icon to which it attaches the notification, if there is an existing
43 // taskbar icon object in the application you may want to call this method
44 // to attach the notification to it instead (we won't take ownership of it
45 // and you can also pass NULL to not use the icon for notifications any
46 // more)
47 //
48 // returns the task bar icon which was used previously (may be NULL)
49 static wxTaskBarIcon *UseTaskBarIcon(wxTaskBarIcon *icon);
50
5e6b39c9
VZ
51 // call this to always use the generic implementation, even if the system
52 // supports the balloon tooltips used by the native one
53 static void AlwaysUseGeneric(bool alwaysUseGeneric)
54 {
55 ms_alwaysUseGeneric = alwaysUseGeneric;
56 }
57
e2d5abbf
VZ
58private:
59 // common part of all ctors
60 void Init() { m_impl = NULL; }
61
62
5e6b39c9
VZ
63 // flag indicating whether we should always use generic implementation
64 static bool ms_alwaysUseGeneric;
65
e2d5abbf
VZ
66 // the real implementation of this class (selected during run-time because
67 // the balloon task bar icons are not available in all Windows versions)
68 class wxNotifMsgImpl *m_impl;
69
70
c0c133e1 71 wxDECLARE_NO_COPY_CLASS(wxNotificationMessage);
e2d5abbf
VZ
72};
73
74#endif // _WX_MSW_NOTIFMSG_H_
75