Add Preference<type>::PushValue() (note that this is not a PushSelf).

This commit is contained in:
Glenn Maynard
2005-01-30 02:02:42 +00:00
parent 088b7bb356
commit ef12eea2d4
2 changed files with 23 additions and 1 deletions
+19
View File
@@ -2,6 +2,8 @@
#include "Preference.h"
#include "PrefsManager.h"
#include "IniFile.h"
#include "RageLog.h"
#include "LuaFunctions.h"
static const CString PrefsGroupNames[NUM_PREFS_GROUPS] = {
"Debug",
@@ -22,6 +24,19 @@ IPreference::~IPreference()
PrefsManager::Unsubscribe( this );
}
void IPreference::PushValue( lua_State *L ) const
{
if( LOG )
LOG->Trace( "The preference value \"%s\" is of a type not supported by Lua", m_sName.c_str() );
lua_pushnil( L );
}
void Preference<CString>::PushValue( lua_State *L ) const
{
LuaManager::PushStack( m_currentValue, L );
}
void Preference<CString>::FromString( const CString &s )
{
m_currentValue = s;
@@ -41,6 +56,10 @@ CString Preference<CString>::ToString() const
{ \
return ::ToString( m_currentValue ); \
} \
void Preference<type>::PushValue( lua_State *L ) const \
{ \
LuaManager::PushStack( m_currentValue, L ); \
}
READFROM_AND_WRITETO( int )
READFROM_AND_WRITETO( float )