Send generic wxTreeCtrl wxEVT_COMMAND_TREE_KEY_DOWN events from OnKeyDown rather than OnChar. This change means it sends events for the same keys as the wxMSW control. It also fixes the failing unit test.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Steve Lamerton 2010-09-22 10:06:39 +00:00
parent 92d9d10f80
commit 2a4a928df7
2 changed files with 9 additions and 4 deletions

View File

@ -211,6 +211,7 @@ public:
void OnPaint( wxPaintEvent &event );
void OnSetFocus( wxFocusEvent &event );
void OnKillFocus( wxFocusEvent &event );
void OnKeyDown( wxKeyEvent &event );
void OnChar( wxKeyEvent &event );
void OnMouse( wxMouseEvent &event );
void OnGetToolTip( wxTreeEvent &event );

View File

@ -902,6 +902,7 @@ BEGIN_EVENT_TABLE(wxGenericTreeCtrl, wxTreeCtrlBase)
EVT_PAINT (wxGenericTreeCtrl::OnPaint)
EVT_SIZE (wxGenericTreeCtrl::OnSize)
EVT_MOUSE_EVENTS (wxGenericTreeCtrl::OnMouse)
EVT_KEY_DOWN (wxGenericTreeCtrl::OnKeyDown)
EVT_CHAR (wxGenericTreeCtrl::OnChar)
EVT_SET_FOCUS (wxGenericTreeCtrl::OnSetFocus)
EVT_KILL_FOCUS (wxGenericTreeCtrl::OnKillFocus)
@ -3021,16 +3022,19 @@ void wxGenericTreeCtrl::OnKillFocus( wxFocusEvent &event )
event.Skip();
}
void wxGenericTreeCtrl::OnChar( wxKeyEvent &event )
void wxGenericTreeCtrl::OnKeyDown( wxKeyEvent &event )
{
// send a tree event
wxTreeEvent te( wxEVT_COMMAND_TREE_KEY_DOWN, this);
te.m_evtKey = event;
if ( GetEventHandler()->ProcessEvent( te ) )
{
// intercepted by the user code
return;
}
event.Skip();
}
void wxGenericTreeCtrl::OnChar( wxKeyEvent &event )
{
if ( (m_current == 0) || (m_key_current == 0) )
{
event.Skip();