#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
+class WXDLLIMPEXP_ADV wxTaskBarIcon : public wxTaskBarIconBase
{
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon)
public:
- //type of taskbar item to create
- //TODO: currently only DOCK is implemented
+ // type of taskbar item to create (currently only DOCK is implemented)
enum wxTaskBarIconType
{
- DOCK,
- STATUSITEM,
- MENUEXTRA
+ DOCK
+// , CUSTOM_STATUSITEM
+// , STATUSITEM
+// , MENUEXTRA
+ , DEFAULT_TYPE = DOCK
};
-
- wxTaskBarIcon(const wxTaskBarIconType& nType = DOCK);
+
+ wxTaskBarIcon(wxTaskBarIconType iconType = DEFAULT_TYPE);
virtual ~wxTaskBarIcon();
- inline bool IsOk() const { return true; }
- inline bool IsIconInstalled() const { return m_iconAdded; }
-
- //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;
- void* m_pEventHandlerRef;
- wxMenu* m_pMenu;
- bool m_iconAdded;
-
- DECLARE_DYNAMIC_CLASS(wxTaskBarIcon)
+ class wxTaskBarIconImpl* m_impl;
+ friend class wxTaskBarIconImpl;
};
#endif
// _TASKBAR_H_