mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-21 14:50:06 +02:00
... though harmlessly so. They called to nonstatic member functions of classes with improper this pointers; though the functions did not use this. Bind events to nonmember funtions instead. Sometimes just to empty lambdas to consume the event and ignore it, blocking other handlers.
62 lines
1.4 KiB
C++
62 lines
1.4 KiB
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
HistoryWindow.h
|
|
|
|
Joshua Haberman
|
|
|
|
**********************************************************************/
|
|
|
|
#ifndef __AUDACITY_HISTORY_WINDOW__
|
|
#define __AUDACITY_HISTORY_WINDOW__
|
|
|
|
#include <wx/button.h>
|
|
#include <wx/event.h>
|
|
#include <wx/frame.h>
|
|
#include <wx/listctrl.h>
|
|
#include <wx/spinctrl.h>
|
|
#include <wx/textctrl.h>
|
|
|
|
#include "widgets/wxPanelWrapper.h"
|
|
|
|
class AudacityProject;
|
|
class ShuttleGui;
|
|
class UndoManager;
|
|
|
|
class HistoryWindow final : public wxDialogWrapper {
|
|
|
|
public:
|
|
HistoryWindow(AudacityProject * parent, UndoManager *manager);
|
|
|
|
void UpdateDisplay();
|
|
|
|
private:
|
|
void OnAudioIO(wxCommandEvent & evt);
|
|
void DoUpdate();
|
|
void UpdateLevels();
|
|
|
|
void OnSize(wxSizeEvent & event);
|
|
void OnCloseWindow(wxCloseEvent & WXUNUSED(event));
|
|
void OnItemSelected(wxListEvent & event);
|
|
void OnDiscard(wxCommandEvent & event);
|
|
void OnDiscardClipboard(wxCommandEvent & event);
|
|
|
|
AudacityProject *mProject;
|
|
UndoManager *mManager;
|
|
wxListCtrl *mList;
|
|
wxTextCtrl *mTotal;
|
|
wxTextCtrl *mClipboard;
|
|
wxTextCtrl *mAvail;
|
|
wxSpinCtrl *mLevels;
|
|
wxButton *mDiscard;
|
|
|
|
int mSelected;
|
|
bool mAudioIOBusy;
|
|
|
|
public:
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif
|