Audacity 3.2.0
Static Public Member Functions | Private Member Functions | List of all members
SpectrumVRulerMenuTable Class Reference

#include <SpectrumVZoomHandle.h>

Inheritance diagram for SpectrumVRulerMenuTable:
[legend]
Collaboration diagram for SpectrumVRulerMenuTable:
[legend]

Static Public Member Functions

static PopupMenuTableInstance ()
 
- Static Public Member Functions inherited from PopupMenuTable
static std::unique_ptr< PopupMenuBuildMenu (PopupMenuTable *pTable, void *pUserData=NULL)
 
static void ExtendMenu (PopupMenu &menu, PopupMenuTable &otherTable)
 
template<typename Table >
static Registry::BaseItemPtr Computed (const std::function< Registry::BaseItemPtr(Table &) > &factory)
 

Private Member Functions

 SpectrumVRulerMenuTable ()
 
virtual ~SpectrumVRulerMenuTable ()
 
 DECLARE_POPUP_MENU (SpectrumVRulerMenuTable)
 
void OnSpectrumScaleType (wxCommandEvent &evt)
 

Additional Inherited Members

- Public Types inherited from PopupMenuTable
using Entry = PopupMenuTableEntry
 
- Public Member Functions inherited from PopupMenuTable
 PopupMenuTable (const Identifier &id, const TranslatableString &caption={})
 
const IdentifierId () const
 
const TranslatableStringCaption () const
 
const Registry::GroupItemGetRegistry () const
 
const std::shared_ptr< Registry::GroupItem > & Get (void *pUserData)
 
void Clear ()
 
- Public Member Functions inherited from PopupMenuHandler
 PopupMenuHandler ()=default
 
 PopupMenuHandler (const PopupMenuHandler &)=delete
 
PopupMenuHandleroperator= (const PopupMenuHandler &)=delete
 
virtual void InitUserData (void *pUserData)=0
 Called before the menu items are appended. More...
 
- Protected Member Functions inherited from WaveTrackVRulerMenuTable
 WaveTrackVRulerMenuTable (const Identifier &id)
 
void InitUserData (void *pUserData) override
 Called before the menu items are appended. More...
 
void OnZoom (WaveTrackViewConstants::ZoomActions iZoomCode)
 
void OnZoomFitVertical (wxCommandEvent &)
 
void OnZoomReset (wxCommandEvent &)
 
void OnZoomDiv2Vertical (wxCommandEvent &)
 
void OnZoomTimes2Vertical (wxCommandEvent &)
 
void OnZoomHalfWave (wxCommandEvent &)
 
void OnZoomInVertical (wxCommandEvent &)
 
void OnZoomOutVertical (wxCommandEvent &)
 
void UpdatePrefs () override
 
- Protected Member Functions inherited from PopupMenuTable
virtual void Populate ()=0
 
void Append (Registry::BaseItemPtr pItem)
 
void Append (const Identifier &stringId, PopupMenuTableEntry::Type type, int id, const TranslatableString &string, wxCommandEventFunction memFn, const PopupMenuTableEntry::InitFunction &init)
 
void AppendItem (const Identifier &stringId, int id, const TranslatableString &string, wxCommandEventFunction memFn, const PopupMenuTableEntry::InitFunction &init={})
 
void AppendRadioItem (const Identifier &stringId, int id, const TranslatableString &string, wxCommandEventFunction memFn, const PopupMenuTableEntry::InitFunction &init={})
 
void AppendCheckItem (const Identifier &stringId, int id, const TranslatableString &string, wxCommandEventFunction memFn, const PopupMenuTableEntry::InitFunction &init={})
 
void BeginSection (const Identifier &name)
 
void EndSection ()
 
- Static Protected Member Functions inherited from PopupMenuTable
static TranslatableString MakeLabel (const TranslatableString &label, bool useExtra, const TranslatableString &extra)
 
- Protected Attributes inherited from WaveTrackVRulerMenuTable
InitMenuDatampData {}
 
- Protected Attributes inherited from PopupMenuTable
std::shared_ptr< Registry::GroupItemmTop
 
std::vector< Registry::GroupItem * > mStack
 
Identifier mId
 
TranslatableString mCaption
 
std::unique_ptr< Registry::GroupItemmRegistry
 

Detailed Description

Definition at line 78 of file SpectrumVZoomHandle.h.

Constructor & Destructor Documentation

◆ SpectrumVRulerMenuTable()

SpectrumVRulerMenuTable::SpectrumVRulerMenuTable ( )
inlineprivate

Definition at line 80 of file SpectrumVZoomHandle.h.

◆ ~SpectrumVRulerMenuTable()

virtual SpectrumVRulerMenuTable::~SpectrumVRulerMenuTable ( )
inlineprivatevirtual

Definition at line 83 of file SpectrumVZoomHandle.h.

83{}

Member Function Documentation

◆ DECLARE_POPUP_MENU()

SpectrumVRulerMenuTable::DECLARE_POPUP_MENU ( SpectrumVRulerMenuTable  )
private

◆ Instance()

PopupMenuTable & SpectrumVRulerMenuTable::Instance ( )
static

Definition at line 265 of file SpectrumVZoomHandle.cpp.

266{
267 static SpectrumVRulerMenuTable instance;
268 return instance;
269}

Referenced by SpectrumVZoomHandle::Release().

Here is the caller graph for this function:

◆ OnSpectrumScaleType()

void SpectrumVRulerMenuTable::OnSpectrumScaleType ( wxCommandEvent &  evt)
private

Definition at line 315 of file SpectrumVZoomHandle.cpp.

316{
317 WaveTrack *const wt = mpData->pTrack;
318
319 const SpectrogramSettings::ScaleType newScaleType =
321 std::max(0,
323 evt.GetId() - OnFirstSpectrumScaleID
324 )));
325 if (wt->GetSpectrogramSettings().scaleType != newScaleType) {
326 for (auto channel : TrackList::Channels(wt))
327 channel->GetIndependentSpectrogramSettings().scaleType = newScaleType;
328
330
331 using namespace RefreshCode;
333 }
334}
int min(int a, int b)
@ OnFirstSpectrumScaleID
void ModifyState(bool bWantsAutoSave)
static ProjectHistory & Get(AudacityProject &project)
static auto Channels(TrackType *pTrack) -> TrackIterRange< TrackType >
Definition: Track.h:1541
A Track that contains audio waveform data.
Definition: WaveTrack.h:57
const SpectrogramSettings & GetSpectrogramSettings() const
Definition: WaveTrack.cpp:783
Namespace containing an enum 'what to do on a refresh?'.
Definition: RefreshCode.h:16

References TrackList::Channels(), ProjectHistory::Get(), WaveTrack::GetSpectrogramSettings(), min(), ProjectHistory::ModifyState(), OnFirstSpectrumScaleID, RefreshCode::RefreshAll, SpectrogramSettings::scaleType, SpectrogramSettings::stNumScaleTypes, and RefreshCode::UpdateVRuler.

Here is the call graph for this function:

The documentation for this class was generated from the following files: