]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/config.tex
clean up of memory debugging macros and chanegs to compile with CW7 (patch 548408)
[wxWidgets.git] / docs / latex / wx / config.tex
index 51e85c0c61d91d8e2ff1bce65ee6ef896be6e1ca..920d8304062a2612cd4d14e43552b1e3ea77a5dd 100644 (file)
@@ -53,7 +53,7 @@ Here is how you would typically use this class:
 
   // another example: using default values and the full path instead of just
   // key name: if the key is not found , the value 17 is returned
-  long value = config->Read("/LastRun/CalculatedValues/MaxValue", -1);
+  long value = config->Read("/LastRun/CalculatedValues/MaxValue", 17);
   ...
   ...
   ...
@@ -86,10 +86,10 @@ instead of creating and deleting the local config objects each time you need
 one (especially because creating a wxFileConfig object might be a time
 consuming operation). In this case, you may create this global config object
 in the very start of the program and {\it Set()} it as the default. Then, from
-anywhere in your program, you may access it using the {\it Get()} function. Of
-course, you should delete it on the program termination (otherwise, not only a
-memory leak will result, but even more importantly the changes won't be
-written back!).
+anywhere in your program, you may access it using the {\it Get()} function.
+Note that wxWindows will delete this config object for you during the program
+shutdown (from \helpref{wxApp::OnExit}{wxapponexit} to be precise) but you can
+also do it yourself earlier if needed.
 
 As it happens, you may even further simplify the procedure described above:
 you may forget about calling {\it Set()}. When {\it Get()} is called and there
@@ -257,7 +257,7 @@ Currently, only two types of data are supported: string and long (but it might
 change in the near future). To work with other types: for {\it int} or {\it
 bool} you can work with function taking/returning {\it long} and just use the
 casts. Better yet, just use {\it long} for all variables which you're going to
-save in the config file: chances are that \verb$sizeof(bool) == sizeof(int) == sizeof(long)$ anyhow on your system. For {\it float}, {\it double} and, in
+save in the config file: chances are that \tt{sizeof(bool) == sizeof(int) == sizeof(long)} anyhow on your system. For {\it float}, {\it double} and, in
 general, any other type you'd have to translate them to/from string
 representation and use string functions.
 
@@ -308,9 +308,9 @@ config file:
   # the following syntax is valud only under Windows
   UserData = %windir%\\data.dat
 \end{verbatim}
-
-the call to \verb$config->Read("UserData")$ will return something like
-\verb$"/home/zeitlin/data"$ if you're lucky enough to run a Linux system ;-)
+% $ % help EMACS syntax highlighting...
+the call to \tt{config->Read("UserData")} will return something like
+\tt{"/home/zeitlin/data"} if you're lucky enough to run a Linux system ;-)
 
 Although this feature is very useful, it may be annoying if you read a value
 which containts '\$' or '\%' symbols (\% is used for environment variables
@@ -434,7 +434,7 @@ destructor)
 
 \membersection{wxConfigBase::Get}\label{wxconfigbaseget}
 
-\func{wxConfigBase *}{Get}{\param{bool }{CreateOnDemand = TRUE}}
+\func{static wxConfigBase *}{Get}{\param{bool }{CreateOnDemand = TRUE}}
 
 Get the current config object. If there is no current object and
 {\it CreateOnDemand} is TRUE, creates one
@@ -479,6 +479,9 @@ Gets the first group.
 consisting of the continue flag, the value string, and the index for
 the next call.}
 
+\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}}
@@ -489,6 +492,9 @@ Gets the first entry.
 consisting of the continue flag, the value string, and the index for
 the next call.}
 
+\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}}
@@ -499,6 +505,9 @@ Gets the next group.
 consisting of the continue flag, the value string, and the index for
 the next call.}
 
+\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}}
@@ -509,6 +518,9 @@ Gets the next entry.
 consisting of the continue flag, the value string, and the index for
 the next call.}
 
+\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}}
@@ -593,12 +605,20 @@ if the key is not found.
 
 NB: writing
 
-{\small \begin{verbatim} conf->Read("key", 0); \end{verbatim} }
+{\small
+\begin{verbatim}
+    conf->Read("key", 0);
+\end{verbatim}
+}
 
 won't work because the call is ambiguous: compiler can not choose between two
 {\it Read} functions. Instead, write:
 
-{\small \begin{verbatim} conf->Read("key", 0l); \end{verbatim} }
+{\small
+\begin{verbatim}
+    conf->Read("key", 0l);
+\end{verbatim}
+}
 
 \constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d}}
 
@@ -631,6 +651,15 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+\perlnote{In place of a single overloaded method, wxPerl uses:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf Read(key, default="")}}{Returns a string}
+\twocolitem{{\bf ReadInt(key, default=0)}}{Returns an integer}
+\twocolitem{{\bf ReadFloat(key, default=0.0)}}{Returns a floating point number}
+\twocolitem{{\bf ReadBool(key, default=0)}}{Returns a boolean}
+\end{twocollist}
+}}
+
 \membersection{wxConfigBase::RenameEntry}\label{wxconfigbaserenameentry}
 
 \func{bool}{RenameEntry}{\param{const wxString\& }{ oldName}, \param{const wxString\& }{ newName}}
@@ -655,7 +684,7 @@ exists.
 
 \membersection{wxConfigBase::Set}\label{wxconfigbaseset}
 
-\func{wxConfigBase *}{Set}{\param{wxConfigBase *}{pConfig}}
+\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)
@@ -678,11 +707,12 @@ exist it is created.
 
 \func{void}{SetRecordDefaults}{\param{bool }{bDoIt = TRUE}}
 
-Sets whether defaults are written back to the config file.
+Sets whether defaults are recorded to the config file whenever an attempt to
+read read the value which is not present in it is done.
 
-If on (default is off) all default values 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.
+If on (default is off) all default values for the settings used by the program
+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}
 
@@ -720,3 +750,11 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+\perlnote{In place of a single overloaded method, wxPerl uses:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf Write(key, value)}}{Writes a string}
+\twocolitem{{\bf WriteInt(key, value)}}{Writes an integer}
+\twocolitem{{\bf WriteFloat(key, value)}}{Writes a floating point number}
+\twocolitem{{\bf WriteBool(key, value)}}{Writes a boolean}
+\end{twocollist}
+}}