Audacity 3.2.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
HistoryDialog Class Referencefinal

Works with UndoManager to allow user to see descriptions of and undo previous commands. Also allows you to selectively clear the undo memory so as to free up space. More...

#include <HistoryWindow.h>

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

Public Member Functions

 HistoryDialog (AudacityProject *parent, UndoManager *manager)
 
void UpdateDisplayForClipboard (struct ClipboardChangeMessage)
 
void UpdateDisplay (struct UndoRedoMessage)
 
void DoUpdateDisplay ()
 
bool Show (bool show=true) override
 
- Public Member Functions inherited from wxDialogWrapper
 wxDialogWrapper ()
 
 wxDialogWrapper (wxWindow *parent, wxWindowID id, const TranslatableString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE, const TranslatableString &name=XO("Dialog"))
 
bool Create (wxWindow *parent, wxWindowID id, const TranslatableString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE, const TranslatableString &name=XO("Dialog"))
 
void SetTitle (const TranslatableString &title)
 
void SetLabel (const TranslatableString &title)
 
void SetName (const TranslatableString &title)
 
void SetName ()
 
- Public Member Functions inherited from wxTabTraversalWrapper< wxDialog >
 wxTabTraversalWrapper (Args &&... args)
 
 wxTabTraversalWrapper (const wxTabTraversalWrapper &)=delete
 
 wxTabTraversalWrapper (wxTabTraversalWrapper &&)=delete
 
wxTabTraversalWrapperoperator= (const wxTabTraversalWrapper &)=delete
 
wxTabTraversalWrapperoperator= (wxTabTraversalWrapper &&)=delete
 
- Public Member Functions inherited from PrefsListener
 PrefsListener ()
 
virtual ~PrefsListener ()
 
virtual void UpdatePrefs ()=0
 

Private Member Functions

void Populate (ShuttleGui &S)
 
void OnAudioIO (AudioIOEvent)
 
void DoUpdate ()
 
void UpdateLevels ()
 
void OnShow (wxShowEvent &event)
 
void OnSize (wxSizeEvent &event)
 
void OnCloseWindow (wxCloseEvent &event)
 
void OnListKeyDown (wxKeyEvent &event)
 
void OnItemSelected (wxListEvent &event)
 
void OnDiscard (wxCommandEvent &event)
 
void OnDiscardClipboard (wxCommandEvent &event)
 
void OnCompact (wxCommandEvent &event)
 
void OnGetURL (wxCommandEvent &event)
 
void UpdatePrefs () override
 

Private Attributes

Observer::Subscription mAudioIOSubscription
 
Observer::Subscription mUndoSubscription
 
Observer::Subscription mClipboardSubscription
 
AudacityProjectmProject
 
UndoManagermManager
 
wxListCtrl * mList
 
wxTextCtrl * mTotal
 
wxTextCtrl * mClipboard
 
wxTextCtrl * mAvail
 
wxSpinCtrl * mLevels
 
wxButton * mDiscard
 
wxButton * mCompact
 
int mSelected
 
bool mAudioIOBusy
 

Additional Inherited Members

- Static Public Member Functions inherited from PrefsListener
static void Broadcast (int id=0)
 Call this static function to notify all PrefsListener objects. More...
 
- Protected Member Functions inherited from PrefsListener
virtual void UpdateSelectedPrefs (int id)
 

Detailed Description

Works with UndoManager to allow user to see descriptions of and undo previous commands. Also allows you to selectively clear the undo memory so as to free up space.

Definition at line 28 of file HistoryWindow.h.

Constructor & Destructor Documentation

◆ HistoryDialog()

HistoryDialog::HistoryDialog ( AudacityProject parent,
UndoManager manager 
)

Definition at line 136 of file HistoryWindow.cpp.

