+ // Check if we have reached the max # of chars (if it is set), but still
+ // allow navigation and deletion
+ 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) ) &&
+ from == to )
+ {
+ // eat it, we don't want to add more than allowed # of characters