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:
committed by
Vadim Zeitlin
parent
896e148da5
commit
a79a2c0c8a
@@ -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);
|
||||
|
Reference in New Issue
Block a user