wxTextFile::Close() implemented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -4,7 +4,7 @@
 | 
				
			|||||||
//              (file is fully loaded in memory) and which understands CR/LF
 | 
					//              (file is fully loaded in memory) and which understands CR/LF
 | 
				
			||||||
//              differences between platforms.
 | 
					//              differences between platforms.
 | 
				
			||||||
// Author:      Vadim Zeitlin
 | 
					// Author:      Vadim Zeitlin
 | 
				
			||||||
// Modified by: 
 | 
					// Modified by:
 | 
				
			||||||
// Created:     03.04.98
 | 
					// Created:     03.04.98
 | 
				
			||||||
// RCS-ID:      $Id$
 | 
					// RCS-ID:      $Id$
 | 
				
			||||||
// Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 | 
					// Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 | 
				
			||||||
@@ -47,7 +47,7 @@ public:
 | 
				
			|||||||
  // ctors
 | 
					  // ctors
 | 
				
			||||||
    // def ctor, use Open(string)
 | 
					    // def ctor, use Open(string)
 | 
				
			||||||
  wxTextFile() { }
 | 
					  wxTextFile() { }
 | 
				
			||||||
    // 
 | 
					    //
 | 
				
			||||||
  wxTextFile(const wxString& strFile);
 | 
					  wxTextFile(const wxString& strFile);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // file operations
 | 
					  // file operations
 | 
				
			||||||
@@ -80,7 +80,7 @@ public:
 | 
				
			|||||||
    // lines, i.e. you may write something like:
 | 
					    // lines, i.e. you may write something like:
 | 
				
			||||||
    //  for ( str = GetFirstLine(); !Eof(); str = GetNextLine() ) { ... }
 | 
					    //  for ( str = GetFirstLine(); !Eof(); str = GetNextLine() ) { ... }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // @@@ const is commented out because not all compilers understand
 | 
					    // NB: const is commented out because not all compilers understand
 | 
				
			||||||
    //     'mutable' keyword yet (m_nCurLine should be mutable)
 | 
					    //     'mutable' keyword yet (m_nCurLine should be mutable)
 | 
				
			||||||
  wxString& GetFirstLine() /* const */ { return m_aLines[m_nCurLine = 0]; }
 | 
					  wxString& GetFirstLine() /* const */ { return m_aLines[m_nCurLine = 0]; }
 | 
				
			||||||
  wxString& GetNextLine()  /* const */ { return m_aLines[++m_nCurLine];   }
 | 
					  wxString& GetNextLine()  /* const */ { return m_aLines[++m_nCurLine];   }
 | 
				
			||||||
@@ -98,12 +98,12 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // add/remove lines
 | 
					  // add/remove lines
 | 
				
			||||||
    // add a line to the end
 | 
					    // add a line to the end
 | 
				
			||||||
  void AddLine(const wxString& str, wxTextFileType type = typeDefault) 
 | 
					  void AddLine(const wxString& str, wxTextFileType type = typeDefault)
 | 
				
			||||||
    { m_aLines.Add(str); m_aTypes.Add(type); }
 | 
					    { m_aLines.Add(str); m_aTypes.Add(type); }
 | 
				
			||||||
    // insert a line before the line number n
 | 
					    // insert a line before the line number n
 | 
				
			||||||
  void InsertLine(const wxString& str,
 | 
					  void InsertLine(const wxString& str,
 | 
				
			||||||
                  size_t n,
 | 
					                  size_t n,
 | 
				
			||||||
                  wxTextFileType type = typeDefault) 
 | 
					                  wxTextFileType type = typeDefault)
 | 
				
			||||||
    { m_aLines.Insert(str, n); m_aTypes.Insert(type, n); }
 | 
					    { m_aLines.Insert(str, n); m_aTypes.Insert(type, n); }
 | 
				
			||||||
    // delete one line
 | 
					    // delete one line
 | 
				
			||||||
  void RemoveLine(size_t n) { m_aLines.Remove(n); m_aTypes.Remove(n); }
 | 
					  void RemoveLine(size_t n) { m_aLines.Remove(n); m_aTypes.Remove(n); }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,6 +71,7 @@ wxTextFile::~wxTextFile()
 | 
				
			|||||||
bool wxTextFile::Open(const wxString& strFile)
 | 
					bool wxTextFile::Open(const wxString& strFile)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  m_strFile = strFile;
 | 
					  m_strFile = strFile;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return Open();
 | 
					  return Open();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -134,13 +135,11 @@ wxTextFileType wxTextFile::GuessType() const
 | 
				
			|||||||
  else {
 | 
					  else {
 | 
				
			||||||
    #define   GREATER_OF(t1, t2) n##t1 == n##t2 ? typeDefault               \
 | 
					    #define   GREATER_OF(t1, t2) n##t1 == n##t2 ? typeDefault               \
 | 
				
			||||||
                                                : n##t1 > n##t2             \
 | 
					                                                : n##t1 > n##t2             \
 | 
				
			||||||
                                                    ? wxTextFileType_##t1     \
 | 
					                                                    ? wxTextFileType_##t1   \
 | 
				
			||||||
                                                    : wxTextFileType_##t2
 | 
					                                                    : wxTextFileType_##t2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Watcom C++ doesn't seem to be able to handle the macro
 | 
					    // Watcom C++ doesn't seem to be able to handle the macro
 | 
				
			||||||
#if defined(__WATCOMC__)
 | 
					#if !defined(__WATCOMC__)
 | 
				
			||||||
    return typeDefault;
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
    if ( nDos > nUnix )
 | 
					    if ( nDos > nUnix )
 | 
				
			||||||
      return GREATER_OF(Dos, Mac);
 | 
					      return GREATER_OF(Dos, Mac);
 | 
				
			||||||
    else if ( nDos < nUnix )
 | 
					    else if ( nDos < nUnix )
 | 
				
			||||||
@@ -149,7 +148,7 @@ wxTextFileType wxTextFile::GuessType() const
 | 
				
			|||||||
      // nDos == nUnix
 | 
					      // nDos == nUnix
 | 
				
			||||||
      return nMac > nDos ? wxTextFileType_Mac : typeDefault;
 | 
					      return nMac > nDos ? wxTextFileType_Mac : typeDefault;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#endif
 | 
					#endif // __WATCOMC__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #undef    GREATER_OF
 | 
					    #undef    GREATER_OF
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -221,6 +220,15 @@ bool wxTextFile::Read()
 | 
				
			|||||||
  return TRUE;
 | 
					  return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool wxTextFile::Close()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    m_aTypes.Clear();
 | 
				
			||||||
 | 
					    m_aLines.Clear();
 | 
				
			||||||
 | 
					    m_nCurLine = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return TRUE;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool wxTextFile::Write(wxTextFileType typeNew)
 | 
					bool wxTextFile::Write(wxTextFileType typeNew)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  wxTempFile fileTmp(m_strFile);
 | 
					  wxTempFile fileTmp(m_strFile);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user