<!-- ##### SECTION Title ##### -->
visu_configFile

<!-- ##### SECTION Short_Description ##### -->
Defines methods to access (read/write) to config files and to create different entries

<!-- ##### SECTION Long_Description ##### -->
<para>
V_Sim uses two different configuration files. The first stores the configuration of the
program itself and is called parameters file. The second stores differents values that
control the way files are rendered. It is called resources file. For example, their is an
entry in the parameters file that controls your favorite rendering method ; and there is
is an entry in the resources file that codes that vacancy elements are rendered by
cube in the atomic rendering method. Most methods of this part uses a first argument usually
called 'kind', that control if the method will apply on the parameters file or on the
resources file. #VISU_CONFIGFILE_PARAMETER and #VISU_CONFIGFILE_RESOURCE are the two
flags that should be used for the 'kind' argument.
</para>
<para>
There are different paths where these files can be stored. These paths are stored in V_Sim
with an order : for example parameters file are first looked for in the current working
directory, then in the $HOME/.v_sim directory and finally in the installation directory.
This is transparent for the user and visuConfigFileGet_validPath() is the right method to
access to the best readable configuration file.
</para>
Different part of V_Sim can add entries in these files. The method visuConfigFileAdd_entry()
is designed to this purpose. The entries are defined by their name and they appear in
the configuration file as 'name:' followed by the data associated to this entry. In the
parameters file, the data are on the same line. In the resources file, the data begin the
line after and can be longer that one line. When a configuration file is read, the method
associated to each entry (visuConfigFileReadFunc()) is called with a copy of their data lines.
The method visuConfigFileAdd_exportFunction() should be used to add a callback when the
configurations files are written, then each part of V_Sim that have entries can put some
lines in the configuration files.
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### MACRO VISU_CONFIGFILE_PARAMETER ##### -->
<para>

</para>



<!-- ##### MACRO VISU_CONFIGFILE_RESOURCE ##### -->
<para>

</para>



<!-- ##### TYPEDEF VisuConfigFileEntry ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION visuConfigFileExportFunc ##### -->
<para>

</para>

@data: 
@nbLinesWritten: 
@Returns: 


<!-- ##### USER_FUNCTION visuConfigFileReadFunc ##### -->
<para>

</para>

@lines: 
@nbLines: 
@position: 
@errorMessage: 
@Returns: 


<!-- ##### STRUCT foreachFuncExport_struct ##### -->
<para>

</para>

@data: 
@nbLinesWritten: 

<!-- ##### FUNCTION visuConfigFileAdd_entry ##### -->
<para>

</para>

@kind: 
@key: 
@description: 
@nbLines: 
@readFunc: 
@Returns: 


<!-- ##### FUNCTION visuConfigFileAdd_exportFunction ##### -->
<para>

</para>

@kind: 
@writeFunc: 


<!-- ##### FUNCTION visuConfigFileAdd_knownTag ##### -->
<para>

</para>

@tag: 


<!-- ##### FUNCTION visuConfigFileSet_tag ##### -->
<para>

</para>

@entry: 
@tag: 


<!-- ##### FUNCTION visuConfigFileLoad ##### -->
<para>

</para>

@kind: 
@fileName: 
@message: 
@Returns: 


<!-- ##### FUNCTION visuConfigFileSave ##### -->
<para>

</para>

@kind: 
@fileName: 
@message: 
@Returns: 


<!-- ##### FUNCTION visuConfigFileGet_pathList ##### -->
<para>

</para>

@kind: 
@Returns: 


<!-- ##### FUNCTION visuConfigFileGet_validPath ##### -->
<para>

</para>

@kind: 
@mode: 
@utf8: 
@Returns: 


<!-- ##### FUNCTION visuConfigFileGet_nextValidPath ##### -->
<para>

</para>

@kind: 
@accessMode: 
@list: 
@utf8: 
@Returns: 


<!-- ##### FUNCTION visuConfigFileGet_defaultFileName ##### -->
<para>

</para>

@kind: 
@Returns: 


<!-- ##### FUNCTION visuConfigFileSet_floatValue ##### -->
<para>

</para>

@variable: 
@value: 
@min: 
@max: 
@Returns: 


<!-- ##### FUNCTION visuConfigFile_init ##### -->
<para>

</para>

@Returns: 


<!-- ##### STRUCT VisuConfigFileEntry_struct ##### -->
<para>

</para>


