mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-16 08:09:32 +02:00
... it's either the source of the connection that is being destroyed, or other object (such as an ancestor window) transitively owning it and so causing it to be destroyed too; or, the sink is being destroyed, and that sink is a wxEvtHandler (which is always so for Disconnect, though not for Unbind in case Bind was passed a member function of a non-wxEvtHandler). wxWidgets takes care of erasing the connection in such cases. This removes most calls to Disconnect and Unbind. Many destructors shrank to nothing. Notably, in case of popup menu handling, the call to Disconnect is not removable because the object being destroyed is neither the source nor the sink.
44 lines
870 B
C++
44 lines
870 B
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
LyricsWindow.h
|
|
|
|
Vaughan Johnson
|
|
Dominic Mazzoni
|
|
|
|
**********************************************************************/
|
|
|
|
#include "Experimental.h"
|
|
|
|
#ifndef __AUDACITY_LYRICS_WINDOW__
|
|
#define __AUDACITY_LYRICS_WINDOW__
|
|
|
|
#include <wx/frame.h>
|
|
|
|
class AudacityProject;
|
|
class LyricsPanel;
|
|
|
|
class LyricsWindow final : public wxFrame {
|
|
|
|
public:
|
|
LyricsWindow(AudacityProject* parent);
|
|
|
|
LyricsPanel *GetLyricsPanel() { return mLyricsPanel; };
|
|
|
|
private:
|
|
void OnCloseWindow(wxCloseEvent & WXUNUSED(event));
|
|
|
|
void OnStyle_BouncingBall(wxCommandEvent &evt);
|
|
void OnStyle_Highlight(wxCommandEvent &evt);
|
|
void OnTimer(wxCommandEvent &event);
|
|
|
|
AudacityProject *mProject;
|
|
LyricsPanel *mLyricsPanel;
|
|
|
|
public:
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif
|