Audacity  3.0.3
TrackControls.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3 Audacity: A Digital Audio Editor
4 
5 TrackControls.h
6 
7 Paul Licameli split from TrackPanel.cpp
8 
9 **********************************************************************/
10 
11 #ifndef __AUDACITY_TRACK_CONTROLS__
12 #define __AUDACITY_TRACK_CONTROLS__
13 
14 #include "CommonTrackPanelCell.h"
15 
16 class Track;
17 
18 class AUDACITY_DLL_API TrackControls /* not final */ : public CommonTrackCell
19  , public std::enable_shared_from_this< TrackControls >
20 {
21 public:
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 
31 #include "../../AttachedVirtualFunction.h"
32 
33 struct DoGetControlsTag;
34 
37  DoGetControlsTag,
38  std::shared_ptr< TrackControls >,
39  Track
40 >;
41 
42 #endif
AttachedVirtualFunction
Class template generates single-dispatch, open method registry tables.
Definition: AttachedVirtualFunction.h:161
CommonTrackPanelCell.h
BasicUI::Get
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
Definition: BasicUI.cpp:26
Track
Abstract base class for an object holding data associated with points on a time axis.
Definition: Track.h:239
TrackControls
Definition: TrackControls.h:20
CommonTrackCell
Definition: CommonTrackPanelCell.h:59