1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-21 22:12:58 +02:00

Break cycle: TrackPanelResizerCell, TrackPanelResizeHandle, TrackView

This commit is contained in:
Paul Licameli
2019-07-09 14:45:42 -04:00
parent 586eb0d4cb
commit db16150366
6 changed files with 43 additions and 35 deletions

View File

@@ -12,7 +12,6 @@ Paul Licameli split from TrackPanel.cpp
#include "../../Track.h"
#include "TrackControls.h"
#include "../../TrackPanelResizerCell.h"
#include "../../ClientData.h"
#include "../../Project.h"
@@ -135,20 +134,6 @@ std::shared_ptr<const TrackVRulerControls> TrackView::GetVRulerControls() const
return const_cast< TrackView* >( this )->GetVRulerControls();
}
#include "../../TrackPanelResizeHandle.h"
std::shared_ptr<TrackPanelCell> TrackView::GetResizer()
{
if (!mpResizer)
// create on demand
mpResizer = std::make_shared<TrackPanelResizerCell>( shared_from_this() );
return mpResizer;
}
std::shared_ptr<const TrackPanelCell> TrackView::GetResizer() const
{
return const_cast<TrackView*>(this)->GetResizer();
}
void TrackView::DoSetY(int y)
{
mY = y;

View File

@@ -63,11 +63,6 @@ public:
std::shared_ptr<const TrackVRulerControls> GetVRulerControls() const;
// Return another, associated TrackPanelCell object that implements the
// click and drag to resize
std::shared_ptr<TrackPanelCell> GetResizer();
std::shared_ptr<const TrackPanelCell> GetResizer() const;
void WriteXMLAttributes( XMLWriter & ) const override;
bool HandleXMLAttribute( const wxChar *attr, const wxChar *value ) override;
@@ -92,7 +87,6 @@ protected:
virtual std::shared_ptr<TrackVRulerControls> DoGetVRulerControls() = 0;
std::shared_ptr<TrackVRulerControls> mpVRulerControls;
std::shared_ptr<TrackPanelResizerCell> mpResizer;
private:
bool mMinimized{ false };