11#ifndef __AUDACITY_TRACK_PANEL_ACCESSIBILITY__
12#define __AUDACITY_TRACK_PANEL_ACCESSIBILITY__
23#if wxUSE_ACCESSIBILITY
38#if wxUSE_ACCESSIBILITY
55 std::shared_ptr<Track>
SetFocus( std::shared_ptr<Track> track = {} );
65#if wxUSE_ACCESSIBILITY
68 wxAccStatus GetChild(
int childId, wxAccessible** child)
override;
71 wxAccStatus GetChildCount(
int* childCount)
override;
79 wxAccStatus GetDefaultAction(
int childId, wxString *actionName)
override;
82 wxAccStatus GetDescription(
int childId, wxString *description)
override;
88 wxAccStatus
GetFocus(
int *childId, wxAccessible **child)
override;
91 wxAccStatus GetHelpText(
int childId, wxString *helpText)
override;
95 wxAccStatus GetKeyboardShortcut(
int childId, wxString *shortcut)
override;
99 wxAccStatus GetLocation(wxRect& rect,
int elementId)
override;
102 wxAccStatus GetName(
int childId, wxString *
name)
override;
105 wxAccStatus GetRole(
int childId, wxAccRole *role)
override;
115 wxAccStatus GetSelections(wxVariant *selections)
override;
118 wxAccStatus GetState(
int childId,
long* state)
override;
122 wxAccStatus GetValue(
int childId, wxString* strValue)
override;
125 wxAccStatus Navigate(wxNavDir navDir,
int fromId,
int* toId, wxAccessible** toObject)
override;
128 wxAccStatus Select(
int childId, wxAccSelectionFlags selectFlags)
override;
137 int TrackNum(
const std::shared_ptr<Track> &track );
138 std::shared_ptr<Track>
FindTrack(
int num );
142#if !wxUSE_ACCESSIBILITY
161 ,
public std::enable_shared_from_this<TrackFocus>
180 void Set(
Track *pTrack );
185 bool IsFocused(
const Track *pTrack );
187 void SetAccessible( wxWindow &owner,
188 std::unique_ptr< TrackPanelAx > pAccessible );
192 void UpdateAccessibility();
199#if wxUSE_ACCESSIBILITY
202 std::unique_ptr<TrackPanelAx>
mAx;
Utility ClientData::Site to register hooks into a host class that attach client data.
const TranslatableString name
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
An object that sends messages to an open-ended list of subscribed callbacks.
TrackFocus & operator=(const TrackFocus &) PROHIBITED
TrackFocus(const TrackFocus &) PROHIBITED
std::unique_ptr< TrackPanelAx > mAx
AudacityProject & mProject
Abstract base class for an object holding data associated with points on a time axis.
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
Helper to TrackPanel to give accessibility.
TrackPanelAx(AudacityProject &project)
std::weak_ptr< Track > mFocusedTrack
void MessageForScreenReader(const TranslatableString &message)
std::shared_ptr< Track > GetFocus()
void SetWindow(wxWindow *window)
AudacityProject & mProject
void SetFinder(const RectangleFinder &finder)
int TrackNum(const std::shared_ptr< Track > &track)
std::shared_ptr< Track > SetFocus(std::shared_ptr< Track > track={})
bool IsFocused(const Track *track)
std::shared_ptr< Track > FindTrack(int num)
wxWindow * GetWindow() const
std::function< wxRect(Track &) > RectangleFinder
Holds a msgid for the translation catalog; may also bind format arguments.
An alternative to using wxWindowAccessible, which in wxWidgets 3.1.1 contained GetParent() which was ...
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
A convenient default parameter for class template Site.