Audacity 3.2.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
WaveColorMenuTable Struct Reference
Inheritance diagram for WaveColorMenuTable:
[legend]
Collaboration diagram for WaveColorMenuTable:
[legend]

Public Member Functions

 WaveColorMenuTable ()
 
 DECLARE_POPUP_MENU (WaveColorMenuTable)
 
void InitUserData (void *pUserData) override
 Called before the menu items are appended. More...
 
int IdOfWaveColor (int WaveColor)
 Converts a WaveColor enumeration to a wxWidgets menu item Id. More...
 
void OnWaveColorChange (wxCommandEvent &event)
 
- 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...
 

Static Public Member Functions

static WaveColorMenuTableInstance ()
 
- 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)
 

Public Attributes

PlayableTrackControls::InitMenuDatampData {}
 
int OnInstrument1ID
 
int OnInstrument2ID
 
int OnInstrument3ID
 
int OnInstrument4ID
 

Additional Inherited Members

- Public Types inherited from PopupMenuTable
using Entry = PopupMenuTableEntry
 
- 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 PopupMenuTable
std::shared_ptr< PopupSubMenumTop
 
std::vector< PopupMenuGroupItem * > mStack
 
Identifier mId
 
TranslatableString mCaption
 
std::unique_ptr< PopupMenuGroupItemmRegistry
 

Detailed Description

Definition at line 1045 of file WaveformView.cpp.

Constructor & Destructor Documentation

◆ WaveColorMenuTable()

WaveColorMenuTable::WaveColorMenuTable ( )
inline

Definition at line 1047 of file WaveformView.cpp.

1047: PopupMenuTable{ "WaveColor", XO("&Wave Color") } {}
XO("Cut/Copy/Paste")

Member Function Documentation

◆ DECLARE_POPUP_MENU()

WaveColorMenuTable::DECLARE_POPUP_MENU ( WaveColorMenuTable  )

◆ IdOfWaveColor()

int WaveColorMenuTable::IdOfWaveColor ( int  WaveColor)

Converts a WaveColor enumeration to a wxWidgets menu item Id.

Definition at line 1116 of file WaveformView.cpp.

1117{ return OnInstrument1ID + WaveColor;}

◆ InitUserData()

void WaveColorMenuTable::InitUserData ( void *  pUserData)
overridevirtual

Called before the menu items are appended.

Store context data, if needed. May be called more than once before the menu opens. Pointer remains valid for the duration of any callback, if PopupMenuTable::BuildMenu() is called and the result's Popup() is called before any other menus are built.

Implements PopupMenuHandler.

Definition at line 1068 of file WaveformView.cpp.

1069{
1070 mpData = static_cast<PlayableTrackControls::InitMenuData*>(pUserData);
1071}
PlayableTrackControls::InitMenuData * mpData

References mpData.

◆ Instance()

WaveColorMenuTable & WaveColorMenuTable::Instance ( )
static

Definition at line 1062 of file WaveformView.cpp.

1063{
1064 static WaveColorMenuTable instance;
1065 return instance;
1066}

◆ OnWaveColorChange()

void WaveColorMenuTable::OnWaveColorChange ( wxCommandEvent &  event)

Handles the selection from the WaveColor submenu of the track menu.

Definition at line 1121 of file WaveformView.cpp.

1122{
1123 int id = event.GetId();
1124 wxASSERT(id >= OnInstrument1ID && id <= OnInstrument4ID);
1125 auto &track = static_cast<WaveTrack&>(mpData->track);
1126
1127 int newWaveColor = id - OnInstrument1ID;
1128
1130
1131 WaveformAppearance::Get(track).SetColorIndex(newWaveColor);
1132
1134 .PushState(XO("Changed '%s' to %s")
1135 .Format(track.GetName(), GetWaveColorStr(newWaveColor)),
1136 XO("WaveColor Change"));
1137
1138 using namespace RefreshCode;
1140}
const auto project
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
Abstract base class used in importing a file.
void PushState(const TranslatableString &desc, const TranslatableString &shortDesc)
static ProjectHistory & Get(AudacityProject &project)
A Track that contains audio waveform data.
Definition: WaveTrack.h:203
static WaveformAppearance & Get(WaveTrack &track)
void SetColorIndex(int colorIndex)
Namespace containing an enum 'what to do on a refresh?'.
Definition: RefreshCode.h:16
const TranslatableString GetWaveColorStr(int colorIndex)

References RefreshCode::FixScrollbars, ProjectHistory::Get(), WaveformAppearance::Get(), anonymous_namespace{WaveformView.cpp}::GetWaveColorStr(), mpData, OnInstrument1ID, OnInstrument4ID, project, CommonTrackControls::InitMenuData::project, ProjectHistory::PushState(), RefreshCode::RefreshAll, CommonTrackControls::InitMenuData::result, WaveformAppearance::SetColorIndex(), CommonTrackControls::InitMenuData::track, and XO().

Here is the call graph for this function:

Member Data Documentation

◆ mpData

PlayableTrackControls::InitMenuData* WaveColorMenuTable::mpData {}

Definition at line 1054 of file WaveformView.cpp.

Referenced by InitUserData(), and OnWaveColorChange().

◆ OnInstrument1ID

int WaveColorMenuTable::OnInstrument1ID

Definition at line 1059 of file WaveformView.cpp.

Referenced by OnWaveColorChange().

◆ OnInstrument2ID

int WaveColorMenuTable::OnInstrument2ID

Definition at line 1059 of file WaveformView.cpp.

◆ OnInstrument3ID

int WaveColorMenuTable::OnInstrument3ID

Definition at line 1059 of file WaveformView.cpp.

◆ OnInstrument4ID

int WaveColorMenuTable::OnInstrument4ID

Definition at line 1059 of file WaveformView.cpp.

Referenced by OnWaveColorChange().


The documentation for this struct was generated from the following file: