Audacity 3.2.0
TrackControls.h
Go to the documentation of this file.
1/**********************************************************************
2
3Audacity: A Digital Audio Editor
4
5TrackControls.h
6
7Paul Licameli split from TrackPanel.cpp
8
9**********************************************************************/
10
11#ifndef __AUDACITY_TRACK_CONTROLS__
12#define __AUDACITY_TRACK_CONTROLS__
13
15
16class Track;
17
18class AUDACITY_DLL_API TrackControls /* not final */ : public CommonTrackCell
19 , public std::enable_shared_from_this< TrackControls >
20{
21public:
22 static TrackControls &Get( Track &track );
23 static const TrackControls &Get( const Track &track );
24
25 explicit
26 TrackControls( std::shared_ptr<Track> pTrack );
27
28 virtual ~TrackControls() = 0;
29};
30
32
33struct DoGetControlsTag;
34
37 DoGetControlsTag,
38 std::shared_ptr< TrackControls >,
39 Track
40>;
42
43#endif
Utility for non-intrusive definition of a new method on a base class.
DECLARE_EXPORTED_ATTACHED_VIRTUAL(AUDACITY_DLL_API, DoGetControls)
Class template generates single-dispatch, open method registry tables.
Abstract base class for an object holding data associated with points on a time axis.
Definition: Track.h:226
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
Definition: BasicUI.cpp:196