136 :
137 wxDialogWrapper(FindProjectFrame( parent ), wxID_ANY, HistoryTitle,
138 wxDefaultPosition, wxDefaultSize,
139 wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER )
140{
141 SetName();
142
144 mProject = parent;
145 mSelected = 0;
146 mAudioIOBusy = false;
147
148 //------------------------- Main section --------------------
149 // Construct the GUI.
150 ShuttleGui S(this, eIsCreating);
151 Populate(S);
152
154
157
158 if (parent)
161}
#define HistoryTitle
wxFrame * FindProjectFrame(AudacityProject *project)
Get a pointer to the window associated with a project, or null if the given pointer is null,...
static const AttachedProjectObjects::RegisteredFactory manager
@ eIsCreating
Definition: ShuttleGui.h:37
#define S(N)
Definition: ToChars.cpp:64
static AudioIO * Get()
Definition: AudioIO.cpp:126
static Clipboard & Get()
Definition: Clipboard.cpp:28
void UpdateDisplayForClipboard(struct ClipboardChangeMessage)
AudacityProject * mProject
Definition: HistoryWindow.h:66
Observer::Subscription mClipboardSubscription
Definition: HistoryWindow.h:64
void OnAudioIO(AudioIOEvent)
Observer::Subscription mUndoSubscription
Definition: HistoryWindow.h:63
void UpdateDisplay(struct UndoRedoMessage)
void Populate(ShuttleGui &S)
UndoManager * mManager
Definition: HistoryWindow.h:67
Observer::Subscription mAudioIOSubscription
Definition: HistoryWindow.h:62
Subscription Subscribe(Callback callback)
Connect a callback to the Publisher; later-connected are called earlier.
Definition: Observer.h:199
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:640
static UndoManager & Get(AudacityProject &project)
Definition: UndoManager.cpp:71

References eIsCreating, AudioIO::Get(), Clipboard::Get(), UndoManager::Get(), manager, mAudioIOBusy, mAudioIOSubscription, mClipboardSubscription, mManager, mProject, mSelected, mUndoSubscription, OnAudioIO(), Populate(), S, wxDialogWrapper::SetName(), Observer::Publisher< Message, NotifyAll >::Subscribe(), UpdateDisplay(), and UpdateDisplayForClipboard().

Here is the call graph for this function:

Member Function Documentation

◆ DoUpdate()

void HistoryDialog::DoUpdate ( )
private

Definition at line 284 of file HistoryWindow.cpp.

285{
286 int i = 0;
287
288 SpaceUsageCalculator calculator;
289 calculator.Calculate( *mManager );
290
291 // point to size for oldest state
292 auto iter = calculator.space.rbegin();
293
294 mList->DeleteAllItems();
295
296 wxLongLong_t total = 0;
299 [&]( const UndoStackElem &elem ){
300 const auto space = *iter++;
301 total += space;
302 const auto size = Internat::FormatSize(space);
303 const auto &desc = elem.description;
304 mList->InsertItem(i, desc.Translation(), i == mSelected ? 1 : 0);
305 mList->SetItem(i, 1, size.Translation());
306 ++i;
307 },
308 false // oldest state first
309 );
310
311 mTotal->SetValue(Internat::FormatSize(total).Translation());
312
313 auto clipboardUsage = calculator.clipboardSpaceUsage;
314 mClipboard->SetValue(Internat::FormatSize(clipboardUsage).Translation());
315#if defined(ALLOW_DISCARD)
316 FindWindowById(ID_DISCARD_CLIPBOARD)->Enable(clipboardUsage > 0);
317#endif
318
319 mList->EnsureVisible(mSelected);
320
321 mList->SetItemState(mSelected,
322 wxLIST_STATE_FOCUSED | wxLIST_STATE_SELECTED,
323 wxLIST_STATE_FOCUSED | wxLIST_STATE_SELECTED);
324
325 UpdateLevels();
326}
@ ID_DISCARD_CLIPBOARD
wxTextCtrl * mTotal
Definition: HistoryWindow.h:69
wxTextCtrl * mClipboard
Definition: HistoryWindow.h:70
wxListCtrl * mList
Definition: HistoryWindow.h:68
static TranslatableString FormatSize(wxLongLong size)
Convert a number to a string while formatting it in bytes, KB, MB, GB.
Definition: Internat.cpp:179
wxString Translation() const
void VisitStates(const Consumer &consumer, bool newestFirst)
Give read-only access to all states.
unsigned int GetCurrentState()
const TranslatableString desc
Definition: ExportPCM.cpp:51
Holds one item with description and time range for the UndoManager.
Definition: UndoManager.h:117
TranslatableString description
Definition: UndoManager.h:129

References anonymous_namespace{ExportPCM.cpp}::desc, UndoStackElem::description, Internat::FormatSize(), UndoManager::GetCurrentState(), ID_DISCARD_CLIPBOARD, mClipboard, mList, mManager, mSelected, mTotal, size, TranslatableString::Translation(), UpdateLevels(), and UndoManager::VisitStates().

Referenced by DoUpdateDisplay(), OnDiscard(), and Show().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoUpdateDisplay()

