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: taskbar.h 35650 2005-09-23 12:56:45Z MR $ 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 17class WXDLLEXPORT wxIcon; 18class WXDLLEXPORT wxMenu; 19 20class wxTaskBarIconCocoaImpl; 21 22class WXDLLEXPORT wxTaskBarIcon : public wxTaskBarIconBase 23{ 24 friend class wxTaskBarIconCocoaImpl; 25 DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon) 26public: 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); 44protected: 45 wxTaskBarIconCocoaImpl *m_impl; 46}; 47 48#endif // _WX_COCOA_TASKBAR_H__ 49