Audacity  3.0.3
Classes | Functions
wxPanelWrapper.h File Reference
#include <memory>
#include <wx/panel.h>
#include <wx/dialog.h>
#include "Internat.h"
#include "Identifier.h"
#include <wx/dirdlg.h>
#include "FileDialog/FileDialog.h"
#include "FileNames.h"
#include <wx/msgdlg.h>
Include dependency graph for wxPanelWrapper.h:

Go to the source code of this file.

Classes

class  wxTabTraversalWrapper< Base >
 
class  wxPanelWrapper
 
class  wxDialogWrapper
 
class  wxDirDialogWrapper
 
class  FileDialogWrapper
 
class  AudacityMessageDialog
 Wrap wxMessageDialog so that caption IS translatable. More...
 

Functions

AUDACITY_DLL_API void wxTabTraversalWrapperCharHook (wxKeyEvent &event)
 

Function Documentation

◆ wxTabTraversalWrapperCharHook()

AUDACITY_DLL_API void wxTabTraversalWrapperCharHook ( wxKeyEvent &  event)

Definition at line 14 of file wxPanelWrapper.cpp.

15 {
16 //#ifdef __WXMAC__
17 #if defined(__WXMAC__) || defined(__WXGTK__)
18  // Compensate for the regressions in TAB key navigation
19  // due to the switch to wxWidgets 3.0.2
20  if (event.GetKeyCode() == WXK_TAB) {
21  auto focus = wxWindow::FindFocus();
22  if (dynamic_cast<wxGrid*>(focus)
23  || (focus &&
24  focus->GetParent() &&
25  dynamic_cast<wxGrid*>(focus->GetParent()->GetParent()))) {
26  // Let wxGrid do its own TAB key handling
27  event.Skip();
28  return;
29  }
30  // Apparently, on wxGTK, FindFocus can return NULL
31  if (focus)
32  {
33  focus->Navigate(
34  event.ShiftDown()
35  ? wxNavigationKeyEvent::IsBackward
36  : wxNavigationKeyEvent::IsForward
37  );
38  return;
39  }
40  }
41 #endif
42 
43  event.Skip();
44 }

Referenced by wxTabTraversalWrapper< wxPanel >::wxTabTraversalWrapper().

Here is the caller graph for this function: