73 lines
1.4 KiB
C++
73 lines
1.4 KiB
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
MeterToolbar.h
|
|
|
|
Dominic Mazzoni
|
|
Leland Lucius
|
|
|
|
ToolBar to hold the VU Meter
|
|
|
|
**********************************************************************/
|
|
|
|
#ifndef __AUDACITY_METER_TOOLBAR__
|
|
#define __AUDACITY_METER_TOOLBAR__
|
|
|
|
#include "ToolBar.h"
|
|
#include "../Project.h"
|
|
|
|
class wxDC;
|
|
class wxGridBagSizer;
|
|
class wxSizeEvent;
|
|
class wxWindow;
|
|
|
|
class Meter;
|
|
|
|
|
|
// Constants used as bit pattern
|
|
const int kWithRecordMeter = 1;
|
|
const int kWithPlayMeter = 2;
|
|
|
|
class MeterToolBar final : public ToolBar {
|
|
|
|
public:
|
|
|
|
MeterToolBar(AudacityProject *project, int type);
|
|
virtual ~MeterToolBar();
|
|
|
|
void Create(wxWindow *parent);
|
|
|
|
void Populate() override;
|
|
void ReCreateButtons() override;
|
|
void Repaint(wxDC * WXUNUSED(dc)) override {};
|
|
void EnableDisableButtons() override {};
|
|
void UpdatePrefs() override;
|
|
|
|
void OnSize(wxSizeEvent & event);
|
|
bool Expose(bool show) override;
|
|
|
|
int GetInitialWidth() {return (mWhichMeters ==
|
|
(kWithRecordMeter + kWithPlayMeter)) ? 338 : 460;} // Separate bars used to be smaller.
|
|
int GetMinToolbarWidth() { return 50; }
|
|
wxSize GetDockedSize();
|
|
|
|
private:
|
|
void RegenerateTooltips() override;
|
|
|
|
AudacityProject *mProject;
|
|
int mWhichMeters;
|
|
wxGridBagSizer *mSizer;
|
|
Meter *mPlayMeter;
|
|
Meter *mRecordMeter;
|
|
|
|
public:
|
|
|
|
DECLARE_CLASS(MeterToolBar)
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
|
|
#endif
|
|
|