mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-14 07:37:43 +02:00
refactor the construction of the track pop-down menu into a function to avoid repeating the code multiple times to do the same thing. This makes extending the track pop-down menu, and eventually breaking this class up, much easier
This commit is contained in:
parent
398b5153c7
commit
be4f39c9c7
@ -645,12 +645,9 @@ void TrackPanel::BuildMenus(void)
|
|||||||
mFormatMenu->AppendCheckItem(On24BitID, GetSampleFormatStr(int24Sample));
|
mFormatMenu->AppendCheckItem(On24BitID, GetSampleFormatStr(int24Sample));
|
||||||
mFormatMenu->AppendCheckItem(OnFloatID, GetSampleFormatStr(floatSample));
|
mFormatMenu->AppendCheckItem(OnFloatID, GetSampleFormatStr(floatSample));
|
||||||
|
|
||||||
|
/* build the pop-down menu used on wave (sampled audio) tracks */
|
||||||
mWaveTrackMenu = new wxMenu();
|
mWaveTrackMenu = new wxMenu();
|
||||||
mWaveTrackMenu->Append(OnSetNameID, _("N&ame..."));
|
BuildCommonDropMenuItems(mWaveTrackMenu); // does name, up/down etc
|
||||||
mWaveTrackMenu->AppendSeparator();
|
|
||||||
mWaveTrackMenu->Append(OnMoveUpID, _("Move Track U&p"));
|
|
||||||
mWaveTrackMenu->Append(OnMoveDownID, _("Move Track &Down"));
|
|
||||||
mWaveTrackMenu->AppendSeparator();
|
|
||||||
mWaveTrackMenu->Append(OnWaveformID, _("Wa&veform"));
|
mWaveTrackMenu->Append(OnWaveformID, _("Wa&veform"));
|
||||||
mWaveTrackMenu->Append(OnWaveformDBID, _("Waveform (d&B)"));
|
mWaveTrackMenu->Append(OnWaveformDBID, _("Waveform (d&B)"));
|
||||||
mWaveTrackMenu->Append(OnSpectrumID, _("&Spectrogram"));
|
mWaveTrackMenu->Append(OnSpectrumID, _("&Spectrogram"));
|
||||||
@ -669,29 +666,20 @@ void TrackPanel::BuildMenus(void)
|
|||||||
mWaveTrackMenu->AppendSeparator();
|
mWaveTrackMenu->AppendSeparator();
|
||||||
mWaveTrackMenu->Append(0, _("Set Rat&e"), mRateMenu);
|
mWaveTrackMenu->Append(0, _("Set Rat&e"), mRateMenu);
|
||||||
|
|
||||||
|
/* build the pop-down menu used on note (MIDI) tracks */
|
||||||
mNoteTrackMenu = new wxMenu();
|
mNoteTrackMenu = new wxMenu();
|
||||||
mNoteTrackMenu->Append(OnSetNameID, _("N&ame..."));
|
BuildCommonDropMenuItems(mNoteTrackMenu); // does name, up/down etc
|
||||||
mNoteTrackMenu->AppendSeparator();
|
|
||||||
mNoteTrackMenu->Append(OnMoveUpID, _("Move Track U&p"));
|
|
||||||
mNoteTrackMenu->Append(OnMoveDownID, _("Move Track &Down"));
|
|
||||||
mNoteTrackMenu->AppendSeparator();
|
|
||||||
mNoteTrackMenu->Append(OnUpOctaveID, _("Up &Octave"));
|
mNoteTrackMenu->Append(OnUpOctaveID, _("Up &Octave"));
|
||||||
mNoteTrackMenu->Append(OnDownOctaveID, _("Down Octa&ve"));
|
mNoteTrackMenu->Append(OnDownOctaveID, _("Down Octa&ve"));
|
||||||
|
|
||||||
|
/* build the pop-down menu used on label tracks */
|
||||||
mLabelTrackMenu = new wxMenu();
|
mLabelTrackMenu = new wxMenu();
|
||||||
mLabelTrackMenu->Append(OnSetNameID, _("N&ame..."));
|
BuildCommonDropMenuItems(mLabelTrackMenu); // does name, up/down etc
|
||||||
mLabelTrackMenu->AppendSeparator();
|
|
||||||
mLabelTrackMenu->Append(OnSetFontID, _("&Font..."));
|
mLabelTrackMenu->Append(OnSetFontID, _("&Font..."));
|
||||||
mLabelTrackMenu->AppendSeparator();
|
|
||||||
mLabelTrackMenu->Append(OnMoveUpID, _("Move Track U&p"));
|
|
||||||
mLabelTrackMenu->Append(OnMoveDownID, _("Move Track &Down"));
|
|
||||||
|
|
||||||
|
/* build the pop-down menu used on time warping tracks */
|
||||||
mTimeTrackMenu = new wxMenu();
|
mTimeTrackMenu = new wxMenu();
|
||||||
mTimeTrackMenu->Append(OnSetNameID, _("N&ame..."));
|
BuildCommonDropMenuItems(mTimeTrackMenu); // does name, up/down etc
|
||||||
mTimeTrackMenu->AppendSeparator();
|
|
||||||
mTimeTrackMenu->Append(OnMoveUpID, _("Move Track U&p"));
|
|
||||||
mTimeTrackMenu->Append(OnMoveDownID, _("Move Track &Down"));
|
|
||||||
mTimeTrackMenu->AppendSeparator();
|
|
||||||
mTimeTrackMenu->Append(OnTimeTrackLinID, _("&Linear"));
|
mTimeTrackMenu->Append(OnTimeTrackLinID, _("&Linear"));
|
||||||
mTimeTrackMenu->Append(OnTimeTrackLogID, _("L&ogarithmic"));
|
mTimeTrackMenu->Append(OnTimeTrackLogID, _("L&ogarithmic"));
|
||||||
mTimeTrackMenu->AppendSeparator();
|
mTimeTrackMenu->AppendSeparator();
|
||||||
@ -704,6 +692,16 @@ void TrackPanel::BuildMenus(void)
|
|||||||
mLabelTrackInfoMenu->Append(OnPasteSelectedTextID, _("Paste"));
|
mLabelTrackInfoMenu->Append(OnPasteSelectedTextID, _("Paste"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TrackPanel::BuildCommonDropMenuItems(wxMenu * menu)
|
||||||
|
{
|
||||||
|
menu->Append(OnSetNameID, _("N&ame..."));
|
||||||
|
menu->AppendSeparator();
|
||||||
|
menu->Append(OnMoveUpID, _("Move Track U&p"));
|
||||||
|
menu->Append(OnMoveDownID, _("Move Track &Down"));
|
||||||
|
menu->AppendSeparator();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void TrackPanel::DeleteMenus(void)
|
void TrackPanel::DeleteMenus(void)
|
||||||
{
|
{
|
||||||
// Note that the submenus (mRateMenu, ...)
|
// Note that the submenus (mRateMenu, ...)
|
||||||
|
@ -181,6 +181,7 @@ class AUDACITY_DLL_API TrackPanel:public wxPanel {
|
|||||||
virtual ~ TrackPanel();
|
virtual ~ TrackPanel();
|
||||||
|
|
||||||
virtual void BuildMenus(void);
|
virtual void BuildMenus(void);
|
||||||
|
|
||||||
virtual void DeleteMenus(void);
|
virtual void DeleteMenus(void);
|
||||||
|
|
||||||
virtual void UpdatePrefs();
|
virtual void UpdatePrefs();
|
||||||
@ -270,6 +271,14 @@ class AUDACITY_DLL_API TrackPanel:public wxPanel {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual MixerBoard* GetMixerBoard();
|
virtual MixerBoard* GetMixerBoard();
|
||||||
|
/** @brief Populates the track pop-down menu with the common set of
|
||||||
|
* initial items.
|
||||||
|
*
|
||||||
|
* Ensures that all pop-down menus start with Name, and the commands for moving
|
||||||
|
* the track around, via a single set of code.
|
||||||
|
* @param menu the menu to add the commands to.
|
||||||
|
*/
|
||||||
|
virtual void BuildCommonDropMenuItems(wxMenu * menu);
|
||||||
virtual bool IsUnsafe();
|
virtual bool IsUnsafe();
|
||||||
virtual bool HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMouseEvent & event);
|
virtual bool HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMouseEvent & event);
|
||||||
virtual bool HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxMouseEvent &event);
|
virtual bool HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxMouseEvent &event);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user