audacia/src/toolbars/MeterToolBar.h

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