Audacity 3.2.0
MixerToolBar.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 MixerToolbar.h
6
7 Dominic Mazzoni
8
9**********************************************************************/
10
11#ifndef __AUDACITY_MIXER_TOOLBAR__
12#define __AUDACITY_MIXER_TOOLBAR__
13
14#include "Observer.h"
15#include "ToolBar.h"
16
17class wxSize;
18class wxPoint;
19
20class ASlider;
21class AudacityProject;
22struct AudioIOEvent;
23
24class MixerToolBar final : public ToolBar {
25
26 public:
27
28 MixerToolBar( AudacityProject &project );
29 virtual ~MixerToolBar();
30
31 static MixerToolBar &Get( AudacityProject &project );
32 static const MixerToolBar &Get( const AudacityProject &project );
33
34 void Create(wxWindow * parent) override;
35
36 void UpdatePrefs() override;
37 void UpdateControls();
38 void SetMixer(wxCommandEvent &event);
39
40 void Populate() override;
41 void Repaint(wxDC * WXUNUSED(dc)) override {};
42 void EnableDisableButtons() override {};
43 int GetMinToolbarWidth() override { return 250; }
44 int GetInitialWidth() override { return 460; }
45
46 void OnFocus(wxFocusEvent &event);
47 void OnCaptureKey(wxCommandEvent &event);
48
49 void OnSlider(wxCommandEvent & event);
50
52
55
56 void AdjustOutputGain(int adj);
57 void AdjustInputGain(int adj);
58
59 void RegenerateTooltips() override {};
60
61 protected:
64
65 private:
66
68 void SetToolTips();
69
71
75
76 public:
77
78 DECLARE_CLASS(MixerToolBar)
79 DECLARE_EVENT_TABLE()
80};
81
82#endif
83
ASlider is a custom slider, allowing for a slicker look and feel.
Definition: ASlider.h:234
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:89
A ToolBar that provides the record and playback volume settings.
Definition: MixerToolBar.h:24
void OnAudioCapture(AudioIOEvent)
float mOutputSliderVolume
Definition: MixerToolBar.h:63
ASlider * mInputSlider
Definition: MixerToolBar.h:72
MixerToolBar(AudacityProject &project)
Methods for MixerToolBar.
int GetMinToolbarWidth() override
Definition: MixerToolBar.h:43
void Repaint(wxDC *WXUNUSED(dc)) override
Definition: MixerToolBar.h:41
static MixerToolBar & Get(AudacityProject &project)
Observer::Subscription mSubscription
Definition: MixerToolBar.h:70
float mInputSliderVolume
Definition: MixerToolBar.h:59
virtual ~MixerToolBar()
void InitializeMixerToolBar()
void SetToolTips()
void ShowOutputGainDialog()
void AdjustInputGain(int adj)
void OnSlider(wxCommandEvent &event)
int GetInitialWidth() override
Resizable toolbars should implement these.
Definition: MixerToolBar.h:44
void OnCaptureKey(wxCommandEvent &event)
ASlider * mOutputSlider
Definition: MixerToolBar.h:73
void UpdatePrefs() override
void UpdateControls()
void AdjustOutputGain(int adj)
void Populate() override
void SetMixer(wxCommandEvent &event)
void ShowInputGainDialog()
void Create(wxWindow *parent) override
void EnableDisableButtons() override
Definition: MixerToolBar.h:42
void RegenerateTooltips() override
Definition: MixerToolBar.h:59
void OnFocus(wxFocusEvent &event)
A move-only handle representing a connection to a Publisher.
Definition: Observer.h:70
Works with ToolManager and ToolDock to provide a dockable window in which buttons can be placed.
Definition: ToolBar.h:99