Added wxEVT_RICHTEXT_CONSUMING_CHARACTER event to allow interception of character events

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2013-10-21 16:01:17 +00:00
parent 6539f8630e
commit 4068836657
3 changed files with 31 additions and 0 deletions

View File

@@ -54,6 +54,7 @@ wxDEFINE_EVENT( wxEVT_RICHTEXT_RIGHT_CLICK, wxRichTextEvent );
wxDEFINE_EVENT( wxEVT_RICHTEXT_LEFT_DCLICK, wxRichTextEvent );
wxDEFINE_EVENT( wxEVT_RICHTEXT_RETURN, wxRichTextEvent );
wxDEFINE_EVENT( wxEVT_RICHTEXT_CHARACTER, wxRichTextEvent );
wxDEFINE_EVENT( wxEVT_RICHTEXT_CONSUMING_CHARACTER, wxRichTextEvent );
wxDEFINE_EVENT( wxEVT_RICHTEXT_DELETE, wxRichTextEvent );
wxDEFINE_EVENT( wxEVT_RICHTEXT_STYLESHEET_REPLACING, wxRichTextEvent );
@@ -1321,6 +1322,23 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
return;
}
wxRichTextEvent cmdEvent1(
wxEVT_RICHTEXT_CONSUMING_CHARACTER,
GetId());
cmdEvent1.SetEventObject(this);
cmdEvent1.SetFlags(flags);
#if wxUSE_UNICODE
cmdEvent1.SetCharacter(event.GetUnicodeKey());
#else
cmdEvent1.SetCharacter((wxChar) keycode);
#endif
cmdEvent1.SetPosition(m_caretPosition+1);
cmdEvent1.SetContainer(GetFocusObject());
if (GetEventHandler()->ProcessEvent(cmdEvent1) && !cmdEvent1.IsAllowed())
{
return;
}
wxRichTextEvent cmdEvent(
wxEVT_RICHTEXT_CHARACTER,
GetId());