X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..1b7751aaa9a86d76a850b9267bc0c201e3cea30f:/interface/wx/fileconf.h diff --git a/interface/wx/fileconf.h b/interface/wx/fileconf.h index cdef167a00..14ea2df11f 100644 --- a/interface/wx/fileconf.h +++ b/interface/wx/fileconf.h @@ -3,12 +3,11 @@ // Purpose: interface of wxFileConfig // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxFileConfig - @wxheader{fileconf.h} wxFileConfig implements wxConfigBase interface for storing and retrieving configuration information using plain text files. The @@ -21,13 +20,35 @@ Windows. @library{wxbase} - @category{misc} + @category{cfg} @see wxFileConfig::Save */ class wxFileConfig : public wxConfigBase { public: + /** + Constructor allowing to choose the file names to use. + + If @a localFilename and/or @a globalFilename are explicitly specified, + they are used as the names of the user and system-wide configuration + files (the latter is only read by the program while the former is read + from and written to). Otherwise the behaviour depends on @a style + parameter. If it includes ::wxCONFIG_USE_LOCAL_FILE, then the local + file name is constructed from the information in @a appName and @a + vendorName arguments in a system-dependent way. If + ::wxCONFIG_USE_GLOBAL_FILE is not specified at all (and @a + globalFilename is empty) then the system-wide file is not used at all. + Otherwise its name and path are also constructed in the way appropriate + for the current platform from the application and vendor names. + */ + wxFileConfig(const wxString& appName = wxEmptyString, + const wxString& vendorName = wxEmptyString, + const wxString& localFilename = wxEmptyString, + const wxString& globalFilename = wxEmptyString, + long style = wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_GLOBAL_FILE, + const wxMBConv& conv = wxConvAuto()); + /** Read the config data from the specified stream instead of the associated file, as usual. @@ -58,6 +79,9 @@ public: */ static wxFileName GetLocalFile(const wxString& basename, int style = 0); + static wxString GetGlobalFileName(const wxString& szFile); + static wxString GetLocalFileName(const wxString& szFile, int style = 0); + /** Saves all config data to the given stream, returns @true if data was saved successfully or @false on error. @@ -70,7 +94,7 @@ public: @see wxConfigBase::Flush */ - bool Save(wxOutputStream& os, const wxMBConv& conv = wxConvAuto()); + virtual bool Save(wxOutputStream& os, const wxMBConv& conv = wxConvAuto()); /** Allows to set the mode to be used for the config file creation. For example, to @@ -82,5 +106,29 @@ public: @see wxCHANGE_UMASK() */ void SetUmask(int mode); + + // implement inherited pure virtual functions + virtual void SetPath(const wxString& strPath); + virtual const wxString& GetPath() const; + + virtual bool GetFirstGroup(wxString& str, long& lIndex) const; + virtual bool GetNextGroup (wxString& str, long& lIndex) const; + virtual bool GetFirstEntry(wxString& str, long& lIndex) const; + virtual bool GetNextEntry (wxString& str, long& lIndex) const; + + virtual size_t GetNumberOfEntries(bool bRecursive = false) const; + virtual size_t GetNumberOfGroups(bool bRecursive = false) const; + + virtual bool HasGroup(const wxString& strName) const; + virtual bool HasEntry(const wxString& strName) const; + + virtual bool Flush(bool bCurrentOnly = false); + + virtual bool RenameEntry(const wxString& oldName, const wxString& newName); + virtual bool RenameGroup(const wxString& oldName, const wxString& newName); + + virtual bool DeleteEntry(const wxString& key, bool bGroupIfEmptyAlso = true); + virtual bool DeleteGroup(const wxString& szKey); + virtual bool DeleteAll(); };