// Name: textfile.h
// Purpose: interface of wxTextFile
// Author: wxWidgets team
-// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+// TODO: document wxTextBuffer
/**
- The line termination type (kept wxTextFileType name for compability).
+ The line termination type.
*/
enum wxTextFileType
{
class wxTextFile
{
public:
+ /**
+ Default type for current platform determined at compile time.
+ */
+ static const wxTextFileType typeDefault;
+
/**
Default constructor, use Create() or Open() with a file name parameter to
initialize the object.
/**
Adds a line to the end of file.
*/
- void AddLine(const wxString& str,
- wxTextFileType type = wxTextBuffer::typeDefault);
+ void AddLine(const wxString& str, wxTextFileType type = typeDefault);
/**
Delete all lines from the file, set current line number to 0.
@e typeDefault is the value defined during the compilation and corresponds
to the native format of the platform, i.e. it will be @c wxTextFileType_Dos
- under Windows, @c wxTextFileType_Unix under Unix (including Mac OS X when
- compiling with the Apple Developer Tools) and @c wxTextFileType_Mac under
- Mac OS (including Mac OS X when compiling with CodeWarrior).
+ under Windows and @c wxTextFileType_Unix under Unix (including Mac OS
+ X, the value @c wxTextFileType_Mac was only used for classic Mac OS
+ versions).
*/
- static const wxChar* GetEOL(wxTextFileType type = wxTextBuffer::typeDefault);
+ static const wxChar* GetEOL(wxTextFileType type = typeDefault);
/**
This method together with GetNextLine() allows more "iterator-like"
/**
Retrieves the line number @a n from the file.
- The returned line may be modified but you shouldn't add line terminator
- at the end - this will be done by wxTextFile.
+ The returned line may be modified when non-const method is used but you
+ shouldn't add line terminator at the end -- this will be done by
+ wxTextFile itself.
*/
- wxString& GetLine(size_t n) const;
+ //@{
+ wxString& GetLine(size_t n);
+ const wxString& GetLine(size_t n) const;
+ //@}
/**
Get the number of lines in the file.
Insert a line before the line number @a n.
*/
void InsertLine(const wxString& str, size_t n,
- wxTextFileType type = wxTextBuffer::typeDefault);
+ wxTextFileType type = typeDefault);
/**
Returns @true if the file is currently opened.
The @a conv argument is only meaningful in Unicode build of wxWidgets when
it is used to convert the file to wide character representation.
*/
- bool Open(const wxMBConv& conv = wxConvAuto()) const;
+ bool Open(const wxMBConv& conv = wxConvAuto());
/**
Opens the file with the given name and also loads file in memory on success.
The @a conv argument is only meaningful in Unicode build of wxWidgets when
it is used to convert the file to wide character representation.
*/
- bool Open(const wxString& strFile, const wxMBConv& conv = wxConvAuto()) const;
+ bool Open(const wxString& strFile, const wxMBConv& conv = wxConvAuto());
/**
Delete line number @a n from the file.