diff --git a/include/wx/qt/treectrl.h b/include/wx/qt/treectrl.h index 77c49072a8..6f349790da 100644 --- a/include/wx/qt/treectrl.h +++ b/include/wx/qt/treectrl.h @@ -137,6 +137,9 @@ protected: virtual void OnImagesChanged() override; + // For wxEVT_TREE_KEY_DOWN generation + void OnKeyDown(wxKeyEvent &event); + private: void SendDeleteEvent(const wxTreeItemId &item); wxTreeItemId GetNext(const wxTreeItemId &item) const; diff --git a/src/qt/treectrl.cpp b/src/qt/treectrl.cpp index 5b6fe397d0..f6f0790045 100644 --- a/src/qt/treectrl.cpp +++ b/src/qt/treectrl.cpp @@ -578,6 +578,8 @@ bool wxTreeCtrl::Create(wxWindow *parent, wxWindowID id, SetWindowStyleFlag(style); + Bind(wxEVT_KEY_DOWN, &wxTreeCtrl::OnKeyDown, this); + return QtCreateControl(parent, id, pos, size, style, validator, name); } @@ -1420,3 +1422,14 @@ wxTreeItemId wxTreeCtrl::GetNext(const wxTreeItemId &item) const } while ( p.IsOk() && !toFind.IsOk() ); return toFind; } + +void wxTreeCtrl::OnKeyDown(wxKeyEvent& event) +{ + // send a tree event + wxTreeEvent te( wxEVT_TREE_KEY_DOWN, this); + te.m_evtKey = event; + if ( GetEventHandler()->ProcessEvent( te ) ) + return; + + event.Skip(); +}