1 /////////////////////////////////////////////////////////////////////////
2 // File: wx/cocoa/taskbar.h
3 // Purpose: Defines wxTaskBarIcon class
4 // Author: David Elliott
8 // Copyright: (c) 2004 David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_COCOA_TASKBAR_H__
13 #define _WX_COCOA_TASKBAR_H__
15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "taskbar.h"
21 class WXDLLEXPORT wxIcon
;
22 class WXDLLEXPORT wxMenu
;
24 class wxTaskBarIconCocoaImpl
;
25 class wxTaskBarIconDockImpl
;
27 class WXDLLEXPORT wxTaskBarIcon
: public wxTaskBarIconBase
29 friend class wxTaskBarIconDockImpl
;
30 DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon
)
32 //type of taskbar item to create (currently only DOCK is implemented)
33 enum wxTaskBarIconType
36 // , STATUSITEM // TODO: Implement using NSStatusItem w/o custom NSView
37 // , MENUEXTRA // Menu extras require undocumented hacks
38 , DEFAULT_TYPE
= CUSTOM_STATUSITEM
41 // Only one wxTaskBarIcon can be of the Dock type so by default
42 // create NSStatusItem for maximum source compatibility.
43 wxTaskBarIcon(wxTaskBarIconType iconType
= DEFAULT_TYPE
);
44 virtual ~wxTaskBarIcon();
46 bool SetIcon(const wxIcon
& icon
, const wxString
& tooltip
= wxEmptyString
);
48 bool PopupMenu(wxMenu
*menu
); //, int x, int y);
50 wxTaskBarIconCocoaImpl
*m_impl
;
53 #endif // _WX_COCOA_TASKBAR_H__