1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-25 08:38:39 +02:00
audacity/src/prefs/ModulePrefs.h
Paul Licameli 8399effc45 Table-driven construction of Prefs dialog. A factory for each kind of panel...
... and maybe a future plug-in protocol to break compilation dependency on
all of the PrefsPanel subclasses.
2015-07-26 19:41:20 -04:00

59 lines
1.2 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
ModulePrefs.h
Brian Gunlogson
Joshua Haberman
James Crook
**********************************************************************/
#ifndef __AUDACITY_MODULE_PREFS__
#define __AUDACITY_MODULE_PREFS__
#include <wx/defs.h>
#include <wx/window.h>
#include "PrefsPanel.h"
class ShuttleGui;
enum {
kModuleDisabled = 0,
kModuleEnabled = 1,
kModuleAsk = 2, // Will ask, each time, when audacity starts.
kModuleFailed = 3, // Audacity thinks this is a bad module.
kModuleNew = 4 // Audacity will ask once, and remember the answer.
};
class ModulePrefs:public PrefsPanel
{
public:
ModulePrefs(wxWindow * parent);
~ModulePrefs();
virtual bool Apply();
static int GetModuleStatus( wxString fname );
static void SetModuleStatus( wxString fname, int iStatus );
private:
void GetAllModuleStatuses();
void Populate();
void PopulateOrExchange(ShuttleGui & S);
wxArrayString mModules;
wxArrayInt mStatuses;
wxArrayString mPaths;
};
class ModulePrefsFactory : public PrefsPanelFactory
{
public:
virtual PrefsPanel *Create(wxWindow *parent);
};
#endif