void HistoryDialog::DoUpdateDisplay ( )

Definition at line 271 of file HistoryWindow.cpp.

272{
273 if(IsShown())
274 DoUpdate();
275}

References DoUpdate().

Referenced by UpdateDisplay(), and UpdateDisplayForClipboard().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnAudioIO()

void HistoryDialog::OnAudioIO ( AudioIOEvent  evt)
private

Definition at line 239 of file HistoryWindow.cpp.

240{
241 if (evt.type == AudioIOEvent::MONITOR)
242 return;
243 mAudioIOBusy = evt.on;
244
245#if defined(ALLOW_DISCARD)
246 mDiscard->Enable(!mAudioIOBusy);
247 mCompact->Enable(!mAudioIOBusy);
248#endif
249}
wxButton * mCompact
Definition: HistoryWindow.h:74
wxButton * mDiscard
Definition: HistoryWindow.h:73
bool on
Definition: AudioIO.h:66
enum AudioIOEvent::Type type

References mAudioIOBusy, mCompact, mDiscard, AudioIOEvent::MONITOR, AudioIOEvent::on, and AudioIOEvent::type.

Referenced by HistoryDialog().

Here is the caller graph for this function:

◆ OnCloseWindow()

void HistoryDialog::OnCloseWindow ( wxCloseEvent &  event)
private

Definition at line 449 of file HistoryWindow.cpp.

450{
451 this->Show(false);
452}
bool Show(bool show=true) override

References Show().

Here is the call graph for this function:

◆ OnCompact()

void HistoryDialog::OnCompact ( wxCommandEvent &  event)
private

Definition at line 376 of file HistoryWindow.cpp.

377{
378 auto &projectFileIO = ProjectFileIO::Get(*mProject);
379
380 projectFileIO.ReopenProject();
381
382 auto baseFile = wxFileName(projectFileIO.GetFileName());
383 auto walFile = wxFileName(projectFileIO.GetFileName() + wxT("-wal"));
384 auto before = baseFile.GetSize() + walFile.GetSize();
385
386 projectFileIO.Compact({}, true);
387
388 auto after = baseFile.GetSize() + walFile.GetSize();
389
391 XO("Compacting actually freed %s of disk space.")
392 .Format(Internat::FormatSize((before - after).GetValue())),
393 XO("History"));
394}
wxT("CloseDown"))
int AudacityMessageBox(const TranslatableString &message, const TranslatableString &caption, long style, wxWindow *parent, int x, int y)
XO("Cut/Copy/Paste")
Abstract base class used in importing a file.
static ProjectFileIO & Get(AudacityProject &project)

References AudacityMessageBox(), Internat::FormatSize(), ProjectFileIO::Get(), mProject, wxT(), and XO().

Here is the call graph for this function:

◆ OnDiscard()

void HistoryDialog::OnDiscard ( wxCommandEvent &  event)
private

Definition at line 357 of file HistoryWindow.cpp.

358{
359 int i = mLevels->GetValue();
360
361 mSelected -= i;
362 mManager->RemoveStates(0, i);
364
365 while(--i >= 0)
366 mList->DeleteItem(i);
367
368 DoUpdate();
369}
wxSpinCtrl * mLevels
Definition: HistoryWindow.h:72
void SetStateTo(unsigned int n, bool doAutosave=true)
static ProjectHistory & Get(AudacityProject &project)
void RemoveStates(size_t begin, size_t end)

References DoUpdate(), ProjectHistory::Get(), mLevels, mList, mManager, mSelected, UndoManager::RemoveStates(), and ProjectHistory::SetStateTo().

Here is the call graph for this function:

◆ OnDiscardClipboard()

void HistoryDialog::OnDiscardClipboard ( wxCommandEvent &  event)
private

Definition at line 371 of file HistoryWindow.cpp.

372{
374}
void Clear()
Definition: Clipboard.cpp:40

References Clipboard::Clear(), and Clipboard::Get().

Here is the call graph for this function:

◆ OnGetURL()

void HistoryDialog::OnGetURL ( wxCommandEvent &  event)
private

Definition at line 396 of file HistoryWindow.cpp.

397{
398 HelpSystem::ShowHelp(this, L"Undo,_Redo_and_History");
399}
static void ShowHelp(wxWindow *parent, const FilePath &localFileName, const URLString &remoteURL, bool bModal=false, bool alwaysDefaultBrowser=false)
Definition: HelpSystem.cpp:231

