Let the menubar see a menu's keyboard events, and reset menus on dismiss.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -482,6 +482,8 @@ void wxPopupMenuWindow::Dismiss()
|
|||||||
}
|
}
|
||||||
|
|
||||||
wxPopupTransientWindow::Dismiss();
|
wxPopupTransientWindow::Dismiss();
|
||||||
|
|
||||||
|
ResetCurrent();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxPopupMenuWindow::OnDismiss()
|
void wxPopupMenuWindow::OnDismiss()
|
||||||
@@ -491,19 +493,13 @@ void wxPopupMenuWindow::OnDismiss()
|
|||||||
HandleDismiss(true);
|
HandleDismiss(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxPopupMenuWindow::OnSubmenuDismiss(bool dismissParent)
|
void wxPopupMenuWindow::OnSubmenuDismiss(bool WXUNUSED(dismissParent))
|
||||||
{
|
{
|
||||||
m_hasOpenSubMenu = false;
|
m_hasOpenSubMenu = false;
|
||||||
|
|
||||||
// we are closing whole menu so remove current highlight
|
|
||||||
if ( dismissParent )
|
|
||||||
ResetCurrent();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxPopupMenuWindow::HandleDismiss(bool dismissParent)
|
void wxPopupMenuWindow::HandleDismiss(bool dismissParent)
|
||||||
{
|
{
|
||||||
ResetCurrent();
|
|
||||||
|
|
||||||
m_menu->OnDismiss(dismissParent);
|
m_menu->OnDismiss(dismissParent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -875,7 +871,13 @@ void wxPopupMenuWindow::OnMouseLeave(wxMouseEvent& event)
|
|||||||
|
|
||||||
void wxPopupMenuWindow::OnKeyDown(wxKeyEvent& event)
|
void wxPopupMenuWindow::OnKeyDown(wxKeyEvent& event)
|
||||||
{
|
{
|
||||||
if ( !ProcessKeyDown(event.GetKeyCode()) )
|
wxMenuBar *menubar = m_menu->GetMenuBar();
|
||||||
|
|
||||||
|
if ( menubar )
|
||||||
|
{
|
||||||
|
menubar->ProcessEvent(event);
|
||||||
|
}
|
||||||
|
else if ( !ProcessKeyDown(event.GetKeyCode()) )
|
||||||
{
|
{
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user