]> git.saurik.com Git - wxWidgets.git/blob - include/wx/osx/taskbarosx.h
going private for m_peer to give a foundation for better encapsulation
[wxWidgets.git] / include / wx / osx / 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 WXDLLIMPEXP_FWD_CORE wxIcon;
16 class WXDLLIMPEXP_FWD_CORE wxMenu;
17
18 class WXDLLIMPEXP_ADV wxTaskBarIcon : public wxTaskBarIconBase
19 {
20 DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon)
21 public:
22 // type of taskbar item to create (currently only DOCK is implemented)
23 enum wxTaskBarIconType
24 {
25 DOCK
26 #if wxOSX_USE_COCOA
27 , CUSTOM_STATUSITEM
28 #endif
29 #if wxOSX_USE_COCOA
30 , DEFAULT_TYPE = CUSTOM_STATUSITEM
31 #else
32 , DEFAULT_TYPE = DOCK
33 #endif
34 };
35
36 wxTaskBarIcon(wxTaskBarIconType iconType = DEFAULT_TYPE);
37 virtual ~wxTaskBarIcon();
38
39 // returns true if the taskbaricon is in the global menubar
40 #if wxOSX_USE_COCOA
41 bool OSXIsStatusItem();
42 #else
43 bool OSXIsStatusItem() { return false; }
44 #endif
45 bool IsOk() const { return true; }
46
47 bool IsIconInstalled() const;
48 bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxEmptyString);
49 bool RemoveIcon();
50 bool PopupMenu(wxMenu *menu);
51
52 protected:
53 wxTaskBarIconType m_type;
54 class wxTaskBarIconImpl* m_impl;
55 friend class wxTaskBarIconImpl;
56 };
57 #endif
58 // _TASKBAR_H_