References HelpSystem::ShowHelp().

Here is the call graph for this function:

◆ OnItemSelected()

void HistoryDialog::OnItemSelected ( wxListEvent &  event)
private

Definition at line 401 of file HistoryWindow.cpp.

402{
403 if (mAudioIOBusy) {
404 mList->SetItemState(mSelected,
405 wxLIST_STATE_FOCUSED | wxLIST_STATE_SELECTED,
406 wxLIST_STATE_FOCUSED | wxLIST_STATE_SELECTED);
407 return;
408 }
409
410 int selected = event.GetIndex();
411 int i;
412
413 for (i = 0; i < mList->GetItemCount(); i++) {
414 mList->SetItemImage(i, 0);
415 if (i > selected)
416 mList->SetItemTextColour(i, *wxLIGHT_GREY);
417 else
418 mList->SetItemTextColour(i, mList->GetTextColour());
419 }
420 mList->SetItemImage(selected, 1);
421
422 // Do not do a SetStateTo() if we're not actually changing the selected
423 // entry. Doing so can cause unnecessary delays upon initial load or while
424 // clicking the same entry over and over.
425 if (selected != mSelected) {
426 ProjectHistory::Get( *mProject ).SetStateTo(selected);
427 }
428 mSelected = selected;
429
430 UpdateLevels();
431}

References ProjectHistory::Get(), mAudioIOBusy, mList, mSelected, ProjectHistory::SetStateTo(), and UpdateLevels().

Here is the call graph for this function:

◆ OnListKeyDown()

void HistoryDialog::OnListKeyDown ( wxKeyEvent &  event)
private

Definition at line 433 of file HistoryWindow.cpp.

434{
435 switch (event.GetKeyCode())
436 {
437 case WXK_RETURN:
438 // Don't know why wxListCtrls prevent default dialog action,
439 // but they do, so handle it.
440 EmulateButtonClickIfPresent(GetAffirmativeId());
441 break;
442
443 default:
444 event.Skip();
445 break;
446 }
447}

Referenced by Populate().

Here is the caller graph for this function:

◆ OnShow()

void HistoryDialog::OnShow ( wxShowEvent &  event)
private

Definition at line 454 of file HistoryWindow.cpp.

455{
456 if (event.IsShown())
457 {
458 mList->SetFocus();
459 }
460}

References mList.

◆ OnSize()

void HistoryDialog::OnSize ( wxSizeEvent &  event)
private

Definition at line 462 of file HistoryWindow.cpp.

463{
464 Layout();
465 mList->SetColumnWidth(0, mList->GetClientSize().x - mList->GetColumnWidth(1));
466 if (mList->GetItemCount() > 0)
467 mList->EnsureVisible(mSelected);
468}

References mList, and mSelected.

◆ Populate()

void HistoryDialog::Populate ( ShuttleGui S)
private

Definition at line 163 of file HistoryWindow.cpp.

