#ifndef WX_PRECOMP
#include "wx/app.h"
+ #include "wx/log.h"
#include "wx/menu.h"
#endif // WX_PRECOMP
- (void) clickedAction: (id) sender
{
+ wxUnusedVar(sender);
if ( impl )
{
impl->GetWXPeer()->GetMenu()->HandleCommandProcess(impl->GetWXPeer());
- (BOOL)validateMenuItem:(NSMenuItem *) menuItem
{
+ wxUnusedVar(menuItem);
if( impl )
{
impl->GetWXPeer()->GetMenu()->HandleCommandUpdateStatus(impl->GetWXPeer());
public :
wxMenuItemCocoaImpl( wxMenuItem* peer, NSMenuItem* item ) : wxMenuItemImpl(peer), m_osxMenuItem(item)
{
+ if ( ![m_osxMenuItem isSeparatorItem] )
+ [(wxNSMenuItem*)m_osxMenuItem setImplementation:this];
}
~wxMenuItemCocoaImpl();
void Hide( bool hide )
{
- [m_osxMenuItem setHidden:hide ];
+ // NB: setHidden is new as of 10.5 so we should not call it below there
+ if ([m_osxMenuItem respondsToSelector:@selector(setHidden:)])
+ [m_osxMenuItem setHidden:hide ];
+ else
+ wxLogDebug("wxMenuItemCocoaImpl::Hide not yet supported under OS X < 10.5");
}
void SetLabel( const wxString& text, wxAcceleratorEntry *entry )
wxMenuItemCocoaImpl::~wxMenuItemCocoaImpl()
{
+ if ( ![m_osxMenuItem isSeparatorItem] )
+ [(wxNSMenuItem*)m_osxMenuItem setImplementation:nil];
}
wxMenuItemImpl* wxMenuItemImpl::Create( wxMenuItem* peer, wxMenu *pParentMenu,
- int id,
+ int WXUNUSED(id),
const wxString& text,
wxAcceleratorEntry *entry,
- const wxString& strHelp,
+ const wxString& WXUNUSED(strHelp),
wxItemKind kind,
wxMenu *pSubMenu )
{
item = temp;
}
c = new wxMenuItemCocoaImpl( peer, item );
- if ( kind != wxITEM_SEPARATOR )
- {
- [(wxNSMenuItem*)item setImplementation:c];
- }
return c;
}