-// ----------------------------------------------------------------------------
-// static methods (always compiled in)
-// ----------------------------------------------------------------------------
-
-// default type is the native one
-const wxTextFileType wxTextFile::typeDefault =
-#if defined(__WINDOWS__)
- wxTextFileType_Dos;
-#elif defined(__UNIX__)
- wxTextFileType_Unix;
-#elif defined(__WXMAC__)
- wxTextFileType_Mac;
-#elif defined(__WXPM__)
- wxTextFileType_Os2;
-#else
- wxTextFileType_None;
- #error "wxTextFile: unsupported platform."
-#endif
-
-const wxChar *wxTextFile::GetEOL(wxTextFileType type)
-{
- switch ( type ) {
- default:
- wxFAIL_MSG(_T("bad file type in wxTextFile::GetEOL."));
- // fall through nevertheless - we must return something...
-
- case wxTextFileType_None: return _T("");
- case wxTextFileType_Unix: return _T("\n");
- case wxTextFileType_Dos: return _T("\r\n");
- case wxTextFileType_Mac: return _T("\r");
- }
-}
-
-
-wxString wxTextFile::Translate(const wxString& text, wxTextFileType type)
-{
- // don't do anything if there is nothing to do
- if ( type == wxTextFileType_None )
- return text;
-
- wxString eol = GetEOL(type), result;
-
- // optimization: we know that the length of the new string will be about
- // the same as the length of the old one, so prealloc memory to aviod
- // unnecessary relocations
- result.Alloc(text.Len());
-
- wxChar chLast = 0;
- for ( const wxChar *pc = text.c_str(); *pc; pc++ )
- {
- wxChar ch = *pc;
- switch ( ch ) {
- case '\n':
- // Dos/Unix line termination
- result += eol;
- chLast = '\n';
- break;
-
- case '\r':
- if ( chLast == '\r' ) {
- // Mac empty line
- result += eol;
- }
- else
- chLast = '\r';
- break;
-
- default:
- if ( chLast == '\r' ) {
- // Mac line termination
- result += eol;
- chLast = ch;
- }
- else {
- // add to the current line
- result += ch;
- }
- }
- }
-
- return result;
-}
-
-#if wxUSE_TEXTFILE
-
-// ----------------------------------------------------------------------------
-// ctors & dtor
-// ----------------------------------------------------------------------------
-
-wxTextFile::wxTextFile(const wxString& strFile) : m_strFile(strFile)