Audacity 3.2.0
ProjectsListDialog.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 ProjectsListDialog.h
7
8 Dmitry Vedenko
9
10**********************************************************************/
11
12#pragma once
13
14#include <memory>
15
16#include "wxPanelWrapper.h"
17
18class AudacityProject;
19
20class wxButton;
21class wxGrid;
22class wxGridTableBase;
23class wxStaticText;
24class wxTextCtrl;
25class wxGridRangeSelectEvent;
26class wxGridEvent;
27class wxCommandEvent;
28class wxTimer;
29
31{
32
34{
35public:
36 ProjectsListDialog(wxWindow* parent, AudacityProject* project);
38
39private:
41#if wxUSE_ACCESSIBILITY
42 class ProjectListAccessible;
43#endif
44
45 void SetupHandlers();
46
47 void OnBeforeRefresh();
48 void OnRefreshCompleted(bool success);
49 void FormatPageLabel();
50
51 void OnOpen();
52 void OnOpenAudioCom();
53
54 void OnGridSelect(wxGridRangeSelectEvent& event);
55 void OnSelectCell(wxGridEvent& event);
56
59
61
62 wxTextCtrl* mSearchCtrl { nullptr };
63
64 wxGrid* mProjectsTable { nullptr };
66
67 wxStaticText* mPageLabel { nullptr };
68 wxButton* mPrevPageButton { nullptr };
69 wxButton* mNextPageButton { nullptr };
70
71 wxButton* mOpenButton { nullptr };
72 wxButton* mOpenAudioCom { nullptr };
73
75
76 std::unique_ptr<wxTimer> mSearchTimer;
77
78#if wxUSE_ACCESSIBILITY
79 ProjectListAccessible* mAccessible { nullptr };
80#endif
81
82 bool mInRangeSelection { false };
83};
84
85} // namespace audacity::cloud::audiocom::sync
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
ProjectsListDialog(wxWindow *parent, AudacityProject *project)