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:
parent
059d7eaa42
commit
e77799d62c
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user