X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f0c8f31f407ecfce909060464c0ea655221cdab..ec2df34e27ba41f202ecbf096cdfed082a9ddb8f:/src/osx/carbon/taskbar.cpp diff --git a/src/osx/carbon/taskbar.cpp b/src/osx/carbon/taskbar.cpp index b2f00b26ad..01ba0fb3c8 100644 --- a/src/osx/carbon/taskbar.cpp +++ b/src/osx/carbon/taskbar.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: src/mac/carbon/taskbar.cpp +// Name: src/osx/carbon/taskbar.cpp // Purpose: wxTaskBarIcon // Author: Ryan Norton // Modified by: @@ -41,7 +41,7 @@ public: wxTaskBarIcon *m_parent; class wxTaskBarIconWindow *m_menuEventWindow; - DECLARE_NO_COPY_CLASS(wxTaskBarIconImpl) + wxDECLARE_NO_COPY_CLASS(wxTaskBarIconImpl); }; //----------------------------------------------------------------------------- @@ -60,7 +60,7 @@ public: : wxTopLevelWindow(NULL, wxID_ANY, wxEmptyString), m_impl(impl) { Connect( - -1, wxEVT_COMMAND_MENU_SELECTED, + -1, wxEVT_MENU, wxCommandEventHandler(wxTaskBarIconWindow::OnMenuEvent) ); } @@ -141,7 +141,7 @@ wxDockEventHandler(EventHandlerCallRef WXUNUSED(inHandlerCallRef), wxDockTaskBarIcon* pTB = (wxDockTaskBarIcon*) pData; const UInt32 eventClass = GetEventClass(inEvent); const UInt32 eventKind = GetEventKind(inEvent); - + OSStatus err = eventNotHandledErr; // Handle wxTaskBar menu events (note that this is a global event handler @@ -186,9 +186,15 @@ wxDockEventHandler(EventHandlerCallRef WXUNUSED(inHandlerCallRef), if (item && itemMenu ) { if ( eventKind == kEventCommandProcess ) - err = itemMenu->MacHandleCommandProcess( item, id ); + { + if ( itemMenu->HandleCommandProcess( item ) ) + err = noErr; + } else if ( eventKind == kEventCommandUpdateStatus ) - err = itemMenu->MacHandleCommandUpdateStatus( item, id ); + { + if ( itemMenu->HandleCommandUpdateStatus( item ) ) + err = noErr; + } } } } @@ -235,7 +241,7 @@ wxDockEventHandler(EventHandlerCallRef WXUNUSED(inHandlerCallRef), // Performs a top-to-bottom copy of the input menu and all of its // submenus. // -// This is mostly needed for 2.4 compatability. However wxPython and others +// This is mostly needed for 2.4 compatibility. However wxPython and others // still use this way of setting the taskbarmenu. //----------------------------------------------------------------------------- wxMenu * wxDeepCopyMenu( wxMenu *menu ) @@ -341,8 +347,7 @@ wxMenu * wxDockTaskBarIcon::DoCreatePopupMenu() if (theNewMenu) { - if (m_pMenu) - delete m_pMenu; + delete m_pMenu; m_pMenu = theNewMenu; m_pMenu->SetInvokingWindow(m_menuEventWindow); } @@ -376,7 +381,7 @@ bool wxDockTaskBarIcon::SetIcon(const wxIcon& icon, const wxString& WXUNUSED(too // convert the wxIcon into a wxBitmap so we can perform some // wxBitmap operations with it wxBitmap bmp( icon ); - wxASSERT( bmp.Ok() ); + wxASSERT( bmp.IsOk() ); // get the CGImageRef for the wxBitmap: // OSX builds only, but then the dock only exists in OSX @@ -404,11 +409,7 @@ bool wxDockTaskBarIcon::SetIcon(const wxIcon& icon, const wxString& WXUNUSED(too //----------------------------------------------------------------------------- bool wxDockTaskBarIcon::RemoveIcon() { - if (m_pMenu) - { - delete m_pMenu; - m_pMenu = NULL; - } + wxDELETE(m_pMenu); // restore old icon to the dock OSStatus err = RestoreApplicationDockTileImage(); @@ -436,8 +437,7 @@ bool wxDockTaskBarIcon::PopupMenu(wxMenu *menu) { wxASSERT(menu != NULL); - if (m_pMenu) - delete m_pMenu; + delete m_pMenu; // start copy of menu m_pMenu = wxDeepCopyMenu(menu); @@ -463,14 +463,14 @@ IMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler) // // Note that we only support DOCK currently as others require cocoa and // also some require hacks and other such things. (MenuExtras are -// actually seperate programs that also require a special undocumented id +// actually separate programs that also require a special undocumented id // hack and other such fun stuff). //----------------------------------------------------------------------------- -wxTaskBarIcon::wxTaskBarIcon(wxTaskBarIconType nType) +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); }