#ifndef _TASKBAR_H_
#define _TASKBAR_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "taskbarosx.h"
-#endif
-
-class WXDLLEXPORT wxIcon;
-class WXDLLEXPORT wxMenu;
+class WXDLLIMPEXP_FWD_CORE wxIcon;
+class WXDLLIMPEXP_FWD_CORE wxMenu;
class WXDLLEXPORT wxTaskBarIcon : public wxTaskBarIconBase
{
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon)
public:
- //type of taskbar item to create
- //TODO: currently only DOCK is implemented
- enum wxTaskBarIconType
- {
- DOCK,
- STATUSITEM,
- MENUEXTRA
- };
-
- wxTaskBarIcon(const wxTaskBarIconType& nType = DOCK);
+ // type of taskbar item to create (currently only DOCK is implemented)
+ enum wxTaskBarIconType
+ {
+ DOCK
+// , CUSTOM_STATUSITEM
+// , STATUSITEM
+// , MENUEXTRA
+ , DEFAULT_TYPE = DOCK
+ };
+
+ wxTaskBarIcon(wxTaskBarIconType iconType = DEFAULT_TYPE);
virtual ~wxTaskBarIcon();
- //TODO: not tested extensively
+ bool IsOk() const { return true; }
+
+ bool IsIconInstalled() const;
bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxEmptyString);
bool RemoveIcon();
- //TODO: end not tested extensively
-
- //pops up the menu
bool PopupMenu(wxMenu *menu);
- //internal functions - don't call
- void SetInternalEvent(void* pEvent);
- wxMenu* GetCurrentMenu();
-
protected:
- wxTaskBarIconType m_nType;
- void* m_pEvent;
- wxMenu* m_pMenu;
-
- DECLARE_DYNAMIC_CLASS(wxTaskBarIcon)
+ class wxTaskBarIconImpl* m_impl;
+ friend class wxTaskBarIconImpl;
};
#endif
// _TASKBAR_H_