Handle WXK_NUMPAD_ENTER correctly in wxOSX wxTextCtrl.

Basically just do the same thing for it as for WXK_RETURN.

See #16415.
This commit is contained in:
John Roberts
2015-07-18 01:02:00 +02:00
committed by Vadim Zeitlin
parent 896e148da5
commit a79a2c0c8a

View File

@@ -366,8 +366,10 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
bool eat_key = false ;
long from, to;
if ( !IsEditable() && !event.IsKeyInCategory(WXK_CATEGORY_ARROW | WXK_CATEGORY_TAB) &&
!( key == WXK_RETURN && ( (m_windowStyle & wxTE_PROCESS_ENTER) || (m_windowStyle & wxTE_MULTILINE) ) )
if ( !IsEditable() &&
!event.IsKeyInCategory(WXK_CATEGORY_ARROW | WXK_CATEGORY_TAB) &&
!( (key == WXK_RETURN || key == WXK_NUMPAD_ENTER) &&
( (m_windowStyle & wxTE_PROCESS_ENTER) || (m_windowStyle & wxTE_MULTILINE) ) )
// && key != WXK_PAGEUP && key != WXK_PAGEDOWN && key != WXK_HOME && key != WXK_END
)
{
@@ -382,7 +384,8 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
GetSelection( &from, &to );
if ( !IsMultiLine() && m_maxLength && GetValue().length() >= m_maxLength &&
!event.IsKeyInCategory(WXK_CATEGORY_ARROW | WXK_CATEGORY_TAB | WXK_CATEGORY_CUT) &&
!( key == WXK_RETURN && (m_windowStyle & wxTE_PROCESS_ENTER) ) &&
!( (key == WXK_RETURN || key == WXK_NUMPAD_ENTER) &&
(m_windowStyle & wxTE_PROCESS_ENTER) ) &&
from == to )
{
// eat it, we don't want to add more than allowed # of characters
@@ -398,6 +401,7 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
switch ( key )
{
case WXK_RETURN:
case WXK_NUMPAD_ENTER:
if (m_windowStyle & wxTE_PROCESS_ENTER)
{
wxCommandEvent event(wxEVT_TEXT_ENTER, m_windowId);
@@ -466,6 +470,7 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
( key >= WXK_NUMPAD0 && key <= WXK_DIVIDE ) ||
key == WXK_RETURN ||
key == WXK_DELETE ||
key == WXK_NUMPAD_ENTER ||
key == WXK_BACK)
{
wxCommandEvent event1(wxEVT_TEXT, m_windowId);