wxTaskBarIcon::wxTaskBarIcon(const wxTaskBarIconType& nType) : m_nType(nType), m_pEventHandlerRef(NULL), m_pMenu(NULL), m_theLastMenu((WXHMENU)GetApplicationDockTileMenu()), m_iconAdded(false) { //Register the events that will return the dock menu EventTypeSpec tbEventList[] = { { kEventClassCommand, kEventProcessCommand }, { kEventClassApplication, kEventAppGetDockTileMenu } }; #ifdef __WXDEBUG__ OSStatus err = #endif InstallApplicationEventHandler( GetwxDockEventHandlerUPP(), GetEventTypeCount(tbEventList), tbEventList, this, (&(EventHandlerRef&)m_pEventHandlerRef)); wxASSERT(err == noErr); Connect(wxEVT_TASKBAR_RIGHT_DOWN, wxTaskBarIconEventHandler(wxTaskBarIcon::OnRightDown)); }
//----------------------------------------------------------------------------- // wxDockTaskBarIcon ctor // // Initializes the dock implementation of wxTaskBarIcon. // // Here we create some Mac-specific event handlers and UPPs. //----------------------------------------------------------------------------- wxDockTaskBarIcon::wxDockTaskBarIcon(wxTaskBarIcon* parent) : wxTaskBarIconImpl(parent), m_eventHandlerRef(NULL), m_pMenu(NULL), m_theLastMenu(GetApplicationDockTileMenu()), m_iconAdded(false) { // register the events that will return the dock menu EventTypeSpec tbEventList[] = { { kEventClassCommand, kEventProcessCommand }, { kEventClassApplication, kEventAppGetDockTileMenu } }; m_eventupp = NewEventHandlerUPP(wxDockEventHandler); wxASSERT(m_eventupp != NULL); OSStatus err = InstallApplicationEventHandler( m_eventupp, GetEventTypeCount(tbEventList), tbEventList, this, &m_eventHandlerRef); verify_noerr( err ); }