From a53e69beb0a1a97aee5e136b71093339319326b7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 5 Dec 2020 14:42:56 +0100 Subject: [PATCH] Allow expanding/collapsing items from keyboard in generic wxDVC Add the usual handlers for '-', '+' and '*' keys. The last one is especially convenient, as it does something that couldn't be easily done at all interactively before. --- src/generic/datavgen.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index d2c5a03a75..2e47cfbae8 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -4612,7 +4612,27 @@ void wxDataViewMainWindow::OnChar( wxKeyEvent &event ) case WXK_DOWN: OnVerticalNavigation(event, +1); break; - // Add the process for tree expanding/collapsing + + case '+': + case WXK_ADD: + Expand(m_currentRow); + break; + + case '*': + case WXK_MULTIPLY: + if ( !IsExpanded(m_currentRow) ) + { + Expand(m_currentRow, true /* recursively */); + break; + } + //else: fall through to Collapse() + wxFALLTHROUGH; + + case '-': + case WXK_SUBTRACT: + Collapse(m_currentRow); + break; + case WXK_LEFT: OnLeftKey(event); break;