mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-04 17:49:45 +02:00
73 lines
1.5 KiB
C++
73 lines
1.5 KiB
C++
/**********************************************************************
|
|
|
|
WrappedType.h
|
|
|
|
James Crook
|
|
(C) Audacity Developers, 2007
|
|
|
|
wxWidgets license. See Licensing.txt
|
|
|
|
*************************************************************************/
|
|
|
|
#ifndef __WRAPPED_TYPE__
|
|
#define __WRAPPED_TYPE__
|
|
|
|
#include "Audacity.h"
|
|
|
|
enum teWrappedType
|
|
{
|
|
eWrappedNotSet,
|
|
eWrappedString,
|
|
eWrappedInt,
|
|
eWrappedDouble,
|
|
eWrappedBool,
|
|
eWrappedEnum
|
|
};
|
|
|
|
class wxString;
|
|
class ShuttlePrefs;
|
|
|
|
class AUDACITY_DLL_API WrappedType
|
|
{
|
|
public:
|
|
|
|
explicit WrappedType( wxString & InStr )
|
|
: eWrappedType{ eWrappedString }, mpStr{ &InStr }
|
|
{}
|
|
explicit WrappedType( int & InInt )
|
|
: eWrappedType{ eWrappedInt }, mpInt{ &InInt }
|
|
{}
|
|
explicit WrappedType( double & InDouble )
|
|
: eWrappedType{ eWrappedDouble }, mpDouble{ &InDouble }
|
|
{}
|
|
explicit WrappedType( bool & InBool )
|
|
: eWrappedType{ eWrappedBool }, mpBool{ &InBool }
|
|
{}
|
|
explicit WrappedType()
|
|
: eWrappedType{ eWrappedNotSet }
|
|
{}
|
|
|
|
bool IsString();
|
|
|
|
wxString ReadAsString();
|
|
int ReadAsInt();
|
|
double ReadAsDouble();
|
|
bool ReadAsBool();
|
|
|
|
void WriteToAsString( const wxString & InStr);
|
|
void WriteToAsInt( const int InInt);
|
|
void WriteToAsDouble( const double InDouble);
|
|
void WriteToAsBool( const bool InBool);
|
|
|
|
public :
|
|
|
|
const teWrappedType eWrappedType;
|
|
wxString *const mpStr {};
|
|
int *const mpInt {};
|
|
double *const mpDouble {};
|
|
bool *const mpBool {};
|
|
|
|
};
|
|
|
|
#endif
|