1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 08:09:32 +02:00
audacity/src/LyricsWindow.h
Paul Licameli bf5228267a Calls to Disconnect or Unbind in destructors are not needed, if...
... 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.
2018-02-21 19:28:06 -05:00

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