]>
Commit | Line | Data |
---|---|---|
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_ |