11#ifndef __AUDACITY_TRACK_PANEL_ACCESSIBILITY__
12#define __AUDACITY_TRACK_PANEL_ACCESSIBILITY__
21#if wxUSE_ACCESSIBILITY
36#if wxUSE_ACCESSIBILITY
53 std::shared_ptr<Track>
SetFocus( std::shared_ptr<Track> track = {} );
63#if wxUSE_ACCESSIBILITY
66 wxAccStatus GetChild(
int childId, wxAccessible** child)
override;
69 wxAccStatus GetChildCount(
int* childCount)
override;
77 wxAccStatus GetDefaultAction(
int childId, wxString *actionName)
override;
80 wxAccStatus GetDescription(
int childId, wxString *description)
override;
86 wxAccStatus
GetFocus(
int *childId, wxAccessible **child)
override;
89 wxAccStatus GetHelpText(
int childId, wxString *helpText)
override;
93 wxAccStatus GetKeyboardShortcut(
int childId, wxString *shortcut)
override;
97 wxAccStatus GetLocation(wxRect& rect,
int elementId)
override;
100 wxAccStatus GetName(
int childId, wxString *
name)
override;
103 wxAccStatus GetRole(
int childId, wxAccRole *role)
override;
113 wxAccStatus GetSelections(wxVariant *selections)
override;
116 wxAccStatus GetState(
int childId,
long* state)
override;
120 wxAccStatus GetValue(
int childId, wxString* strValue)
override;
123 wxAccStatus Navigate(wxNavDir navDir,
int fromId,
int* toId, wxAccessible** toObject)
override;
126 wxAccStatus Select(
int childId, wxAccSelectionFlags selectFlags)
override;
135 int TrackNum(
const std::shared_ptr<Track> &track );
136 std::shared_ptr<Track>
FindTrack(
int num );
140#if !wxUSE_ACCESSIBILITY
159 ,
public std::enable_shared_from_this<TrackFocus>
178 void Set(
Track *pTrack );
183 bool IsFocused(
const Track *pTrack );
185 void SetAccessible( wxWindow &owner,
186 std::unique_ptr< TrackPanelAx > pAccessible );
190 void UpdateAccessibility();
197#if wxUSE_ACCESSIBILITY
200 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.