wxConfigBase class defines the basic interface of all config classes. It can
not be used by itself (it is an abstract base class) and you will always use one
-of its derivations: wxIniConfig, wxFileConfig, wxRegConfig or any other.
+of its derivations: wxIniConfig, \helpref{wxFileConfig}{wxfileconfig},
+wxRegConfig or any other.
However, usually you don't even need to know the precise nature of the class
you're working with but you would just use the wxConfigBase methods. This
\latexignore{\rtfignore{\wxheading{Function groups}}}
+
\membersection{Static functions}\label{wxconfigstaticfunctions}
These functions deal with the "default" config object. Although its usage is
\helpref{Create}{wxconfigbasecreate}\\
\helpref{DontCreateOnDemand}{wxconfigbasedontcreateondemand}
+
\membersection{Constructor and destructor}
\helpref{wxConfigBase}{wxconfigbasector}\\
\helpref{\destruct{wxConfigBase}}{wxconfigbasedtor}
+
\membersection{Path management}
As explained in \helpref{config overview}{wxconfigoverview}, the config classes
\helpref{SetPath}{wxconfigbasesetpath}\\
\helpref{GetPath}{wxconfigbasegetpath}
+
\membersection{Enumeration}
The functions in this section allow to enumerate all entries and groups in the
\helpref{GetNumberOfEntries}{wxconfigbasegetnumberofentries}\\
\helpref{GetNumberOfGroups}{wxconfigbasegetnumberofgroups}
+
\membersection{Tests of existence}
\helpref{HasGroup}{wxconfigbasehasgroup}\\
\helpref{Exists}{wxconfigbaseexists}\\
\helpref{GetEntryType}{wxconfigbasegetentrytype}
+
\membersection{Miscellaneous functions}
\helpref{GetAppName}{wxconfigbasegetappname}\\
\helpref{GetVendorName}{wxconfigbasegetvendorname}\\
\helpref{SetUmask}{wxfileconfigsetumask}
+
\membersection{Key access}
These function are the core of wxConfigBase class: they allow you to read and
\helpref{Write}{wxconfigbasewrite}\\
\helpref{Flush}{wxconfigbaseflush}
+
\membersection{Rename entries/groups}
The functions in this section allow to rename entries or subgroups of the
\helpref{RenameEntry}{wxconfigbaserenameentry}\\
\helpref{RenameGroup}{wxconfigbaserenamegroup}
+
\membersection{Delete entries/groups}
The functions in this section delete entries and/or groups of entries from the
\helpref{DeleteGroup}{wxconfigbasedeletegroup}\\
\helpref{DeleteAll}{wxconfigbasedeleteall}
+
\membersection{Options}
Some aspects of wxConfigBase behaviour can be changed during run-time. The
}}
+
\membersection{wxConfigBase::wxConfigBase}\label{wxconfigbasector}
\func{}{wxConfigBase}{\param{const wxString\& }{appName = wxEmptyString},
By default, environment variable expansion is on and recording defaults is
off.
+
\membersection{wxConfigBase::\destruct{wxConfigBase}}\label{wxconfigbasedtor}
\func{}{\destruct{wxConfigBase}}{\void}
Empty but ensures that dtor of all derived classes is virtual.
+
\membersection{wxConfigBase::Create}\label{wxconfigbasecreate}
\func{static wxConfigBase *}{Create}{\void}
near the definition of wxCONFIG\_WIN32\_NATIVE for details. It returns the
created object and also sets it as the current one.
+
\membersection{wxConfigBase::DontCreateOnDemand}\label{wxconfigbasedontcreateondemand}
\func{void}{DontCreateOnDemand}{\void}
new config object if the current one is NULL. It might be useful to call it
near the program end to prevent new config object "accidental" creation.
+
\membersection{wxConfigBase::DeleteAll}\label{wxconfigbasedeleteall}
\func{bool}{DeleteAll}{\void}
Delete the whole underlying object (disk file, registry key, ...). Primarly
for use by desinstallation routine.
+
\membersection{wxConfigBase::DeleteEntry}\label{wxconfigbasedeleteentry}
\func{bool}{DeleteEntry}{\param{const wxString\& }{ key}, \param{bool}{ bDeleteGroupIfEmpty = true}}
Deletes the specified entry and the group it belongs to if it was the last key
in it and the second parameter is true.
+
\membersection{wxConfigBase::DeleteGroup}\label{wxconfigbasedeletegroup}
\func{bool}{DeleteGroup}{\param{const wxString\& }{ key}}
Delete the group (with all subgroups)
+
\membersection{wxConfigBase::Exists}\label{wxconfigbaseexists}
\constfunc{bool}{Exists}{\param{wxString\& }{strName}}
returns true if either a group or an entry with a given name exists
+
\membersection{wxConfigBase::Flush}\label{wxconfigbaseflush}
\func{bool}{Flush}{\param{bool }{bCurrentOnly = false}}
permanently writes all changes (otherwise, they're only written from object's
destructor)
+
\membersection{wxConfigBase::Get}\label{wxconfigbaseget}
\func{static wxConfigBase *}{Get}{\param{bool }{CreateOnDemand = true}}
{\it CreateOnDemand} is true, creates one
(using {\it Create}) unless DontCreateOnDemand was called previously.
+
\membersection{wxConfigBase::GetAppName}\label{wxconfigbasegetappname}
\constfunc{wxString}{GetAppName}{\void}
Returns the application name.
+
\membersection{wxConfigBase::GetEntryType}\label{wxconfigbasegetentrytype}
\constfunc{enum wxConfigBase::EntryType}{GetEntryType}{\param{const wxString\& }{name}}
};
\end{verbatim}
+
\membersection{wxConfigBase::GetFirstGroup}\label{wxconfigbasegetfirstgroup}
\constfunc{bool}{GetFirstGroup}{\param{wxString\& }{str}, \param{long\&}{ index}}
\perlnote{In wxPerl this method takes no arguments and returns a 3-element
list {\tt ( continue, str, index )}.}
+
\membersection{wxConfigBase::GetFirstEntry}\label{wxconfigbasegetfirstentry}
\constfunc{bool}{GetFirstEntry}{\param{wxString\& }{str}, \param{long\&}{ index}}
\perlnote{In wxPerl this method takes no arguments and returns a 3-element
list {\tt ( continue, str, index )}.}
+
\membersection{wxConfigBase::GetNextGroup}\label{wxconfigbasegetnextgroup}
\constfunc{bool}{GetNextGroup}{\param{wxString\& }{str}, \param{long\&}{ index}}
\perlnote{In wxPerl this method only takes the {\tt index} parameter
and returns a 3-element list {\tt ( continue, str, index )}.}
+
\membersection{wxConfigBase::GetNextEntry}\label{wxconfigbasegetnextentry}
\constfunc{bool}{GetNextEntry}{\param{wxString\& }{str}, \param{long\&}{ index}}
\perlnote{In wxPerl this method only takes the {\tt index} parameter
and returns a 3-element list {\tt ( continue, str, index )}.}
+
\membersection{wxConfigBase::GetNumberOfEntries}\label{wxconfigbasegetnumberofentries}
\constfunc{uint }{GetNumberOfEntries}{\param{bool }{bRecursive = false}}
+
\membersection{wxConfigBase::GetNumberOfGroups}\label{wxconfigbasegetnumberofgroups}
\constfunc{uint}{GetNumberOfGroups}{\param{bool }{bRecursive = false}}
Get number of entries/subgroups in the current group, with or without its
subgroups.
+
\membersection{wxConfigBase::GetPath}\label{wxconfigbasegetpath}
\constfunc{const wxString\&}{GetPath}{\void}
Retrieve the current path (always as absolute path).
+
\membersection{wxConfigBase::GetVendorName}\label{wxconfigbasegetvendorname}
\constfunc{wxString}{GetVendorName}{\void}
Returns the vendor name.
+
\membersection{wxConfigBase::HasEntry}\label{wxconfigbasehasentry}
\constfunc{bool}{HasEntry}{\param{wxString\& }{strName}}
returns true if the entry by this name exists
+
\membersection{wxConfigBase::HasGroup}\label{wxconfigbasehasgroup}
\constfunc{bool}{HasGroup}{\param{const wxString\& }{strName}}
returns true if the group by this name exists
+
\membersection{wxConfigBase::IsExpandingEnvVars}\label{wxconfigbaseisexpandingenvvars}
\constfunc{bool}{IsExpandingEnvVars}{\void}
Returns true if we are expanding environment variables in key values.
+
\membersection{wxConfigBase::IsRecordingDefaults}\label{wxconfigbaseisrecordingdefaults}
\constfunc{bool}{IsRecordingDefaults}{\void}
Returns true if we are writing defaults back to the config file.
+
\membersection{wxConfigBase::Read}\label{wxconfigbaseread}
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{ str}}
\end{twocollist}
}}
+
\membersection{wxConfigBase::RenameEntry}\label{wxconfigbaserenameentry}
\func{bool}{RenameEntry}{\param{const wxString\& }{ oldName}, \param{const wxString\& }{ newName}}
Returns false if the {\it oldName} doesn't exist or if {\it newName} already
exists.
+
\membersection{wxConfigBase::RenameGroup}\label{wxconfigbaserenamegroup}
\func{bool}{RenameGroup}{\param{const wxString\& }{ oldName}, \param{const wxString\& }{ newName}}
Returns false if the {\it oldName} doesn't exist or if {\it newName} already
exists.
+
\membersection{wxConfigBase::Set}\label{wxconfigbaseset}
\func{static wxConfigBase *}{Set}{\param{wxConfigBase *}{pConfig}}
Sets the config object as the current one, returns the pointer to the previous
current object (both the parameter and returned value may be NULL)
+
\membersection{wxConfigBase::SetExpandEnvVars}\label{wxconfigbasesetexpandenvvars}
\func{void}{SetExpandEnvVars }{\param{bool }{bDoIt = true}}
Determine whether we wish to expand environment variables in key values.
+
\membersection{wxConfigBase::SetPath}\label{wxconfigbasesetpath}
\func{void}{SetPath}{\param{const wxString\& }{strPath}}
otherwise it is a relative path. '..' is supported. If the strPath doesn't
exist it is created.
+
\membersection{wxConfigBase::SetRecordDefaults}\label{wxconfigbasesetrecorddefaults}
\func{void}{SetRecordDefaults}{\param{bool }{bDoIt = true}}
are written back to the config file. This allows the user to see what config
options may be changed and is probably useful only for wxFileConfig.
-\membersection{wxConfigBase::SetUmask}\label{wxfileconfigsetumask}
-
-\func{void}{SetUmask}{\param{int }{mode}}
-
-{\bf NB:} this function is not in the base wxConfigBase class but is only
-implemented in wxFileConfig. Moreover, this function is Unix-specific and
-doesn't do anything on other platforms.
-
-SetUmask() allows to set the mode to be used for the config file creation.
-For example, to create a config file which is not readable by other users
-(useful if it stores some sensitive information, such as passwords), you
-should do {\tt SetUmask(0077)}.
\membersection{wxConfigBase::Write}\label{wxconfigbasewrite}
--- /dev/null
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name: fileconf.tex
+%% Purpose: wxFileConfig documentation
+%% Author: Vadim Zeitlin
+%% Modified by:
+%% Created: 2004-10-04
+%% RCS-ID: $Id$
+%% Copyright: (c) 2004 Vadim Zeitlin
+%% License: wxWidgets license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxFileConfig}}\label{wxfileconfig}
+
+wxFileConfig implements \helpref{wxConfigBase}{wxconfigbase} interface for
+storing and retrieving configuration information using plain text files. The
+files have a simple format reminiscent of Windows INI files with lines of the
+form \texttt{key = value} defining the keys and lines of special form
+\texttt{$[$group$]$} indicating the start of each group.
+
+This class is used by default for wxConfig on Unix platforms but may also be
+used explicitly if you want to use files and not the registry even under
+Windows.
+
+\wxheading{Derived from}
+
+\helpref{wxConfigBase}{wxconfigbase}
+
+\wxheading{Include files}
+
+<wx/fileconf.h>
+
+
+\helponly{\insertatlevel{2}{\wxheading{Members}}}
+
+\membersection{wxFileConfig::wxFileConfig}{wxfileconfigctorstream}
+
+\func{}{wxFileConfig}{\param{wxInputStream\& }{is}, \param{wxMBConv\& }{conv = wxConvUTF8}}
+
+Read the config data from the specified stream instead of the associated file,
+as usual.
+
+\wxheading{See also}
+
+\helpref{Save}{wxfileconfigsave}
+
+
+\membersection{wxFileConfig::Save}{wxfileconfigsave}
+
+\func{bool}{Save}{\param{wxOutputStream\& }{os}, \param{wxMBConv\& }{conv = wxConvUTF8}}
+
+Saves all config data to the given stream, returns \true if data was saved
+successfully or \false on error.
+
+Note the interaction of this function with the internal ``dirty flag'': the
+data is saved unconditionally, i.e. even if the object is not dirty. However
+after saving it successfully, the dirty flag is reset so no changes will be
+written back to the file this object is associated with until you change its
+contents again.
+
+\wxheading{See also}
+
+\helpref{Flush}{wxconfigbaseflush}
+
+
+\membersection{wxFileConfig::SetUmask}\label{wxfileconfigsetumask}
+
+\func{void}{SetUmask}{\param{int }{mode}}
+
+Allows to set the mode to be used for the config file creation. For example, to
+create a config file which is not readable by other users (useful if it stores
+some sensitive information, such as passwords), you could use
+{\tt SetUmask(0077)}.
+
+This function doesn't do anything on non-Unix platforms.
+
+\wxheading{See also}
+
+\helpref{wxCHANGE\_UMASK}{wxchangeumask}
+
+
+