Nuke #pragma implementation/interface's
[wxWidgets.git] / include / wx / mac / carbon / taskbarosx.h
1 /////////////////////////////////////////////////////////////////////////
2 // File: wx/mac/taskbarosx.h
3 // Purpose: Defines wxTaskBarIcon class for OSX
4 // Author: Ryan Norton
5 // Modified by:
6 // Created: 04/04/2003
7 // RCS-ID: $Id$
8 // Copyright: (c) Ryan Norton, 2003
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////
11
12 #ifndef _TASKBAR_H_
13 #define _TASKBAR_H_
14
15 class WXDLLEXPORT wxIcon;
16 class WXDLLEXPORT wxMenu;
17
18 class WXDLLEXPORT wxTaskBarIcon : public wxTaskBarIconBase
19 {
20 public:
21 //type of taskbar item to create
22 //TODO: currently only DOCK is implemented
23 enum wxTaskBarIconType
24 {
25 DOCK,
26 STATUSITEM,
27 MENUEXTRA
28 };
29
30 wxTaskBarIcon(const wxTaskBarIconType& nType = DOCK);
31 virtual ~wxTaskBarIcon();
32
33 inline bool IsOk() const { return true; }
34 inline bool IsIconInstalled() const { return m_iconAdded; }
35
36 //TODO: not tested extensively
37 bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxEmptyString);
38 bool RemoveIcon();
39 //TODO: end not tested extensively
40
41 //pops up the menu
42 bool PopupMenu(wxMenu *menu);
43
44 //internal functions - don't call
45 wxMenu* GetCurrentMenu();
46 wxMenu* DoCreatePopupMenu();
47
48 protected:
49 wxTaskBarIconType m_nType;
50 void* m_pEventHandlerRef;
51 wxMenu* m_pMenu;
52 WXHMENU m_theLastMenu;
53 bool m_iconAdded;
54
55 void OnRightDown(wxTaskBarIconEvent& evt);
56
57 DECLARE_DYNAMIC_CLASS(wxTaskBarIcon)
58 };
59 #endif
60 // _TASKBAR_H_