213 lines
7.1 KiB
C++
213 lines
7.1 KiB
C++
/**
|
|
* The common library
|
|
* @file param_config.h
|
|
*/
|
|
|
|
#ifndef __PARAM_CONFIG_H__
|
|
#define __PARAM_CONFIG_H__ 1
|
|
|
|
#include "wx/confbase.h"
|
|
#include "wx/fileconf.h"
|
|
#include <boost/ptr_container/ptr_vector.hpp>
|
|
|
|
|
|
/* definifition des types de parametre des files de configuration */
|
|
enum paramcfg_id /* type du parametre dans la structure ParamConfig */
|
|
{
|
|
PARAM_INT,
|
|
PARAM_SETCOLOR,
|
|
PARAM_DOUBLE,
|
|
PARAM_BOOL,
|
|
PARAM_LIBNAME_LIST,
|
|
PARAM_WXSTRING,
|
|
PARAM_COMMAND_ERASE
|
|
};
|
|
|
|
#define MAX_COLOR 0x8001F
|
|
#define IS_VALID_COLOR( c ) ( ( c >= 0 ) && ( c <= 0x8001F ) )
|
|
|
|
#define INT_MINVAL 0x80000000
|
|
#define INT_MAXVAL 0x7FFFFFFF
|
|
|
|
class PARAM_CFG_BASE
|
|
{
|
|
public:
|
|
const wxChar* m_Ident; /* Keyword in config data */
|
|
paramcfg_id m_Type; /* Type of parameter */
|
|
const wxChar* m_Group; /* Group name (tjis is like a path in the config data) */
|
|
bool m_Setup; /* TRUE -> setup parameter (used for all projects), FALSE = parameter relative to a project */
|
|
|
|
public:
|
|
PARAM_CFG_BASE( const wxChar* ident, const paramcfg_id type, const wxChar* group = NULL );
|
|
|
|
/** ReadParam
|
|
* read the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that store the parameter
|
|
*/
|
|
virtual void ReadParam( wxConfigBase* aConfig ) {};
|
|
|
|
/** SaveParam
|
|
* the the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that can store the parameter
|
|
*/
|
|
virtual void SaveParam( wxConfigBase* aConfig ) {};
|
|
};
|
|
|
|
class PARAM_CFG_INT : public PARAM_CFG_BASE
|
|
{
|
|
public:
|
|
int* m_Pt_param; /* pointeur sur le parametre a configurer */
|
|
int m_Min, m_Max; /* valeurs extremes du parametre */
|
|
int m_Default; /* valeur par defaut */
|
|
|
|
public:
|
|
PARAM_CFG_INT( const wxChar* ident, int* ptparam,
|
|
int default_val = 0, int min = INT_MINVAL, int max = INT_MAXVAL,
|
|
const wxChar* group = NULL );
|
|
PARAM_CFG_INT( bool Insetup, const wxChar* ident, int* ptparam,
|
|
int default_val = 0, int min = INT_MINVAL, int max = INT_MAXVAL,
|
|
const wxChar* group = NULL );
|
|
|
|
/** ReadParam
|
|
* read the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that store the parameter
|
|
*/
|
|
virtual void ReadParam( wxConfigBase* aConfig );
|
|
|
|
/** SaveParam
|
|
* the the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that can store the parameter
|
|
*/
|
|
virtual void SaveParam( wxConfigBase* aConfig );
|
|
};
|
|
|
|
class PARAM_CFG_SETCOLOR : public PARAM_CFG_BASE
|
|
{
|
|
public:
|
|
int* m_Pt_param; /* pointeur sur le parametre a configurer */
|
|
int m_Default; /* valeur par defaut */
|
|
|
|
public:
|
|
PARAM_CFG_SETCOLOR( const wxChar* ident, int* ptparam,
|
|
int default_val, const wxChar* group = NULL );
|
|
PARAM_CFG_SETCOLOR( bool Insetup, const wxChar* ident, int* ptparam,
|
|
int default_val, const wxChar* group = NULL );
|
|
|
|
/** ReadParam
|
|
* read the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that store the parameter
|
|
*/
|
|
virtual void ReadParam( wxConfigBase* aConfig );
|
|
|
|
/** SaveParam
|
|
* the the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that can store the parameter
|
|
*/
|
|
virtual void SaveParam( wxConfigBase* aConfig );
|
|
};
|
|
|
|
class PARAM_CFG_DOUBLE : public PARAM_CFG_BASE
|
|
{
|
|
public:
|
|
double* m_Pt_param; /* pointeur sur le parametre a configurer */
|
|
double m_Default; /* valeur par defaut */
|
|
double m_Min, m_Max; /* valeurs extremes du parametre */
|
|
|
|
public:
|
|
PARAM_CFG_DOUBLE( const wxChar* ident, double* ptparam,
|
|
double default_val = 0.0, double min = 0.0, double max = 10000.0,
|
|
const wxChar* group = NULL );
|
|
PARAM_CFG_DOUBLE( bool Insetup, const wxChar* ident, double* ptparam,
|
|
double default_val = 0.0, double min = 0.0, double max = 10000.0,
|
|
const wxChar* group = NULL );
|
|
|
|
/** ReadParam
|
|
* read the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that store the parameter
|
|
*/
|
|
virtual void ReadParam( wxConfigBase* aConfig );
|
|
|
|
/** SaveParam
|
|
* the the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that can store the parameter
|
|
*/
|
|
virtual void SaveParam( wxConfigBase* aConfig );
|
|
};
|
|
|
|
class PARAM_CFG_BOOL : public PARAM_CFG_BASE
|
|
{
|
|
public:
|
|
bool* m_Pt_param; /* pointeur sur le parametre a configurer */
|
|
int m_Default; /* valeur par defaut */
|
|
|
|
public:
|
|
PARAM_CFG_BOOL( const wxChar* ident, bool* ptparam,
|
|
int default_val = FALSE, const wxChar* group = NULL );
|
|
PARAM_CFG_BOOL( bool Insetup, const wxChar* ident, bool* ptparam,
|
|
int default_val = FALSE, const wxChar* group = NULL );
|
|
|
|
/** ReadParam
|
|
* read the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that store the parameter
|
|
*/
|
|
virtual void ReadParam( wxConfigBase* aConfig );
|
|
|
|
/** SaveParam
|
|
* the the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that can store the parameter
|
|
*/
|
|
virtual void SaveParam( wxConfigBase* aConfig );
|
|
};
|
|
|
|
|
|
class PARAM_CFG_WXSTRING : public PARAM_CFG_BASE
|
|
{
|
|
public:
|
|
wxString* m_Pt_param; /* pointeur sur le parametre a configurer */
|
|
|
|
public:
|
|
PARAM_CFG_WXSTRING( const wxChar* ident, wxString* ptparam, const wxChar* group = NULL );
|
|
PARAM_CFG_WXSTRING( bool Insetup,
|
|
const wxChar* ident,
|
|
wxString* ptparam,
|
|
const wxChar* group = NULL );
|
|
/** ReadParam
|
|
* read the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that store the parameter
|
|
*/
|
|
virtual void ReadParam( wxConfigBase* aConfig );
|
|
|
|
/** SaveParam
|
|
* the the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that can store the parameter
|
|
*/
|
|
virtual void SaveParam( wxConfigBase* aConfig );
|
|
};
|
|
|
|
class PARAM_CFG_LIBNAME_LIST : public PARAM_CFG_BASE
|
|
{
|
|
public:
|
|
wxArrayString* m_Pt_param; /* pointeur sur le parametre a configurer */
|
|
|
|
public:
|
|
PARAM_CFG_LIBNAME_LIST( const wxChar* ident,
|
|
wxArrayString* ptparam,
|
|
const wxChar* group = NULL );
|
|
|
|
/** ReadParam
|
|
* read the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that store the parameter
|
|
*/
|
|
virtual void ReadParam( wxConfigBase* aConfig );
|
|
|
|
/** SaveParam
|
|
* the the value of parameter thi stored in aConfig
|
|
* @param aConfig = the wxConfigBase that can store the parameter
|
|
*/
|
|
virtual void SaveParam( wxConfigBase* aConfig );
|
|
};
|
|
|
|
typedef boost::ptr_vector< PARAM_CFG_BASE > PARAM_CFG_ARRAY;
|
|
|
|
#endif /* __PARAM_CONFIG_H__ */
|