1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-09 16:41:14 +02:00

Split out class CommonTrackView ...

... so base class TrackView can be used by TrackPanel to define its subdivision,
avoiding dependency on any special callbacks in CommonTrackView
This commit is contained in:
Paul Licameli 2019-06-18 10:09:41 -04:00
parent 059d7eaa42
commit e77799d62c
6 changed files with 16 additions and 10 deletions

View File

@ -13,7 +13,7 @@ Paul Licameli split from class LabelTrack
#include "../../ui/TrackView.h"
class LabelTrackView final : public TrackView
class LabelTrackView final : public CommonTrackView
{
LabelTrackView( const LabelTrackView& ) = delete;
LabelTrackView &operator=( const LabelTrackView& ) = delete;
@ -21,7 +21,7 @@ class LabelTrackView final : public TrackView
public:
explicit
LabelTrackView( const std::shared_ptr<Track> &pTrack )
: TrackView{ pTrack } {}
: CommonTrackView{ pTrack } {}
~LabelTrackView() override;
};

View File

@ -13,7 +13,7 @@ Paul Licameli split from class NoteTrack
#include "../../../ui/TrackView.h"
class NoteTrackView final : public TrackView
class NoteTrackView final : public CommonTrackView
{
NoteTrackView( const NoteTrackView& ) = delete;
NoteTrackView &operator=( const NoteTrackView& ) = delete;
@ -21,7 +21,7 @@ class NoteTrackView final : public TrackView
public:
explicit
NoteTrackView( const std::shared_ptr<Track> &pTrack )
: TrackView{ pTrack } {}
: CommonTrackView{ pTrack } {}
~NoteTrackView() override;
};

View File

@ -13,7 +13,7 @@ Paul Licameli split from class WaveTrack
#include "../../../ui/TrackView.h"
class WaveTrackView final : public TrackView
class WaveTrackView final : public CommonTrackView
{
WaveTrackView( const WaveTrackView& ) = delete;
WaveTrackView &operator=( const WaveTrackView& ) = delete;
@ -21,7 +21,7 @@ class WaveTrackView final : public TrackView
public:
explicit
WaveTrackView( const std::shared_ptr<Track> &pTrack )
: TrackView{ pTrack } {}
: CommonTrackView{ pTrack } {}
~WaveTrackView() override;
};

View File

@ -13,7 +13,7 @@ Paul Licameli split from class TimeTrack
#include "../../ui/TrackView.h"
class TimeTrackView final : public TrackView
class TimeTrackView final : public CommonTrackView
{
TimeTrackView( const TimeTrackView& ) = delete;
TimeTrackView &operator=( const TimeTrackView& ) = delete;
@ -21,7 +21,7 @@ class TimeTrackView final : public TrackView
public:
explicit
TimeTrackView( const std::shared_ptr<Track> &pTrack )
: TrackView{ pTrack } {}
: CommonTrackView{ pTrack } {}
~TimeTrackView() override;
};

View File

@ -34,7 +34,7 @@ const TrackView &TrackView::Get( const Track &track )
return *track.GetTrackView();
}
std::vector<UIHandlePtr> TrackView::HitTest
std::vector<UIHandlePtr> CommonTrackView::HitTest
(const TrackPanelMouseState &st,
const AudacityProject *pProject)
{
@ -100,7 +100,7 @@ std::shared_ptr<TrackPanelCell> Track::ContextMenuDelegate()
return TrackControls::Get( *this ).shared_from_this();
}
std::shared_ptr<TrackPanelCell> TrackView::ContextMenuDelegate()
std::shared_ptr<TrackPanelCell> CommonTrackView::ContextMenuDelegate()
{
return TrackControls::Get( *FindTrack() ).shared_from_this();
}

View File

@ -29,6 +29,12 @@ public:
static TrackView &Get( Track & );
static const TrackView &Get( const Track & );
};
class CommonTrackView /* not final */ : public TrackView
{
public:
using TrackView::TrackView;
std::vector<UIHandlePtr> HitTest
(const TrackPanelMouseState &, const AudacityProject *pProject)