// wxMenuItem
// ----------------------------------------------------------------------------
+wxMenuItemBase::wxMenuItemBase(wxMenu *parentMenu,
+ int id,
+ const wxString& text,
+ const wxString& help,
+ wxItemKind kind,
+ wxMenu *subMenu)
+ : m_text(text),
+ m_help(help)
+{
+ wxASSERT_MSG( parentMenu != NULL, wxT("menuitem should have a menu") );
+
+ m_parentMenu = parentMenu;
+ m_subMenu = subMenu;
+ m_isEnabled = TRUE;
+ m_isChecked = FALSE;
+ m_id = id;
+ m_kind = kind;
+}
+
wxMenuItemBase::~wxMenuItemBase()
{
delete m_subMenu;
else if ( current == _("shift") )
accelFlags |= wxACCEL_SHIFT;
else {
- wxLogDebug(wxT("Unknown accel modifier: '%s'"),
- current.c_str());
+ // we may have "Ctrl-+", for example, but we still want to
+ // catch typos like "Crtl-A" so only give the warning if we
+ // have something before the current '+' or '-', else take
+ // it as a literal symbol
+ if ( current.empty() )
+ {
+ current += label[n];
+
+ // skip clearing it below
+ continue;
+ }
+ else
+ {
+ wxLogDebug(wxT("Unknown accel modifier: '%s'"),
+ current.c_str());
+ }
}
- current.Empty();
+ current.clear();
}
else {
current += wxTolower(label[n]);
else if ( current == wxT("INSERT") ) {
keyCode = WXK_INSERT;
}
-#if 0
+ else if ( current == wxT("ENTER") || current == wxT("RETURN") ) {
+ keyCode = WXK_RETURN;
+ }
else if ( current == wxT("PGUP") ) {
- keyCode = VK_PRIOR;
+ keyCode = WXK_PRIOR;
}
else if ( current == wxT("PGDN") ) {
- keyCode = VK_NEXT;
+ keyCode = WXK_NEXT;
+ }
+ else if ( current == wxT("LEFT") ) {
+ keyCode = WXK_LEFT;
+ }
+ else if ( current == wxT("RIGHT") ) {
+ keyCode = WXK_RIGHT;
+ }
+ else if ( current == wxT("UP") ) {
+ keyCode = WXK_UP;
+ }
+ else if ( current == wxT("DOWN") ) {
+ keyCode = WXK_DOWN;
+ }
+ else if ( current == wxT("HOME") ) {
+ keyCode = WXK_HOME;
+ }
+ else if ( current == wxT("END") ) {
+ keyCode = WXK_END;
+ }
+ else if ( current == wxT("SPACE") ) {
+ keyCode = WXK_SPACE;
+ }
+ else if ( current == wxT("TAB") ) {
+ keyCode = WXK_TAB;
}
-#endif
else
{
wxLogDebug(wxT("Unrecognized accel key '%s', accel string ignored."),
(wxMenuItem::GetLabelFromText(title2) == label) )
{
// found
- return (int)i;
+ return (int)i;
}
}