1 /**********************************************************************
2 
3   Audacity: A Digital Audio Editor
4 
5   MousePrefs.h
6 
7 **********************************************************************/
8 
9 #ifndef __AUDACITY_MOUSE_PREFS__
10 #define __AUDACITY_MOUSE_PREFS__
11 
12 #include <wx/defs.h>
13 
14 #include "PrefsPanel.h"
15 
16 class wxListCtrl;
17 class ShuttleGui;
18 class TranslatableString;
19 
20 #define MOUSE_PREFS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Mouse") }
21 
22 class MousePrefs final : public PrefsPanel
23 {
24  public:
25    MousePrefs(wxWindow * parent, wxWindowID winid);
26    ~MousePrefs();
27    ComponentInterfaceSymbol GetSymbol() override;
28    TranslatableString GetDescription() override;
29 
30    bool Commit() override;
31    ManualPageID HelpPageName() override;
32    void PopulateOrExchange(ShuttleGui & S) override;
33 
34  private:
35    void Populate();
36    void CreateList();
37    void AddItem(TranslatableString const & buttons,
38                 TranslatableString const & tool,
39                 TranslatableString const & action,
40                 TranslatableString const & comment = {});
41 
42    // See bug #2315 for discussion. This should be reviewed
43    // and (possibly) removed after wx3.1.3.
44    void OnShow(wxShowEvent & event);
45 
46    wxListCtrl * mList;
47 };
48 
49 #endif
50