replace wrong WXDLLEXPORT declarations with correct WXDLLIMPEXP_BASE/ADV/GL (patch...
[wxWidgets.git] / include / wx / cocoa / taskbar.h
1 /////////////////////////////////////////////////////////////////////////
2 // File: wx/cocoa/taskbar.h
3 // Purpose: Defines wxTaskBarIcon class
4 // Author: David Elliott
5 // Modified by:
6 // Created: 2004/01/24
7 // RCS-ID: $Id$
8 // Copyright: (c) 2004 David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_COCOA_TASKBAR_H__
13 #define _WX_COCOA_TASKBAR_H__
14
15 #include "wx/icon.h"
16
17 class WXDLLIMPEXP_FWD_CORE wxIcon;
18 class WXDLLIMPEXP_FWD_CORE wxMenu;
19
20 class wxTaskBarIconCocoaImpl;
21
22 class WXDLLIMPEXP_ADV wxTaskBarIcon : public wxTaskBarIconBase
23 {
24 friend class wxTaskBarIconCocoaImpl;
25 DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon)
26 public:
27 //type of taskbar item to create (currently only DOCK is implemented)
28 enum wxTaskBarIconType
29 { DOCK
30 , CUSTOM_STATUSITEM
31 // , STATUSITEM // TODO: Implement using NSStatusItem w/o custom NSView
32 // , MENUEXTRA // Menu extras require undocumented hacks
33 , DEFAULT_TYPE = CUSTOM_STATUSITEM
34 };
35
36 // Only one wxTaskBarIcon can be of the Dock type so by default
37 // create NSStatusItem for maximum source compatibility.
38 wxTaskBarIcon(wxTaskBarIconType iconType = DEFAULT_TYPE);
39 virtual ~wxTaskBarIcon();
40
41 bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxEmptyString);
42 bool RemoveIcon();
43 bool PopupMenu(wxMenu *menu); //, int x, int y);
44 protected:
45 wxTaskBarIconCocoaImpl *m_impl;
46 };
47
48 #endif // _WX_COCOA_TASKBAR_H__