164{
165 auto imageList = std::make_unique<wxImageList>(9, 16);
166 imageList->Add(wxIcon(empty9x16_xpm));
167 imageList->Add(wxIcon(arrow_xpm));
168
169 S.SetBorder(5);
170 S.StartVerticalLay(true);
171 {
172 S.StartStatic(XO("&Manage History"), 1);
173 {
174 mList = S
175 .MinSize()
176 .ConnectRoot(wxEVT_KEY_DOWN, &HistoryDialog::OnListKeyDown)
177 .AddListControlReportMode(
178 { { XO("Action"), wxLIST_FORMAT_LEFT, 260 },
179 { XO("Used Space"), wxLIST_FORMAT_LEFT, 125 } },
180 wxLC_SINGLE_SEL
181 );
182
183 //Assign rather than set the image list, so that it is deleted later.
184 // AssignImageList takes ownership
185 mList->AssignImageList(imageList.release(), wxIMAGE_LIST_SMALL);
186
187 S.StartMultiColumn(3, wxCENTRE);
188 {
189 S.AddPrompt(XXO("&Total space used"));
190 mTotal = S.Id(ID_TOTAL).Style(wxTE_READONLY).AddTextBox({}, wxT(""), 10);
191 S.AddVariableText( {} )->Hide();
192
193#if defined(ALLOW_DISCARD)
194 S.AddPrompt(XXO("&Undo levels available"));
195 mAvail = S.Id(ID_AVAIL).Style(wxTE_READONLY).AddTextBox({}, wxT(""), 10);
196 S.AddVariableText( {} )->Hide();
197
198 S.AddPrompt(XXO("&Levels to discard"));
199 mLevels = safenew wxSpinCtrl(S.GetParent(),
200 ID_LEVELS,
201 wxT("1"),
202 wxDefaultPosition,
203 wxDefaultSize,
204 wxSP_ARROW_KEYS,
205 0,
207 0);
208 S.AddWindow(mLevels);
209 /* i18n-hint: (verb)*/
210 mDiscard = S.Id(ID_DISCARD).AddButton(XXO("&Discard"));
211#endif
212 S.AddPrompt(XXO("Clip&board space used"));
213 mClipboard = S.Style(wxTE_READONLY).AddTextBox({}, wxT(""), 10);
214
215#if defined(ALLOW_DISCARD)
216 S.Id(ID_DISCARD_CLIPBOARD).AddButton(XXO("D&iscard"));
217#endif
218 }
219 S.EndMultiColumn();
220 }
221 S.EndStatic();
222#if defined(ALLOW_DISCARD)
223 mCompact = safenew wxButton(this, ID_COMPACT, _("&Compact"));
224 S.AddStandardButtons(eOkButton | eHelpButton, mCompact);
225#else
226 S.AddStandardButtons(eOkButton | eHelpButton);
227#endif
228 }
229 S.EndVerticalLay();
230 // ----------------------- End of main section --------------
231
232 Layout();
233 Fit();
234 SetMinSize(GetSize());
235 mList->SetColumnWidth(0, mList->GetClientSize().x - mList->GetColumnWidth(1));
236 mList->SetTextColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
237}
XXO("&Cut/Copy/Paste Toolbar")
@ ID_COMPACT
@ ID_TOTAL
@ ID_AVAIL
@ ID_DISCARD
@ ID_LEVELS
#define _(s)
Definition: Internat.h:73
#define safenew
Definition: MemoryX.h:10
@ eOkButton
Definition: ShuttleGui.h:609
@ eHelpButton
Definition: ShuttleGui.h:613
void OnListKeyDown(wxKeyEvent &event)
wxTextCtrl * mAvail
Definition: HistoryWindow.h:71

References _, eHelpButton, eOkButton, UndoManager::GetCurrentState(), ID_AVAIL, ID_COMPACT, ID_DISCARD, ID_DISCARD_CLIPBOARD, ID_LEVELS, ID_TOTAL, mAvail, mClipboard, mCompact, mDiscard, mLevels, mList, mManager, mTotal, OnListKeyDown(), S, safenew, wxT(), XO(), and XXO().

Referenced by HistoryDialog(), and UpdatePrefs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Show()

bool HistoryDialog::Show ( bool  show = true)
override

Definition at line 277 of file HistoryWindow.cpp.

278{
279 if ( show && !IsShown())
280 DoUpdate();
281 return wxDialogWrapper::Show( show );
282}
IMPORT_EXPORT_API ExportResult Show(ExportTask exportTask)

References DoUpdate(), and ExportProgressUI::Show().

Referenced by OnCloseWindow(), and UpdatePrefs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateDisplay()

void HistoryDialog::UpdateDisplay ( struct UndoRedoMessage  message)

Definition at line 256 of file HistoryWindow.cpp.

257{
258 switch (message.type) {
264 break;
265 default:
266 return;
267 }
269}
void DoUpdateDisplay()
@ Purge
Undo or redo states eliminated.
Definition: UndoManager.h:69
enum UndoRedoMessage::Type type

References DoUpdateDisplay(), UndoRedoMessage::Modified, UndoRedoMessage::Purge, UndoRedoMessage::Pushed, UndoRedoMessage::Reset, UndoRedoMessage::type, and UndoRedoMessage::UndoOrRedo.

Referenced by HistoryDialog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateDisplayForClipboard()

void HistoryDialog::UpdateDisplayForClipboard ( struct ClipboardChangeMessage  )

Definition at line 251 of file HistoryWindow.cpp.

252{
254}

References DoUpdateDisplay().

Referenced by HistoryDialog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateLevels()

void HistoryDialog::UpdateLevels ( )
private

Definition at line 328 of file HistoryWindow.cpp.

