Make objects attached to AudacityProject non-copyable...
... except for Tags; also some uses of final and explicit This caught a mistake in Scrubbing.cpp
This commit is contained in:
parent
6adb2abc98
commit
2a06b10884
|
@ -100,6 +100,8 @@ class PROFILE_DLL_API DirManager final
|
|||
|
||||
static std::shared_ptr< DirManager > Create();
|
||||
|
||||
DirManager( const DirManager & ) PROHIBITED;
|
||||
DirManager &operator=( const DirManager & ) PROHIBITED;
|
||||
virtual ~DirManager();
|
||||
|
||||
size_t NumBlockFiles() const { return mBlockFileHash.size(); }
|
||||
|
|
|
@ -62,7 +62,10 @@ public:
|
|||
static MenuManager &Get( AudacityProject &project );
|
||||
static const MenuManager &Get( const AudacityProject &project );
|
||||
|
||||
explicit
|
||||
MenuManager( AudacityProject &project );
|
||||
MenuManager( const MenuManager & ) PROHIBITED;
|
||||
MenuManager &operator=( const MenuManager & ) PROHIBITED;
|
||||
~MenuManager();
|
||||
|
||||
static void ModifyUndoMenuItems(AudacityProject &project);
|
||||
|
|
|
@ -26,6 +26,8 @@ public:
|
|||
static const ProjectAudioIO &Get( const AudacityProject &project );
|
||||
|
||||
explicit ProjectAudioIO( AudacityProject &project );
|
||||
ProjectAudioIO( const ProjectAudioIO & ) PROHIBITED;
|
||||
ProjectAudioIO &operator=( const ProjectAudioIO & ) PROHIBITED;
|
||||
~ProjectAudioIO();
|
||||
|
||||
int GetAudioIOToken() const;
|
||||
|
|
|
@ -29,6 +29,8 @@ public:
|
|||
explicit ProjectAudioManager( AudacityProject &project )
|
||||
: mProject{ project }
|
||||
{}
|
||||
ProjectAudioManager( const ProjectAudioManager & ) PROHIBITED;
|
||||
ProjectAudioManager &operator=( const ProjectAudioManager & ) PROHIBITED;
|
||||
~ProjectAudioManager() override;
|
||||
|
||||
bool IsTimerRecordCancelled() { return mTimerRecordCanceled; }
|
||||
|
|
|
@ -29,6 +29,8 @@ public:
|
|||
static const ProjectFileIO &Get( const AudacityProject &project );
|
||||
|
||||
explicit ProjectFileIO( AudacityProject &project );
|
||||
ProjectFileIO( const ProjectFileIO & ) PROHIBITED;
|
||||
ProjectFileIO &operator=( const ProjectFileIO & ) PROHIBITED;
|
||||
~ProjectFileIO();
|
||||
|
||||
bool WarnOfLegacyFile( );
|
||||
|
|
|
@ -38,6 +38,8 @@ public:
|
|||
static const ProjectFileManager &Get( const AudacityProject &project );
|
||||
|
||||
explicit ProjectFileManager( AudacityProject &project );
|
||||
ProjectFileManager( const ProjectFileManager & ) PROHIBITED;
|
||||
ProjectFileManager &operator=( const ProjectFileManager & ) PROHIBITED;
|
||||
~ProjectFileManager();
|
||||
|
||||
struct ReadProjectResults
|
||||
|
|
|
@ -27,6 +27,8 @@ public:
|
|||
explicit ProjectHistory( AudacityProject &project )
|
||||
: mProject{ project }
|
||||
{}
|
||||
ProjectHistory( const ProjectHistory & ) PROHIBITED;
|
||||
ProjectHistory &operator=( const ProjectHistory & ) PROHIBITED;
|
||||
~ProjectHistory() override;
|
||||
|
||||
void InitialState();
|
||||
|
|
|
@ -34,6 +34,8 @@ public:
|
|||
static const ProjectManager &Get( const AudacityProject &project );
|
||||
|
||||
explicit ProjectManager( AudacityProject &project );
|
||||
ProjectManager( const ProjectManager & ) PROHIBITED;
|
||||
ProjectManager &operator=( const ProjectManager & ) PROHIBITED;
|
||||
~ProjectManager() override;
|
||||
|
||||
// This is the factory for projects:
|
||||
|
|
|
@ -27,6 +27,9 @@ public:
|
|||
static const ProjectSelectionManager &Get( const AudacityProject &project );
|
||||
|
||||
explicit ProjectSelectionManager( AudacityProject &project );
|
||||
ProjectSelectionManager( const ProjectSelectionManager & ) PROHIBITED;
|
||||
ProjectSelectionManager &operator=(
|
||||
const ProjectSelectionManager & ) PROHIBITED;
|
||||
~ProjectSelectionManager() override;
|
||||
|
||||
// SelectionBarListener callback methods
|
||||
|
|
|
@ -60,7 +60,9 @@ public:
|
|||
ChangedSyncLock,
|
||||
};
|
||||
|
||||
ProjectSettings( AudacityProject &project );
|
||||
explicit ProjectSettings( AudacityProject &project );
|
||||
ProjectSettings( const ProjectSettings & ) PROHIBITED;
|
||||
ProjectSettings &operator=( const ProjectSettings & ) PROHIBITED;
|
||||
|
||||
sampleFormat GetDefaultFormat() const { return mDefaultFormat; }
|
||||
|
||||
|
|
|
@ -22,6 +22,10 @@ class SelectionState final
|
|||
: public ClientData::Base
|
||||
{
|
||||
public:
|
||||
SelectionState() = default;
|
||||
SelectionState( const SelectionState & ) PROHIBITED;
|
||||
SelectionState &operator=( const SelectionState & ) PROHIBITED;
|
||||
|
||||
static SelectionState &Get( AudacityProject &project );
|
||||
static const SelectionState &Get( const AudacityProject &project );
|
||||
|
||||
|
|
|
@ -1579,6 +1579,8 @@ class AUDACITY_DLL_API TrackFactory final
|
|||
, mZoomInfo(zoomInfo)
|
||||
{
|
||||
}
|
||||
TrackFactory( const TrackFactory & ) PROHIBITED;
|
||||
TrackFactory &operator=( const TrackFactory & ) PROHIBITED;
|
||||
|
||||
private:
|
||||
const std::shared_ptr<DirManager> mDirManager;
|
||||
|
|
|
@ -73,6 +73,10 @@ public:
|
|||
class AUDACITY_DLL_API TrackPanelCell /* not final */ : public TrackPanelNode
|
||||
{
|
||||
public:
|
||||
TrackPanelCell() = default;
|
||||
TrackPanelCell( const TrackPanelCell & ) PROHIBITED;
|
||||
TrackPanelCell &operator=( const TrackPanelCell & ) PROHIBITED;
|
||||
|
||||
virtual ~TrackPanelCell () = 0;
|
||||
|
||||
// May supply default cursor, status message, and tooltip, when there is no
|
||||
|
|
|
@ -108,13 +108,14 @@ inline UndoPush operator | (UndoPush a, UndoPush b)
|
|||
inline UndoPush operator & (UndoPush a, UndoPush b)
|
||||
{ return static_cast<UndoPush>(static_cast<int>(a) & static_cast<int>(b)); }
|
||||
|
||||
class AUDACITY_DLL_API UndoManager
|
||||
class AUDACITY_DLL_API UndoManager final
|
||||
: public ClientData::Base
|
||||
{
|
||||
public:
|
||||
static UndoManager &Get( AudacityProject &project );
|
||||
static const UndoManager &Get( const AudacityProject &project );
|
||||
|
||||
explicit
|
||||
UndoManager( AudacityProject &project );
|
||||
~UndoManager();
|
||||
|
||||
|
|
|
@ -96,6 +96,8 @@ public:
|
|||
static const ViewInfo &Get( const AudacityProject &project );
|
||||
|
||||
ViewInfo(double start, double screenDuration, double pixelsPerSecond);
|
||||
ViewInfo( const ViewInfo & ) PROHIBITED;
|
||||
ViewInfo &operator=( const ViewInfo & ) PROHIBITED;
|
||||
|
||||
int GetHeight() const { return mHeight; }
|
||||
void SetHeight( int height ) { mHeight = height; }
|
||||
|
|
|
@ -534,6 +534,8 @@ Handler()
|
|||
{
|
||||
UpdatePrefs();
|
||||
}
|
||||
Handler( const Handler & ) PROHIBITED;
|
||||
Handler &operator=( const Handler & ) PROHIBITED;
|
||||
|
||||
}; // struct Handler
|
||||
|
||||
|
|
|
@ -1005,6 +1005,8 @@ Handler()
|
|||
{
|
||||
UpdatePrefs();
|
||||
}
|
||||
Handler( const Handler & ) PROHIBITED;
|
||||
Handler &operator=( const Handler & ) PROHIBITED;
|
||||
|
||||
}; // struct Handler
|
||||
|
||||
|
|
|
@ -408,6 +408,8 @@ Handler( AudacityProject &project )
|
|||
{
|
||||
mProject.Unbind( EVT_UNDO_PUSHED, &Handler::OnUndoPushed, this );
|
||||
}
|
||||
Handler( const Handler & ) PROHIBITED;
|
||||
Handler &operator=( const Handler & ) PROHIBITED;
|
||||
|
||||
AudacityProject &mProject;
|
||||
|
||||
|
|
|
@ -58,6 +58,8 @@ class ToolManager final
|
|||
static const ToolManager &Get( const AudacityProject &project );
|
||||
|
||||
ToolManager( AudacityProject *parent, wxWindow *topDockParent );
|
||||
ToolManager( const ToolManager & ) PROHIBITED;
|
||||
ToolManager &operator=( const ToolManager & ) PROHIBITED;
|
||||
~ToolManager();
|
||||
|
||||
void LayoutToolBars();
|
||||
|
|
|
@ -30,6 +30,7 @@ public:
|
|||
static BackgroundCell &Get( AudacityProject &project );
|
||||
static const BackgroundCell &Get( const AudacityProject &project );
|
||||
|
||||
explicit
|
||||
BackgroundCell(AudacityProject *pProject)
|
||||
: mpProject(pProject)
|
||||
{}
|
||||
|
|
|
@ -22,6 +22,7 @@ class EditCursorOverlay final
|
|||
, public ClientData::Base
|
||||
{
|
||||
public:
|
||||
explicit
|
||||
EditCursorOverlay(AudacityProject *project, bool isMaster = true);
|
||||
|
||||
private:
|
||||
|
|
|
@ -50,6 +50,7 @@ protected:
|
|||
class PlayIndicatorOverlay final : public PlayIndicatorOverlayBase
|
||||
{
|
||||
public:
|
||||
explicit
|
||||
PlayIndicatorOverlay(AudacityProject *project);
|
||||
|
||||
private:
|
||||
|
|
|
@ -744,7 +744,7 @@ bool Scrubber::IsScrubbing() const
|
|||
{
|
||||
if (mScrubToken <= 0)
|
||||
return false;
|
||||
auto projectAudioIO = ProjectAudioIO::Get( *mProject );
|
||||
auto &projectAudioIO = ProjectAudioIO::Get( *mProject );
|
||||
if (mScrubToken == projectAudioIO.GetAudioIOToken() &&
|
||||
projectAudioIO.IsAudioActive())
|
||||
return true;
|
||||
|
|
|
@ -44,7 +44,10 @@ public:
|
|||
static Scrubber &Get( AudacityProject &project );
|
||||
static const Scrubber &Get( const AudacityProject &project );
|
||||
|
||||
explicit
|
||||
Scrubber(AudacityProject *project);
|
||||
Scrubber( const Scrubber & ) PROHIBITED;
|
||||
Scrubber &operator=( const Scrubber & ) PROHIBITED;
|
||||
~Scrubber();
|
||||
|
||||
static bool ShouldScrubPinned();
|
||||
|
@ -192,6 +195,7 @@ class ScrubbingOverlay final
|
|||
, public ClientData::Base
|
||||
{
|
||||
public:
|
||||
explicit
|
||||
ScrubbingOverlay(AudacityProject *project);
|
||||
|
||||
private:
|
||||
|
|
|
@ -166,7 +166,7 @@ namespace {
|
|||
|
||||
// Attach an object to each project. It receives track list events and updates
|
||||
// track Y coordinates
|
||||
struct TrackPositioner : ClientData::Base, wxEvtHandler
|
||||
struct TrackPositioner final : ClientData::Base, wxEvtHandler
|
||||
{
|
||||
AudacityProject &mProject;
|
||||
|
||||
|
@ -182,6 +182,8 @@ struct TrackPositioner : ClientData::Base, wxEvtHandler
|
|||
TrackList::Get( project ).Bind(
|
||||
EVT_TRACKLIST_RESIZING, &TrackPositioner::OnUpdate, this );
|
||||
}
|
||||
TrackPositioner( const TrackPositioner & ) PROHIBITED;
|
||||
TrackPositioner &operator=( const TrackPositioner & ) PROHIBITED;
|
||||
|
||||
void OnUpdate( TrackListEvent & e )
|
||||
{
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#ifndef __AUDACITY_OVERLAY__
|
||||
#define __AUDACITY_OVERLAY__
|
||||
|
||||
#include "../Audacity.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
class OverlayPanel;
|
||||
|
@ -91,6 +93,9 @@ AdornedRulerPanel.
|
|||
class Overlay
|
||||
{
|
||||
public:
|
||||
Overlay() = default;
|
||||
Overlay( const Overlay & ) PROHIBITED;
|
||||
Overlay &operator=( const Overlay & ) PROHIBITED;
|
||||
virtual ~Overlay() = 0;
|
||||
|
||||
///\brief This number determines an ordering of overlays, so that those
|
||||
|
|
Loading…
Reference in New Issue