1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-03 17:39:25 +02:00

Declare pointers to WaveTrack sub-views, with stub methods for now

This commit is contained in:
Paul Licameli 2019-07-06 00:36:26 -04:00
parent 28dcf45bbe
commit d36ce45381
6 changed files with 173 additions and 0 deletions

View File

@ -0,0 +1,13 @@
/**********************************************************************
Audacity: A Digital Audio Editor
SpectrumView.cpp
Paul Licameli split from WaveTrackView.cpp
**********************************************************************/
#include "SpectrumView.h"
SpectrumView::~SpectrumView() = default;

View File

@ -0,0 +1,43 @@
/**********************************************************************
Audacity: A Digital Audio Editor
SpectrumView.h
Paul Licameli split from WaveTrackView.h
**********************************************************************/
#ifndef __AUDACITY_SPECTRUM_VIEW__
#define __AUDACITY_SPECTRUM_VIEW__
#include "../../../ui/CommonTrackView.h" // to inherit
class SpectrumView final : public CommonTrackView
{
SpectrumView( const SpectrumView& ) = delete;
SpectrumView &operator=( const SpectrumView& ) = delete;
public:
using CommonTrackView::CommonTrackView;
~SpectrumView() override;
std::shared_ptr<TrackVRulerControls> DoGetVRulerControls() override;
private:
// TrackPanelDrawable implementation
void Draw(
TrackPanelDrawingContext &context,
const wxRect &rect, unsigned iPass ) override;
std::vector<UIHandlePtr> DetailedHitTest(
const TrackPanelMouseState &state,
const AudacityProject *pProject, int currentTool, bool bMultiTool )
override;
protected:
void DoSetMinimized( bool minimized ) override;
};
#endif

View File

@ -21,6 +21,9 @@ Paul Licameli split from TrackPanel.cpp
#include "WaveTrackControls.h"
#include "WaveTrackVRulerControls.h"
#include "SpectrumView.h"
#include "WaveformView.h"
#include "../../../../AColor.h"
#include "../../../../Envelope.h"
#include "../../../../EnvelopeEditor.h"
@ -43,6 +46,8 @@ Paul Licameli split from TrackPanel.cpp
WaveTrackView::WaveTrackView( const std::shared_ptr<Track> &pTrack )
: CommonTrackView{ pTrack }
, mWaveformView{ std::make_shared< WaveformView >( pTrack ) }
, mSpectrumView{ std::make_shared< SpectrumView >( pTrack ) }
{
DoSetHeight( WaveTrackControls::DefaultWaveTrackHeight() );
}
@ -51,6 +56,13 @@ WaveTrackView::~WaveTrackView()
{
}
std::vector<UIHandlePtr> SpectrumView::DetailedHitTest(
const TrackPanelMouseState &state,
const AudacityProject *pProject, int currentTool, bool bMultiTool )
{
return {};
}
std::vector<UIHandlePtr> WaveTrackView::DetailedHitTest
(const TrackPanelMouseState &st,
const AudacityProject *pProject, int currentTool, bool bMultiTool)
@ -130,6 +142,21 @@ std::vector<UIHandlePtr> WaveTrackView::DetailedHitTest
return results;
}
std::vector<UIHandlePtr> WaveformView::DetailedHitTest(
const TrackPanelMouseState &state,
const AudacityProject *pProject, int currentTool, bool bMultiTool )
{
return {};
}
void SpectrumView::DoSetMinimized( bool minimized )
{
}
void WaveformView::DoSetMinimized( bool minimized )
{
}
void WaveTrackView::DoSetMinimized( bool minimized )
{
auto wt = static_cast<WaveTrack*>( FindTrack().get() );
@ -175,6 +202,16 @@ template<> template<> auto DoGetWaveTrackView::Implementation() -> Function {
}
static DoGetWaveTrackView registerDoGetWaveTrackView;
std::shared_ptr<TrackVRulerControls> WaveformView::DoGetVRulerControls()
{
return {};
}
std::shared_ptr<TrackVRulerControls> SpectrumView::DoGetVRulerControls()
{
return {};
}
std::shared_ptr<TrackVRulerControls> WaveTrackView::DoGetVRulerControls()
{
return
@ -1843,6 +1880,25 @@ void DrawSpectrum( TrackPanelDrawingContext &context,
}
void WaveTrackView::Reparent( const std::shared_ptr<Track> &parent )
{
CommonTrackView::Reparent( parent );
if ( mWaveformView )
mWaveformView->Reparent( parent );
if ( mSpectrumView )
mSpectrumView->Reparent( parent );
}
void WaveformView::Draw(
TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass )
{
}
void SpectrumView::Draw(
TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass )
{
}
void WaveTrackView::Draw(
TrackPanelDrawingContext &context,
const wxRect &rect, unsigned iPass )

View File

@ -30,6 +30,9 @@ public:
std::shared_ptr<TrackVRulerControls> DoGetVRulerControls() override;
// CommonTrackView implementation
void Reparent( const std::shared_ptr<Track> &parent ) override;
private:
// TrackPanelDrawable implementation
void Draw(
@ -47,6 +50,8 @@ private:
protected:
void DoSetMinimized( bool minimized ) override;
std::shared_ptr< CommonTrackView > mWaveformView, mSpectrumView;
};
#endif

View File

@ -0,0 +1,13 @@
/**********************************************************************
Audacity: A Digital Audio Editor
WaveformView.cpp
Paul Licameli split from WaveTrackView.cpp
**********************************************************************/
#include "WaveformView.h"
WaveformView::~WaveformView() = default;

View File

@ -0,0 +1,43 @@
/**********************************************************************
Audacity: A Digital Audio Editor
WaveformView.h
Paul Licameli split from WaveTrackView.h
**********************************************************************/
#ifndef __AUDACITY_WAVEFORM_VIEW__
#define __AUDACITY_WAVEFORM_VIEW__
#include "../../../ui/CommonTrackView.h" // to inherit
class WaveformView final : public CommonTrackView
{
WaveformView( const WaveformView& ) = delete;
WaveformView &operator=( const WaveformView& ) = delete;
public:
using CommonTrackView::CommonTrackView;
~WaveformView() override;
std::shared_ptr<TrackVRulerControls> DoGetVRulerControls() override;
private:
// TrackPanelDrawable implementation
void Draw(
TrackPanelDrawingContext &context,
const wxRect &rect, unsigned iPass ) override;
std::vector<UIHandlePtr> DetailedHitTest(
const TrackPanelMouseState &state,
const AudacityProject *pProject, int currentTool, bool bMultiTool )
override;
protected:
void DoSetMinimized( bool minimized ) override;
};
#endif