#pragma hdrstop
#endif
+#if wxUSE_MENUS
+
#ifndef WX_PRECOMP
#include "wx/font.h"
#include "wx/bitmap.h"
// dynamic classes implementation
// ----------------------------------------------------------------------------
- #if wxUSE_OWNER_DRAWN
- IMPLEMENT_DYNAMIC_CLASS2(wxMenuItem, wxMenuItemBase, wxOwnerDrawn)
- #else //!USE_OWNER_DRAWN
- IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxMenuItemBase)
- #endif //USE_OWNER_DRAWN
+#if wxUSE_OWNER_DRAWN
+ IMPLEMENT_DYNAMIC_CLASS2(wxMenuItem, wxMenuItemBase, wxOwnerDrawn)
+#else //!USE_OWNER_DRAWN
+ IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxMenuItemBase)
+#endif //USE_OWNER_DRAWN
// ----------------------------------------------------------------------------
// wxMenuItem
bool bCheckable,
wxMenu *pSubMenu)
#if wxUSE_OWNER_DRAWN
- : wxOwnerDrawn(text, bCheckable)
+ : wxOwnerDrawn(GetLabelFromText(text), bCheckable)
#endif // owner drawn
{
wxASSERT_MSG( pParentMenu != NULL, wxT("a menu item should have a parent") );
#if wxUSE_OWNER_DRAWN
// set default menu colors
- #define SYS_COLOR(c) (wxSystemSettings::GetSystemColour(wxSYS_COLOUR_##c))
+ #define SYS_COLOR(c) (wxSystemSettings::GetColour(wxSYS_COLOUR_##c))
SetTextColour(SYS_COLOR(MENUTEXT));
SetBackgroundColour(SYS_COLOR(MENU));
+ #undef SYS_COLOR
+
// we don't want normal items be owner-drawn
ResetOwnerDrawn();
- #undef SYS_COLOR
+ // tell the owner drawing code to to show the accel string as well
+ SetAccelString(text.AfterFirst(_T('\t')));
#endif // wxUSE_OWNER_DRAWN
m_parentMenu = pParentMenu;
return wxStripMenuCodes(text);
}
-// accelerators
-// ------------
-
-#if wxUSE_ACCEL
-
-wxAcceleratorEntry *wxMenuItem::GetAccel() const
-{
- return wxGetAccelFromString(GetText());
-}
-
-#endif // wxUSE_ACCEL
-
// change item state
// -----------------
{
return new wxMenuItem(parentMenu, id, name, help, isCheckable, subMenu);
}
+
+#endif // wxUSE_MENUS