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:
@@ -2374,6 +2374,11 @@ protected:
|
||||
@event{EVT_RICHTEXT_CHARACTER(id, func)}
|
||||
Process a @c wxEVT_RICHTEXT_CHARACTER event, generated when the user
|
||||
presses a character key. Valid event functions: GetFlags, GetPosition, GetCharacter.
|
||||
@event{EVT_RICHTEXT_CONSUMING_CHARACTER(id, func)}
|
||||
Process a @c wxEVT_RICHTEXT_CONSUMING_CHARACTER event, generated when the user
|
||||
presses a character key but before it is processed and inserted into the control.
|
||||
Call Veto to prevent normal processing. Valid event functions: GetFlags, GetPosition,
|
||||
GetCharacter, Veto.
|
||||
@event{EVT_RICHTEXT_DELETE(id, func)}
|
||||
Process a @c wxEVT_RICHTEXT_DELETE event, generated when the user
|
||||
presses the backspace or delete key. Valid event functions: GetFlags, GetPosition.
|
||||
@@ -2563,6 +2568,7 @@ wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_RICHTEXT_MIDDLE_CLICK, wxR
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_RICHTEXT_LEFT_DCLICK, wxRichTextEvent );
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_RICHTEXT_RETURN, wxRichTextEvent );
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_RICHTEXT_CHARACTER, wxRichTextEvent );
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_RICHTEXT_CONSUMING_CHARACTER, wxRichTextEvent );
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_RICHTEXT_DELETE, wxRichTextEvent );
|
||||
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_RICHTEXT_STYLESHEET_CHANGING, wxRichTextEvent );
|
||||
@@ -2589,6 +2595,7 @@ typedef void (wxEvtHandler::*wxRichTextEventFunction)(wxRichTextEvent&);
|
||||
#define EVT_RICHTEXT_LEFT_DCLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_RICHTEXT_LEFT_DCLICK, id, -1, wxRichTextEventHandler( fn ), NULL ),
|
||||
#define EVT_RICHTEXT_RETURN(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_RICHTEXT_RETURN, id, -1, wxRichTextEventHandler( fn ), NULL ),
|
||||
#define EVT_RICHTEXT_CHARACTER(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_RICHTEXT_CHARACTER, id, -1, wxRichTextEventHandler( fn ), NULL ),
|
||||
#define EVT_RICHTEXT_CONSUMING_CHARACTER(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_RICHTEXT_CONSUMING_CHARACTER, id, -1, wxRichTextEventHandler( fn ), NULL ),
|
||||
#define EVT_RICHTEXT_DELETE(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_RICHTEXT_DELETE, id, -1, wxRichTextEventHandler( fn ), NULL ),
|
||||
|
||||
#define EVT_RICHTEXT_STYLESHEET_CHANGING(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_RICHTEXT_STYLESHEET_CHANGING, id, -1, wxRichTextEventHandler( fn ), NULL ),
|
||||
|
@@ -2234,6 +2234,11 @@ protected:
|
||||
@event{EVT_RICHTEXT_CHARACTER(id, func)}
|
||||
Process a @c wxEVT_RICHTEXT_CHARACTER event, generated when the user
|
||||
presses a character key. Valid event functions: GetFlags, GetPosition, GetCharacter.
|
||||
@event{EVT_RICHTEXT_CONSUMING_CHARACTER(id, func)}
|
||||
Process a @c wxEVT_RICHTEXT_CONSUMING_CHARACTER event, generated when the user
|
||||
presses a character key but before it is processed and inserted into the control.
|
||||
Call Veto to prevent normal processing. Valid event functions: GetFlags, GetPosition,
|
||||
GetCharacter, Veto.
|
||||
@event{EVT_RICHTEXT_DELETE(id, func)}
|
||||
Process a @c wxEVT_RICHTEXT_DELETE event, generated when the user
|
||||
presses the backspace or delete key. Valid event functions: GetFlags, GetPosition.
|
||||
@@ -2413,6 +2418,7 @@ wxEventType wxEVT_RICHTEXT_MIDDLE_CLICK;
|
||||
wxEventType wxEVT_RICHTEXT_LEFT_DCLICK;
|
||||
wxEventType wxEVT_RICHTEXT_RETURN;
|
||||
wxEventType wxEVT_RICHTEXT_CHARACTER;
|
||||
wxEventType wxEVT_RICHTEXT_CONSUMING_CHARACTER;
|
||||
wxEventType wxEVT_RICHTEXT_DELETE;
|
||||
|
||||
wxEventType wxEVT_RICHTEXT_STYLESHEET_CHANGING;
|
||||
|
@@ -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());
|
||||
|
Reference in New Issue
Block a user