Make wxTaskBarIcon's ctor have the same API on all platforms even though setting the icon type can only be done on wxOSX-cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b83b7724da
commit
70175534bf
@ -14,7 +14,7 @@
|
||||
class WXDLLIMPEXP_ADV wxTaskBarIcon: public wxTaskBarIconBase
|
||||
{
|
||||
public:
|
||||
wxTaskBarIcon();
|
||||
wxTaskBarIcon(wxTaskBarIconType iconType = wxTBI_DEFAULT_TYPE);
|
||||
~wxTaskBarIcon();
|
||||
virtual bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxString());
|
||||
virtual bool RemoveIcon();
|
||||
|
@ -21,7 +21,7 @@ class WXDLLIMPEXP_FWD_ADV wxTaskBarIconWindow;
|
||||
class WXDLLIMPEXP_ADV wxTaskBarIcon : public wxTaskBarIconBase
|
||||
{
|
||||
public:
|
||||
wxTaskBarIcon();
|
||||
wxTaskBarIcon(wxTaskBarIconType iconType = wxTBI_DEFAULT_TYPE);
|
||||
virtual ~wxTaskBarIcon();
|
||||
|
||||
// Accessors
|
||||
|
@ -19,21 +19,7 @@ class WXDLLIMPEXP_ADV wxTaskBarIcon : public wxTaskBarIconBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon)
|
||||
public:
|
||||
// type of taskbar item to create (currently only DOCK is implemented)
|
||||
enum wxTaskBarIconType
|
||||
{
|
||||
DOCK
|
||||
#if wxOSX_USE_COCOA
|
||||
, CUSTOM_STATUSITEM
|
||||
#endif
|
||||
#if wxOSX_USE_COCOA
|
||||
, DEFAULT_TYPE = CUSTOM_STATUSITEM
|
||||
#else
|
||||
, DEFAULT_TYPE = DOCK
|
||||
#endif
|
||||
};
|
||||
|
||||
wxTaskBarIcon(wxTaskBarIconType iconType = DEFAULT_TYPE);
|
||||
wxTaskBarIcon(wxTaskBarIconType iconType = wxTBI_DEFAULT_TYPE);
|
||||
virtual ~wxTaskBarIcon();
|
||||
|
||||
// returns true if the taskbaricon is in the global menubar
|
||||
|
@ -20,6 +20,21 @@
|
||||
|
||||
class WXDLLIMPEXP_FWD_ADV wxTaskBarIconEvent;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// type of taskbar item to create. Only applicable in wxOSX_COCOA
|
||||
enum wxTaskBarIconType
|
||||
{
|
||||
wxTBI_DOCK,
|
||||
wxTBI_CUSTOM_STATUSITEM,
|
||||
#if wxOSX_USE_COCOA
|
||||
wxTBI_DEFAULT_TYPE = wxTBI_CUSTOM_STATUSITEM
|
||||
#else
|
||||
wxTBI_DEFAULT_TYPE = wxTBI_DOCK
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxTaskBarIconBase: define wxTaskBarIcon interface
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@ -6,6 +6,18 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
On OSX Cocoa the taskbar icon can be in the doc or in the status area.
|
||||
This enumeration can be used to select which will be instantiated.
|
||||
*/
|
||||
enum wxTaskBarIconType
|
||||
{
|
||||
wxTBI_DOCK,
|
||||
wxTBI_CUSTOM_STATUSITEM,
|
||||
wxTBI_DEFAULT_TYPE
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@class wxTaskBarIconEvent
|
||||
@ -26,6 +38,7 @@ public:
|
||||
wxTaskBarIconEvent(wxEventType evtType, wxTaskBarIcon *tbIcon);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
@class wxTaskBarIcon
|
||||
|
||||
@ -79,9 +92,9 @@ class wxTaskBarIcon : public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Default constructor.
|
||||
Default constructor. The iconType is only applicable on wxOSX_Cocoa.
|
||||
*/
|
||||
wxTaskBarIcon();
|
||||
wxTaskBarIcon(wxTaskBarIconType iconType = wxTBI_DEFAULT_TYPE);
|
||||
|
||||
/**
|
||||
Destroys the wxTaskBarIcon object, removing the icon if not already removed.
|
||||
|
@ -266,7 +266,7 @@ void wxTaskBarIcon::Private::size_allocate(int width, int height)
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler)
|
||||
|
||||
wxTaskBarIcon::wxTaskBarIcon()
|
||||
wxTaskBarIcon::wxTaskBarIcon(wxTaskBarIconType WXUNUSED(iconType))
|
||||
{
|
||||
m_priv = new Private(this);
|
||||
}
|
||||
|
@ -177,7 +177,7 @@ struct NotifyIconData : public NOTIFYICONDATA
|
||||
// wxTaskBarIcon
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxTaskBarIcon::wxTaskBarIcon()
|
||||
wxTaskBarIcon::wxTaskBarIcon(wxTaskBarIconType WXUNUSED(iconType))
|
||||
{
|
||||
m_win = NULL;
|
||||
m_iconAdded = false;
|
||||
|
@ -469,8 +469,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler)
|
||||
wxTaskBarIcon::wxTaskBarIcon(wxTaskBarIconType WXUNUSED_UNLESS_DEBUG(nType))
|
||||
{
|
||||
wxASSERT_MSG(
|
||||
nType == DOCK,
|
||||
wxT("Only the DOCK implementation of wxTaskBarIcon on Mac-Carbon is currently supported!") );
|
||||
nType == wxTBI_DOCK,
|
||||
wxT("Only the wxTBI_DOCK implementation of wxTaskBarIcon on Mac-Carbon is currently supported!") );
|
||||
|
||||
m_impl = new wxDockTaskBarIcon(this);
|
||||
}
|
||||
|
@ -141,9 +141,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler)
|
||||
|
||||
wxTaskBarIcon::wxTaskBarIcon(wxTaskBarIconType iconType)
|
||||
{
|
||||
if(iconType == DOCK)
|
||||
if(iconType == wxTBI_DOCK)
|
||||
m_impl = new wxTaskBarIconDockImpl(this);
|
||||
else if(iconType == CUSTOM_STATUSITEM)
|
||||
else if(iconType == wxTBI_CUSTOM_STATUSITEM)
|
||||
m_impl = new wxTaskBarIconCustomStatusItemImpl(this);
|
||||
else
|
||||
{ m_impl = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user