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:
53
include/wx/cocoa/taskbar.h
Normal file
53
include/wx/cocoa/taskbar.h
Normal 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__
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user