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

#include <WaveformVZoomHandle.h>

Inheritance diagram for WaveformVRulerMenuTable:
[legend]
Collaboration diagram for WaveformVRulerMenuTable:
[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 , typename Factory >
static auto Adapt (const Factory &factory)
 

Private Member Functions

 WaveformVRulerMenuTable ()
 
virtual ~WaveformVRulerMenuTable ()
 
 DECLARE_POPUP_MENU (WaveformVRulerMenuTable)
 
void OnWaveformScaleType (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 auto * GetRegistry () const
 
const auto & 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 WaveChannelVRulerMenuTable
 WaveChannelVRulerMenuTable (const Identifier &id)
 
void InitUserData (void *pUserData) override
 Called before the menu items are appended. More...
 
void OnZoom (WaveChannelViewConstants::ZoomActions iZoomCode)
 
void OnZoomFitVertical (wxCommandEvent &)
 
void OnZoomReset (wxCommandEvent &)
 
void OnZoomHalfWave (wxCommandEvent &)
 
void OnZoomInVertical (wxCommandEvent &)
 
void OnZoomOutVertical (wxCommandEvent &)
 
void UpdatePrefs () override
 
- Protected Member Functions inherited from PopupMenuTable
virtual void Populate ()=0
 
template<typename Ptr >
void Append (Ptr 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 WaveChannelVRulerMenuTable
InitMenuDatampData {}
 
- Protected Attributes inherited from PopupMenuTable
std::shared_ptr< PopupSubMenumTop
 
std::vector< PopupMenuGroupItem * > mStack
 
Identifier mId
 
TranslatableString mCaption
 
std::unique_ptr< PopupMenuGroupItemmRegistry
 

Detailed Description

Definition at line 79 of file WaveformVZoomHandle.h.

Constructor & Destructor Documentation

◆ WaveformVRulerMenuTable()

WaveformVRulerMenuTable::WaveformVRulerMenuTable ( )
inlineprivate

Definition at line 81 of file WaveformVZoomHandle.h.

◆ ~WaveformVRulerMenuTable()

virtual WaveformVRulerMenuTable::~WaveformVRulerMenuTable ( )
inlineprivatevirtual

Definition at line 84 of file WaveformVZoomHandle.h.

84{}

Member Function Documentation

◆ DECLARE_POPUP_MENU()

WaveformVRulerMenuTable::DECLARE_POPUP_MENU ( WaveformVRulerMenuTable  )
private

◆ Instance()

PopupMenuTable & WaveformVRulerMenuTable::Instance ( )
static

Definition at line 226 of file WaveformVZoomHandle.cpp.

227{
228 static WaveformVRulerMenuTable instance;
229 return instance;
230}

Referenced by WaveformVZoomHandle::Release().

Here is the caller graph for this function:

◆ OnWaveformScaleType()

void WaveformVRulerMenuTable::OnWaveformScaleType ( wxCommandEvent &  evt)
private

Definition at line 264 of file WaveformVZoomHandle.cpp.

265{
266 // Assume linked track is wave or null
267 const WaveformSettings::ScaleType newScaleType =
269 std::max(0,
271 evt.GetId() - OnFirstWaveformScaleID
272 )));
273
274 auto &scaleType = WaveformSettings::Get(mpData->wc).scaleType;
275 if (scaleType != newScaleType) {
276 scaleType = newScaleType;
277
279 ProjectHistory::Get( *project ).ModifyState(true);
280
281 using namespace RefreshCode;
283 }
284}
int min(int a, int b)
const auto project
@ OnFirstWaveformScaleID
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
void ModifyState(bool bWantsAutoSave)
static ProjectHistory & Get(AudacityProject &project)
static WaveformSettings & Get(const WaveTrack &track)
Namespace containing an enum 'what to do on a refresh?'.
Definition: RefreshCode.h:16

References ProjectHistory::Get(), WaveformSettings::Get(), min(), ProjectHistory::ModifyState(), OnFirstWaveformScaleID, project, RefreshCode::RefreshAll, WaveformSettings::scaleType, WaveformSettings::stNumScaleTypes, and RefreshCode::UpdateVRuler.

Here is the call graph for this function:

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