From: andrew7 <bd...@us...> - 2006-11-30 00:51:41
|
Update of /cvsroot/smartwin/SmartWin/tests/AddressBook In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv25399/tests/AddressBook Modified Files: CentralWidget.cpp CentralWidget.h Log Message: Unicode support Index: CentralWidget.h =================================================================== RCS file: /cvsroot/smartwin/SmartWin/tests/AddressBook/CentralWidget.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- CentralWidget.h 5 May 2006 17:14:39 -0000 1.9 +++ CentralWidget.h 30 Nov 2006 00:51:36 -0000 1.10 @@ -24,7 +24,7 @@ void save( const SmartUtil::tstring & path ); void load( const SmartUtil::tstring & path ); void add( const SmartUtil::tstring & firstName, const SmartUtil::tstring & lastName, - const SmartUtil::tstring & address, const SmartUtil::tstring & email ); + const SmartUtil::tstring & address, const SmartUtil::tstring & email ); void search( const SmartUtil::tstring & firstName, const SmartUtil::tstring & lastName, const SmartUtil::tstring & address, const SmartUtil::tstring & email ); Index: CentralWidget.cpp =================================================================== RCS file: /cvsroot/smartwin/SmartWin/tests/AddressBook/CentralWidget.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- CentralWidget.cpp 17 Jun 2006 20:55:58 -0000 1.16 +++ CentralWidget.cpp 30 Nov 2006 00:51:36 -0000 1.17 @@ -24,10 +24,10 @@ std::ofstream file( path.c_str() ); for ( unsigned idx = 0; idx < itsListView->getRowCount(); ++idx ) { - file << itsListView->getCellText( 0, idx ) << std::endl; - file << itsListView->getCellText( 1, idx ) << std::endl; - file << itsListView->getCellText( 2, idx ) << std::endl; - file << itsListView->getCellText( 3, idx ) << std::endl; + file << itsListView->getCellText( 0, idx ).c_str() << std::endl; + file << itsListView->getCellText( 1, idx ).c_str() << std::endl; + file << itsListView->getCellText( 2, idx ).c_str() << std::endl; + file << itsListView->getCellText( 3, idx ).c_str() << std::endl; } } @@ -48,7 +48,11 @@ if ( !file.good() || file.eof() ) break; - add( firstName, lastName, address, email ); + // The UnicodeConverter function does nothing if TCHAR is char, but converts to Unicode if TCHAR is w_char + add( SmartUtil::UnicodeConverter<char, TCHAR>::doConvert( firstName, SmartUtil::ConversionCodepage::UTF8 ), + SmartUtil::UnicodeConverter<char, TCHAR>::doConvert( lastName, SmartUtil::ConversionCodepage::UTF8 ), + SmartUtil::UnicodeConverter<char, TCHAR>::doConvert( address, SmartUtil::ConversionCodepage::UTF8 ), + SmartUtil::UnicodeConverter<char, TCHAR>::doConvert( email, SmartUtil::ConversionCodepage::UTF8 ) ); } } @@ -59,22 +63,24 @@ * License for library is Open Source and BSD */ void ABCentralWidget::add( const SmartUtil::tstring & firstName, const SmartUtil::tstring & lastName, - const SmartUtil::tstring & address, const SmartUtil::tstring & email ) + const SmartUtil::tstring & address, const SmartUtil::tstring & email ) { bool valid = false; if ( firstName.size() != 0 || lastName.size() != 0 || address.size() != 0 || email.size() != 0 ) { - if ( firstName.find_first_not_of( _T( " \t\r\n" ) ) != std::string::npos - || firstName.find_first_not_of( _T( " \t\r\n" ) ) != std::string::npos - || firstName.find_first_not_of( _T( " \t\r\n" ) ) != std::string::npos - || firstName.find_first_not_of( _T( " \t\r\n" ) ) != std::string::npos ) + TCHAR seps[] = _T(" \t\r\n"); + if ( firstName.find_first_not_of( seps ) != std::string::npos + || firstName.find_first_not_of( seps ) != std::string::npos + || firstName.find_first_not_of( seps ) != std::string::npos + || firstName.find_first_not_of( seps ) != std::string::npos ) { valid = true; } } if ( valid ) { - std::vector< SmartUtil::tstring > row; // Yet another example of where SmartWin++ uses standardized container classes + // Yet another example of where SmartWin++ uses standardized container classes. + std::vector< SmartUtil::tstring > row; row.push_back( firstName ); row.push_back( lastName ); row.push_back( address ); |