diff --git a/include/audacity/ConfigInterface.h b/include/audacity/ConfigInterface.h index f97c90fa3..c061a9ad4 100644 --- a/include/audacity/ConfigInterface.h +++ b/include/audacity/ConfigInterface.h @@ -44,7 +44,7 @@ #include "audacity/Types.h" -class AUDACITY_DLL_API ConfigClientInterface +class AUDACITY_DLL_API ConfigClientInterface /* not final */ { public: virtual ~ConfigClientInterface() {}; diff --git a/include/audacity/EffectInterface.h b/include/audacity/EffectInterface.h index 78e894781..15c1a5033 100755 --- a/include/audacity/EffectInterface.h +++ b/include/audacity/EffectInterface.h @@ -58,7 +58,7 @@ typedef enum EffectType EffectTypeAnalyze } EffectType; -class AUDACITY_DLL_API EffectIdentInterface : public IdentInterface +class AUDACITY_DLL_API EffectIdentInterface /* not final */ : public IdentInterface { public: virtual ~EffectIdentInterface() {}; @@ -88,7 +88,7 @@ public: class EffectUIHostInterface; class EffectUIClientInterface; -class AUDACITY_DLL_API EffectHostInterface : public ConfigClientInterface +class AUDACITY_DLL_API EffectHostInterface /* not final */ : public ConfigClientInterface { public: virtual ~EffectHostInterface() {}; @@ -110,7 +110,7 @@ public: virtual wxString GetFactoryDefaultsGroup() = 0; }; -class AUDACITY_DLL_API EffectClientInterface : public EffectIdentInterface +class AUDACITY_DLL_API EffectClientInterface /* not final */ : public EffectIdentInterface { public: virtual ~EffectClientInterface() {}; @@ -162,7 +162,7 @@ public: virtual ~EffectUIHostInterface() {}; }; -class AUDACITY_DLL_API EffectUIClientInterface +class AUDACITY_DLL_API EffectUIClientInterface /* not final */ { public: virtual ~EffectUIClientInterface() {}; diff --git a/include/audacity/IdentInterface.h b/include/audacity/IdentInterface.h index a12a10785..7f521d745 100644 --- a/include/audacity/IdentInterface.h +++ b/include/audacity/IdentInterface.h @@ -44,7 +44,7 @@ #include "audacity/Types.h" -class AUDACITY_DLL_API IdentInterface +class AUDACITY_DLL_API IdentInterface /* not final */ { public: virtual ~IdentInterface() {}; diff --git a/include/audacity/ModuleInterface.h b/include/audacity/ModuleInterface.h index 2484c877d..cce83fd16 100644 --- a/include/audacity/ModuleInterface.h +++ b/include/audacity/ModuleInterface.h @@ -61,7 +61,7 @@ // // ============================================================================ -class ModuleInterface : public IdentInterface +class ModuleInterface /* not final */ : public IdentInterface { public: virtual ~ModuleInterface() {}; @@ -106,7 +106,7 @@ public: // // ============================================================================ -class ModuleManagerInterface +class ModuleManagerInterface /* not final */ { public: virtual ~ModuleManagerInterface() {}; diff --git a/include/audacity/PluginInterface.h b/include/audacity/PluginInterface.h index 385454ef5..b55a80ad6 100644 --- a/include/audacity/PluginInterface.h +++ b/include/audacity/PluginInterface.h @@ -51,7 +51,7 @@ class ModuleInterface; -class PluginManagerInterface +class PluginManagerInterface /* not final */ { public: virtual ~PluginManagerInterface() {}; diff --git a/lib-src/libscorealign/scorealign.h b/lib-src/libscorealign/scorealign.h index 844419e1d..1878aa510 100644 --- a/lib-src/libscorealign/scorealign.h +++ b/lib-src/libscorealign/scorealign.h @@ -13,7 +13,7 @@ #endif // a class to report (optionally) score alignment progress -class SAProgress { +class SAProgress /* not final */ { public: SAProgress() { smoothing = false; } // we need the frame period to convert seconds to work units diff --git a/lib-src/sbsms/include/sbsms.h b/lib-src/sbsms/include/sbsms.h index 5cd94a805..ac3210b44 100644 --- a/lib-src/sbsms/include/sbsms.h +++ b/lib-src/sbsms/include/sbsms.h @@ -46,7 +46,7 @@ struct SBSMSFrame { typedef long (*SBSMSResampleCB)(void *cbData, SBSMSFrame *frame); -class SBSMSInterface { +class SBSMSInterface /* not final */ { public: virtual ~SBSMSInterface() {} virtual long samples(audio *buf, long n) { return 0; } @@ -141,7 +141,7 @@ class Slide { class SBSMSInterfaceSlidingImp; -class SBSMSInterfaceSliding : public SBSMSInterface { +class SBSMSInterfaceSliding /* not final */ : public SBSMSInterface { public: SBSMSInterfaceSliding(Slide *rateSlide, Slide *pitchSlide, diff --git a/src/AboutDialog.h b/src/AboutDialog.h index 20b2cb464..c6e7b85d3 100644 --- a/src/AboutDialog.h +++ b/src/AboutDialog.h @@ -43,7 +43,7 @@ struct AboutDialogCreditItem { using AboutDialogCreditItemsList = std::vector; -class AboutDialog:public wxDialog { +class AboutDialog final : public wxDialog { DECLARE_DYNAMIC_CLASS(AboutDialog) public: diff --git a/src/AudacityApp.cpp b/src/AudacityApp.cpp index e960e27c5..954e18936 100644 --- a/src/AudacityApp.cpp +++ b/src/AudacityApp.cpp @@ -596,7 +596,7 @@ static wxArrayString ofqueue; #define IPC_APPL wxT("audacity") #define IPC_TOPIC wxT("System") -class IPCConn : public wxConnection +class IPCConn final : public wxConnection { public: IPCConn() @@ -619,7 +619,7 @@ public: } }; -class IPCServ : public wxServer +class IPCServ final : public wxServer { public: IPCServ(const wxString & appl) diff --git a/src/AudacityApp.h b/src/AudacityApp.h index 0e889b879..d8d3882ea 100644 --- a/src/AudacityApp.h +++ b/src/AudacityApp.h @@ -96,7 +96,7 @@ enum class BlockFile; -class AudacityApp:public wxApp { +class AudacityApp final : public wxApp { public: AudacityApp(); virtual bool OnInit(void); diff --git a/src/AudacityLogger.h b/src/AudacityLogger.h index c52a77adc..a439a4e19 100644 --- a/src/AudacityLogger.h +++ b/src/AudacityLogger.h @@ -24,7 +24,7 @@ #include "Experimental.h" -class AudacityLogger:public wxEvtHandler, public wxLog { +class AudacityLogger final : public wxEvtHandler, public wxLog { public: AudacityLogger(); virtual ~AudacityLogger(); diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp index b3b5309c2..4071694f1 100644 --- a/src/AudioIO.cpp +++ b/src/AudioIO.cpp @@ -770,16 +770,16 @@ class AudioThread { // The normal wxThread-derived AudioThread class for all other // platforms: -class AudioThread : public wxThread { +class AudioThread final : public wxThread { public: AudioThread():wxThread(wxTHREAD_JOINABLE) {} - virtual ExitCode Entry(); + ExitCode Entry() override; }; #endif #ifdef EXPERIMENTAL_MIDI_OUT -class MidiThread : public AudioThread { +class MidiThread final : public AudioThread { public: virtual ExitCode Entry(); }; diff --git a/src/AudioIO.h b/src/AudioIO.h index 848c64171..d0bb3ec1b 100644 --- a/src/AudioIO.h +++ b/src/AudioIO.h @@ -127,7 +127,7 @@ struct AudioIOStartStreamOptions #endif }; -class AUDACITY_DLL_API AudioIO { +class AUDACITY_DLL_API AudioIO final { public: AudioIO(); diff --git a/src/AudioIOListener.h b/src/AudioIOListener.h index 0340c7ff8..53d2388c7 100644 --- a/src/AudioIOListener.h +++ b/src/AudioIOListener.h @@ -17,7 +17,7 @@ class AutoSaveFile; -class AUDACITY_DLL_API AudioIOListener { +class AUDACITY_DLL_API AudioIOListener /* not final */ { public: AudioIOListener() {} virtual ~AudioIOListener() {} diff --git a/src/AutoRecovery.cpp b/src/AutoRecovery.cpp index 5e5d650f3..a1da1ac61 100644 --- a/src/AutoRecovery.cpp +++ b/src/AutoRecovery.cpp @@ -37,7 +37,7 @@ enum { ID_FILE_LIST }; -class AutoRecoveryDialog : public wxDialog +class AutoRecoveryDialog final : public wxDialog { public: AutoRecoveryDialog(wxWindow *parent); diff --git a/src/AutoRecovery.h b/src/AutoRecovery.h index f9b459ba0..d20ce5a81 100644 --- a/src/AutoRecovery.h +++ b/src/AutoRecovery.h @@ -41,7 +41,7 @@ bool ShowAutoRecoveryDialogIfNeeded(AudacityProject** pproj, // // XML Handler for a tag // -class RecordingRecoveryHandler: public XMLTagHandler +class RecordingRecoveryHandler final : public XMLTagHandler { public: RecordingRecoveryHandler(AudacityProject* proj); @@ -73,7 +73,7 @@ WX_DECLARE_STRING_HASH_MAP_WITH_DECL(short, NameMap, class AUDACITY_DLL_API); WX_DECLARE_HASH_MAP_WITH_DECL(short, wxString, wxIntegerHash, wxIntegerEqual, IdMap, class AUDACITY_DLL_API); WX_DECLARE_OBJARRAY_WITH_DECL(IdMap, IdMapArray, class AUDACITY_DLL_API); -class AUDACITY_DLL_API AutoSaveFile : public XMLWriter +class AUDACITY_DLL_API AutoSaveFile final : public XMLWriter { public: diff --git a/src/BatchCommandDialog.h b/src/BatchCommandDialog.h index 6c32d01e3..81b4802f3 100644 --- a/src/BatchCommandDialog.h +++ b/src/BatchCommandDialog.h @@ -36,7 +36,7 @@ class wxListEvent; class wxButton; class ShuttleGui; -class BatchCommandDialog:public wxDialog { +class BatchCommandDialog final : public wxDialog { public: // constructors and destructors BatchCommandDialog(wxWindow *parent, wxWindowID id); diff --git a/src/BatchCommands.h b/src/BatchCommands.h index deb0cc9f1..0991a6c1f 100644 --- a/src/BatchCommands.h +++ b/src/BatchCommands.h @@ -19,7 +19,7 @@ class Effect; -class BatchCommands { +class BatchCommands final { public: // constructors and destructors BatchCommands(); diff --git a/src/BatchProcessDialog.h b/src/BatchProcessDialog.h index 1b00236eb..aad30a4d2 100644 --- a/src/BatchProcessDialog.h +++ b/src/BatchProcessDialog.h @@ -38,7 +38,7 @@ class wxListEvent; class wxButton; class ShuttleGui; -class BatchProcessDialog:public wxDialog { +class BatchProcessDialog final : public wxDialog { public: // constructors and destructors BatchProcessDialog(wxWindow * parent); @@ -62,7 +62,7 @@ class BatchProcessDialog:public wxDialog { DECLARE_EVENT_TABLE() }; -class EditChainsDialog:public wxDialog +class EditChainsDialog final : public wxDialog { public: EditChainsDialog(wxWindow * parent); diff --git a/src/Benchmark.cpp b/src/Benchmark.cpp index 2d05d7317..bd173ddb3 100644 --- a/src/Benchmark.cpp +++ b/src/Benchmark.cpp @@ -42,7 +42,7 @@ of the BlockFile system. #include "FileDialog.h" -class BenchmarkDialog: public wxDialog +class BenchmarkDialog final : public wxDialog { public: // constructors and destructors diff --git a/src/BlockFile.h b/src/BlockFile.h index e3ce7d61e..6c301fcf1 100644 --- a/src/BlockFile.h +++ b/src/BlockFile.h @@ -38,7 +38,7 @@ class SummaryInfo { -class BlockFile { +class BlockFile /* not final */ { public: // Constructor / Destructor @@ -178,7 +178,7 @@ class BlockFile { /// This is a common base class for all alias block files. It handles /// reading and writing summary data, leaving very little for derived /// classes to need to implement. -class AliasBlockFile : public BlockFile +class AliasBlockFile /* not final */ : public BlockFile { public: diff --git a/src/Dependencies.cpp b/src/Dependencies.cpp index 5bbaff43c..a97a8bc4f 100644 --- a/src/Dependencies.cpp +++ b/src/Dependencies.cpp @@ -241,7 +241,7 @@ static void RemoveDependencies(AudacityProject *project, // DependencyDialog // -class DependencyDialog : public wxDialog +class DependencyDialog final : public wxDialog { public: DependencyDialog(wxWindow *parent, diff --git a/src/DeviceChange.cpp b/src/DeviceChange.cpp index 4c057913a..51946e249 100644 --- a/src/DeviceChange.cpp +++ b/src/DeviceChange.cpp @@ -35,7 +35,7 @@ DEFINE_EVENT_TYPE(EVT_DEVICE_CHANGE); #include #include -class DeviceChangeListener : public IMMNotificationClient, +class DeviceChangeListener final : public IMMNotificationClient, public DeviceChangeInterface { public: @@ -174,7 +174,7 @@ private: #include #include -class DeviceChangeListener : public DeviceChangeInterface +class DeviceChangeListener final : public DeviceChangeInterface { public: DeviceChangeListener() @@ -279,7 +279,7 @@ private: #include -class DeviceChangeListener : public DeviceChangeInterface +class DeviceChangeListener final : public DeviceChangeInterface { public: DeviceChangeListener() diff --git a/src/DeviceChange.h b/src/DeviceChange.h index 09d21c272..cbbdf4b72 100644 --- a/src/DeviceChange.h +++ b/src/DeviceChange.h @@ -25,7 +25,7 @@ #include #include -class DeviceChangeInterface +class DeviceChangeInterface /* not final */ { public: virtual ~DeviceChangeInterface() {}; diff --git a/src/DeviceManager.h b/src/DeviceManager.h index 382e1272b..eb029c45c 100644 --- a/src/DeviceManager.h +++ b/src/DeviceManager.h @@ -40,7 +40,7 @@ typedef struct DeviceSourceMap { wxString MakeDeviceSourceString(const DeviceSourceMap *map); -class DeviceManager +class DeviceManager final #if defined(EXPERIMENTAL_DEVICE_CHANGE_HANDLER) #if defined(HAVE_DEVICE_CHANGE) : public DeviceChangeHandler diff --git a/src/DirManager.h b/src/DirManager.h index 986322590..419ffa1be 100644 --- a/src/DirManager.h +++ b/src/DirManager.h @@ -34,7 +34,7 @@ WX_DECLARE_HASH_MAP(wxString, BlockFile*, wxStringHash, wxStringEqual, BlockHash wxMemorySize GetFreeMemory(); -class DirManager: public XMLTagHandler { +class DirManager final : public XMLTagHandler { public: // MM: Construct DirManager with refcount=1 diff --git a/src/Envelope.h b/src/Envelope.h index 1184e226b..a758b1798 100644 --- a/src/Envelope.h +++ b/src/Envelope.h @@ -33,7 +33,7 @@ class EnvPoint; class ZoomInfo; -class EnvPoint : public XMLTagHandler { +class EnvPoint final : public XMLTagHandler { public: inline EnvPoint(Envelope *envelope, double t, double val); @@ -74,7 +74,7 @@ private: typedef std::vector EnvArray; -class Envelope : public XMLTagHandler { +class Envelope final : public XMLTagHandler { public: Envelope(); void Initialize(int numPoints); diff --git a/src/FFmpeg.cpp b/src/FFmpeg.cpp index 21ca9e5fe..c8d89adef 100644 --- a/src/FFmpeg.cpp +++ b/src/FFmpeg.cpp @@ -445,7 +445,7 @@ class FFmpegNotFoundDialog; #define ID_FFMPEG_DLOAD 5001 /// Allows user to locate libav* libraries -class FindFFmpegDialog : public wxDialog +class FindFFmpegDialog final : public wxDialog { public: diff --git a/src/FFmpeg.h b/src/FFmpeg.h index 92c690bc4..fcbff8688 100644 --- a/src/FFmpeg.h +++ b/src/FFmpeg.h @@ -170,7 +170,7 @@ bool LoadFFmpeg(bool showerror); /// If Audacity failed to load libav*, this dialog /// shows up and tells user about that. It will pop-up /// again and again until it is disabled. -class FFmpegNotFoundDialog : public wxDialog +class FFmpegNotFoundDialog final : public wxDialog { public: diff --git a/src/FreqWindow.h b/src/FreqWindow.h index 1f4c071f2..36e453176 100644 --- a/src/FreqWindow.h +++ b/src/FreqWindow.h @@ -84,7 +84,7 @@ private: std::vector mProcessed; }; -class FreqGauge : public wxStatusBar +class FreqGauge final : public wxStatusBar { public: FreqGauge(wxWindow * parent); @@ -104,7 +104,7 @@ private: int mMargin; }; -class FreqPlot : public wxWindow +class FreqPlot final : public wxWindow { public: FreqPlot(wxWindow *parent); @@ -123,7 +123,7 @@ private: DECLARE_EVENT_TABLE(); }; -class FreqWindow : public wxDialog +class FreqWindow final : public wxDialog { public: FreqWindow(wxWindow *parent, wxWindowID id, diff --git a/src/HistoryWindow.h b/src/HistoryWindow.h index 119c835af..cf98e0d6a 100644 --- a/src/HistoryWindow.h +++ b/src/HistoryWindow.h @@ -23,7 +23,7 @@ class AudacityProject; class ShuttleGui; class UndoManager; -class HistoryWindow :public wxDialog { +class HistoryWindow final : public wxDialog { public: HistoryWindow(AudacityProject * parent, UndoManager *manager); diff --git a/src/LabelDialog.h b/src/LabelDialog.h index 05010e4e5..460b711fa 100644 --- a/src/LabelDialog.h +++ b/src/LabelDialog.h @@ -30,7 +30,7 @@ class ViewInfo; typedef std::vector RowDataArray; -class LabelDialog:public wxDialog +class LabelDialog final : public wxDialog { public: diff --git a/src/LabelTrack.h b/src/LabelTrack.h index 849e0d1fc..7dc48be23 100644 --- a/src/LabelTrack.h +++ b/src/LabelTrack.h @@ -108,7 +108,7 @@ const int NUM_GLYPH_HIGHLIGHTS = 4; const int MAX_NUM_ROWS =80; -class AUDACITY_DLL_API LabelTrack : public Track +class AUDACITY_DLL_API LabelTrack final : public Track { friend class LabelStruct; diff --git a/src/LangChoice.cpp b/src/LangChoice.cpp index 67cce4a66..398902674 100644 --- a/src/LangChoice.cpp +++ b/src/LangChoice.cpp @@ -30,7 +30,7 @@ of languages for Audacity. #include "Languages.h" #include "ShuttleGui.h" -class LangChoiceDialog:public wxDialog { +class LangChoiceDialog final : public wxDialog { public: LangChoiceDialog(wxWindow * parent, wxWindowID id, diff --git a/src/Lyrics.h b/src/Lyrics.h index 26c09503d..f9cfd87b8 100644 --- a/src/Lyrics.h +++ b/src/Lyrics.h @@ -40,7 +40,7 @@ WX_DECLARE_OBJARRAY(Syllable, SyllableArray); class Lyrics; // Override wxTextCtrl to handle selection events, which the parent ignores if the control is read-only. -class HighlightTextCtrl : public wxTextCtrl +class HighlightTextCtrl final : public wxTextCtrl { public: HighlightTextCtrl(Lyrics* parent, @@ -58,7 +58,7 @@ private: DECLARE_EVENT_TABLE() }; -class Lyrics : public wxPanel +class Lyrics final : public wxPanel { DECLARE_DYNAMIC_CLASS(Lyrics) diff --git a/src/LyricsWindow.h b/src/LyricsWindow.h index 1334ae33f..8b9970ea0 100644 --- a/src/LyricsWindow.h +++ b/src/LyricsWindow.h @@ -19,7 +19,7 @@ class AudacityProject; class Lyrics; -class LyricsWindow : public wxFrame { +class LyricsWindow final : public wxFrame { public: LyricsWindow(AudacityProject* parent); diff --git a/src/Menus.cpp b/src/Menus.cpp index cddf17466..1c1f7e5b5 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -148,7 +148,7 @@ enum { // member functions of AudacityProject using audCommandFunction = void (AudacityProject::*)(); -class VoidFunctor : public CommandFunctor +class VoidFunctor final : public CommandFunctor { public: explicit VoidFunctor(AudacityProject *project, audCommandFunction pfn) @@ -161,7 +161,7 @@ private: }; using audCommandKeyFunction = void (AudacityProject::*)(const wxEvent *); -class KeyFunctor : public CommandFunctor +class KeyFunctor final : public CommandFunctor { public: explicit KeyFunctor(AudacityProject *project, audCommandKeyFunction pfn) @@ -174,7 +174,7 @@ private: }; using audCommandListFunction = void (AudacityProject::*)(int); -class ListFunctor : public CommandFunctor +class ListFunctor final : public CommandFunctor { public: explicit ListFunctor(AudacityProject *project, audCommandListFunction pfn) @@ -187,7 +187,7 @@ private: }; using audCommandPluginFunction = bool (AudacityProject::*)(const PluginID &, int); -class PluginFunctor : public CommandFunctor +class PluginFunctor final : public CommandFunctor { public: explicit PluginFunctor(AudacityProject *project, const PluginID &id, audCommandPluginFunction pfn) @@ -5981,7 +5981,7 @@ void AudacityProject::OnAlignMoveSel(int index) #define COLLECT_TIMING_DATA // Audacity Score Align Progress class -- progress reports come here -class ASAProgress : public SAProgress { +class ASAProgress final : public SAProgress { private: float mTotalWork; float mFrames[2]; diff --git a/src/MixerBoard.h b/src/MixerBoard.h index 4ff923cba..83d4936ad 100644 --- a/src/MixerBoard.h +++ b/src/MixerBoard.h @@ -31,7 +31,7 @@ // MixerTrackSlider is a subclass just to override OnMouseEvent, // so we can know when adjustment ends, so we can PushState only then. -class MixerTrackSlider : public ASlider +class MixerTrackSlider final : public ASlider { public: MixerTrackSlider(wxWindow * parent, @@ -68,7 +68,7 @@ class NoteTrack; #endif class WaveTrack; -class MixerTrackCluster : public wxPanel +class MixerTrackCluster final : public wxPanel { public: MixerTrackCluster(wxWindow* parent, @@ -169,7 +169,7 @@ WX_DECLARE_OBJARRAY(MusicalInstrument, MusicalInstrumentArray); // wxScrolledWindow ignores mouse clicks in client area, // but they don't get passed to Mixerboard. // We need to catch them to deselect all track clusters. -class MixerBoardScrolledWindow : public wxScrolledWindow +class MixerBoardScrolledWindow final : public wxScrolledWindow { public: MixerBoardScrolledWindow(AudacityProject* project, @@ -194,7 +194,7 @@ public: class MixerBoardFrame; class TrackList; -class MixerBoard : public wxWindow +class MixerBoard final : public wxWindow { friend class MixerBoardFrame; @@ -301,7 +301,7 @@ public: }; -class MixerBoardFrame : public wxFrame +class MixerBoardFrame final : public wxFrame { public: MixerBoardFrame(AudacityProject* parent); diff --git a/src/ModuleManager.h b/src/ModuleManager.h index d26499381..af5f988e0 100644 --- a/src/ModuleManager.h +++ b/src/ModuleManager.h @@ -65,7 +65,7 @@ typedef std::map ModuleMainMap; typedef std::map ModuleMap; typedef std::map LibraryMap; -class ModuleManager : public ModuleManagerInterface +class ModuleManager final : public ModuleManagerInterface { public: ModuleManager(); diff --git a/src/NoteTrack.h b/src/NoteTrack.h index 1e890ff78..c60a42397 100644 --- a/src/NoteTrack.h +++ b/src/NoteTrack.h @@ -50,7 +50,7 @@ class wxRect; class DirManager; class Alg_seq; // from "allegro.h" -class AUDACITY_DLL_API NoteTrack:public Track { +class AUDACITY_DLL_API NoteTrack final : public Track { public: friend class TrackArtist; diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index ceb85ee8a..68a477027 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -59,7 +59,7 @@ WX_DECLARE_STRING_HASH_MAP(wxArrayString, ProviderMap); // ============================================================================ #if wxUSE_ACCESSIBILITY -class CheckListAx: public wxWindowAccessible +class CheckListAx final : public wxWindowAccessible { public: CheckListAx(wxListCtrl * window); @@ -414,7 +414,7 @@ enum COL_COUNT }; -class PluginRegistrationDialog : public wxDialog +class PluginRegistrationDialog final : public wxDialog { public: // constructors and destructors diff --git a/src/PluginManager.h b/src/PluginManager.h index a79b3d85c..264273e7c 100644 --- a/src/PluginManager.h +++ b/src/PluginManager.h @@ -164,7 +164,7 @@ typedef wxArrayString PluginIDList; class ProviderMap; class PluginRegistrationDialog; -class PluginManager : public PluginManagerInterface +class PluginManager final : public PluginManagerInterface { public: PluginManager(); diff --git a/src/Printing.cpp b/src/Printing.cpp index 2b4155d5a..982019316 100644 --- a/src/Printing.cpp +++ b/src/Printing.cpp @@ -36,7 +36,7 @@ static wxPrintData *gPrintData = NULL; static wxPageSetupData *gPageSetupData = NULL; -class AudacityPrintout : public wxPrintout +class AudacityPrintout final : public wxPrintout { public: AudacityPrintout(wxString title, diff --git a/src/Project.cpp b/src/Project.cpp index b44ddcddf..8f30b22bb 100644 --- a/src/Project.cpp +++ b/src/Project.cpp @@ -223,7 +223,7 @@ private: // This wrapper prevents the scrollbars from retaining focus after being // used. Otherwise, the only way back to the track panel is to click it // and that causes your original location to be lost. -class ScrollBar:public wxScrollBar +class ScrollBar final : public wxScrollBar { public: ScrollBar(wxWindow* parent, wxWindowID id, long style) @@ -274,7 +274,7 @@ void SetActiveProject(AudacityProject * project) } #if wxUSE_DRAG_AND_DROP -class FileObject: public wxFileDataObject +class FileObject final : public wxFileDataObject { public: FileObject() @@ -299,7 +299,7 @@ public: } }; -class DropTarget: public wxFileDropTarget +class DropTarget final : public wxFileDropTarget { public: DropTarget(AudacityProject *proj) diff --git a/src/Project.h b/src/Project.h index 0a247aedd..e7e2aee38 100644 --- a/src/Project.h +++ b/src/Project.h @@ -128,7 +128,7 @@ enum StatusBarField { DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_CAPTURE_KEY, -1); // XML handler for tag -class ImportXMLTagHandler : public XMLTagHandler +class ImportXMLTagHandler final : public XMLTagHandler { public: ImportXMLTagHandler(AudacityProject* pProject) { mProject = pProject; } @@ -144,7 +144,7 @@ class ImportXMLTagHandler : public XMLTagHandler AudacityProject* mProject; }; -class AUDACITY_DLL_API AudacityProject: public wxFrame, +class AUDACITY_DLL_API AudacityProject final : public wxFrame, public TrackPanelListener, public SelectionBarListener, public SpectralSelectionBarListener, diff --git a/src/Resample.h b/src/Resample.h index a098d408e..9d79b47e7 100644 --- a/src/Resample.h +++ b/src/Resample.h @@ -19,7 +19,7 @@ #include "SampleFormat.h" -class Resample +class Resample final { public: /// Resamplers may have more than one method, offering a @@ -33,7 +33,7 @@ class Resample // dMinFactor and dMaxFactor specify the range of factors for variable-rate resampling. // For constant-rate, pass the same value for both. Resample(const bool useBestMethod, const double dMinFactor, const double dMaxFactor); - virtual ~Resample(); + ~Resample(); static int GetNumMethods(); static wxString GetMethodName(int index); diff --git a/src/Screenshot.cpp b/src/Screenshot.cpp index 97d7ad124..8456c5286 100644 --- a/src/Screenshot.cpp +++ b/src/Screenshot.cpp @@ -40,7 +40,7 @@ class CommandType; //////////////////////////////////////////////////////////////////////////////// -class ScreenFrame:public wxFrame +class ScreenFrame final : public wxFrame { public: // constructors and destructors @@ -133,7 +133,7 @@ void CloseScreenshotTools() //////////////////////////////////////////////////////////////////////////////// -class ScreenFrameTimer:public wxTimer +class ScreenFrameTimer final : public wxTimer { public: ScreenFrameTimer(ScreenFrame *frame, diff --git a/src/Sequence.h b/src/Sequence.h index f18ff857e..88ca495d3 100644 --- a/src/Sequence.h +++ b/src/Sequence.h @@ -55,7 +55,7 @@ class SeqBlock { class BlockArray : public std::vector {}; using BlockPtrArray = std::vector; // non-owning pointers -class Sequence: public XMLTagHandler { +class Sequence final : public XMLTagHandler { public: // diff --git a/src/Shuttle.h b/src/Shuttle.h index d731f5a54..8e7fbc9f8 100644 --- a/src/Shuttle.h +++ b/src/Shuttle.h @@ -24,7 +24,7 @@ public: class WrappedType; -class Shuttle { +class Shuttle /* not final */ { public: // constructors and destructors Shuttle(); @@ -50,7 +50,7 @@ class Shuttle { virtual bool ExchangeWithMaster(const wxString & Name); }; -class ShuttleCli : public Shuttle +class ShuttleCli final : public Shuttle { public: wxString mParams; diff --git a/src/ShuttleGui.cpp b/src/ShuttleGui.cpp index 360e12155..ed403bf1c 100644 --- a/src/ShuttleGui.cpp +++ b/src/ShuttleGui.cpp @@ -896,7 +896,7 @@ void ShuttleGuiBase::EndNotebookPage() // Doxygen description is at the start of the file // this is a wxPanel with erase background disabled. -class InvisiblePanel : public wxPanel +class InvisiblePanel final : public wxPanel { public: InvisiblePanel( diff --git a/src/ShuttleGui.h b/src/ShuttleGui.h index b885309ed..931e64937 100644 --- a/src/ShuttleGui.h +++ b/src/ShuttleGui.h @@ -70,7 +70,7 @@ class Shuttle; class WrappedType; -class AUDACITY_DLL_API ShuttleGuiBase +class AUDACITY_DLL_API ShuttleGuiBase /* not final */ { public: ShuttleGuiBase(wxWindow * pParent,teShuttleMode ShuttleMode); @@ -363,7 +363,7 @@ AUDACITY_DLL_API std::unique_ptr CreateStdButtonSizer( wxWindow *parent wxWindow *extra = NULL ); // ShuttleGui extends ShuttleGuiBase with Audacity specific extensions. -class AUDACITY_DLL_API ShuttleGui : public ShuttleGuiBase +class AUDACITY_DLL_API ShuttleGui /* not final */ : public ShuttleGuiBase { public: ShuttleGui(wxWindow * pParent,teShuttleMode ShuttleMode); diff --git a/src/ShuttlePrefs.h b/src/ShuttlePrefs.h index fe9ad86fb..5f297967c 100644 --- a/src/ShuttlePrefs.h +++ b/src/ShuttlePrefs.h @@ -14,7 +14,7 @@ #include "Shuttle.h" -class ShuttlePrefs : public Shuttle +class ShuttlePrefs final : public Shuttle { public: // constructors and destructors diff --git a/src/SoundActivatedRecord.h b/src/SoundActivatedRecord.h index a7397f3e0..be4af097d 100644 --- a/src/SoundActivatedRecord.h +++ b/src/SoundActivatedRecord.h @@ -20,7 +20,7 @@ class ShuttleGui; -class SoundActivatedRecord : public wxDialog +class SoundActivatedRecord final : public wxDialog { public: SoundActivatedRecord(wxWindow* parent); diff --git a/src/SplashDialog.h b/src/SplashDialog.h index e2d7748e5..eadd3ce79 100644 --- a/src/SplashDialog.h +++ b/src/SplashDialog.h @@ -21,7 +21,7 @@ class AudacityProject; class wxCheckbox; class HtmlWindow; -class SplashDialog:public wxDialog { +class SplashDialog final : public wxDialog { DECLARE_DYNAMIC_CLASS(SplashDialog) public: SplashDialog(wxWindow * parent); diff --git a/src/Tags.cpp b/src/Tags.cpp index 62ecc0a12..dd6ab9046 100644 --- a/src/Tags.cpp +++ b/src/Tags.cpp @@ -526,7 +526,7 @@ bool Tags::ShowEditDialog(wxWindow *parent, const wxString &title, bool force) // ComboEditor - Wrapper to prevent unwanted background erasure // -class ComboEditor:public wxGridCellChoiceEditor +class ComboEditor final : public wxGridCellChoiceEditor { public: ComboEditor(const wxArrayString& choices, bool allowOthers = false) diff --git a/src/Tags.h b/src/Tags.h index c666c75bd..e9a459a61 100644 --- a/src/Tags.h +++ b/src/Tags.h @@ -71,7 +71,7 @@ WX_DECLARE_STRING_HASH_MAP_WITH_DECL( wxString, TagMap,class AUDACITY_DLL_API ); #define TAG_SOFTWARE wxT("Software") #define TAG_COPYRIGHT wxT("Copyright") -class AUDACITY_DLL_API Tags: public XMLTagHandler { +class AUDACITY_DLL_API Tags final : public XMLTagHandler { public: Tags(); // constructor @@ -129,7 +129,7 @@ class AUDACITY_DLL_API Tags: public XMLTagHandler { bool mEditTrackNumber; }; -class TagsEditor: public wxDialog +class TagsEditor final : public wxDialog { public: // constructors and destructors diff --git a/src/Theme.cpp b/src/Theme.cpp index 3ccba0a1e..cc723064b 100644 --- a/src/Theme.cpp +++ b/src/Theme.cpp @@ -477,7 +477,7 @@ void FlowPacker::RectMid( int &x, int &y ) /// The trick used here is that wxWidgets can write a PNG image to a stream. /// By writing to a custom stream, we get to see each byte of data in turn, convert /// it to text, put in commas, and then write that out to our own text stream. -class SourceOutputStream : public wxOutputStream +class SourceOutputStream final : public wxOutputStream { public: SourceOutputStream(){;}; diff --git a/src/Theme.h b/src/Theme.h index 8956db29f..670735923 100644 --- a/src/Theme.h +++ b/src/Theme.h @@ -82,7 +82,7 @@ private: }; -class AUDACITY_DLL_API ThemeBase +class AUDACITY_DLL_API ThemeBase /* not final */ { public: ThemeBase(void); @@ -136,7 +136,7 @@ protected: }; -class AUDACITY_DLL_API Theme : public ThemeBase +class AUDACITY_DLL_API Theme final : public ThemeBase { public: Theme(void); diff --git a/src/TimeDialog.h b/src/TimeDialog.h index f464e0bde..7975d9ab1 100644 --- a/src/TimeDialog.h +++ b/src/TimeDialog.h @@ -19,7 +19,7 @@ class NumericTextCtrl; class ShuttleGui; -class TimeDialog:public wxDialog +class TimeDialog final : public wxDialog { public: diff --git a/src/TimeTrack.h b/src/TimeTrack.h index 89747936b..507b5a130 100644 --- a/src/TimeTrack.h +++ b/src/TimeTrack.h @@ -23,7 +23,7 @@ class Envelope; class Ruler; class ZoomInfo; -class TimeTrack: public Track { +class TimeTrack final : public Track { public: diff --git a/src/TimerRecordDialog.h b/src/TimerRecordDialog.h index ea076665e..71cb8506f 100644 --- a/src/TimerRecordDialog.h +++ b/src/TimerRecordDialog.h @@ -26,7 +26,7 @@ class wxTimerEvent; class NumericTextCtrl; class ShuttleGui; -class TimerRecordDialog : public wxDialog +class TimerRecordDialog final : public wxDialog { public: TimerRecordDialog(wxWindow* parent); diff --git a/src/Track.h b/src/Track.h index 9950fbbad..5ec6ca22e 100644 --- a/src/Track.h +++ b/src/Track.h @@ -47,7 +47,7 @@ WX_DEFINE_USER_EXPORTED_ARRAY(NoteTrack*, NoteTrackArray, class AUDACITY_DLL_API class TrackList; struct TrackListNode; -class AUDACITY_DLL_API Track: public XMLTagHandler +class AUDACITY_DLL_API Track /* not final */ : public XMLTagHandler { // To be TrackDisplay @@ -218,7 +218,7 @@ struct TrackListNode TrackListNode *prev; }; -class AUDACITY_DLL_API TrackListIterator +class AUDACITY_DLL_API TrackListIterator /* not final */ { public: TrackListIterator(TrackList * val = NULL); @@ -265,7 +265,7 @@ private: // TrackListCondIterator (base class for iterators that iterate over all tracks) // that meet a condition) -class AUDACITY_DLL_API TrackListCondIterator: public TrackListIterator +class AUDACITY_DLL_API TrackListCondIterator /* not final */ : public TrackListIterator { public: TrackListCondIterator(TrackList *val = NULL) @@ -288,7 +288,7 @@ class AUDACITY_DLL_API TrackListCondIterator: public TrackListIterator // // Based on TrackListIterator and returns only tracks of the specified type. // -class AUDACITY_DLL_API TrackListOfKindIterator: public TrackListCondIterator +class AUDACITY_DLL_API TrackListOfKindIterator /* not final */ : public TrackListCondIterator { public: TrackListOfKindIterator(int kind, TrackList * val = NULL); @@ -306,7 +306,7 @@ class AUDACITY_DLL_API TrackListOfKindIterator: public TrackListCondIterator // // Based on TrackListOfKindIterator and returns only tracks selected. // -class AUDACITY_DLL_API SelectedTrackListOfKindIterator: public TrackListOfKindIterator +class AUDACITY_DLL_API SelectedTrackListOfKindIterator final : public TrackListOfKindIterator { public: SelectedTrackListOfKindIterator(int kind, TrackList * val = NULL) : TrackListOfKindIterator(kind, val) {} @@ -321,7 +321,7 @@ class AUDACITY_DLL_API SelectedTrackListOfKindIterator: public TrackListOfKindIt // // Based on TrackListIterator returns only the currently visible tracks. // -class AUDACITY_DLL_API VisibleTrackIterator: public TrackListCondIterator +class AUDACITY_DLL_API VisibleTrackIterator final : public TrackListCondIterator { public: VisibleTrackIterator(AudacityProject *project); @@ -338,7 +338,7 @@ class AUDACITY_DLL_API VisibleTrackIterator: public TrackListCondIterator // SyncLockedTracksIterator returns only tracks belonging to the sync-locked tracks // in which the starting track is a member. -class AUDACITY_DLL_API SyncLockedTracksIterator : public TrackListIterator +class AUDACITY_DLL_API SyncLockedTracksIterator final : public TrackListIterator { public: SyncLockedTracksIterator(TrackList * val); @@ -370,7 +370,7 @@ DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACKLIST_RESIZED, -1); // track that was added. DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACKLIST_UPDATED, -1); -class AUDACITY_DLL_API TrackList:public wxEvtHandler +class AUDACITY_DLL_API TrackList final : public wxEvtHandler { public: // Create an empty TrackList diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index 07f52b820..73df1f815 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -8846,7 +8846,7 @@ void TrackPanel::OnMergeStereo(wxCommandEvent & WXUNUSED(event)) Refresh(false); } -class ViewSettingsDialog : public PrefsDialog +class ViewSettingsDialog final : public PrefsDialog { public: ViewSettingsDialog @@ -9356,7 +9356,7 @@ void TrackPanel::OnSetName(wxCommandEvent & WXUNUSED(event)) // Small helper class to enumerate all fonts in the system // We use this because the default implementation of // wxFontEnumerator::GetFacenames() has changed between wx2.6 and 2.8 -class TrackPanelFontEnumerator : public wxFontEnumerator +class TrackPanelFontEnumerator final : public wxFontEnumerator { public: TrackPanelFontEnumerator(wxArrayString* fontNames) : diff --git a/src/TrackPanel.h b/src/TrackPanel.h index e48a1e617..8f0acfcbc 100644 --- a/src/TrackPanel.h +++ b/src/TrackPanel.h @@ -125,7 +125,7 @@ private: const int DragThreshold = 3;// Anything over 3 pixels is a drag, else a click. -class AUDACITY_DLL_API TrackPanel:public wxPanel { +class AUDACITY_DLL_API TrackPanel final : public wxPanel { public: TrackPanel(wxWindow * parent, @@ -577,7 +577,7 @@ protected: TrackArtist *mTrackArtist; - class AUDACITY_DLL_API AudacityTimer:public wxTimer { + class AUDACITY_DLL_API AudacityTimer final : public wxTimer { public: virtual void Notify() { // (From Debian) diff --git a/src/TrackPanelAx.h b/src/TrackPanelAx.h index 08449fada..57a5309ed 100644 --- a/src/TrackPanelAx.h +++ b/src/TrackPanelAx.h @@ -20,9 +20,9 @@ #include "TrackPanel.h" -class TrackPanelAx +class TrackPanelAx final #if wxUSE_ACCESSIBILITY - :public wxWindowAccessible + : public wxWindowAccessible #endif { public: diff --git a/src/TrackPanelListener.h b/src/TrackPanelListener.h index bf29444d4..0fe57cc3c 100644 --- a/src/TrackPanelListener.h +++ b/src/TrackPanelListener.h @@ -15,7 +15,7 @@ class ToolsToolBar; class ControlToolBar; enum class UndoPush : unsigned char; -class AUDACITY_DLL_API TrackPanelListener { +class AUDACITY_DLL_API TrackPanelListener /* not final */ { public: TrackPanelListener(){}; diff --git a/src/TranslatableStringArray.h b/src/TranslatableStringArray.h index 7ce0932a0..a0c787608 100644 --- a/src/TranslatableStringArray.h +++ b/src/TranslatableStringArray.h @@ -29,7 +29,7 @@ Populate() is called only as needed to fill the table on demand the first time it is used after application startup or language change. */ -template class TranslatableArray +template class TranslatableArray /* not final */ : public wxEvtHandler { public: diff --git a/src/ViewInfo.h b/src/ViewInfo.h index 134b6e41a..116960c55 100644 --- a/src/ViewInfo.h +++ b/src/ViewInfo.h @@ -26,12 +26,18 @@ class Track; // The subset of ViewInfo information (other than selection) // that is sufficient for purposes of TrackArtist, // and for computing conversions between track times and pixel positions. -class AUDACITY_DLL_API ZoomInfo +class AUDACITY_DLL_API ZoomInfo /* not final */ + // Note that ViewInfo inherits from ZoomInfo but there are no virtual functions. + // That's okay if we pass always by reference and never copy, suffering "slicing." { public: ZoomInfo(double start, double pixelsPerSecond); ~ZoomInfo(); + // Be sure we don't slice + ZoomInfo(const ZoomInfo&) PROHIBITED; + ZoomInfo& operator= (const ZoomInfo&) PROHIBITED; + void UpdatePrefs(); int vpos; // vertical scroll pos @@ -128,8 +134,7 @@ public: }; -class AUDACITY_DLL_API ViewInfo - : public ZoomInfo +class AUDACITY_DLL_API ViewInfo final : public ZoomInfo { public: ViewInfo(double start, double screenDuration, double pixelsPerSecond); diff --git a/src/WaveClip.h b/src/WaveClip.h index 5ddbfb961..ca9bb9d91 100644 --- a/src/WaveClip.h +++ b/src/WaveClip.h @@ -201,7 +201,7 @@ public: } }; -class AUDACITY_DLL_API WaveClip : public XMLTagHandler +class AUDACITY_DLL_API WaveClip final : public XMLTagHandler { private: // It is an error to copy a WaveClip without specifying the DirManager. diff --git a/src/WaveTrack.h b/src/WaveTrack.h index 957efd1aa..f152e74e4 100644 --- a/src/WaveTrack.h +++ b/src/WaveTrack.h @@ -59,7 +59,7 @@ class Regions : public std::vector < Region > {}; class Envelope; -class AUDACITY_DLL_API WaveTrack : public Track { +class AUDACITY_DLL_API WaveTrack final : public Track { private: diff --git a/src/blockfile/LegacyAliasBlockFile.h b/src/blockfile/LegacyAliasBlockFile.h index 8b8345926..444bc5098 100644 --- a/src/blockfile/LegacyAliasBlockFile.h +++ b/src/blockfile/LegacyAliasBlockFile.h @@ -15,7 +15,7 @@ #include "PCMAliasBlockFile.h" /// An AliasBlockFile that references uncompressed data in an existing file -class LegacyAliasBlockFile : public PCMAliasBlockFile +class LegacyAliasBlockFile final : public PCMAliasBlockFile { public: diff --git a/src/blockfile/LegacyBlockFile.h b/src/blockfile/LegacyBlockFile.h index b59e63816..2887d388f 100644 --- a/src/blockfile/LegacyBlockFile.h +++ b/src/blockfile/LegacyBlockFile.h @@ -32,7 +32,7 @@ void ComputeLegacySummaryInfo(wxFileName fileName, // back to disk, but you can't create a NEW one from new // sample data. // -class LegacyBlockFile : public BlockFile { +class LegacyBlockFile final : public BlockFile { public: // Constructor / Destructor diff --git a/src/blockfile/ODDecodeBlockFile.h b/src/blockfile/ODDecodeBlockFile.h index c21d2bd4a..f858b0cec 100644 --- a/src/blockfile/ODDecodeBlockFile.h +++ b/src/blockfile/ODDecodeBlockFile.h @@ -35,7 +35,7 @@ Also, see ODPCMAliasBlockFile for a similar file. #include /// An AliasBlockFile that references uncompressed data in an existing file -class ODDecodeBlockFile : public SimpleBlockFile +class ODDecodeBlockFile final : public SimpleBlockFile { public: diff --git a/src/blockfile/ODPCMAliasBlockFile.h b/src/blockfile/ODPCMAliasBlockFile.h index 099c3d7ee..91712a8f5 100644 --- a/src/blockfile/ODPCMAliasBlockFile.h +++ b/src/blockfile/ODPCMAliasBlockFile.h @@ -43,7 +43,7 @@ Some of these methods have been overridden only because they used the unsafe wxL #include /// An AliasBlockFile that references uncompressed data in an existing file -class ODPCMAliasBlockFile : public PCMAliasBlockFile +class ODPCMAliasBlockFile final : public PCMAliasBlockFile { public: /// Constructs a PCMAliasBlockFile, writing the summary to disk diff --git a/src/blockfile/PCMAliasBlockFile.h b/src/blockfile/PCMAliasBlockFile.h index ebba99e7a..65322ac61 100644 --- a/src/blockfile/PCMAliasBlockFile.h +++ b/src/blockfile/PCMAliasBlockFile.h @@ -15,7 +15,7 @@ #include "../DirManager.h" /// An AliasBlockFile that references uncompressed data in an existing file -class PCMAliasBlockFile : public AliasBlockFile +class PCMAliasBlockFile /* not final */ : public AliasBlockFile { public: /// Constructs a PCMAliasBlockFile, writing the summary to disk diff --git a/src/blockfile/SilentBlockFile.h b/src/blockfile/SilentBlockFile.h index bf3e891c5..8c722e0ed 100644 --- a/src/blockfile/SilentBlockFile.h +++ b/src/blockfile/SilentBlockFile.h @@ -21,7 +21,7 @@ #include "../DirManager.h" /// A BlockFile containing nothing but silence. Saves disk space. -class SilentBlockFile : public BlockFile { +class SilentBlockFile final : public BlockFile { public: // Constructor / Destructor diff --git a/src/blockfile/SimpleBlockFile.h b/src/blockfile/SimpleBlockFile.h index 5e4cece9b..5f6084df9 100644 --- a/src/blockfile/SimpleBlockFile.h +++ b/src/blockfile/SimpleBlockFile.h @@ -42,7 +42,7 @@ typedef struct { wxUint32 channels; // number of interleaved channels } auHeader; -class SimpleBlockFile : public BlockFile { +class SimpleBlockFile /* not final */ : public BlockFile { public: // Constructor / Destructor diff --git a/src/commands/AppCommandEvent.h b/src/commands/AppCommandEvent.h index 9b6c4e3a8..6a4382361 100644 --- a/src/commands/AppCommandEvent.h +++ b/src/commands/AppCommandEvent.h @@ -23,7 +23,7 @@ DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, wxEVT_APP_COMMAND_RECEIVED, -1); class Command; -class AppCommandEvent : public wxCommandEvent +class AppCommandEvent final : public wxCommandEvent { private: Command *mCommand; diff --git a/src/commands/BatchEvalCommand.h b/src/commands/BatchEvalCommand.h index c4660e170..fc776f42d 100644 --- a/src/commands/BatchEvalCommand.h +++ b/src/commands/BatchEvalCommand.h @@ -26,7 +26,7 @@ to that system. #include "CommandType.h" #include "../BatchCommands.h" -class BatchEvalCommandType : public CommandType +class BatchEvalCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -34,7 +34,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class BatchEvalCommand : public CommandImplementation +class BatchEvalCommand final : public CommandImplementation { public: BatchEvalCommand(CommandType &type, diff --git a/src/commands/Command.h b/src/commands/Command.h index a7e6273cc..aa2411d70 100644 --- a/src/commands/Command.h +++ b/src/commands/Command.h @@ -57,7 +57,7 @@ public: }; // Interface -class Command +class Command /* not final */ { public: virtual void Progress(double completed) = 0; @@ -71,7 +71,7 @@ public: }; // Command which wraps another command -class DecoratedCommand : public Command +class DecoratedCommand /* not final */ : public Command { protected: Command *mCommand; @@ -94,7 +94,7 @@ public: // Decorator command that performs the given command and then outputs a status // message according to the result -class ApplyAndSendResponse : public DecoratedCommand +class ApplyAndSendResponse final : public DecoratedCommand { public: ApplyAndSendResponse(Command *cmd) @@ -104,7 +104,7 @@ public: virtual bool Apply(CommandExecutionContext context); }; -class CommandImplementation : public Command +class CommandImplementation /* not final */ : public Command { private: CommandType &mType; diff --git a/src/commands/CommandManager.cpp b/src/commands/CommandManager.cpp index 2813deb51..577cd2d1d 100644 --- a/src/commands/CommandManager.cpp +++ b/src/commands/CommandManager.cpp @@ -117,7 +117,7 @@ CommandManager. It holds the callback for one command. #include "../Experimental.h" // Shared by all projects -static class CommandManagerEventMonitor : public wxEventFilter +static class CommandManagerEventMonitor final : public wxEventFilter { public: CommandManagerEventMonitor() diff --git a/src/commands/CommandManager.h b/src/commands/CommandManager.h index 78216a86e..866f9442c 100644 --- a/src/commands/CommandManager.h +++ b/src/commands/CommandManager.h @@ -25,7 +25,7 @@ #include "audacity/Types.h" -class AUDACITY_DLL_API CommandFunctor +class AUDACITY_DLL_API CommandFunctor /* not final */ { public: CommandFunctor(){}; @@ -89,7 +89,7 @@ WX_DECLARE_HASH_MAP_WITH_DECL(int, CommandListEntry *, wxIntegerHash, wxIntegerE class AudacityProject; -class AUDACITY_DLL_API CommandManager: public XMLTagHandler +class AUDACITY_DLL_API CommandManager final : public XMLTagHandler { public: diff --git a/src/commands/CommandTargets.h b/src/commands/CommandTargets.h index 402226c2c..fa4551a4f 100644 --- a/src/commands/CommandTargets.h +++ b/src/commands/CommandTargets.h @@ -30,7 +30,7 @@ should be reference-counted. #include "../src/Project.h" /// Interface for objects that can receive command progress information -class CommandProgressTarget +class CommandProgressTarget /* not final */ { public: virtual ~CommandProgressTarget() {} @@ -38,7 +38,7 @@ public: }; /// Used to ignore a command's progress updates -class NullProgressTarget : public CommandProgressTarget +class NullProgressTarget final : public CommandProgressTarget { public: virtual ~NullProgressTarget() {} @@ -62,7 +62,7 @@ public: }; /// Interface for objects that can receive (string) messages from a command -class CommandMessageTarget +class CommandMessageTarget /* not final */ { public: virtual ~CommandMessageTarget() {} @@ -70,7 +70,7 @@ public: }; /// -class ProgressToMessageTarget : public CommandProgressTarget +class ProgressToMessageTarget final : public CommandProgressTarget { private: CommandMessageTarget &mTarget; @@ -89,7 +89,7 @@ public: }; /// Used to ignore a command's message updates -class NullMessageTarget : public CommandMessageTarget +class NullMessageTarget final : public CommandMessageTarget { public: virtual ~NullMessageTarget() {} @@ -97,7 +97,7 @@ public: }; /// Displays messages from a command in a wxMessageBox -class MessageBoxTarget : public CommandMessageTarget +class MessageBoxTarget final : public CommandMessageTarget { public: virtual ~MessageBoxTarget() {} @@ -108,7 +108,7 @@ public: }; /// Displays messages from a command in a wxStatusBar -class StatusBarTarget : public CommandMessageTarget +class StatusBarTarget final : public CommandMessageTarget { private: wxStatusBar &mStatus; @@ -123,7 +123,7 @@ public: }; /// Adds messages to a response queue (to be sent back to a script) -class ResponseQueueTarget : public CommandMessageTarget +class ResponseQueueTarget final : public CommandMessageTarget { private: ResponseQueue &mResponseQueue; @@ -142,7 +142,7 @@ public: }; /// Sends messages to two message targets at once -class CombinedMessageTarget : public CommandMessageTarget +class CombinedMessageTarget final : public CommandMessageTarget { private: CommandMessageTarget *m1, *m2; diff --git a/src/commands/CommandType.h b/src/commands/CommandType.h index 5febeb5b8..75d41b045 100644 --- a/src/commands/CommandType.h +++ b/src/commands/CommandType.h @@ -23,7 +23,7 @@ class CommandOutputTarget; class CommandSignature; class wxString; -class CommandType +class CommandType /* not final */ { private: wxString *mName; diff --git a/src/commands/CompareAudioCommand.h b/src/commands/CompareAudioCommand.h index 88e80712e..39a46a111 100644 --- a/src/commands/CompareAudioCommand.h +++ b/src/commands/CompareAudioCommand.h @@ -22,7 +22,7 @@ classes class WaveTrack; -class CompareAudioCommandType : public CommandType +class CompareAudioCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -30,7 +30,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class CompareAudioCommand : public CommandImplementation +class CompareAudioCommand final : public CommandImplementation { private: double mT0, mT1; diff --git a/src/commands/ExecMenuCommand.h b/src/commands/ExecMenuCommand.h index baec545e7..011261e5b 100644 --- a/src/commands/ExecMenuCommand.h +++ b/src/commands/ExecMenuCommand.h @@ -23,7 +23,7 @@ name. #include "Command.h" #include "CommandType.h" -class ExecMenuCommandType : public CommandType +class ExecMenuCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -31,7 +31,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class ExecMenuCommand : public CommandImplementation +class ExecMenuCommand final : public CommandImplementation { public: ExecMenuCommand(CommandType &type, diff --git a/src/commands/GetAllMenuCommands.h b/src/commands/GetAllMenuCommands.h index d2020f4a9..1e228db1a 100644 --- a/src/commands/GetAllMenuCommands.h +++ b/src/commands/GetAllMenuCommands.h @@ -23,7 +23,7 @@ channel. #include "Command.h" #include "CommandType.h" -class GetAllMenuCommandsType : public CommandType +class GetAllMenuCommandsType final : public CommandType { public: virtual wxString BuildName(); @@ -31,7 +31,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class GetAllMenuCommands : public CommandImplementation +class GetAllMenuCommands final : public CommandImplementation { public: GetAllMenuCommands(CommandType &type, diff --git a/src/commands/GetProjectInfoCommand.h b/src/commands/GetProjectInfoCommand.h index 329f619d2..448833880 100644 --- a/src/commands/GetProjectInfoCommand.h +++ b/src/commands/GetProjectInfoCommand.h @@ -19,7 +19,7 @@ #include "Command.h" #include "CommandType.h" -class GetProjectInfoCommandType : public CommandType +class GetProjectInfoCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -28,7 +28,7 @@ public: }; -class GetProjectInfoCommand : public CommandImplementation +class GetProjectInfoCommand final : public CommandImplementation { public: GetProjectInfoCommand(CommandType &type, CommandOutputTarget *target) diff --git a/src/commands/GetTrackInfoCommand.h b/src/commands/GetTrackInfoCommand.h index ea0b4d8a4..0e3e3347e 100644 --- a/src/commands/GetTrackInfoCommand.h +++ b/src/commands/GetTrackInfoCommand.h @@ -19,7 +19,7 @@ #include "Command.h" #include "CommandType.h" -class GetTrackInfoCommandType : public CommandType +class GetTrackInfoCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -27,7 +27,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class GetTrackInfoCommand : public CommandImplementation +class GetTrackInfoCommand final : public CommandImplementation { public: GetTrackInfoCommand(CommandType &type, CommandOutputTarget *target) diff --git a/src/commands/HelpCommand.h b/src/commands/HelpCommand.h index f3f1e0a38..1d9a4b773 100644 --- a/src/commands/HelpCommand.h +++ b/src/commands/HelpCommand.h @@ -22,7 +22,7 @@ #include "CommandType.h" #include "Command.h" -class HelpCommandType : public CommandType +class HelpCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -30,7 +30,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class HelpCommand : public CommandImplementation +class HelpCommand final : public CommandImplementation { public: HelpCommand(HelpCommandType &type, CommandOutputTarget *target) diff --git a/src/commands/ImportExportCommands.h b/src/commands/ImportExportCommands.h index c3c793660..75b154e24 100644 --- a/src/commands/ImportExportCommands.h +++ b/src/commands/ImportExportCommands.h @@ -22,7 +22,7 @@ // Import -class ImportCommandType : public CommandType +class ImportCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -30,7 +30,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class ImportCommand : public CommandImplementation +class ImportCommand final : public CommandImplementation { public: ImportCommand(CommandType &type, @@ -44,7 +44,7 @@ public: // Export -class ExportCommandType : public CommandType +class ExportCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -52,7 +52,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class ExportCommand : public CommandImplementation +class ExportCommand final : public CommandImplementation { public: ExportCommand(CommandType &type, diff --git a/src/commands/MessageCommand.h b/src/commands/MessageCommand.h index bb12c3498..b53e87420 100644 --- a/src/commands/MessageCommand.h +++ b/src/commands/MessageCommand.h @@ -24,7 +24,7 @@ #include "Command.h" #include "CommandType.h" -class MessageCommandType : public CommandType +class MessageCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -32,7 +32,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class MessageCommand : public CommandImplementation +class MessageCommand final : public CommandImplementation { public: MessageCommand(CommandType &type, diff --git a/src/commands/OpenSaveCommands.h b/src/commands/OpenSaveCommands.h index 0136b22b8..293963605 100644 --- a/src/commands/OpenSaveCommands.h +++ b/src/commands/OpenSaveCommands.h @@ -22,7 +22,7 @@ // Open -class OpenProjectCommandType : public CommandType +class OpenProjectCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -30,7 +30,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class OpenProjectCommand : public CommandImplementation +class OpenProjectCommand final : public CommandImplementation { public: OpenProjectCommand(CommandType &type, @@ -44,7 +44,7 @@ public: // Save -class SaveProjectCommandType : public CommandType +class SaveProjectCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -52,7 +52,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class SaveProjectCommand : public CommandImplementation +class SaveProjectCommand final : public CommandImplementation { public: SaveProjectCommand(CommandType &type, diff --git a/src/commands/PreferenceCommands.h b/src/commands/PreferenceCommands.h index 7c5e7f9ac..8cd755732 100644 --- a/src/commands/PreferenceCommands.h +++ b/src/commands/PreferenceCommands.h @@ -25,7 +25,7 @@ // GetPreference -class GetPreferenceCommandType : public CommandType +class GetPreferenceCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -33,7 +33,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class GetPreferenceCommand : public CommandImplementation +class GetPreferenceCommand final : public CommandImplementation { public: GetPreferenceCommand(CommandType &type, @@ -47,7 +47,7 @@ public: // SetPreference -class SetPreferenceCommandType : public CommandType +class SetPreferenceCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -55,7 +55,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class SetPreferenceCommand : public CommandImplementation +class SetPreferenceCommand final : public CommandImplementation { public: SetPreferenceCommand(CommandType &type, diff --git a/src/commands/ScreenshotCommand.h b/src/commands/ScreenshotCommand.h index d827ab7ed..c24c4092d 100644 --- a/src/commands/ScreenshotCommand.h +++ b/src/commands/ScreenshotCommand.h @@ -23,7 +23,7 @@ class wxRect; class ToolManager; class CommandOutputTarget; -class ScreenshotCommandType : public CommandType +class ScreenshotCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -31,7 +31,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class ScreenshotCommand : public CommandImplementation +class ScreenshotCommand final : public CommandImplementation { private: // May need to ignore the screenshot dialog diff --git a/src/commands/SelectCommand.h b/src/commands/SelectCommand.h index cf093592a..e5961f67e 100644 --- a/src/commands/SelectCommand.h +++ b/src/commands/SelectCommand.h @@ -19,7 +19,7 @@ #include "CommandType.h" #include "Command.h" -class SelectCommandType : public CommandType +class SelectCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -27,7 +27,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class SelectCommand : public CommandImplementation +class SelectCommand final : public CommandImplementation { public: SelectCommand(SelectCommandType &type, CommandOutputTarget *target) diff --git a/src/commands/SetProjectInfoCommand.h b/src/commands/SetProjectInfoCommand.h index 2efc815e3..2dfcd0a57 100644 --- a/src/commands/SetProjectInfoCommand.h +++ b/src/commands/SetProjectInfoCommand.h @@ -23,7 +23,7 @@ class Track; class TrackList; -class SetProjectInfoCommandType : public CommandType +class SetProjectInfoCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -32,7 +32,7 @@ public: }; -class SetProjectInfoCommand : public CommandImplementation +class SetProjectInfoCommand final : public CommandImplementation { public: SetProjectInfoCommand(CommandType &type, CommandOutputTarget *target) diff --git a/src/commands/SetTrackInfoCommand.h b/src/commands/SetTrackInfoCommand.h index 2328470ec..bd086f17b 100644 --- a/src/commands/SetTrackInfoCommand.h +++ b/src/commands/SetTrackInfoCommand.h @@ -19,7 +19,7 @@ #include "Command.h" #include "CommandType.h" -class SetTrackInfoCommandType : public CommandType +class SetTrackInfoCommandType final : public CommandType { public: virtual wxString BuildName(); @@ -27,7 +27,7 @@ public: virtual Command *Create(CommandOutputTarget *target); }; -class SetTrackInfoCommand : public CommandImplementation +class SetTrackInfoCommand final : public CommandImplementation { public: SetTrackInfoCommand(CommandType &type, CommandOutputTarget *target) diff --git a/src/commands/Validators.h b/src/commands/Validators.h index 0201d307a..dbafad405 100644 --- a/src/commands/Validators.h +++ b/src/commands/Validators.h @@ -43,7 +43,7 @@ a certain criterion. This is a base validator which allows anything. #ifndef __VALIDATORS__ #define __VALIDATORS__ -class Validator +class Validator /* not final */ { private: wxVariant mConverted; @@ -81,7 +81,7 @@ public: } }; -class OptionValidator : public Validator +class OptionValidator final : public Validator { private: wxArrayString mOptions; @@ -120,7 +120,7 @@ public: } }; -class BoolValidator : public Validator +class BoolValidator final : public Validator { public: virtual bool Validate(const wxVariant &v) @@ -140,7 +140,7 @@ public: } }; -class BoolArrayValidator : public Validator +class BoolArrayValidator final : public Validator { public: virtual bool Validate(const wxVariant &v) @@ -164,7 +164,7 @@ public: } }; -class DoubleValidator : public Validator +class DoubleValidator final : public Validator { public: virtual bool Validate(const wxVariant &v) @@ -184,7 +184,7 @@ public: } }; -class RangeValidator : public Validator +class RangeValidator final : public Validator { private: double mLower, mUpper; @@ -209,7 +209,7 @@ public: } }; -class IntValidator : public Validator +class IntValidator final : public Validator { public: virtual bool Validate(const wxVariant &v) @@ -231,7 +231,7 @@ public: }; /* -class AndValidator : public Validator +class AndValidator final : public Validator { private: Validator &v1, &v2; diff --git a/src/effects/Amplify.h b/src/effects/Amplify.h index f4ef85d26..fc5d73c6d 100644 --- a/src/effects/Amplify.h +++ b/src/effects/Amplify.h @@ -27,7 +27,7 @@ class ShuttleGui; -class EffectAmplify : public Effect +class EffectAmplify final : public Effect { public: EffectAmplify(); diff --git a/src/effects/AutoDuck.h b/src/effects/AutoDuck.h index 720fd39a1..997a17da1 100644 --- a/src/effects/AutoDuck.h +++ b/src/effects/AutoDuck.h @@ -28,7 +28,7 @@ class ShuttleGui; #define AUTODUCK_PLUGIN_SYMBOL XO("Auto Duck") -class EffectAutoDuck : public Effect +class EffectAutoDuck final : public Effect { public: EffectAutoDuck(); @@ -90,7 +90,7 @@ private: friend class EffectAutoDuckPanel; }; -class EffectAutoDuckPanel : public wxPanel +class EffectAutoDuckPanel final : public wxPanel { public: EffectAutoDuckPanel(wxWindow *parent, EffectAutoDuck *effect); diff --git a/src/effects/BassTreble.h b/src/effects/BassTreble.h index f5dc9f814..e6ddecdad 100644 --- a/src/effects/BassTreble.h +++ b/src/effects/BassTreble.h @@ -25,7 +25,7 @@ class ShuttleGui; #define BASSTREBLE_PLUGIN_SYMBOL XO("Bass and Treble") -class EffectBassTreble : public Effect +class EffectBassTreble final : public Effect { public: EffectBassTreble(); diff --git a/src/effects/ChangePitch.h b/src/effects/ChangePitch.h index 5a620fcec..6e7fb83d3 100644 --- a/src/effects/ChangePitch.h +++ b/src/effects/ChangePitch.h @@ -33,7 +33,7 @@ class ShuttleGui; #define CHANGEPITCH_PLUGIN_SYMBOL XO("Change Pitch") -class EffectChangePitch : public EffectSoundTouch +class EffectChangePitch final : public EffectSoundTouch { public: EffectChangePitch(); diff --git a/src/effects/ChangeSpeed.h b/src/effects/ChangeSpeed.h index 158786499..e08590b6d 100644 --- a/src/effects/ChangeSpeed.h +++ b/src/effects/ChangeSpeed.h @@ -27,7 +27,7 @@ class ShuttleGui; #define CHANGESPEED_PLUGIN_SYMBOL XO("Change Speed") -class EffectChangeSpeed : public Effect +class EffectChangeSpeed final : public Effect { public: EffectChangeSpeed(); diff --git a/src/effects/ChangeTempo.h b/src/effects/ChangeTempo.h index bb873ee0a..097626056 100644 --- a/src/effects/ChangeTempo.h +++ b/src/effects/ChangeTempo.h @@ -27,7 +27,7 @@ class ShuttleGui; #define CHANGETEMPO_PLUGIN_SYMBOL XO("Change Tempo") -class EffectChangeTempo : public EffectSoundTouch +class EffectChangeTempo final : public EffectSoundTouch { public: EffectChangeTempo(); diff --git a/src/effects/ClickRemoval.h b/src/effects/ClickRemoval.h index 723fd9e59..63e5a6680 100644 --- a/src/effects/ClickRemoval.h +++ b/src/effects/ClickRemoval.h @@ -28,7 +28,7 @@ class ShuttleGui; #define CLICKREMOVAL_PLUGIN_SYMBOL XO("Click Removal") -class EffectClickRemoval : public Effect +class EffectClickRemoval final : public Effect { public: EffectClickRemoval(); diff --git a/src/effects/Compressor.h b/src/effects/Compressor.h index 43fa457c5..287b4f548 100644 --- a/src/effects/Compressor.h +++ b/src/effects/Compressor.h @@ -28,7 +28,7 @@ class ShuttleGui; #define COMPRESSOR_PLUGIN_SYMBOL XO("Compressor") -class EffectCompressor : public EffectTwoPassSimpleMono +class EffectCompressor final : public EffectTwoPassSimpleMono { public: @@ -133,7 +133,7 @@ private: DECLARE_EVENT_TABLE(); }; -class EffectCompressorPanel: public wxPanel +class EffectCompressorPanel final : public wxPanel { public: EffectCompressorPanel(wxWindow *parent, diff --git a/src/effects/Contrast.h b/src/effects/Contrast.h index 9f143d276..b78ac3a8c 100644 --- a/src/effects/Contrast.h +++ b/src/effects/Contrast.h @@ -27,7 +27,7 @@ class WaveTrack; // Declare window functions -class ContrastDialog:public wxDialog +class ContrastDialog final : public wxDialog { public: // constructors and destructors diff --git a/src/effects/DtmfGen.h b/src/effects/DtmfGen.h index a8c259e53..709c16472 100644 --- a/src/effects/DtmfGen.h +++ b/src/effects/DtmfGen.h @@ -27,7 +27,7 @@ class ShuttleGui; #define DTMFTONES_PLUGIN_SYMBOL XO("DTMF Tones") -class EffectDtmf : public Effect +class EffectDtmf final : public Effect { public: EffectDtmf(); diff --git a/src/effects/Echo.h b/src/effects/Echo.h index 652453ad0..dd807ff83 100644 --- a/src/effects/Echo.h +++ b/src/effects/Echo.h @@ -22,7 +22,7 @@ class ShuttleGui; #define ECHO_PLUGIN_SYMBOL XO("Echo") -class EffectEcho : public Effect +class EffectEcho final : public Effect { public: EffectEcho(); diff --git a/src/effects/Effect.cpp b/src/effects/Effect.cpp index d1e9200ab..10570333b 100644 --- a/src/effects/Effect.cpp +++ b/src/effects/Effect.cpp @@ -2719,7 +2719,7 @@ void EffectDialog::OnOk(wxCommandEvent & WXUNUSED(evt)) // /////////////////////////////////////////////////////////////////////////////// -class EffectPanel : public wxPanel +class EffectPanel final : public wxPanel { public: EffectPanel(wxWindow *parent) diff --git a/src/effects/Effect.h b/src/effects/Effect.h index 83e2cf0b1..29f427e81 100644 --- a/src/effects/Effect.h +++ b/src/effects/Effect.h @@ -52,7 +52,7 @@ class WaveTrack; // TODO: Much more cleanup of old methods and variables is needed, but // TODO: can't be done until after all effects are using the NEW API. -class AUDACITY_DLL_API Effect : public wxEvtHandler, +class AUDACITY_DLL_API Effect /* not final */ : public wxEvtHandler, public EffectClientInterface, public EffectUIClientInterface, public EffectHostInterface @@ -472,7 +472,7 @@ private: #define ID_EFFECT_PREVIEW ePreviewID // Base dialog for regular effect -class AUDACITY_DLL_API EffectDialog:public wxDialog +class AUDACITY_DLL_API EffectDialog /* not final */ : public wxDialog { public: // constructors and destructors @@ -499,7 +499,7 @@ private: }; // -class EffectUIHost : public wxDialog, +class EffectUIHost final : public wxDialog, public EffectUIHostInterface { public: @@ -587,7 +587,7 @@ private: DECLARE_EVENT_TABLE(); }; -class EffectPresetsDialog : public wxDialog +class EffectPresetsDialog final : public wxDialog { public: EffectPresetsDialog(wxWindow *parent, Effect *effect); diff --git a/src/effects/EffectRack.h b/src/effects/EffectRack.h index 72d8b5e3d..f60c2f912 100644 --- a/src/effects/EffectRack.h +++ b/src/effects/EffectRack.h @@ -30,7 +30,7 @@ #include "EffectManager.h" -class EffectRack : public wxFrame +class EffectRack final : public wxFrame { public: EffectRack(); diff --git a/src/effects/Equalization.h b/src/effects/Equalization.h index 65ddae598..21af910d3 100644 --- a/src/effects/Equalization.h +++ b/src/effects/Equalization.h @@ -82,7 +82,7 @@ WX_DECLARE_OBJARRAY( EQCurve, EQCurveArray ); class EffectEqualization48x; #endif -class EffectEqualization : public Effect, +class EffectEqualization final : public Effect, public XMLTagHandler { public: @@ -269,7 +269,7 @@ private: friend class EditCurvesDialog; }; -class EqualizationPanel: public wxPanel +class EqualizationPanel final : public wxPanel { public: EqualizationPanel(EffectEqualization *effect, wxWindow *parent); @@ -320,7 +320,7 @@ private: // EditCurvesDialog. Note that the 'modified' curve used to be called 'custom' but is now called 'unnamed' // Some things that deal with 'unnamed' curves still use, for example, 'mCustomBackup' as variable names. -class EditCurvesDialog : public wxDialog +class EditCurvesDialog final : public wxDialog { public: EditCurvesDialog(wxWindow * parent, EffectEqualization * effect, int position); @@ -364,7 +364,7 @@ private: #if wxUSE_ACCESSIBILITY -class SliderAx: public wxWindowAccessible +class SliderAx final : public wxWindowAccessible { public: SliderAx(wxWindow * window, const wxString &fmt); diff --git a/src/effects/Fade.h b/src/effects/Fade.h index 0b417bad2..3b2095164 100644 --- a/src/effects/Fade.h +++ b/src/effects/Fade.h @@ -18,7 +18,7 @@ #define FADEIN_PLUGIN_SYMBOL XO("Fade In") #define FADEOUT_PLUGIN_SYMBOL XO("Fade Out") -class EffectFade : public Effect +class EffectFade final : public Effect { public: EffectFade(bool fadeIn = false); diff --git a/src/effects/FindClipping.h b/src/effects/FindClipping.h index 0505c253c..1cb5d2239 100644 --- a/src/effects/FindClipping.h +++ b/src/effects/FindClipping.h @@ -22,7 +22,7 @@ class LabelTrack; #define FINDCLIPPING_PLUGIN_SYMBOL XO("Find Clipping") -class EffectFindClipping : public Effect +class EffectFindClipping final : public Effect { public: EffectFindClipping(); diff --git a/src/effects/Generator.h b/src/effects/Generator.h index 2083bbf07..fe778d3ba 100644 --- a/src/effects/Generator.h +++ b/src/effects/Generator.h @@ -21,7 +21,7 @@ #include "Effect.h" // Base class for Generators (effects which fill a given duration) -class Generator : public Effect +class Generator /* not final */ : public Effect { public: Generator() { } @@ -55,7 +55,7 @@ protected: // Abstract generator which creates the sound in discrete blocks, whilst // showing a progress bar -class BlockGenerator : public Generator { +class BlockGenerator /* not final */ : public Generator { public: BlockGenerator() { } protected: diff --git a/src/effects/Invert.h b/src/effects/Invert.h index 3e7ad83bc..3e1e17134 100644 --- a/src/effects/Invert.h +++ b/src/effects/Invert.h @@ -19,7 +19,7 @@ #define INVERT_PLUGIN_SYMBOL XO("Invert") -class EffectInvert : public Effect +class EffectInvert final : public Effect { public: EffectInvert(); diff --git a/src/effects/Leveller.h b/src/effects/Leveller.h index 1019bf563..40ca5c61c 100644 --- a/src/effects/Leveller.h +++ b/src/effects/Leveller.h @@ -20,7 +20,7 @@ class ShuttleGui; #define LEVELLER_PLUGIN_SYMBOL XO("Leveller") -class EffectLeveller : public Effect +class EffectLeveller final : public Effect { public: EffectLeveller(); diff --git a/src/effects/LoadEffects.h b/src/effects/LoadEffects.h index 3e3908e77..4ce3ccb7e 100644 --- a/src/effects/LoadEffects.h +++ b/src/effects/LoadEffects.h @@ -20,7 +20,7 @@ // /////////////////////////////////////////////////////////////////////////////// -class BuiltinEffectsModule : public ModuleInterface +class BuiltinEffectsModule final : public ModuleInterface { public: BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); diff --git a/src/effects/Noise.h b/src/effects/Noise.h index 636aa6b5a..082a9846d 100644 --- a/src/effects/Noise.h +++ b/src/effects/Noise.h @@ -23,7 +23,7 @@ class ShuttleGui; #define NOISE_PLUGIN_SYMBOL XO("Noise") -class EffectNoise : public Effect +class EffectNoise final : public Effect { public: EffectNoise(); diff --git a/src/effects/NoiseReduction.cpp b/src/effects/NoiseReduction.cpp index eb542c15a..c42afe57c 100644 --- a/src/effects/NoiseReduction.cpp +++ b/src/effects/NoiseReduction.cpp @@ -352,7 +352,7 @@ private: // EffectNoiseReduction::Dialog //---------------------------------------------------------------------------- -class EffectNoiseReduction::Dialog: public EffectDialog +class EffectNoiseReduction::Dialog final : public EffectDialog { public: // constructors and destructors diff --git a/src/effects/NoiseReduction.h b/src/effects/NoiseReduction.h index abfd5cdab..35ce62279 100644 --- a/src/effects/NoiseReduction.h +++ b/src/effects/NoiseReduction.h @@ -19,7 +19,7 @@ #define NOISEREDUCTION_PLUGIN_SYMBOL XO("Noise Reduction") -class EffectNoiseReduction: public Effect { +class EffectNoiseReduction final : public Effect { public: EffectNoiseReduction(); diff --git a/src/effects/NoiseRemoval.h b/src/effects/NoiseRemoval.h index 2f55fc1b9..4563cfe7b 100644 --- a/src/effects/NoiseRemoval.h +++ b/src/effects/NoiseRemoval.h @@ -32,7 +32,7 @@ class WaveTrack; #include "../RealFFTf.h" -class EffectNoiseRemoval : public Effect +class EffectNoiseRemoval final : public Effect { public: EffectNoiseRemoval(); @@ -128,7 +128,7 @@ private: // Declare window functions -class NoiseRemovalDialog: public EffectDialog +class NoiseRemovalDialog final : public EffectDialog { public: // constructors and destructors diff --git a/src/effects/Normalize.h b/src/effects/Normalize.h index 25192bba9..625378333 100644 --- a/src/effects/Normalize.h +++ b/src/effects/Normalize.h @@ -24,7 +24,7 @@ class ShuttleGui; #define NORMALIZE_PLUGIN_SYMBOL XO("Normalize") -class EffectNormalize : public Effect +class EffectNormalize final : public Effect { public: EffectNormalize(); diff --git a/src/effects/Paulstretch.h b/src/effects/Paulstretch.h index 2f3b601b8..2daae478f 100644 --- a/src/effects/Paulstretch.h +++ b/src/effects/Paulstretch.h @@ -18,7 +18,7 @@ class ShuttleGui; #define PAULSTRETCH_PLUGIN_SYMBOL XO("Paulstretch") -class EffectPaulstretch : public Effect +class EffectPaulstretch final : public Effect { public: EffectPaulstretch(); diff --git a/src/effects/Phaser.h b/src/effects/Phaser.h index fcec5610b..df4525887 100644 --- a/src/effects/Phaser.h +++ b/src/effects/Phaser.h @@ -46,7 +46,7 @@ public: WX_DECLARE_OBJARRAY(EffectPhaserState, EffectPhaserStateArray); -class EffectPhaser : public Effect +class EffectPhaser final : public Effect { public: EffectPhaser(); diff --git a/src/effects/Repair.h b/src/effects/Repair.h index 1abacfc5f..165c49799 100644 --- a/src/effects/Repair.h +++ b/src/effects/Repair.h @@ -19,7 +19,7 @@ class WaveTrack; -class EffectRepair : public Effect +class EffectRepair final : public Effect { public: EffectRepair(); diff --git a/src/effects/Repeat.h b/src/effects/Repeat.h index 766556c3a..7498286ef 100644 --- a/src/effects/Repeat.h +++ b/src/effects/Repeat.h @@ -22,7 +22,7 @@ class ShuttleGui; #define REPEAT_PLUGIN_SYMBOL XO("Repeat") -class EffectRepeat : public Effect +class EffectRepeat final : public Effect { public: EffectRepeat(); diff --git a/src/effects/Reverb.h b/src/effects/Reverb.h index d821470c9..10cfd36ec 100644 --- a/src/effects/Reverb.h +++ b/src/effects/Reverb.h @@ -26,7 +26,7 @@ class ShuttleGui; struct Reverb_priv_t; -class EffectReverb : public Effect +class EffectReverb final : public Effect { public: EffectReverb(); diff --git a/src/effects/Reverse.h b/src/effects/Reverse.h index 1080f76c7..3752ec68e 100644 --- a/src/effects/Reverse.h +++ b/src/effects/Reverse.h @@ -19,7 +19,7 @@ #define REVERSE_PLUGIN_SYMBOL XO("Reverse") -class EffectReverse : public Effect +class EffectReverse final : public Effect { public: EffectReverse(); diff --git a/src/effects/SBSMSEffect.cpp b/src/effects/SBSMSEffect.cpp index 6eea600ae..6682e8979 100644 --- a/src/effects/SBSMSEffect.cpp +++ b/src/effects/SBSMSEffect.cpp @@ -83,7 +83,7 @@ public: WaveTrack *outputRightTrack; }; -class SBSMSEffectInterface : public SBSMSInterfaceSliding { +class SBSMSEffectInterface final : public SBSMSInterfaceSliding { public: SBSMSEffectInterface(Resampler *resampler, Slide *rateSlide, Slide *pitchSlide, diff --git a/src/effects/SBSMSEffect.h b/src/effects/SBSMSEffect.h index 14ba2e17c..3055eb430 100644 --- a/src/effects/SBSMSEffect.h +++ b/src/effects/SBSMSEffect.h @@ -21,7 +21,7 @@ #include "sbsms.h" using namespace _sbsms_; -class EffectSBSMS : public Effect +class EffectSBSMS /* not final */ : public Effect { public: virtual bool Process(); diff --git a/src/effects/ScienFilter.h b/src/effects/ScienFilter.h index 4d80e7512..22231f097 100644 --- a/src/effects/ScienFilter.h +++ b/src/effects/ScienFilter.h @@ -35,7 +35,7 @@ class ShuttleGui; class EffectScienFilterPanel; -class EffectScienFilter : public Effect +class EffectScienFilter final : public Effect { public: EffectScienFilter(); @@ -135,7 +135,7 @@ private: friend class EffectScienFilterPanel; }; -class EffectScienFilterPanel : public wxPanel +class EffectScienFilterPanel final : public wxPanel { public: EffectScienFilterPanel(EffectScienFilter *effect, wxWindow *parent); diff --git a/src/effects/ScoreAlignDialog.h b/src/effects/ScoreAlignDialog.h index 7a9f55c67..b7b3ee3de 100644 --- a/src/effects/ScoreAlignDialog.h +++ b/src/effects/ScoreAlignDialog.h @@ -26,7 +26,7 @@ void CloseScoreAlignDialog(); // Declare window functions -class ScoreAlignDialog : public wxDialog +class ScoreAlignDialog final : public wxDialog { public: ScoreAlignParams p; diff --git a/src/effects/Silence.h b/src/effects/Silence.h index f95647257..be08c353c 100644 --- a/src/effects/Silence.h +++ b/src/effects/Silence.h @@ -21,7 +21,7 @@ #define SILENCE_PLUGIN_SYMBOL XO("Silence") -class EffectSilence : public Generator +class EffectSilence final : public Generator { public: EffectSilence(); diff --git a/src/effects/SimpleMono.h b/src/effects/SimpleMono.h index fb017608e..9a234eedc 100644 --- a/src/effects/SimpleMono.h +++ b/src/effects/SimpleMono.h @@ -21,7 +21,7 @@ class WaveTrack; -class EffectSimpleMono : public Effect +class EffectSimpleMono /* not final */ : public Effect { public: virtual bool Process(); diff --git a/src/effects/SoundTouchEffect.h b/src/effects/SoundTouchEffect.h index e6d4c6a47..05ca8f134 100644 --- a/src/effects/SoundTouchEffect.h +++ b/src/effects/SoundTouchEffect.h @@ -34,7 +34,7 @@ using namespace soundtouch; class WaveTrack; -class EffectSoundTouch : public Effect +class EffectSoundTouch /* not final */ : public Effect { public: diff --git a/src/effects/StereoToMono.h b/src/effects/StereoToMono.h index 7bca2486d..2fb5245f2 100644 --- a/src/effects/StereoToMono.h +++ b/src/effects/StereoToMono.h @@ -17,7 +17,7 @@ #define STEREOTOMONO_PLUGIN_SYMBOL XO("Stereo To Mono") -class EffectStereoToMono : public Effect +class EffectStereoToMono final : public Effect { public: EffectStereoToMono(); diff --git a/src/effects/TimeScale.h b/src/effects/TimeScale.h index fe7852a40..126735424 100644 --- a/src/effects/TimeScale.h +++ b/src/effects/TimeScale.h @@ -26,7 +26,7 @@ class ShuttleGui; #define TIMESCALE_PLUGIN_SYMBOL XO("Time Scale") -class EffectTimeScale : public EffectSBSMS +class EffectTimeScale final : public EffectSBSMS { public: EffectTimeScale(); diff --git a/src/effects/TimeWarper.h b/src/effects/TimeWarper.h index a056468cf..6ec3b7a91 100644 --- a/src/effects/TimeWarper.h +++ b/src/effects/TimeWarper.h @@ -56,20 +56,20 @@ of the warped region. #ifndef __TIMEWARPER__ #define __TIMEWARPER__ -class TimeWarper +class TimeWarper /* not final */ { public: virtual ~TimeWarper() { } virtual double Warp(double originalTime) const = 0; }; -class IdentityTimeWarper : public TimeWarper +class IdentityTimeWarper final : public TimeWarper { public: virtual double Warp(double originalTime) const; }; -class ShiftTimeWarper : public TimeWarper +class ShiftTimeWarper final : public TimeWarper { private: TimeWarper *mWarper; @@ -82,7 +82,7 @@ public: virtual double Warp(double originalTime) const; }; -class LinearTimeWarper : public TimeWarper +class LinearTimeWarper final : public TimeWarper { private: double mScale; @@ -96,7 +96,7 @@ public: virtual double Warp(double originalTime) const; }; -class LinearInputRateTimeWarper : public TimeWarper +class LinearInputRateTimeWarper final : public TimeWarper { private: LinearTimeWarper mRateWarper; @@ -109,7 +109,7 @@ public: virtual double Warp(double originalTime) const; }; -class LinearOutputRateTimeWarper : public TimeWarper +class LinearOutputRateTimeWarper final : public TimeWarper { private: LinearTimeWarper mTimeWarper; @@ -124,7 +124,7 @@ public: virtual double Warp(double originalTime) const; }; -class LinearInputStretchTimeWarper : public TimeWarper +class LinearInputStretchTimeWarper final : public TimeWarper { private: LinearTimeWarper mTimeWarper; @@ -137,7 +137,7 @@ public: virtual double Warp(double originalTime) const; }; -class LinearOutputStretchTimeWarper : public TimeWarper +class LinearOutputStretchTimeWarper final : public TimeWarper { private: LinearTimeWarper mTimeWarper; @@ -150,7 +150,7 @@ public: virtual double Warp(double originalTime) const; }; -class GeometricInputTimeWarper : public TimeWarper +class GeometricInputTimeWarper final : public TimeWarper { private: LinearTimeWarper mTimeWarper; @@ -163,7 +163,7 @@ public: virtual double Warp(double originalTime) const; }; -class GeometricOutputTimeWarper : public TimeWarper +class GeometricOutputTimeWarper final : public TimeWarper { private: LinearTimeWarper mTimeWarper; @@ -176,7 +176,7 @@ public: virtual double Warp(double originalTime) const; }; -class StepTimeWarper : public TimeWarper +class StepTimeWarper final : public TimeWarper { private: double mTStep; @@ -188,7 +188,7 @@ public: // Note: this assumes that tStart is a fixed point of warper->warp() -class RegionTimeWarper : public TimeWarper +class RegionTimeWarper final : public TimeWarper { private: TimeWarper *mWarper; diff --git a/src/effects/ToneGen.h b/src/effects/ToneGen.h index 337e01e25..4d4132af3 100644 --- a/src/effects/ToneGen.h +++ b/src/effects/ToneGen.h @@ -25,7 +25,7 @@ class ShuttleGui; #define CHIRP_PLUGIN_SYMBOL XO("Chirp") #define TONE_PLUGIN_SYMBOL XO("Tone") -class EffectToneGen : public Effect +class EffectToneGen final : public Effect { public: EffectToneGen(bool isChirp); diff --git a/src/effects/TruncSilence.h b/src/effects/TruncSilence.h index 5fd68587d..a8b2ff96b 100644 --- a/src/effects/TruncSilence.h +++ b/src/effects/TruncSilence.h @@ -33,7 +33,7 @@ class wxCheckBox; class RegionList; -class EffectTruncSilence : public Effect +class EffectTruncSilence final : public Effect { public: EffectTruncSilence(); diff --git a/src/effects/TwoPassSimpleMono.h b/src/effects/TwoPassSimpleMono.h index 2400b88d1..f18676123 100644 --- a/src/effects/TwoPassSimpleMono.h +++ b/src/effects/TwoPassSimpleMono.h @@ -17,7 +17,7 @@ class WaveTrack; -class EffectTwoPassSimpleMono : public Effect +class EffectTwoPassSimpleMono /* not final */ : public Effect { public: // Effect implementation diff --git a/src/effects/VST/VSTControl.h b/src/effects/VST/VSTControl.h index 1c5d2f373..b499add3b 100644 --- a/src/effects/VST/VSTControl.h +++ b/src/effects/VST/VSTControl.h @@ -16,14 +16,14 @@ #include "aeffectx.h" -class VSTEffectLink +class VSTEffectLink /* not final */ { public: virtual ~VSTEffectLink() {}; virtual intptr_t callDispatcher(int opcode, int index, intptr_t value, void *ptr, float opt) = 0; }; -class VSTControlBase : public wxControl +class VSTControlBase /* not final */ : public wxControl { public: VSTControlBase() diff --git a/src/effects/VST/VSTControlGTK.h b/src/effects/VST/VSTControlGTK.h index 87ac73929..59e50e490 100644 --- a/src/effects/VST/VSTControlGTK.h +++ b/src/effects/VST/VSTControlGTK.h @@ -21,7 +21,7 @@ #include "aeffectx.h" -class VSTControl : public VSTControlBase +class VSTControl final : public VSTControlBase { public: VSTControl(); diff --git a/src/effects/VST/VSTControlMSW.h b/src/effects/VST/VSTControlMSW.h index 8babb63d9..9d59757d4 100644 --- a/src/effects/VST/VSTControlMSW.h +++ b/src/effects/VST/VSTControlMSW.h @@ -17,7 +17,7 @@ #include "aeffectx.h" -class VSTControl : public VSTControlBase +class VSTControl final : public VSTControlBase { public: VSTControl(); diff --git a/src/effects/VST/VSTControlOSX.h b/src/effects/VST/VSTControlOSX.h index 353e09e6e..71eb2a925 100644 --- a/src/effects/VST/VSTControlOSX.h +++ b/src/effects/VST/VSTControlOSX.h @@ -21,7 +21,7 @@ #include "aeffectx.h" -class VSTControlImpl : public wxWidgetCocoaImpl +class VSTControlImpl final : public wxWidgetCocoaImpl { public : VSTControlImpl(wxWindowMac *peer, NSView *view); diff --git a/src/effects/VST/VSTEffect.cpp b/src/effects/VST/VSTEffect.cpp index 73424c0f9..988aaaf5f 100644 --- a/src/effects/VST/VSTEffect.cpp +++ b/src/effects/VST/VSTEffect.cpp @@ -125,7 +125,7 @@ DECLARE_MODULE_ENTRY(AudacityModule) // ============================================================================ DECLARE_BUILTIN_MODULE(VSTBuiltin); -class VSTSubEntry : public wxModule +class VSTSubEntry final : public wxModule { public: bool OnInit() @@ -175,7 +175,7 @@ enum InfoKeys kKeyEnd }; -class VSTSubProcess : public wxProcess, +class VSTSubProcess final : public wxProcess, public EffectIdentInterface { public: @@ -698,7 +698,7 @@ void VSTEffectsModule::Check(const wxChar *path) // /////////////////////////////////////////////////////////////////////////////// -class VSTEffectOptionsDialog:public wxDialog +class VSTEffectOptionsDialog final : public wxDialog { public: VSTEffectOptionsDialog(wxWindow * parent, EffectHostInterface *host); @@ -833,7 +833,7 @@ void VSTEffectOptionsDialog::OnOk(wxCommandEvent & WXUNUSED(evt)) // /////////////////////////////////////////////////////////////////////////////// -class VSTEffectTimer : public wxTimer +class VSTEffectTimer final : public wxTimer { public: VSTEffectTimer(VSTEffect *effect) diff --git a/src/effects/VST/VSTEffect.h b/src/effects/VST/VSTEffect.h index db6d55025..a46ddd3f5 100644 --- a/src/effects/VST/VSTEffect.h +++ b/src/effects/VST/VSTEffect.h @@ -61,7 +61,7 @@ WX_DEFINE_ARRAY_PTR(VSTEffect *, VSTEffectArray); DECLARE_LOCAL_EVENT_TYPE(EVT_SIZEWINDOW, -1); DECLARE_LOCAL_EVENT_TYPE(EVT_UPDATEDISPLAY, -1); -class VSTEffect : public wxEvtHandler, +class VSTEffect final : public wxEvtHandler, public EffectClientInterface, public EffectUIClientInterface, public XMLTagHandler, @@ -329,7 +329,7 @@ private: // /////////////////////////////////////////////////////////////////////////////// -class VSTEffectsModule : public ModuleInterface +class VSTEffectsModule final : public ModuleInterface { public: VSTEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); diff --git a/src/effects/Wahwah.h b/src/effects/Wahwah.h index 582133e9f..5bd67b1b1 100644 --- a/src/effects/Wahwah.h +++ b/src/effects/Wahwah.h @@ -43,7 +43,7 @@ public: WX_DECLARE_OBJARRAY(EffectWahwahState, EffectWahwahStateArray); -class EffectWahwah : public Effect +class EffectWahwah final : public Effect { public: EffectWahwah(); diff --git a/src/effects/audiounits/AUControl.h b/src/effects/audiounits/AUControl.h index 061f01258..6cbe91c48 100644 --- a/src/effects/audiounits/AUControl.h +++ b/src/effects/audiounits/AUControl.h @@ -20,14 +20,14 @@ #include -class AUControlImpl : public wxWidgetCocoaImpl +class AUControlImpl final : public wxWidgetCocoaImpl { public : AUControlImpl(wxWindowMac *peer, NSView *view); ~AUControlImpl(); }; -class AUControl : public wxControl +class AUControl final : public wxControl { public: AUControl(); diff --git a/src/effects/audiounits/AudioUnitEffect.cpp b/src/effects/audiounits/AudioUnitEffect.cpp index 8d9fca28b..45c1af3cd 100644 --- a/src/effects/audiounits/AudioUnitEffect.cpp +++ b/src/effects/audiounits/AudioUnitEffect.cpp @@ -286,7 +286,7 @@ OSType AudioUnitEffectsModule::ToOSType(const wxString & type) // /////////////////////////////////////////////////////////////////////////////// -class AudioUnitEffectOptionsDialog:public wxDialog +class AudioUnitEffectOptionsDialog final : public wxDialog { public: AudioUnitEffectOptionsDialog(wxWindow * parent, EffectHostInterface *host); @@ -426,7 +426,7 @@ void AudioUnitEffectOptionsDialog::OnOk(wxCommandEvent & WXUNUSED(evt)) #define PRESET_LOCAL_PATH wxT("/Library/Audio/Presets") #define PRESET_USER_PATH wxT("~/Library/Audio/Presets") -class AudioUnitEffectExportDialog:public wxDialog +class AudioUnitEffectExportDialog final : public wxDialog { public: AudioUnitEffectExportDialog(wxWindow * parent, AudioUnitEffect *effect); @@ -600,7 +600,7 @@ void AudioUnitEffectExportDialog::OnOk(wxCommandEvent & WXUNUSED(evt)) // /////////////////////////////////////////////////////////////////////////////// -class AudioUnitEffectImportDialog:public wxDialog +class AudioUnitEffectImportDialog final : public wxDialog { public: AudioUnitEffectImportDialog(wxWindow * parent, AudioUnitEffect *effect); diff --git a/src/effects/audiounits/AudioUnitEffect.h b/src/effects/audiounits/AudioUnitEffect.h index 84608a76d..f4739f12c 100644 --- a/src/effects/audiounits/AudioUnitEffect.h +++ b/src/effects/audiounits/AudioUnitEffect.h @@ -221,7 +221,7 @@ private: // /////////////////////////////////////////////////////////////////////////////// -class AudioUnitEffectsModule : public ModuleInterface +class AudioUnitEffectsModule final : public ModuleInterface { public: AudioUnitEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); diff --git a/src/effects/ladspa/LadspaEffect.cpp b/src/effects/ladspa/LadspaEffect.cpp index 8777a2e86..826c9a317 100644 --- a/src/effects/ladspa/LadspaEffect.cpp +++ b/src/effects/ladspa/LadspaEffect.cpp @@ -321,7 +321,7 @@ wxArrayString LadspaEffectsModule::GetSearchPaths() // /////////////////////////////////////////////////////////////////////////////// -class LadspaEffectOptionsDialog:public wxDialog +class LadspaEffectOptionsDialog final : public wxDialog { public: LadspaEffectOptionsDialog(wxWindow * parent, EffectHostInterface *host); @@ -422,7 +422,7 @@ enum // /////////////////////////////////////////////////////////////////////////////// -class LadspaEffectMeter : public wxWindow +class LadspaEffectMeter final : public wxWindow { public: LadspaEffectMeter(wxWindow *parent, const float & val, float min, float max); diff --git a/src/effects/ladspa/LadspaEffect.h b/src/effects/ladspa/LadspaEffect.h index 995d1a8c6..35f6af9dc 100644 --- a/src/effects/ladspa/LadspaEffect.h +++ b/src/effects/ladspa/LadspaEffect.h @@ -36,7 +36,7 @@ WX_DEFINE_ARRAY_PTR(LADSPA_Handle, LadspaSlaveArray); class LadspaEffectMeter; -class LadspaEffect : public wxEvtHandler, +class LadspaEffect final : public wxEvtHandler, public EffectClientInterface, public EffectUIClientInterface { @@ -202,7 +202,7 @@ private: // /////////////////////////////////////////////////////////////////////////////// -class LadspaEffectsModule : public ModuleInterface +class LadspaEffectsModule final : public ModuleInterface { public: LadspaEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); diff --git a/src/effects/lv2/LV2Effect.cpp b/src/effects/lv2/LV2Effect.cpp index 5cb951475..32ff21acb 100644 --- a/src/effects/lv2/LV2Effect.cpp +++ b/src/effects/lv2/LV2Effect.cpp @@ -69,7 +69,7 @@ URILIST // /////////////////////////////////////////////////////////////////////////////// -class LV2EffectMeter : public wxWindow +class LV2EffectMeter final : public wxWindow { public: LV2EffectMeter(wxWindow *parent, const LV2Port & ctrl); @@ -167,7 +167,7 @@ void LV2EffectMeter::OnSize(wxSizeEvent & WXUNUSED(evt)) // /////////////////////////////////////////////////////////////////////////////// -class LV2EffectSettingsDialog : public wxDialog +class LV2EffectSettingsDialog final : public wxDialog { public: LV2EffectSettingsDialog(wxWindow *parent, LV2Effect *effect); diff --git a/src/effects/lv2/LV2Effect.h b/src/effects/lv2/LV2Effect.h index d8d623fd7..75b2dc4cc 100644 --- a/src/effects/lv2/LV2Effect.h +++ b/src/effects/lv2/LV2Effect.h @@ -91,7 +91,7 @@ WX_DEFINE_ARRAY_PTR(LilvInstance *, LV2SlaveArray); class LV2EffectSettingsDialog; -class LV2Effect : public wxEvtHandler, +class LV2Effect final : public wxEvtHandler, public EffectClientInterface, public EffectUIClientInterface { diff --git a/src/effects/lv2/LoadLV2.h b/src/effects/lv2/LoadLV2.h index f21e44440..95b7e9113 100644 --- a/src/effects/lv2/LoadLV2.h +++ b/src/effects/lv2/LoadLV2.h @@ -68,7 +68,7 @@ // /////////////////////////////////////////////////////////////////////////////// -class LV2EffectsModule : public ModuleInterface +class LV2EffectsModule final : public ModuleInterface { public: LV2EffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); diff --git a/src/effects/nyquist/LoadNyquist.h b/src/effects/nyquist/LoadNyquist.h index d362bd432..f9e691194 100644 --- a/src/effects/nyquist/LoadNyquist.h +++ b/src/effects/nyquist/LoadNyquist.h @@ -18,7 +18,7 @@ // /////////////////////////////////////////////////////////////////////////////// -class NyquistEffectsModule : public ModuleInterface +class NyquistEffectsModule final : public ModuleInterface { public: NyquistEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); diff --git a/src/effects/nyquist/Nyquist.h b/src/effects/nyquist/Nyquist.h index 2d2c4db86..a835d4dd7 100644 --- a/src/effects/nyquist/Nyquist.h +++ b/src/effects/nyquist/Nyquist.h @@ -61,7 +61,7 @@ public: WX_DECLARE_USER_EXPORTED_OBJARRAY(NyqControl, NyqControlArray, AUDACITY_DLL_API); -class AUDACITY_DLL_API NyquistEffect : public Effect +class AUDACITY_DLL_API NyquistEffect final : public Effect { public: @@ -242,7 +242,7 @@ private: friend class NyquistEffectsModule; }; -class NyquistOutputDialog : public wxDialog +class NyquistOutputDialog final : public wxDialog { public: NyquistOutputDialog(wxWindow * parent, wxWindowID id, diff --git a/src/effects/vamp/LoadVamp.h b/src/effects/vamp/LoadVamp.h index 20cdd1aae..ee017dd8c 100644 --- a/src/effects/vamp/LoadVamp.h +++ b/src/effects/vamp/LoadVamp.h @@ -22,7 +22,7 @@ // /////////////////////////////////////////////////////////////////////////////// -class VampEffectsModule : public ModuleInterface +class VampEffectsModule final : public ModuleInterface { public: VampEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); diff --git a/src/effects/vamp/VampEffect.h b/src/effects/vamp/VampEffect.h index 1c660d09d..7bc2c05bf 100644 --- a/src/effects/vamp/VampEffect.h +++ b/src/effects/vamp/VampEffect.h @@ -32,7 +32,7 @@ class LabelTrack; #define VAMPEFFECTS_VERSION wxT("1.0.0.0") #define VAMPEFFECTS_FAMILY wxT("Vamp") -class VampEffect : public Effect +class VampEffect final : public Effect { public: VampEffect(Vamp::Plugin *plugin, diff --git a/src/export/Export.h b/src/export/Export.h index eb5e98ca9..b8611e2c0 100644 --- a/src/export/Export.h +++ b/src/export/Export.h @@ -50,7 +50,7 @@ WX_DECLARE_USER_EXPORTED_OBJARRAY(FormatInfo, FormatInfoArray, AUDACITY_DLL_API) //---------------------------------------------------------------------------- // ExportPlugin //---------------------------------------------------------------------------- -class AUDACITY_DLL_API ExportPlugin +class AUDACITY_DLL_API ExportPlugin /* not final */ { public: @@ -131,7 +131,7 @@ WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxWindow *, WindowPtrArray, class AUDACITY_DLL //---------------------------------------------------------------------------- // Exporter //---------------------------------------------------------------------------- -class AUDACITY_DLL_API Exporter : public wxEvtHandler +class AUDACITY_DLL_API Exporter final : public wxEvtHandler { public: @@ -195,7 +195,7 @@ private: //---------------------------------------------------------------------------- // ExportMixerPanel //---------------------------------------------------------------------------- -class ExportMixerPanel: public wxPanel +class ExportMixerPanel final : public wxPanel { public: ExportMixerPanel( MixerSpec *mixerSpec, wxArrayString trackNames, @@ -228,7 +228,7 @@ private: //---------------------------------------------------------------------------- // ExportMixerDialog //---------------------------------------------------------------------------- -class ExportMixerDialog : public wxDialog +class ExportMixerDialog final : public wxDialog { public: // constructors and destructors diff --git a/src/export/ExportCL.cpp b/src/export/ExportCL.cpp index a8fec1bd0..c60685deb 100644 --- a/src/export/ExportCL.cpp +++ b/src/export/ExportCL.cpp @@ -39,7 +39,7 @@ // ExportCLOptions //---------------------------------------------------------------------------- -class ExportCLOptions : public wxPanel +class ExportCLOptions final : public wxPanel { public: ExportCLOptions(wxWindow *parent, int format); @@ -206,7 +206,7 @@ static void Drain(wxInputStream *s, wxString *o) } } -class ExportCLProcess : public wxProcess +class ExportCLProcess final : public wxProcess { public: ExportCLProcess(wxString *output) @@ -274,7 +274,7 @@ struct wav_header { wxUint32 dataLen; /* length of all samples in bytes */ }; -class ExportCL : public ExportPlugin +class ExportCL final : public ExportPlugin { public: diff --git a/src/export/ExportFFmpeg.cpp b/src/export/ExportFFmpeg.cpp index f5aa266ad..f310d1e09 100644 --- a/src/export/ExportFFmpeg.cpp +++ b/src/export/ExportFFmpeg.cpp @@ -90,7 +90,7 @@ static int AdjustFormatIndex(int format) // ExportFFmpeg //---------------------------------------------------------------------------- -class ExportFFmpeg : public ExportPlugin +class ExportFFmpeg final : public ExportPlugin { public: diff --git a/src/export/ExportFFmpegDialogs.h b/src/export/ExportFFmpegDialogs.h index 255bf4733..ea3707c1f 100644 --- a/src/export/ExportFFmpegDialogs.h +++ b/src/export/ExportFFmpegDialogs.h @@ -58,7 +58,7 @@ struct CompatibilityEntry /// AC3 export options dialog -class ExportFFmpegAC3Options : public wxPanel +class ExportFFmpegAC3Options final : public wxPanel { public: @@ -84,7 +84,7 @@ private: int mBitRateFromChoice; }; -class ExportFFmpegAACOptions : public wxPanel +class ExportFFmpegAACOptions final : public wxPanel { public: @@ -100,7 +100,7 @@ private: wxSpinCtrl *mQualitySpin; }; -class ExportFFmpegAMRNBOptions : public wxPanel +class ExportFFmpegAMRNBOptions final : public wxPanel { public: @@ -122,7 +122,7 @@ private: int mBitRateFromChoice; }; -class ExportFFmpegWMAOptions : public wxPanel +class ExportFFmpegWMAOptions final : public wxPanel { public: @@ -145,7 +145,7 @@ private: int mBitRateFromChoice; }; -class ExportFFmpegCustomOptions : public wxPanel +class ExportFFmpegCustomOptions final : public wxPanel { public: @@ -175,7 +175,7 @@ struct ApplicableFor class FFmpegPresets; /// Custom FFmpeg export dialog -class ExportFFmpegOptions : public wxDialog +class ExportFFmpegOptions final : public wxDialog { public: diff --git a/src/export/ExportFLAC.cpp b/src/export/ExportFLAC.cpp index e25057443..0741d39db 100644 --- a/src/export/ExportFLAC.cpp +++ b/src/export/ExportFLAC.cpp @@ -47,7 +47,7 @@ and libvorbis examples, Monty // ExportFLACOptions Class //---------------------------------------------------------------------------- -class ExportFLACOptions : public wxPanel +class ExportFLACOptions final : public wxPanel { public: @@ -173,7 +173,7 @@ static struct //---------------------------------------------------------------------------- -class ExportFLAC : public ExportPlugin +class ExportFLAC final : public ExportPlugin { public: diff --git a/src/export/ExportMP2.cpp b/src/export/ExportMP2.cpp index 345f14cc2..75d33a891 100644 --- a/src/export/ExportMP2.cpp +++ b/src/export/ExportMP2.cpp @@ -82,7 +82,7 @@ static int iBitrates[] = { 192, 224, 256, 320, 384 }; -class ExportMP2Options : public wxPanel +class ExportMP2Options final : public wxPanel { public: ExportMP2Options(wxWindow *parent, int format); @@ -164,7 +164,7 @@ bool ExportMP2Options::TransferDataFromWindow() // ExportMP2 //---------------------------------------------------------------------------- -class ExportMP2 : public ExportPlugin +class ExportMP2 final : public ExportPlugin { public: diff --git a/src/export/ExportMP3.cpp b/src/export/ExportMP3.cpp index 4aad85f83..edf82496e 100644 --- a/src/export/ExportMP3.cpp +++ b/src/export/ExportMP3.cpp @@ -259,7 +259,7 @@ static void InitMP3_Statics() } } -class ExportMP3Options : public wxPanel +class ExportMP3Options final : public wxPanel { public: @@ -556,7 +556,7 @@ int ExportMP3Options::FindIndex(CHOICES *choices, int cnt, int needle, int def) #define ID_BROWSE 5000 #define ID_DLOAD 5001 -class FindDialog : public wxDialog +class FindDialog final : public wxDialog { public: @@ -1551,7 +1551,7 @@ static void dump_config( lame_global_flags* gfp ) // ExportMP3 //---------------------------------------------------------------------------- -class ExportMP3 : public ExportPlugin +class ExportMP3 final : public ExportPlugin { public: diff --git a/src/export/ExportMultiple.h b/src/export/ExportMultiple.h index 3e3b8bd8b..3733ed1ec 100644 --- a/src/export/ExportMultiple.h +++ b/src/export/ExportMultiple.h @@ -31,7 +31,7 @@ class LabelTrack; class ShuttleGui; class TrackListIterator; -class ExportMultiple : public wxDialog +class ExportMultiple final : public wxDialog { public: @@ -169,7 +169,7 @@ private: }; -class SuccessDialog : public wxDialog +class SuccessDialog final : public wxDialog { public: SuccessDialog(wxWindow *parent, wxWindowID id, const wxString &title) : @@ -181,7 +181,7 @@ private: DECLARE_EVENT_TABLE() }; -class MouseEvtHandler : public wxEvtHandler +class MouseEvtHandler final : public wxEvtHandler { public: void OnMouse(wxMouseEvent& event); diff --git a/src/export/ExportOGG.cpp b/src/export/ExportOGG.cpp index f4300b802..0b9d126c8 100644 --- a/src/export/ExportOGG.cpp +++ b/src/export/ExportOGG.cpp @@ -42,7 +42,7 @@ // ExportOGGOptions //---------------------------------------------------------------------------- -class ExportOGGOptions : public wxPanel +class ExportOGGOptions final : public wxPanel { public: @@ -123,7 +123,7 @@ bool ExportOGGOptions::TransferDataFromWindow() #define SAMPLES_PER_RUN 8192 -class ExportOGG : public ExportPlugin +class ExportOGG final : public ExportPlugin { public: diff --git a/src/export/ExportPCM.cpp b/src/export/ExportPCM.cpp index 86c822c65..c8be97a57 100644 --- a/src/export/ExportPCM.cpp +++ b/src/export/ExportPCM.cpp @@ -92,7 +92,7 @@ static void WriteExportFormatPref(int format) #define ID_HEADER_CHOICE 7102 #define ID_ENCODING_CHOICE 7103 -class ExportPCMOptions : public wxPanel +class ExportPCMOptions final : public wxPanel { public: @@ -303,7 +303,7 @@ bool ExportPCMOptions::ValidatePair(int format) // ExportPCM Class //---------------------------------------------------------------------------- -class ExportPCM : public ExportPlugin +class ExportPCM final : public ExportPlugin { public: diff --git a/src/import/Import.h b/src/import/Import.h index a46179d3d..a7a8063d6 100644 --- a/src/import/Import.h +++ b/src/import/Import.h @@ -157,7 +157,7 @@ private: // ImportStreamDialog //---------------------------------------------------------------------------- -class ImportStreamDialog: public wxDialog +class ImportStreamDialog final : public wxDialog { public: // constructors and destructors diff --git a/src/import/ImportFFmpeg.cpp b/src/import/ImportFFmpeg.cpp index eff68d88e..50ad9b4c8 100644 --- a/src/import/ImportFFmpeg.cpp +++ b/src/import/ImportFFmpeg.cpp @@ -167,7 +167,7 @@ class FFmpegImportFileHandle; /// A representative of FFmpeg loader in /// the Audacity import plugin list -class FFmpegImportPlugin : public ImportPlugin +class FFmpegImportPlugin final : public ImportPlugin { public: FFmpegImportPlugin(): @@ -186,7 +186,7 @@ public: }; ///! Does acual import, returned by FFmpegImportPlugin::Open -class FFmpegImportFileHandle : public ImportFileHandle +class FFmpegImportFileHandle final : public ImportFileHandle { public: diff --git a/src/import/ImportFLAC.cpp b/src/import/ImportFLAC.cpp index cb4db3646..19adc0dc9 100644 --- a/src/import/ImportFLAC.cpp +++ b/src/import/ImportFLAC.cpp @@ -98,7 +98,7 @@ extern "C" { class FLACImportFileHandle; -class MyFLACFile : public FLAC::Decoder::File +class MyFLACFile final : public FLAC::Decoder::File { public: MyFLACFile(FLACImportFileHandle *handle) : mFile(handle) @@ -126,7 +126,7 @@ class MyFLACFile : public FLAC::Decoder::File }; -class FLACImportPlugin : public ImportPlugin +class FLACImportPlugin final : public ImportPlugin { public: FLACImportPlugin(): @@ -142,7 +142,7 @@ class FLACImportPlugin : public ImportPlugin }; -class FLACImportFileHandle : public ImportFileHandle +class FLACImportFileHandle final : public ImportFileHandle { friend class MyFLACFile; public: diff --git a/src/import/ImportGStreamer.cpp b/src/import/ImportGStreamer.cpp index 6ec123b27..141e34f33 100644 --- a/src/import/ImportGStreamer.cpp +++ b/src/import/ImportGStreamer.cpp @@ -101,7 +101,7 @@ struct GStreamContext }; ///! Does actual import, returned by GStreamerImportPlugin::Open -class GStreamerImportFileHandle : public ImportFileHandle +class GStreamerImportFileHandle final : public ImportFileHandle { public: GStreamerImportFileHandle(const wxString & name); @@ -178,7 +178,7 @@ private: /// A representative of GStreamer loader in /// the Audacity import plugin list -class GStreamerImportPlugin : public ImportPlugin +class GStreamerImportPlugin final : public ImportPlugin { public: ///! Constructor diff --git a/src/import/ImportLOF.cpp b/src/import/ImportLOF.cpp index 7c70be5d3..c98b6eb34 100644 --- a/src/import/ImportLOF.cpp +++ b/src/import/ImportLOF.cpp @@ -101,7 +101,7 @@ static const wxChar *exts[] = wxT("lof") }; -class LOFImportPlugin : public ImportPlugin +class LOFImportPlugin final : public ImportPlugin { public: LOFImportPlugin() @@ -117,7 +117,7 @@ public: }; -class LOFImportFileHandle : public ImportFileHandle +class LOFImportFileHandle final : public ImportFileHandle { public: LOFImportFileHandle(const wxString & name, wxTextFile *file); diff --git a/src/import/ImportMP3.cpp b/src/import/ImportMP3.cpp index 79db0ac42..afb7f8450 100644 --- a/src/import/ImportMP3.cpp +++ b/src/import/ImportMP3.cpp @@ -102,7 +102,7 @@ struct private_data { bool id3checked; }; -class MP3ImportPlugin : public ImportPlugin +class MP3ImportPlugin final : public ImportPlugin { public: MP3ImportPlugin(): @@ -117,7 +117,7 @@ public: ImportFileHandle *Open(const wxString &Filename) override; }; -class MP3ImportFileHandle : public ImportFileHandle +class MP3ImportFileHandle final : public ImportFileHandle { public: MP3ImportFileHandle(wxFile *file, wxString filename): diff --git a/src/import/ImportOGG.cpp b/src/import/ImportOGG.cpp index 84d69ac4b..5bb3971d9 100644 --- a/src/import/ImportOGG.cpp +++ b/src/import/ImportOGG.cpp @@ -80,7 +80,7 @@ void GetOGGImportPlugin(ImportPluginList *importPluginList, #include "../WaveTrack.h" #include "ImportPlugin.h" -class OggImportPlugin : public ImportPlugin +class OggImportPlugin final : public ImportPlugin { public: OggImportPlugin() @@ -96,7 +96,7 @@ public: }; -class OggImportFileHandle : public ImportFileHandle +class OggImportFileHandle final : public ImportFileHandle { public: OggImportFileHandle(const wxString & filename, diff --git a/src/import/ImportPCM.cpp b/src/import/ImportPCM.cpp index 3d8f383d0..335684724 100644 --- a/src/import/ImportPCM.cpp +++ b/src/import/ImportPCM.cpp @@ -69,7 +69,7 @@ #define DESC _("WAV, AIFF, and other uncompressed types") -class PCMImportPlugin : public ImportPlugin +class PCMImportPlugin final : public ImportPlugin { public: PCMImportPlugin() @@ -86,7 +86,7 @@ public: }; -class PCMImportFileHandle : public ImportFileHandle +class PCMImportFileHandle final : public ImportFileHandle { public: PCMImportFileHandle(wxString name, SNDFILE *file, SF_INFO info); diff --git a/src/import/ImportPlugin.h b/src/import/ImportPlugin.h index 9c733d1b5..acf44408e 100644 --- a/src/import/ImportPlugin.h +++ b/src/import/ImportPlugin.h @@ -68,7 +68,7 @@ class Tags; class ImportFileHandle; -class ImportPlugin +class ImportPlugin /* not final */ { public: @@ -114,7 +114,7 @@ protected: }; -class ImportFileHandle +class ImportFileHandle /* not final */ { public: ImportFileHandle(const wxString & filename) diff --git a/src/import/ImportQT.cpp b/src/import/ImportQT.cpp index 4394fdc77..f95e17ebb 100644 --- a/src/import/ImportQT.cpp +++ b/src/import/ImportQT.cpp @@ -70,7 +70,7 @@ void GetQTImportPlugin(ImportPluginList *importPluginList, #define kQTAudioPropertyID_MaxAudioSampleSize 'mssz' -class QTImportPlugin : public ImportPlugin +class QTImportPlugin final : public ImportPlugin { public: QTImportPlugin() @@ -117,7 +117,7 @@ class QTImportPlugin : public ImportPlugin bool mInitialized; }; -class QTImportFileHandle : public ImportFileHandle +class QTImportFileHandle final : public ImportFileHandle { public: QTImportFileHandle(const wxString & name, Movie movie) diff --git a/src/import/ImportRaw.cpp b/src/import/ImportRaw.cpp index 7fc6ad10d..b164c01c8 100644 --- a/src/import/ImportRaw.cpp +++ b/src/import/ImportRaw.cpp @@ -57,7 +57,7 @@ and sample size to help you importing data of an unknown format. #include "sndfile.h" -class ImportRawDialog:public wxDialog { +class ImportRawDialog final : public wxDialog { public: ImportRawDialog(wxWindow * parent, diff --git a/src/ondemand/ODComputeSummaryTask.h b/src/ondemand/ODComputeSummaryTask.h index e8170a3f8..7cf8d03ab 100644 --- a/src/ondemand/ODComputeSummaryTask.h +++ b/src/ondemand/ODComputeSummaryTask.h @@ -26,7 +26,7 @@ class ODPCMAliasBlockFile; class WaveTrack; /// A class representing a modular task to be used with the On-Demand structures. -class ODComputeSummaryTask:public ODTask +class ODComputeSummaryTask final : public ODTask { public: diff --git a/src/ondemand/ODDecodeFFmpegTask.cpp b/src/ondemand/ODDecodeFFmpegTask.cpp index 82a5e1f1d..ea0748b10 100644 --- a/src/ondemand/ODDecodeFFmpegTask.cpp +++ b/src/ondemand/ODDecodeFFmpegTask.cpp @@ -52,7 +52,7 @@ typedef struct _FFmpegDecodeCache //------ ODFFmpegDecoder declaration and defs - here because we strip dependencies from .h files ///class to decode a particular file (one per file). Saves info such as filename and length (after the header is read.) -class ODFFmpegDecoder:public ODFileDecoder +class ODFFmpegDecoder final : public ODFileDecoder { diff --git a/src/ondemand/ODDecodeFFmpegTask.h b/src/ondemand/ODDecodeFFmpegTask.h index cb140c2ce..31ce4138b 100644 --- a/src/ondemand/ODDecodeFFmpegTask.h +++ b/src/ondemand/ODDecodeFFmpegTask.h @@ -23,7 +23,7 @@ class ODFileDecoder; class WaveTrack; /// A class representing a modular task to be used with the On-Demand structures. -class ODDecodeFFmpegTask:public ODDecodeTask +class ODDecodeFFmpegTask final : public ODDecodeTask { public: diff --git a/src/ondemand/ODDecodeFlacTask.h b/src/ondemand/ODDecodeFlacTask.h index 27f0b4a8a..faebb5c3d 100644 --- a/src/ondemand/ODDecodeFlacTask.h +++ b/src/ondemand/ODDecodeFlacTask.h @@ -42,7 +42,7 @@ class ODFlacDecoder; class ODFLACFile; /// A class representing a modular task to be used with the On-Demand structures. -class ODDecodeFlacTask:public ODDecodeTask +class ODDecodeFlacTask final : public ODDecodeTask { public: @@ -61,7 +61,7 @@ class ODDecodeFlacTask:public ODDecodeTask }; -class ODFLACFile : public FLAC::Decoder::File +class ODFLACFile final : public FLAC::Decoder::File { public: ODFLACFile(ODFlacDecoder *decoder) : mDecoder(decoder) @@ -91,7 +91,7 @@ class ODFLACFile : public FLAC::Decoder::File ///class to decode a particular file (one per file). Saves info such as filename and length (after the header is read.) -class ODFlacDecoder:public ODFileDecoder +class ODFlacDecoder final : public ODFileDecoder { friend class ODFLACFile; public: diff --git a/src/ondemand/ODDecodeTask.h b/src/ondemand/ODDecodeTask.h index f6f960257..ca4247dce 100644 --- a/src/ondemand/ODDecodeTask.h +++ b/src/ondemand/ODDecodeTask.h @@ -37,7 +37,7 @@ class ODFileDecoder; /// A class representing a modular task to be used with the On-Demand structures. -class ODDecodeTask:public ODTask +class ODDecodeTask /* not final */ : public ODTask { public: ODDecodeTask(); @@ -96,7 +96,7 @@ protected: }; ///class to decode a particular file (one per file). Saves info such as filename and length (after the header is read.) -class ODFileDecoder +class ODFileDecoder /* not final */ { public: ///This should handle unicode converted to UTF-8 on mac/linux, but OD TODO:check on windows diff --git a/src/ondemand/ODManager.h b/src/ondemand/ODManager.h index 4937eea16..872f48364 100644 --- a/src/ondemand/ODManager.h +++ b/src/ondemand/ODManager.h @@ -40,7 +40,7 @@ int CompareNoCaseFileName(const wxString& first, const wxString& second); /// number of threads. class WaveTrack; class ODWaveTrackTaskQueue; -class ODManager +class ODManager final { public: ///Gets the singleton instance - this is a function pointer that points to one of the below two instance calls. @@ -212,7 +212,7 @@ class ODManagerHelperThread { int mPriority; }; #else - class ODManagerHelperThread : public wxThread + class ODManagerHelperThread final : public wxThread { public: ///Constructs a ODTaskThread diff --git a/src/ondemand/ODTask.h b/src/ondemand/ODTask.h index e2faa5ea9..1cb7d89bf 100644 --- a/src/ondemand/ODTask.h +++ b/src/ondemand/ODTask.h @@ -35,7 +35,7 @@ class WaveTrack; DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_ODTASK_COMPLETE, -1) /// A class representing a modular task to be used with the On-Demand structures. -class ODTask +class ODTask /* not final */ { public: enum { diff --git a/src/ondemand/ODTaskThread.h b/src/ondemand/ODTaskThread.h index aecdefa92..94685d3d1 100644 --- a/src/ondemand/ODTaskThread.h +++ b/src/ondemand/ODTaskThread.h @@ -125,7 +125,7 @@ protected: #else -class ODTaskThread : public wxThread +class ODTaskThread final : public wxThread { public: ///Constructs a ODTaskThread @@ -142,7 +142,7 @@ protected: //a wrapper for wxMutex. -class AUDACITY_DLL_API ODLock : public wxMutex +class AUDACITY_DLL_API ODLock final : public wxMutex { public: ///Constructs a ODTaskThread @@ -151,7 +151,7 @@ public: virtual ~ODLock(){} }; -class ODCondition : public wxCondition +class ODCondition final : public wxCondition { public: ODCondition(ODLock *lock):wxCondition(*lock){} diff --git a/src/ondemand/ODWaveTrackTaskQueue.h b/src/ondemand/ODWaveTrackTaskQueue.h index 5b05e5571..198ae4921 100644 --- a/src/ondemand/ODWaveTrackTaskQueue.h +++ b/src/ondemand/ODWaveTrackTaskQueue.h @@ -28,7 +28,7 @@ tasks associated with a WaveTrack. class WaveTrack; class ODTask; /// A class representing a modular task to be used with the On-Demand structures. -class ODWaveTrackTaskQueue +class ODWaveTrackTaskQueue final { public: diff --git a/src/prefs/BatchPrefs.h b/src/prefs/BatchPrefs.h index 98210b973..ee686d3c8 100644 --- a/src/prefs/BatchPrefs.h +++ b/src/prefs/BatchPrefs.h @@ -20,7 +20,7 @@ class ShuttleGui; -class BatchPrefs : public PrefsPanel +class BatchPrefs final : public PrefsPanel { public: BatchPrefs(wxWindow * parent); @@ -34,7 +34,7 @@ private: DECLARE_EVENT_TABLE(); }; -class BatchPrefsFactory : public PrefsPanelFactory +class BatchPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/DevicePrefs.h b/src/prefs/DevicePrefs.h index bb3bc7b65..e9450f216 100644 --- a/src/prefs/DevicePrefs.h +++ b/src/prefs/DevicePrefs.h @@ -23,7 +23,7 @@ class ShuttleGui; -class DevicePrefs :public PrefsPanel +class DevicePrefs final : public PrefsPanel { public: DevicePrefs(wxWindow * parent); @@ -54,7 +54,7 @@ class DevicePrefs :public PrefsPanel DECLARE_EVENT_TABLE(); }; -class DevicePrefsFactory : public PrefsPanelFactory +class DevicePrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/DirectoriesPrefs.h b/src/prefs/DirectoriesPrefs.h index 423fd005d..5e587603b 100644 --- a/src/prefs/DirectoriesPrefs.h +++ b/src/prefs/DirectoriesPrefs.h @@ -18,7 +18,7 @@ class ShuttleGui; -class DirectoriesPrefs :public PrefsPanel +class DirectoriesPrefs final : public PrefsPanel { public: DirectoriesPrefs(wxWindow * parent); @@ -38,7 +38,7 @@ class DirectoriesPrefs :public PrefsPanel DECLARE_EVENT_TABLE(); }; -class DirectoriesPrefsFactory : public PrefsPanelFactory +class DirectoriesPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/EffectsPrefs.h b/src/prefs/EffectsPrefs.h index 484913352..afaf5af10 100644 --- a/src/prefs/EffectsPrefs.h +++ b/src/prefs/EffectsPrefs.h @@ -22,7 +22,7 @@ class ShuttleGui; -class EffectsPrefs :public PrefsPanel +class EffectsPrefs final : public PrefsPanel { public: EffectsPrefs(wxWindow * parent); @@ -34,7 +34,7 @@ class EffectsPrefs :public PrefsPanel void PopulateOrExchange(ShuttleGui & S); }; -class EffectsPrefsFactory : public PrefsPanelFactory +class EffectsPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/ExtImportPrefs.h b/src/prefs/ExtImportPrefs.h index 38670d8e3..27a76e6de 100644 --- a/src/prefs/ExtImportPrefs.h +++ b/src/prefs/ExtImportPrefs.h @@ -26,7 +26,7 @@ class wxListEvent; class ExtImportPrefs; class ShuttleGui; -class ExtImportPrefsDropTarget: public wxDropTarget +class ExtImportPrefsDropTarget final : public wxDropTarget { public: ExtImportPrefsDropTarget (wxDataObject *dataObject = 0); @@ -42,7 +42,7 @@ private: ExtImportPrefs *mPrefs; }; -class ExtImportPrefs:public PrefsPanel +class ExtImportPrefs final : public PrefsPanel { public: ExtImportPrefs(wxWindow * parent); @@ -108,7 +108,7 @@ class ExtImportPrefs:public PrefsPanel }; -class ExtImportPrefsFactory : public PrefsPanelFactory +class ExtImportPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/GUIPrefs.h b/src/prefs/GUIPrefs.h index f615cf0eb..4ad1af62b 100644 --- a/src/prefs/GUIPrefs.h +++ b/src/prefs/GUIPrefs.h @@ -22,7 +22,7 @@ class ShuttleGui; -class GUIPrefs :public PrefsPanel +class GUIPrefs final : public PrefsPanel { public: GUIPrefs(wxWindow * parent); @@ -45,7 +45,7 @@ class GUIPrefs :public PrefsPanel wxArrayString mRangeChoices; }; -class GUIPrefsFactory : public PrefsPanelFactory +class GUIPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/ImportExportPrefs.h b/src/prefs/ImportExportPrefs.h index 9ffe03541..10a14cb63 100644 --- a/src/prefs/ImportExportPrefs.h +++ b/src/prefs/ImportExportPrefs.h @@ -21,7 +21,7 @@ class ShuttleGui; -class ImportExportPrefs :public PrefsPanel +class ImportExportPrefs final : public PrefsPanel { public: ImportExportPrefs(wxWindow * parent); @@ -33,7 +33,7 @@ class ImportExportPrefs :public PrefsPanel void PopulateOrExchange(ShuttleGui & S); }; -class ImportExportPrefsFactory : public PrefsPanelFactory +class ImportExportPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/KeyConfigPrefs.h b/src/prefs/KeyConfigPrefs.h index effc2d6a8..1b570b983 100644 --- a/src/prefs/KeyConfigPrefs.h +++ b/src/prefs/KeyConfigPrefs.h @@ -34,7 +34,7 @@ class ShuttleGui; class wxStaticText; -class KeyConfigPrefs :public PrefsPanel +class KeyConfigPrefs final : public PrefsPanel { public: KeyConfigPrefs(wxWindow * parent); @@ -102,7 +102,7 @@ private: #include "PrefsPanel.h" -class KeyConfigPrefs:public PrefsPanel +class KeyConfigPrefs final : public PrefsPanel { public: KeyConfigPrefs(wxWindow * parent); @@ -148,7 +148,7 @@ class KeyConfigPrefs:public PrefsPanel #endif -class KeyConfigPrefsFactory : public PrefsPanelFactory +class KeyConfigPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/LibraryPrefs.h b/src/prefs/LibraryPrefs.h index f3a35417d..03311b921 100644 --- a/src/prefs/LibraryPrefs.h +++ b/src/prefs/LibraryPrefs.h @@ -22,7 +22,7 @@ class ShuttleGui; -class LibraryPrefs :public PrefsPanel +class LibraryPrefs final : public PrefsPanel { public: LibraryPrefs(wxWindow * parent); @@ -46,7 +46,7 @@ class LibraryPrefs :public PrefsPanel DECLARE_EVENT_TABLE(); }; -class LibraryPrefsFactory : public PrefsPanelFactory +class LibraryPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/MidiIOPrefs.h b/src/prefs/MidiIOPrefs.h index 1970b7061..15901ecdd 100644 --- a/src/prefs/MidiIOPrefs.h +++ b/src/prefs/MidiIOPrefs.h @@ -26,7 +26,7 @@ class ShuttleGui; #include "PrefsPanel.h" -class MidiIOPrefs:public PrefsPanel +class MidiIOPrefs final : public PrefsPanel { public: MidiIOPrefs(wxWindow * parent); @@ -62,7 +62,7 @@ class MidiIOPrefs:public PrefsPanel DECLARE_EVENT_TABLE(); }; -class MidiIOPrefsFactory : public PrefsPanelFactory +class MidiIOPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/ModulePrefs.h b/src/prefs/ModulePrefs.h index 2c042d93d..12ed18f12 100644 --- a/src/prefs/ModulePrefs.h +++ b/src/prefs/ModulePrefs.h @@ -31,7 +31,7 @@ enum { }; -class ModulePrefs:public PrefsPanel +class ModulePrefs final : public PrefsPanel { public: ModulePrefs(wxWindow * parent); @@ -50,7 +50,7 @@ class ModulePrefs:public PrefsPanel wxArrayString mPaths; }; -class ModulePrefsFactory : public PrefsPanelFactory +class ModulePrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/MousePrefs.h b/src/prefs/MousePrefs.h index df8803732..74c506320 100644 --- a/src/prefs/MousePrefs.h +++ b/src/prefs/MousePrefs.h @@ -19,7 +19,7 @@ class ShuttleGui; -class MousePrefs :public PrefsPanel +class MousePrefs final : public PrefsPanel { public: MousePrefs(wxWindow * parent); @@ -38,7 +38,7 @@ class MousePrefs :public PrefsPanel wxListCtrl * mList; }; -class MousePrefsFactory : public PrefsPanelFactory +class MousePrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/PlaybackPrefs.h b/src/prefs/PlaybackPrefs.h index 057b51d84..1eb123002 100644 --- a/src/prefs/PlaybackPrefs.h +++ b/src/prefs/PlaybackPrefs.h @@ -20,7 +20,7 @@ class ShuttleGui; -class PlaybackPrefs :public PrefsPanel +class PlaybackPrefs final : public PrefsPanel { public: PlaybackPrefs(wxWindow * parent); @@ -32,7 +32,7 @@ class PlaybackPrefs :public PrefsPanel void PopulateOrExchange(ShuttleGui & S); }; -class PlaybackPrefsFactory : public PrefsPanelFactory +class PlaybackPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/PrefsDialog.cpp b/src/prefs/PrefsDialog.cpp index 2dfe0602a..4a022fed4 100644 --- a/src/prefs/PrefsDialog.cpp +++ b/src/prefs/PrefsDialog.cpp @@ -76,7 +76,7 @@ BEGIN_EVENT_TABLE(PrefsDialog, wxDialog) END_EVENT_TABLE() -class wxTreebookExt : public wxTreebook +class wxTreebookExt final : public wxTreebook { public: wxTreebookExt( wxWindow *parent, diff --git a/src/prefs/PrefsDialog.h b/src/prefs/PrefsDialog.h index 13c7092fa..a4bda6d21 100644 --- a/src/prefs/PrefsDialog.h +++ b/src/prefs/PrefsDialog.h @@ -29,7 +29,7 @@ class PrefsPanelFactory; #define CONST const #endif -class PrefsDialog:public wxDialog +class PrefsDialog /* not final */ : public wxDialog { public: // An array of PrefsNode specifies the tree of pages in pre-order traversal. @@ -86,7 +86,7 @@ private: // This adds code appropriate only to the original use of PrefsDialog for // global settings -- not its reuses elsewhere as in View Settings -class GlobalPrefsDialog : public PrefsDialog +class GlobalPrefsDialog final : public PrefsDialog { public: GlobalPrefsDialog(wxWindow * parent, Factories &factories = DefaultFactories()); diff --git a/src/prefs/PrefsPanel.h b/src/prefs/PrefsPanel.h index 245f2f122..f29c6a031 100644 --- a/src/prefs/PrefsPanel.h +++ b/src/prefs/PrefsPanel.h @@ -40,7 +40,7 @@ ThemePrefs. #define TOP_LEVEL_BORDER 5 #define GENERIC_CONTROL_BORDER 5 -class PrefsPanel:public wxPanel +class PrefsPanel /* not final */ : public wxPanel { public: PrefsPanel(wxWindow * parent, const wxString &title) @@ -61,7 +61,7 @@ class PrefsPanel:public wxPanel virtual void Cancel(); }; -class PrefsPanelFactory +class PrefsPanelFactory /* not final */ { public: // Precondition: parent != NULL diff --git a/src/prefs/ProjectsPrefs.h b/src/prefs/ProjectsPrefs.h index 480a49f71..16102a64b 100644 --- a/src/prefs/ProjectsPrefs.h +++ b/src/prefs/ProjectsPrefs.h @@ -21,7 +21,7 @@ class ShuttleGui; -class ProjectsPrefs :public PrefsPanel +class ProjectsPrefs final : public PrefsPanel { public: ProjectsPrefs(wxWindow * parent); @@ -33,7 +33,7 @@ class ProjectsPrefs :public PrefsPanel void PopulateOrExchange(ShuttleGui & S); }; -class ProjectsPrefsFactory : public PrefsPanelFactory +class ProjectsPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/QualityPrefs.h b/src/prefs/QualityPrefs.h index 778417a2c..c57f98086 100644 --- a/src/prefs/QualityPrefs.h +++ b/src/prefs/QualityPrefs.h @@ -23,7 +23,7 @@ class ShuttleGui; -class QualityPrefs :public PrefsPanel +class QualityPrefs final : public PrefsPanel { public: QualityPrefs(wxWindow * parent); @@ -53,7 +53,7 @@ class QualityPrefs :public PrefsPanel DECLARE_EVENT_TABLE(); }; -class QualityPrefsFactory : public PrefsPanelFactory +class QualityPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/RecordingPrefs.h b/src/prefs/RecordingPrefs.h index 74665da32..cad724aa8 100644 --- a/src/prefs/RecordingPrefs.h +++ b/src/prefs/RecordingPrefs.h @@ -21,7 +21,7 @@ class ShuttleGui; -class RecordingPrefs :public PrefsPanel +class RecordingPrefs final : public PrefsPanel { public: RecordingPrefs(wxWindow * parent); @@ -40,7 +40,7 @@ class RecordingPrefs :public PrefsPanel DECLARE_EVENT_TABLE(); }; -class RecordingPrefsFactory : public PrefsPanelFactory +class RecordingPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/SpectrogramSettings.cpp b/src/prefs/SpectrogramSettings.cpp index 13f3e04ce..852e5154e 100644 --- a/src/prefs/SpectrogramSettings.cpp +++ b/src/prefs/SpectrogramSettings.cpp @@ -144,7 +144,7 @@ SpectrogramSettings& SpectrogramSettings::defaults() //static const wxArrayString &SpectrogramSettings::GetScaleNames() { - class ScaleNamesArray : public TranslatableStringArray + class ScaleNamesArray final : public TranslatableStringArray { virtual void Populate() { @@ -169,7 +169,7 @@ const wxArrayString &SpectrogramSettings::GetScaleNames() //static const wxArrayString &SpectrogramSettings::GetAlgorithmNames() { - class AlgorithmNamesArray : public TranslatableStringArray + class AlgorithmNamesArray final : public TranslatableStringArray { virtual void Populate() { diff --git a/src/prefs/SpectrumPrefs.h b/src/prefs/SpectrumPrefs.h index cceef7955..10ecdf717 100644 --- a/src/prefs/SpectrumPrefs.h +++ b/src/prefs/SpectrumPrefs.h @@ -38,7 +38,7 @@ class ShuttleGui; class SpectrogramSettings; class WaveTrack; -class SpectrumPrefs:public PrefsPanel +class SpectrumPrefs final : public PrefsPanel { public: SpectrumPrefs(wxWindow * parent, WaveTrack *wt); @@ -96,7 +96,7 @@ class SpectrumPrefs:public PrefsPanel bool mPopulating; }; -class SpectrumPrefsFactory : public PrefsPanelFactory +class SpectrumPrefsFactory final : public PrefsPanelFactory { public: explicit SpectrumPrefsFactory(WaveTrack *wt = 0); diff --git a/src/prefs/ThemePrefs.h b/src/prefs/ThemePrefs.h index 7668289d0..cbd509217 100644 --- a/src/prefs/ThemePrefs.h +++ b/src/prefs/ThemePrefs.h @@ -21,7 +21,7 @@ class ShuttleGui; -class ThemePrefs :public PrefsPanel +class ThemePrefs final : public PrefsPanel { public: ThemePrefs(wxWindow * parent); @@ -41,7 +41,7 @@ class ThemePrefs :public PrefsPanel DECLARE_EVENT_TABLE(); }; -class ThemePrefsFactory : public PrefsPanelFactory +class ThemePrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/TracksPrefs.h b/src/prefs/TracksPrefs.h index be1baeaa0..7a9f7417e 100644 --- a/src/prefs/TracksPrefs.h +++ b/src/prefs/TracksPrefs.h @@ -22,7 +22,7 @@ class ShuttleGui; -class TracksPrefs :public PrefsPanel +class TracksPrefs final : public PrefsPanel { public: TracksPrefs(wxWindow * parent); @@ -39,7 +39,7 @@ class TracksPrefs :public PrefsPanel wxArrayString mViewChoices; }; -class TracksPrefsFactory : public PrefsPanelFactory +class TracksPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/WarningsPrefs.h b/src/prefs/WarningsPrefs.h index 97e9605b6..637f21db1 100644 --- a/src/prefs/WarningsPrefs.h +++ b/src/prefs/WarningsPrefs.h @@ -21,7 +21,7 @@ class ShuttleGui; -class WarningsPrefs :public PrefsPanel +class WarningsPrefs final : public PrefsPanel { public: WarningsPrefs(wxWindow * parent); @@ -33,7 +33,7 @@ class WarningsPrefs :public PrefsPanel void PopulateOrExchange(ShuttleGui & S); }; -class WarningsPrefsFactory : public PrefsPanelFactory +class WarningsPrefsFactory final : public PrefsPanelFactory { public: virtual PrefsPanel *Create(wxWindow *parent); diff --git a/src/prefs/WaveformPrefs.h b/src/prefs/WaveformPrefs.h index 7145172d6..978953c58 100644 --- a/src/prefs/WaveformPrefs.h +++ b/src/prefs/WaveformPrefs.h @@ -20,7 +20,7 @@ class WaveTrack; class wxCheckBox; class wxChoice; -class WaveformPrefs :public PrefsPanel +class WaveformPrefs final : public PrefsPanel { public: WaveformPrefs(wxWindow * parent, WaveTrack *wt); @@ -56,7 +56,7 @@ private: bool mPopulating; }; -class WaveformPrefsFactory : public PrefsPanelFactory +class WaveformPrefsFactory final : public PrefsPanelFactory { public: explicit WaveformPrefsFactory(WaveTrack *wt = 0); diff --git a/src/prefs/WaveformSettings.cpp b/src/prefs/WaveformSettings.cpp index 9c33bf9a8..04692437c 100644 --- a/src/prefs/WaveformSettings.cpp +++ b/src/prefs/WaveformSettings.cpp @@ -149,7 +149,7 @@ void WaveformSettings::NextHigherDBRange() //static const wxArrayString &WaveformSettings::GetScaleNames() { - class ScaleNamesArray : public TranslatableStringArray + class ScaleNamesArray final : public TranslatableStringArray { virtual void Populate() { diff --git a/src/toolbars/ControlToolBar.h b/src/toolbars/ControlToolBar.h index 92fd097f5..23d074b48 100644 --- a/src/toolbars/ControlToolBar.h +++ b/src/toolbars/ControlToolBar.h @@ -35,7 +35,7 @@ struct AudioIOStartStreamOptions; class SelectedRegion; // In the GUI, ControlToolBar appears as the "Transport Toolbar". "Control Toolbar" is historic. -class ControlToolBar:public ToolBar { +class ControlToolBar final : public ToolBar { public: diff --git a/src/toolbars/DeviceToolBar.h b/src/toolbars/DeviceToolBar.h index d528b7951..b1718c7bf 100644 --- a/src/toolbars/DeviceToolBar.h +++ b/src/toolbars/DeviceToolBar.h @@ -21,7 +21,7 @@ class wxChoice; class wxStaticText; struct DeviceSourceMap; -class DeviceToolBar:public ToolBar { +class DeviceToolBar final : public ToolBar { public: diff --git a/src/toolbars/EditToolBar.h b/src/toolbars/EditToolBar.h index c0ed3f638..b39b8a3ce 100644 --- a/src/toolbars/EditToolBar.h +++ b/src/toolbars/EditToolBar.h @@ -58,7 +58,7 @@ enum { ETBNumButtons }; -class EditToolBar:public ToolBar { +class EditToolBar final : public ToolBar { public: diff --git a/src/toolbars/MeterToolBar.h b/src/toolbars/MeterToolBar.h index e8df3ec10..12419e4b1 100644 --- a/src/toolbars/MeterToolBar.h +++ b/src/toolbars/MeterToolBar.h @@ -29,7 +29,7 @@ class Meter; const int kWithRecordMeter = 1; const int kWithPlayMeter = 2; -class MeterToolBar:public ToolBar { +class MeterToolBar final : public ToolBar { public: diff --git a/src/toolbars/MixerToolBar.h b/src/toolbars/MixerToolBar.h index a9cbd6a8e..1055d12a0 100644 --- a/src/toolbars/MixerToolBar.h +++ b/src/toolbars/MixerToolBar.h @@ -21,7 +21,7 @@ class wxStaticBitmap; class ASlider; -class MixerToolBar:public ToolBar { +class MixerToolBar final : public ToolBar { public: diff --git a/src/toolbars/SelectionBar.h b/src/toolbars/SelectionBar.h index ec23eb228..e30036831 100644 --- a/src/toolbars/SelectionBar.h +++ b/src/toolbars/SelectionBar.h @@ -27,7 +27,7 @@ class wxSizeEvent; class SelectionBarListener; class NumericTextCtrl; -class SelectionBar:public ToolBar { +class SelectionBar final : public ToolBar { public: diff --git a/src/toolbars/SelectionBarListener.h b/src/toolbars/SelectionBarListener.h index 6893bc873..afea5dea0 100644 --- a/src/toolbars/SelectionBarListener.h +++ b/src/toolbars/SelectionBarListener.h @@ -13,7 +13,7 @@ class SelectedRegion; -class AUDACITY_DLL_API SelectionBarListener { +class AUDACITY_DLL_API SelectionBarListener /* not final */ { public: diff --git a/src/toolbars/SpectralSelectionBar.h b/src/toolbars/SpectralSelectionBar.h index 4bdd0fbf1..6fe0c18f6 100644 --- a/src/toolbars/SpectralSelectionBar.h +++ b/src/toolbars/SpectralSelectionBar.h @@ -27,7 +27,7 @@ class wxSizeEvent; class SpectralSelectionBarListener; class NumericTextCtrl; -class SpectralSelectionBar :public ToolBar { +class SpectralSelectionBar final : public ToolBar { public: diff --git a/src/toolbars/SpectralSelectionBarListener.h b/src/toolbars/SpectralSelectionBarListener.h index 852bdcfc3..8d67ab99b 100644 --- a/src/toolbars/SpectralSelectionBarListener.h +++ b/src/toolbars/SpectralSelectionBarListener.h @@ -15,7 +15,7 @@ class wxString; -class AUDACITY_DLL_API SpectralSelectionBarListener { +class AUDACITY_DLL_API SpectralSelectionBarListener /* not final */ { public: diff --git a/src/toolbars/ToolBar.cpp b/src/toolbars/ToolBar.cpp index f2315b406..2b690fac6 100644 --- a/src/toolbars/ToolBar.cpp +++ b/src/toolbars/ToolBar.cpp @@ -60,7 +60,7 @@ in which buttons can be placed. // #define RWIDTH 4 -class ToolBarResizer : public wxWindow +class ToolBarResizer final : public wxWindow { public: ToolBarResizer(ToolBar *mBar); diff --git a/src/toolbars/ToolBar.h b/src/toolbars/ToolBar.h index 51df2f0c7..e54740fc7 100644 --- a/src/toolbars/ToolBar.h +++ b/src/toolbars/ToolBar.h @@ -79,7 +79,7 @@ enum ToolBarCount }; -class ToolBar:public wxPanel +class ToolBar /* not final */ : public wxPanel { public: diff --git a/src/toolbars/ToolDock.h b/src/toolbars/ToolDock.h index 44e60acca..749f038f1 100644 --- a/src/toolbars/ToolDock.h +++ b/src/toolbars/ToolDock.h @@ -45,7 +45,7 @@ enum DockCount = 2 }; -class ToolDock:public wxPanel +class ToolDock final : public wxPanel { public: diff --git a/src/toolbars/ToolManager.cpp b/src/toolbars/ToolManager.cpp index a8cf5d5a6..4eb34a35d 100644 --- a/src/toolbars/ToolManager.cpp +++ b/src/toolbars/ToolManager.cpp @@ -78,7 +78,7 @@ // // Constructor // -class ToolFrame:public wxFrame +class ToolFrame final : public wxFrame { public: diff --git a/src/toolbars/ToolManager.h b/src/toolbars/ToolManager.h index 8ea472d16..25e927a3f 100644 --- a/src/toolbars/ToolManager.h +++ b/src/toolbars/ToolManager.h @@ -41,7 +41,7 @@ class ToolFrame; /// class ToolManager //////////////////////////////////////////////////////////// -class ToolManager:public wxEvtHandler +class ToolManager final : public wxEvtHandler { public: diff --git a/src/toolbars/ToolsToolBar.h b/src/toolbars/ToolsToolBar.h index e1802fe99..5ae93d40a 100644 --- a/src/toolbars/ToolsToolBar.h +++ b/src/toolbars/ToolsToolBar.h @@ -44,7 +44,7 @@ enum { lastTool = multiTool }; -class ToolsToolBar:public ToolBar { +class ToolsToolBar final : public ToolBar { public: diff --git a/src/toolbars/TranscriptionToolBar.h b/src/toolbars/TranscriptionToolBar.h index c2e3cc119..5e4be7d34 100644 --- a/src/toolbars/TranscriptionToolBar.h +++ b/src/toolbars/TranscriptionToolBar.h @@ -64,7 +64,7 @@ enum TTBNumButtons }; -class TranscriptionToolBar:public ToolBar { +class TranscriptionToolBar final : public ToolBar { public: diff --git a/src/widgets/AButton.cpp b/src/widgets/AButton.cpp index e691b61a0..f7825292a 100644 --- a/src/widgets/AButton.cpp +++ b/src/widgets/AButton.cpp @@ -48,7 +48,7 @@ END_EVENT_TABLE() // LL: An alternative to this might be to just use the wxEVT_KILL_FOCUS // or wxEVT_ACTIVATE events. -class AButton::Listener +class AButton::Listener final : public wxEvtHandler { public: diff --git a/src/widgets/AButton.h b/src/widgets/AButton.h index 6927b0a51..547f5f434 100644 --- a/src/widgets/AButton.h +++ b/src/widgets/AButton.h @@ -24,7 +24,7 @@ #include "ImageRoll.h" -class AButton: public wxWindow { +class AButton final : public wxWindow { friend class AButtonAx; class Listener; @@ -173,7 +173,7 @@ public: #if wxUSE_ACCESSIBILITY -class AButtonAx: public wxWindowAccessible +class AButtonAx final : public wxWindowAccessible { public: AButtonAx(wxWindow * window); diff --git a/src/widgets/ASlider.cpp b/src/widgets/ASlider.cpp index ce6780ecc..447bdf960 100644 --- a/src/widgets/ASlider.cpp +++ b/src/widgets/ASlider.cpp @@ -82,7 +82,7 @@ const int sliderFontSize = 12; // TipPanel // -class TipPanel : public wxPopupWindow +class TipPanel final : public wxPopupWindow { public: TipPanel(wxWindow *parent, const wxString & label); diff --git a/src/widgets/ASlider.h b/src/widgets/ASlider.h index daa2f0558..3008ee2b1 100644 --- a/src/widgets/ASlider.h +++ b/src/widgets/ASlider.h @@ -248,7 +248,7 @@ class LWSlider bool mEnabled; }; -class ASlider :public wxPanel +class ASlider /* not final */ : public wxPanel { friend class ASliderAx; @@ -317,7 +317,7 @@ class ASlider :public wxPanel // This is a modal dialog that contains an ASlider // and a text-entry box which can be used to set the // value of a slider. -class SliderDialog: public wxDialog +class SliderDialog final : public wxDialog { public: SliderDialog(wxWindow * parent, wxWindowID id, @@ -349,7 +349,7 @@ class SliderDialog: public wxDialog #if wxUSE_ACCESSIBILITY -class ASliderAx: public wxWindowAccessible +class ASliderAx final : public wxWindowAccessible { public: ASliderAx(wxWindow * window); diff --git a/src/widgets/AttachableScrollBar.h b/src/widgets/AttachableScrollBar.h index eb20ea575..71a40a0da 100644 --- a/src/widgets/AttachableScrollBar.h +++ b/src/widgets/AttachableScrollBar.h @@ -21,7 +21,7 @@ class ViewInfo; -class AUDACITY_DLL_API AttachableScrollBar : +class AUDACITY_DLL_API AttachableScrollBar final : public wxScrollBar { public: diff --git a/src/widgets/ErrorDialog.cpp b/src/widgets/ErrorDialog.cpp index 4e946e139..737497ca4 100644 --- a/src/widgets/ErrorDialog.cpp +++ b/src/widgets/ErrorDialog.cpp @@ -40,7 +40,7 @@ Gives an Error message with an option for help. #include "ErrorDialog.h" // special case for alias missing dialog because we keep track of if it exists. -class AliasedFileMissingDialog : public ErrorDialog +class AliasedFileMissingDialog final : public ErrorDialog { public: AliasedFileMissingDialog(AudacityProject *parent, diff --git a/src/widgets/ErrorDialog.h b/src/widgets/ErrorDialog.h index 7825716eb..0f1daad1e 100644 --- a/src/widgets/ErrorDialog.h +++ b/src/widgets/ErrorDialog.h @@ -18,7 +18,7 @@ class AudacityProject; -class ErrorDialog : public wxDialog +class ErrorDialog /* not final */ : public wxDialog { public: // constructors and destructors @@ -41,7 +41,7 @@ private: }; // Helper class to make browser "simulate" a modal dialog -class HtmlTextHelpDialog : public BrowserFrame +class HtmlTextHelpDialog final : public BrowserFrame { public: HtmlTextHelpDialog() : BrowserFrame() diff --git a/src/widgets/ExpandingToolBar.cpp b/src/widgets/ExpandingToolBar.cpp index 44f86395d..c914a880f 100644 --- a/src/widgets/ExpandingToolBar.cpp +++ b/src/widgets/ExpandingToolBar.cpp @@ -276,7 +276,7 @@ void ExpandingToolBar::TryAutoCollapse() #endif } -class ExpandingToolBarEvtHandler : public wxEvtHandler +class ExpandingToolBarEvtHandler final : public wxEvtHandler { public: ExpandingToolBarEvtHandler(ExpandingToolBar *toolbar, diff --git a/src/widgets/ExpandingToolBar.h b/src/widgets/ExpandingToolBar.h index 455096ee2..9c5ed0ff3 100644 --- a/src/widgets/ExpandingToolBar.h +++ b/src/widgets/ExpandingToolBar.h @@ -43,7 +43,7 @@ WX_DECLARE_OBJARRAY(wxRect, wxArrayRect); // Can be docked into a ToolBarArea or floated in an ToolBarFrame; // -class ExpandingToolBar : public wxPanel +class ExpandingToolBar final : public wxPanel { public: DECLARE_DYNAMIC_CLASS(ExpandingToolBar) @@ -121,7 +121,7 @@ class ExpandingToolBar : public wxPanel friend class ExpandingToolBarEvtHandler; }; -class ToolBarGrabber : public wxPanel +class ToolBarGrabber final : public wxPanel { public: DECLARE_DYNAMIC_CLASS(ToolBarGrabber); @@ -144,7 +144,7 @@ class ToolBarGrabber : public wxPanel DECLARE_EVENT_TABLE(); }; -class ToolBarDialog : public wxDialog +class ToolBarDialog final : public wxDialog { public: DECLARE_DYNAMIC_CLASS(ToolBarDialog) @@ -166,7 +166,7 @@ class ToolBarDialog : public wxDialog DECLARE_EVENT_TABLE() }; -class ToolBarFrame : public wxMiniFrame +class ToolBarFrame final : public wxMiniFrame { public: DECLARE_DYNAMIC_CLASS(ToolBarFrame) @@ -193,7 +193,7 @@ class ToolBarFrame : public wxMiniFrame // ToolBarArea sets the height dynamically based on the number of // toolbars it contains. // -class ToolBarArea : public wxPanel +class ToolBarArea final : public wxPanel { public: DECLARE_DYNAMIC_CLASS(ToolBarArea) diff --git a/src/widgets/Grabber.h b/src/widgets/Grabber.h index 4c336caf5..575ee2173 100644 --- a/src/widgets/Grabber.h +++ b/src/widgets/Grabber.h @@ -39,7 +39,7 @@ around to NEW positions. DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_GRABBER_CLICKED, -1) -class GrabberEvent:public wxCommandEvent +class GrabberEvent final : public wxCommandEvent { public: @@ -92,7 +92,7 @@ typedef void (wxEvtHandler::*GrabberEventFunction)(GrabberEvent &); #define grabberWidth 10 -class Grabber:public wxWindow +class Grabber final : public wxWindow { public: diff --git a/src/widgets/Grid.h b/src/widgets/Grid.h index 60d7ed74e..ca772c4ec 100644 --- a/src/widgets/Grid.h +++ b/src/widgets/Grid.h @@ -35,7 +35,7 @@ class NumericTextCtrl; // ---------------------------------------------------------------------------- #define GRID_VALUE_TIME wxT("Time") -class TimeEditor:public wxGridCellEditor +class TimeEditor final : public wxGridCellEditor { public: @@ -87,7 +87,7 @@ class TimeEditor:public wxGridCellEditor // wxGridCellRenderer for the NumericTextCtrl. // ---------------------------------------------------------------------------- -class TimeRenderer : public wxGridCellRenderer +class TimeRenderer final : public wxGridCellRenderer { public: void Draw(wxGrid &grid, @@ -114,7 +114,7 @@ class TimeRenderer : public wxGridCellRenderer // ---------------------------------------------------------------------------- #define GRID_VALUE_CHOICE wxT("Choice") -class ChoiceEditor : public wxGridCellEditor, wxEvtHandler +class ChoiceEditor final : public wxGridCellEditor, wxEvtHandler { public: @@ -181,8 +181,7 @@ public: // wxGrid with support for accessibility. // ---------------------------------------------------------------------------- -class Grid -: public wxGrid +class Grid final : public wxGrid { public: @@ -234,8 +233,7 @@ class Grid // wxAccessible object providing grid information for Grid. // ---------------------------------------------------------------------------- -class GridAx -: public wxWindowAccessible +class GridAx final : public wxWindowAccessible { public: diff --git a/src/widgets/HtmlWindow.h b/src/widgets/HtmlWindow.h index 6d7983de8..44cd72acb 100644 --- a/src/widgets/HtmlWindow.h +++ b/src/widgets/HtmlWindow.h @@ -32,7 +32,7 @@ around to NEW positions. /// HtmlWindow Class //////////////////////////////////////////////////////////// -class AUDACITY_DLL_API HtmlWindow:public wxHtmlWindow +class AUDACITY_DLL_API HtmlWindow /* not final */ : public wxHtmlWindow { public: HtmlWindow(wxWindow *parent, @@ -46,7 +46,7 @@ public: #if wxUSE_ACCESSIBILITY -class HtmlWindowAx: public wxWindowAccessible +class HtmlWindowAx final : public wxWindowAccessible { public: HtmlWindowAx(wxWindow * window); diff --git a/src/widgets/ImageRoll.h b/src/widgets/ImageRoll.h index 2129b62b9..ceacc0443 100644 --- a/src/widgets/ImageRoll.h +++ b/src/widgets/ImageRoll.h @@ -67,7 +67,7 @@ class ImageRoll // A very simple class that just display an ImageRoll that doesn't // do anything -class ImageRollPanel : public wxPanel +class ImageRollPanel final : public wxPanel { public: DECLARE_DYNAMIC_CLASS(ImageRollPanel); diff --git a/src/widgets/KeyView.h b/src/widgets/KeyView.h index 59fe819af..d413d1b71 100644 --- a/src/widgets/KeyView.h +++ b/src/widgets/KeyView.h @@ -68,7 +68,7 @@ class KeyViewAx; #endif // The KeyView class -class KeyView : public wxVListBox +class KeyView final : public wxVListBox { public: KeyView(wxWindow *parent, @@ -173,8 +173,7 @@ private: // wxAccessible object providing information for KeyView. // ---------------------------------------------------------------------------- -class KeyViewAx -: public wxWindowAccessible +class KeyViewAx final : public wxWindowAccessible { public: diff --git a/src/widgets/LinkingHtmlWindow.h b/src/widgets/LinkingHtmlWindow.h index b4652f0ba..56eabeec7 100644 --- a/src/widgets/LinkingHtmlWindow.h +++ b/src/widgets/LinkingHtmlWindow.h @@ -24,7 +24,7 @@ void OpenInDefaultBrowser(const wxHtmlLinkInfo& link); -class AUDACITY_DLL_API LinkingHtmlWindow : public HtmlWindow +class AUDACITY_DLL_API LinkingHtmlWindow final : public HtmlWindow { public: LinkingHtmlWindow(wxWindow *parent, wxWindowID id = -1, @@ -36,7 +36,7 @@ class AUDACITY_DLL_API LinkingHtmlWindow : public HtmlWindow }; -class BrowserFrame : public wxFrame +class BrowserFrame /* not final */ : public wxFrame { public: diff --git a/src/widgets/Meter.h b/src/widgets/Meter.h index c5d3a442b..667a56d78 100644 --- a/src/widgets/Meter.h +++ b/src/widgets/Meter.h @@ -86,7 +86,7 @@ class MeterUpdateQueue class MeterAx; -class Meter : public wxPanel +class Meter final : public wxPanel { DECLARE_DYNAMIC_CLASS(Meter) @@ -285,7 +285,7 @@ class Meter : public wxPanel #if wxUSE_ACCESSIBILITY -class MeterAx: public wxWindowAccessible +class MeterAx final : public wxWindowAccessible { public: MeterAx(wxWindow * window); diff --git a/src/widgets/MultiDialog.cpp b/src/widgets/MultiDialog.cpp index e3f05a0b3..dae87af38 100644 --- a/src/widgets/MultiDialog.cpp +++ b/src/widgets/MultiDialog.cpp @@ -33,7 +33,7 @@ for each problem encountered, since there can be many orphans. #include #include -class MultiDialog : public wxDialog +class MultiDialog final : public wxDialog { public: MultiDialog(wxWindow * pParent, diff --git a/src/widgets/NumericTextCtrl.cpp b/src/widgets/NumericTextCtrl.cpp index 055baa5d7..e6b6a9041 100644 --- a/src/widgets/NumericTextCtrl.cpp +++ b/src/widgets/NumericTextCtrl.cpp @@ -753,6 +753,10 @@ void NumericConverter::PrintDebugInfo() printf("\n"); } +NumericConverter::~NumericConverter() +{ +} + void NumericConverter::ValueToControls() { ValueToControls(mValue); diff --git a/src/widgets/NumericTextCtrl.h b/src/widgets/NumericTextCtrl.h index ce445100b..caf9a35b8 100644 --- a/src/widgets/NumericTextCtrl.h +++ b/src/widgets/NumericTextCtrl.h @@ -48,7 +48,7 @@ WX_DECLARE_OBJARRAY(NumericField, NumericFieldArray); class DigitInfo; WX_DECLARE_OBJARRAY(DigitInfo, DigitInfoArray); -class NumericConverter +class NumericConverter /* not final */ { public: @@ -63,6 +63,8 @@ public: double value = 0.0f, double sampleRate = 1.0f /* to prevent div by 0 */); + virtual ~NumericConverter(); + virtual void ValueToControls(); virtual void ValueToControls(double rawValue, bool nearest = true); virtual void ControlsToValue(); @@ -126,7 +128,7 @@ protected: int mDefaultNdx; }; -class NumericTextCtrl: public wxControl, public NumericConverter +class NumericTextCtrl final : public wxControl, public NumericConverter { friend class NumericTextCtrlAx; @@ -224,7 +226,7 @@ private: #if wxUSE_ACCESSIBILITY -class NumericTextCtrlAx: public wxWindowAccessible +class NumericTextCtrlAx final : public wxWindowAccessible { public: NumericTextCtrlAx(NumericTextCtrl * ctrl); diff --git a/src/widgets/ProgressDialog.h b/src/widgets/ProgressDialog.h index 1e719e5dd..c79a6229d 100644 --- a/src/widgets/ProgressDialog.h +++ b/src/widgets/ProgressDialog.h @@ -48,7 +48,7 @@ enum ProgressDialogFlags /// ProgressDialog Class //////////////////////////////////////////////////////////// -class AUDACITY_DLL_API ProgressDialog:public wxDialog +class AUDACITY_DLL_API ProgressDialog /* not final */ : public wxDialog { public: ProgressDialog(); @@ -103,7 +103,7 @@ private: DECLARE_EVENT_TABLE(); }; -class AUDACITY_DLL_API TimerProgressDialog : public ProgressDialog +class AUDACITY_DLL_API TimerProgressDialog final : public ProgressDialog { public: TimerProgressDialog(const wxLongLong_t duration, diff --git a/src/widgets/Ruler.h b/src/widgets/Ruler.h index e07ae3575..c7c978697 100644 --- a/src/widgets/Ruler.h +++ b/src/widgets/Ruler.h @@ -238,7 +238,7 @@ private: NumberScale *mpNumberScale; }; -class AUDACITY_DLL_API RulerPanel : public wxPanel { +class AUDACITY_DLL_API RulerPanel final : public wxPanel { DECLARE_DYNAMIC_CLASS(RulerPanel) public: @@ -274,7 +274,7 @@ private: // Once TrackPanel uses wxSizers, we will derive it from some // wxWindow and the GetSize and SetSize functions // will then be wxWidgets functions instead. -class AUDACITY_DLL_API AdornedRulerPanel : public wxPanel +class AUDACITY_DLL_API AdornedRulerPanel final : public wxPanel { public: AdornedRulerPanel(AudacityProject* parent, diff --git a/src/widgets/Warning.cpp b/src/widgets/Warning.cpp index 2afe95c0e..5fe6c265f 100644 --- a/src/widgets/Warning.cpp +++ b/src/widgets/Warning.cpp @@ -31,7 +31,7 @@ the ability to not see similar warnings again for this session. #include #include -class WarningDialog : public wxDialog +class WarningDialog final : public wxDialog { public: // constructors and destructors diff --git a/src/widgets/valnum.h b/src/widgets/valnum.h index fb8b7aadd..3127278ae 100644 --- a/src/widgets/valnum.h +++ b/src/widgets/valnum.h @@ -38,7 +38,7 @@ enum NumValidatorStyle // Base class for all numeric validators. // ---------------------------------------------------------------------------- -class NumValidatorBase : public wxValidator +class NumValidatorBase /* not final */ : public wxValidator { public: // Change the validator style. Usually it's specified during construction. @@ -144,7 +144,7 @@ namespace Private // The template argument T is just the type handled by the validator that will // inherit from this one. template -class NumValidator : public B +class NumValidator final : public B { public: typedef B BaseValidator; @@ -269,7 +269,7 @@ private: // type-dependent code of wxIntegerValidator<> and always works with values of // type LongestValueType. It is not meant to be used directly, please use // IntegerValidator<> only instead. -class IntegerValidatorBase : public NumValidatorBase +class IntegerValidatorBase /* not final */ : public NumValidatorBase { protected: // Define the type we use here, it should be the maximal-sized integer type @@ -328,7 +328,7 @@ private: // (short, int or long and long long if supported) and their unsigned versions // as well. template -class IntegerValidator +class IntegerValidator final : public Private::NumValidator { public: @@ -369,7 +369,7 @@ MakeIntegerValidator(T *value, int style = NUM_VAL_DEFAULT) // Similar to IntegerValidatorBase, this class is not meant to be used // directly, only FloatingPointValidator<> should be used in the user code. -class FloatingPointValidatorBase : public NumValidatorBase +class FloatingPointValidatorBase /* not final */ : public NumValidatorBase { public: // Set precision i.e. the number of digits shown (and accepted on input) @@ -429,7 +429,7 @@ private: // Validator for floating point numbers. It can be used with float, double or // long double values. template -class FloatingPointValidator +class FloatingPointValidator final : public Private::NumValidator { public: diff --git a/src/xml/XMLFileReader.h b/src/xml/XMLFileReader.h index 787f63ba1..009268774 100644 --- a/src/xml/XMLFileReader.h +++ b/src/xml/XMLFileReader.h @@ -15,7 +15,7 @@ #include "XMLTagHandler.h" -class AUDACITY_DLL_API XMLFileReader { +class AUDACITY_DLL_API XMLFileReader final { public: XMLFileReader(); virtual ~XMLFileReader(); diff --git a/src/xml/XMLTagHandler.h b/src/xml/XMLTagHandler.h index d31c21d41..39bc57085 100644 --- a/src/xml/XMLTagHandler.h +++ b/src/xml/XMLTagHandler.h @@ -66,7 +66,7 @@ public: }; -class AUDACITY_DLL_API XMLTagHandler { +class AUDACITY_DLL_API XMLTagHandler /* not final */ { public: XMLTagHandler(){}; virtual ~XMLTagHandler(){}; diff --git a/src/xml/XMLWriter.h b/src/xml/XMLWriter.h index 6c1282a9f..691c92484 100644 --- a/src/xml/XMLWriter.h +++ b/src/xml/XMLWriter.h @@ -17,7 +17,7 @@ /// /// XMLWriter /// -class AUDACITY_DLL_API XMLWriter { +class AUDACITY_DLL_API XMLWriter /* not final */ { public: @@ -60,7 +60,7 @@ class AUDACITY_DLL_API XMLWriter { /// /// XMLFileWriter /// -class AUDACITY_DLL_API XMLFileWriter:public wxFFile, public XMLWriter { +class AUDACITY_DLL_API XMLFileWriter final : public wxFFile, public XMLWriter { public: @@ -100,7 +100,7 @@ protected: /// /// XMLStringWriter /// -class XMLStringWriter:public wxString, public XMLWriter { +class XMLStringWriter final : public wxString, public XMLWriter { public: