audacia/src/widgets/wxPanelWrapper.cpp

85 lines
1.8 KiB
C++

//
// wxPanelWrapper.cpp
// Audacity
//
// Created by Paul Licameli on 6/25/16.
//
//
#include "wxPanelWrapper.h"
#include <wx/grid.h>
void wxTabTraversalWrapperCharHook(wxKeyEvent &event)
{
//#ifdef __WXMAC__
#if defined(__WXMAC__) || defined(__WXGTK__)
// Compensate for the regressions in TAB key navigation
// due to the switch to wxWidgets 3.0.2
if (event.GetKeyCode() == WXK_TAB) {
auto focus = wxWindow::FindFocus();
if (dynamic_cast<wxGrid*>(focus)
|| (focus &&
focus->GetParent() &&
dynamic_cast<wxGrid*>(focus->GetParent()->GetParent()))) {
// Let wxGrid do its own TAB key handling
event.Skip();
return;
}
// Apparently, on wxGTK, FindFocus can return NULL
if (focus)
{
focus->Navigate(
event.ShiftDown()
? wxNavigationKeyEvent::IsBackward
: wxNavigationKeyEvent::IsForward
);
return;
}
}
#endif
event.Skip();
}
void wxPanelWrapper::SetLabel(const TranslatableString & label)
{
wxPanel::SetLabel( label.Translation() );
}
void wxPanelWrapper::SetName(const TranslatableString & name)
{
wxPanel::SetName( name.Translation() );
}
void wxPanelWrapper::SetToolTip(const TranslatableString &toolTip)
{
wxPanel::SetToolTip( toolTip.Stripped().Translation() );
}
void wxPanelWrapper::SetName()
{
wxPanel::SetName( GetLabel() );
}
void wxDialogWrapper::SetTitle(const TranslatableString & title)
{
wxDialog::SetTitle( title.Translation() );
}
void wxDialogWrapper::SetLabel(const TranslatableString & label)
{
wxDialog::SetLabel( label.Translation() );
}
void wxDialogWrapper::SetName(const TranslatableString & name)
{
wxDialog::SetName( name.Translation() );
}
void wxDialogWrapper::SetName()
{
wxDialog::SetName( wxDialog::GetTitle() );
}