329{
330#if defined(ALLOW_DISCARD)
331 wxWindow *focus;
332 int value = mLevels->GetValue();
333
334 if (value > mSelected) {
335 value = mSelected;
336 }
337
338 if (value == 0) {
339 value = 1;
340 }
341
342 mLevels->SetValue(value);
343 mLevels->SetRange(1, mSelected);
344
345 mAvail->SetValue(wxString::Format(wxT("%d"), mSelected));
346
347 focus = FindFocus();
348 if ((focus == mDiscard || focus == mLevels) && mSelected == 0) {
349 mList->SetFocus();
350 }
351
352 mLevels->Enable(mSelected > 0);
353 mDiscard->Enable(!mAudioIOBusy && mSelected > 0);
354#endif
355}
std::unique_ptr< WindowPlacement > FindFocus()
Find the window that is accepting keyboard input, if any.
Definition: BasicUI.h:375

References BasicUI::FindFocus(), mAudioIOBusy, mAvail, mDiscard, mLevels, mList, mSelected, and wxT().

Referenced by DoUpdate(), and OnItemSelected().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdatePrefs()

void HistoryDialog::UpdatePrefs ( )
overrideprivatevirtual

Implements PrefsListener.

Definition at line 471 of file HistoryWindow.cpp.

472{
473 bool shown = IsShown();
474 if (shown) {
475 Show(false);
476 }
477
478 SetSizer(nullptr);
479 DestroyChildren();
480
482 ShuttleGui S(this, eIsCreating);
483 Populate(S);
484
485 if (shown) {
486 Show(true);
487 }
488}
void SetTitle(const TranslatableString &title)

References eIsCreating, HistoryTitle, Populate(), S, wxDialogWrapper::SetTitle(), and Show().

Here is the call graph for this function:

Member Data Documentation

◆ mAudioIOBusy

bool HistoryDialog::mAudioIOBusy
private

Definition at line 77 of file HistoryWindow.h.

Referenced by HistoryDialog(), OnAudioIO(), OnItemSelected(), and UpdateLevels().

◆ mAudioIOSubscription

Observer::Subscription HistoryDialog::mAudioIOSubscription
private

Definition at line 61 of file HistoryWindow.h.

Referenced by HistoryDialog().

◆ mAvail

wxTextCtrl* HistoryDialog::mAvail
private

Definition at line 71 of file HistoryWindow.h.

Referenced by Populate(), and UpdateLevels().

◆ mClipboard

wxTextCtrl* HistoryDialog::mClipboard
private

Definition at line 70 of file HistoryWindow.h.

Referenced by DoUpdate(), and Populate().

◆ mClipboardSubscription

Observer::Subscription HistoryDialog::mClipboardSubscription
private

Definition at line 63 of file HistoryWindow.h.

Referenced by HistoryDialog().

◆ mCompact

wxButton* HistoryDialog::mCompact
private

Definition at line 74 of file HistoryWindow.h.

Referenced by OnAudioIO(), and Populate().

◆ mDiscard

wxButton* HistoryDialog::mDiscard
private

Definition at line 73 of file HistoryWindow.h.

Referenced by OnAudioIO(), Populate(), and UpdateLevels().

◆ mLevels

wxSpinCtrl* HistoryDialog::mLevels
private

Definition at line 72 of file HistoryWindow.h.

Referenced by OnDiscard(), Populate(), and UpdateLevels().

◆ mList

wxListCtrl* HistoryDialog::mList
private

Definition at line 68 of file HistoryWindow.h.

Referenced by DoUpdate(), OnDiscard(), OnItemSelected(), OnShow(), OnSize(), Populate(), and UpdateLevels().

◆ mManager

UndoManager* HistoryDialog::mManager
private

Definition at line 67 of file HistoryWindow.h.

Referenced by DoUpdate(), HistoryDialog(), OnDiscard(), and Populate().

◆ mProject

AudacityProject* HistoryDialog::mProject
private

Definition at line 66 of file HistoryWindow.h.

Referenced by HistoryDialog(), and OnCompact().

◆ mSelected

int HistoryDialog::mSelected
private

Definition at line 76 of file HistoryWindow.h.

Referenced by DoUpdate(), HistoryDialog(), OnDiscard(), OnItemSelected(), OnSize(), and UpdateLevels().

◆ mTotal

wxTextCtrl* HistoryDialog::mTotal
private

Definition at line 69 of file HistoryWindow.h.

Referenced by DoUpdate(), and Populate().

◆ mUndoSubscription

Observer::Subscription HistoryDialog::mUndoSubscription
private

Definition at line 62 of file HistoryWindow.h.

Referenced by HistoryDialog().


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