bool Shuttle::TransferEnum( const wxString & Name, int & iValue, const int nChoices, const wxString * pFirstStr) { if( mbStoreInClient ) { iValue = 0;// default index if none other selected. if( ExchangeWithMaster( Name )) { int i; for(i=0;i<nChoices;i++) { if( mValueString.IsSameAs( pFirstStr[i] )) { iValue = i; break; } } } } else { //TIDY-ME: Out of range configuration values are silently discarded... if( iValue > nChoices ) iValue = 0; if( iValue < 0 ) iValue = 0; mValueString = pFirstStr[iValue]; return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferWrappedType( const wxString & Name, WrappedType & W ) { if( mbStoreInClient ) { if( ExchangeWithMaster( Name )) { W.WriteToAsString( mValueString ); } } else { mValueString = W.ReadAsString(); return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferString( const wxString & Name, wxString & strValue, const wxString & WXUNUSED(strDefault) ) { if( mbStoreInClient ) { if( ExchangeWithMaster( Name )) { strValue = mValueString; } } else { mValueString = wxT('"') + strValue + wxT('"'); //strings have quotes around them return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferInt( const wxString & Name, int & iValue, const int & iDefault ) { if( mbStoreInClient ) { iValue = iDefault; if( ExchangeWithMaster( Name )) { iValue = wxAtoi( mValueString ); } } else { mValueString = wxString::Format(wxT("%i"),iValue); return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferBool( const wxString & Name, bool & bValue, const bool & bDefault ) { if( mbStoreInClient ) { bValue = bDefault; if( ExchangeWithMaster( Name )) { if( !mValueString.IsEmpty() ) bValue = mValueString.GetChar(0) == wxT('y'); } } else { mValueString = (bValue==0) ? wxT("no"):wxT("yes"); return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferLongLong( const wxString & Name, wxLongLong_t & iValue, const wxLongLong_t & iDefault ) { if( mbStoreInClient ) { iValue = iDefault; if( ExchangeWithMaster( Name )) { iValue = wxAtoi( mValueString ); } } else { /// \todo Fix for long long values. mValueString = wxString::Format(wxT("%lld"), (long long) iValue); return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferFloat( const wxString & Name, float & fValue, const float &fDefault ) { if( mbStoreInClient ) { fValue = fDefault; if( ExchangeWithMaster( Name )) { if( !mValueString.IsEmpty() ) fValue = wxAtof( mValueString ); } } else { mValueString = wxString::Format(wxT("%f"),fValue); return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferDouble( const wxString & Name, double & dValue, const double &dDefault ) { if( mbStoreInClient ) { dValue = dDefault; if( ExchangeWithMaster( Name )) { if( !mValueString.IsEmpty() ) dValue = wxAtof( mValueString ); } } else { //%f is format string for double mValueString = wxString::Format(wxT("%f"),dValue); return ExchangeWithMaster( Name ); } return true; }
bool Shuttle::TransferEnum( const wxString & Name, int & iValue, const int nChoices, const wxString * pFirstStr) { if( mbStoreInClient ) { iValue = 0;// default index if none other selected. if( ExchangeWithMaster( Name )) { wxString str = mValueString; if( str.Left( 1 ) == wxT('"') && str.Right( 1 ) == wxT('"') ) { str = str.Mid( 2, str.Length() - 2 ); } for( int i = 0; i < nChoices; i++ ) { if( str.IsSameAs( pFirstStr[i] )) { iValue = i; break; } } } } else { //TIDY-ME: Out of range configuration values are silently discarded... if( iValue > nChoices ) iValue = 0; if( iValue < 0 ) iValue = 0; mValueString = pFirstStr[iValue]; if( mValueString.Find( wxT(' ') ) != wxNOT_FOUND ) { mValueString = wxT('"') + pFirstStr[iValue] + wxT('"'); //strings have quotes around them } return ExchangeWithMaster( Name ); } return true; }