wxCocoa: Added wxTaskBarIcon

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Elliott
2004-10-15 22:52:28 +00:00
parent c9f52ac517
commit f1d9e1ec6b
6 changed files with 472 additions and 4 deletions

View File

@@ -0,0 +1,53 @@
/////////////////////////////////////////////////////////////////////////
// File: wx/cocoa/taskbar.h
// Purpose: Defines wxTaskBarIcon class
// Author: David Elliott
// Modified by:
// Created: 2004/01/24
// RCS-ID: $Id$
// Copyright: (c) 2004 David Elliott
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////
#ifndef _WX_COCOA_TASKBAR_H__
#define _WX_COCOA_TASKBAR_H__
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "taskbar.h"
#endif
#include "wx/icon.h"
class WXDLLEXPORT wxIcon;
class WXDLLEXPORT wxMenu;
class wxTaskBarIconCocoaImpl;
class wxTaskBarIconDockImpl;
class WXDLLEXPORT wxTaskBarIcon : public wxTaskBarIconBase
{
friend class wxTaskBarIconDockImpl;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon)
public:
//type of taskbar item to create (currently only DOCK is implemented)
enum wxTaskBarIconType
{ DOCK
, CUSTOM_STATUSITEM
// , STATUSITEM // TODO: Implement using NSStatusItem w/o custom NSView
// , MENUEXTRA // Menu extras require undocumented hacks
, DEFAULT_TYPE = CUSTOM_STATUSITEM
};
// Only one wxTaskBarIcon can be of the Dock type so by default
// create NSStatusItem for maximum source compatibility.
wxTaskBarIcon(wxTaskBarIconType iconType = DEFAULT_TYPE);
virtual ~wxTaskBarIcon();
bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxEmptyString);
bool RemoveIcon();
bool PopupMenu(wxMenu *menu); //, int x, int y);
protected:
wxTaskBarIconCocoaImpl *m_impl;
};
#endif // _WX_COCOA_TASKBAR_H__

View File

@@ -30,8 +30,9 @@
#endif
/* taskbar is implemented in the major ports */
#if defined(__WXMSW__) || \
defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__) || defined(__WXMAC_OSX__)
#if defined(__WXMSW__) || defined(__WXCOCOA__) || \
defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__) || \
(defined(__WXMAC__) && __WXMAC_OSX__) || defined(__WXCOCOA__)
#define wxHAS_TASK_BAR_ICON
#else
#undef wxHAS_TASK_BAR_ICON

View File

@@ -45,8 +45,10 @@ private:
#include "wx/msw/taskbar.h"
#elif defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__)
#include "wx/unix/taskbarx11.h"
#elif defined(__DARWIN__)
#elif defined (__WXMAC__) && __WXMAC_OSX__
#include "wx/mac/taskbarosx.h"
#elif defined (__WXCOCOA__)
#include "wx/cocoa/taskbar.h"
#endif
// ----------------------------------------------------------------------------