Commit 8eff8df9 authored by dickelbeck's avatar dickelbeck

beautify

parent ce04867e
...@@ -277,7 +277,7 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) ...@@ -277,7 +277,7 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
*/ */
{ {
#if 0 && defined(DEBUG) #if 1 && defined(DEBUG)
// Dick: this code is working fine, but we have no place to store the layer names yet. // Dick: this code is working fine, but we have no place to store the layer names yet.
...@@ -293,12 +293,12 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) ...@@ -293,12 +293,12 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
#if 1 // my specific layer names #if 1 // my specific layer names
static const wxString layer_name_list[] = { static const wxString layer_name_list[] = {
_( "H2 Bottom" ), _( "Power" ), _( "V2 Signal" ), _( "H1 Signal" ), _( "H2 Bottom" ), _( "Power" ), _( "V2 Signal" ), _( "H1 Signal" ),
_( "Ground" ), _( "Inner L5 " ), _( "Inner L6 " ), _( "Inner L7 " ), _( "Ground" ), _( "Inner L5" ), _( "Inner L6" ), _( "Inner L7" ),
_( "Inner L8 " ), _( "Inner L9 " ), _( "Inner L10" ), _( "Inner L11" ), _( "Inner L8" ), _( "Inner L9" ), _( "Inner L10" ), _( "Inner L11" ),
_( "Inner L12" ), _( "Inner L13" ), _( "Inner L14" ), _( "Component" ), _( "Inner L12" ), _( "Inner L13" ), _( "Inner L14" ), _( "Component" ),
_( "Adhes Cop" ), _( "Adhes Cmp" ), _( "SoldP Cop" ), _( "SoldP Cmp" ), _( "Adhes Cop" ), _( "Adhes Cmp" ), _( "SoldP Cop" ), _( "SoldP Cmp" ),
_( "SilkS Cop" ), _( "SilkS Cmp" ), _( "Mask Cop " ), _( "Mask Cmp " ), _( "SilkS Cop" ), _( "SilkS Cmp" ), _( "Mask Cop" ), _( "Mask Cmp" ),
_( "Drawings " ), _( "Comments " ), _( "Eco1 " ), _( "Eco2 " ), _( "Drawings " ), _( "Comments" ), _( "Eco1" ), _( "Eco2" ),
_( "Edges Pcb" ), _( "BAD INDEX" ), _( "Edges Pcb" ), _( "BAD INDEX" ),
}; };
#else #else
......
...@@ -270,7 +270,8 @@ void WinEDA_App::GetSettings() ...@@ -270,7 +270,8 @@ void WinEDA_App::GetSettings()
wxString Line, Ident; wxString Line, Ident;
unsigned ii; unsigned ii;
m_HelpSize.x = 500; m_HelpSize.y = 400; m_HelpSize.x = 500;
m_HelpSize.y = 400;
if( m_EDA_CommonConfig ) if( m_EDA_CommonConfig )
{ {
...@@ -285,8 +286,11 @@ void WinEDA_App::GetSettings() ...@@ -285,8 +286,11 @@ void WinEDA_App::GetSettings()
for( ii = 0; ii < 10; ii++ ) for( ii = 0; ii < 10; ii++ )
{ {
Ident = wxT( "LastProject" ); if( ii ) Ident = wxT( "LastProject" );
if( ii )
Ident << ii; Ident << ii;
if( m_EDA_Config->Read( Ident, &Line ) ) if( m_EDA_Config->Read( Ident, &Line ) )
m_LastProject.Add( Line ); m_LastProject.Add( Line );
} }
...@@ -299,6 +303,7 @@ void WinEDA_App::GetSettings() ...@@ -299,6 +303,7 @@ void WinEDA_App::GetSettings()
Line = m_EDA_Config->Read( wxT( "SdtFontType" ), wxEmptyString ); Line = m_EDA_Config->Read( wxT( "SdtFontType" ), wxEmptyString );
if( !Line.IsEmpty() ) if( !Line.IsEmpty() )
g_StdFont->SetFaceName( Line ); g_StdFont->SetFaceName( Line );
ii = m_EDA_Config->Read( wxT( "SdtFontStyle" ), wxFONTFAMILY_ROMAN ); ii = m_EDA_Config->Read( wxT( "SdtFontStyle" ), wxFONTFAMILY_ROMAN );
g_StdFont->SetStyle( ii ); g_StdFont->SetStyle( ii );
ii = m_EDA_Config->Read( wxT( "SdtFontWeight" ), wxNORMAL ); ii = m_EDA_Config->Read( wxT( "SdtFontWeight" ), wxNORMAL );
...@@ -309,6 +314,7 @@ void WinEDA_App::GetSettings() ...@@ -309,6 +314,7 @@ void WinEDA_App::GetSettings()
Line = m_EDA_Config->Read( wxT( "MsgFontType" ), wxEmptyString ); Line = m_EDA_Config->Read( wxT( "MsgFontType" ), wxEmptyString );
if( !Line.IsEmpty() ) if( !Line.IsEmpty() )
g_MsgFont->SetFaceName( Line ); g_MsgFont->SetFaceName( Line );
ii = m_EDA_Config->Read( wxT( "MsgFontStyle" ), wxFONTFAMILY_ROMAN ); ii = m_EDA_Config->Read( wxT( "MsgFontStyle" ), wxFONTFAMILY_ROMAN );
g_MsgFont->SetStyle( ii ); g_MsgFont->SetStyle( ii );
ii = m_EDA_Config->Read( wxT( "MsgFontWeight" ), wxNORMAL ); ii = m_EDA_Config->Read( wxT( "MsgFontWeight" ), wxNORMAL );
...@@ -318,6 +324,7 @@ void WinEDA_App::GetSettings() ...@@ -318,6 +324,7 @@ void WinEDA_App::GetSettings()
Line = m_EDA_Config->Read( wxT( "DialogFontType" ), wxEmptyString ); Line = m_EDA_Config->Read( wxT( "DialogFontType" ), wxEmptyString );
if( !Line.IsEmpty() ) if( !Line.IsEmpty() )
g_DialogFont->SetFaceName( Line ); g_DialogFont->SetFaceName( Line );
ii = m_EDA_Config->Read( wxT( "DialogFontStyle" ), wxFONTFAMILY_ROMAN ); ii = m_EDA_Config->Read( wxT( "DialogFontStyle" ), wxFONTFAMILY_ROMAN );
g_DialogFont->SetStyle( ii ); g_DialogFont->SetStyle( ii );
ii = m_EDA_Config->Read( wxT( "DialogFontWeight" ), wxNORMAL ); ii = m_EDA_Config->Read( wxT( "DialogFontWeight" ), wxNORMAL );
...@@ -343,7 +350,6 @@ void WinEDA_App::SaveSettings() ...@@ -343,7 +350,6 @@ void WinEDA_App::SaveSettings()
{ {
unsigned int ii; unsigned int ii;
if( m_EDA_Config == NULL ) if( m_EDA_Config == NULL )
return; return;
......
/**************************************************/ /**************************************************/
/* projet_config : routines de trace du cartouche */ /* projet_config : routines de trace du cartouche */
/**************************************************/ /**************************************************/
#include "fctsys.h" #include "fctsys.h"
#include "gr_basic.h" #include "gr_basic.h"
...@@ -13,47 +13,55 @@ ...@@ -13,47 +13,55 @@
/*********************************************************************/ /*********************************************************************/
static bool ReCreatePrjConfig(const wxString & local_config_filename, static bool ReCreatePrjConfig( const wxString& local_config_filename,
const wxString & GroupName, bool ForceUseLocalConfig) const wxString& GroupName, bool ForceUseLocalConfig )
/*********************************************************************/ /*********************************************************************/
/* Cree ou recree la configuration locale de kicad (filename.pro) /* Cree ou recree la configuration locale de kicad (filename.pro)
initialise: * initialise:
g_Prj_Config * g_Prj_Config
g_Prj_Config_LocalFilename * g_Prj_Config_LocalFilename
g_Prj_Default_Config_FullFilename * g_Prj_Default_Config_FullFilename
return: * return:
TRUE si config locale * TRUE si config locale
FALSE si default config * FALSE si default config
*/ */
{ {
// free old config // free old config
if ( g_Prj_Config ) delete g_Prj_Config; if( g_Prj_Config )
delete g_Prj_Config;
g_Prj_Config = NULL; g_Prj_Config = NULL;
// Init local Config filename // Init local Config filename
if ( local_config_filename.IsEmpty() ) g_Prj_Config_LocalFilename = wxT("kicad"); if( local_config_filename.IsEmpty() )
else g_Prj_Config_LocalFilename = local_config_filename; g_Prj_Config_LocalFilename = wxT( "kicad" );
else
g_Prj_Config_LocalFilename = local_config_filename;
ChangeFileNameExt( g_Prj_Config_LocalFilename, g_Prj_Config_Filename_ext ); ChangeFileNameExt( g_Prj_Config_LocalFilename, g_Prj_Config_Filename_ext );
// Init local config filename // Init local config filename
if ( ForceUseLocalConfig || wxFileExists(g_Prj_Config_LocalFilename) ) if( ForceUseLocalConfig || wxFileExists( g_Prj_Config_LocalFilename ) )
{ {
g_Prj_Default_Config_FullFilename.Empty(); g_Prj_Default_Config_FullFilename.Empty();
g_Prj_Config = new wxFileConfig(wxEmptyString, wxEmptyString, g_Prj_Config = new wxFileConfig( wxEmptyString, wxEmptyString,
g_Prj_Config_LocalFilename, wxEmptyString, g_Prj_Config_LocalFilename, wxEmptyString,
wxCONFIG_USE_RELATIVE_PATH); wxCONFIG_USE_RELATIVE_PATH );
g_Prj_Config->DontCreateOnDemand(); g_Prj_Config->DontCreateOnDemand();
if ( ForceUseLocalConfig ) return TRUE; if( ForceUseLocalConfig )
return TRUE;
// Test de la bonne version du fichier (ou groupe) de configuration // Test de la bonne version du fichier (ou groupe) de configuration
int version = -1, def_version = 0; int version = -1, def_version = 0;
g_Prj_Config->SetPath(GroupName); g_Prj_Config->SetPath( GroupName );
version = g_Prj_Config->Read( wxT("version"), def_version); version = g_Prj_Config->Read( wxT( "version" ), def_version );
g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP );
if ( version > 0 ) return TRUE; if( version > 0 )
else delete g_Prj_Config; // Version incorrecte return TRUE;
else
delete g_Prj_Config; // Version incorrecte
} }
...@@ -61,13 +69,14 @@ static bool ReCreatePrjConfig(const wxString & local_config_filename, ...@@ -61,13 +69,14 @@ static bool ReCreatePrjConfig(const wxString & local_config_filename,
g_Prj_Config_LocalFilename.Empty(); g_Prj_Config_LocalFilename.Empty();
g_Prj_Default_Config_FullFilename = g_Prj_Default_Config_FullFilename =
ReturnKicadDatasPath() + ReturnKicadDatasPath() +
wxT("template/kicad") + wxT( "template/kicad" ) +
g_Prj_Config_Filename_ext; g_Prj_Config_Filename_ext;
// Recreate new config // Recreate new config
g_Prj_Config = new wxFileConfig(wxEmptyString, wxEmptyString, g_Prj_Config = new wxFileConfig( wxEmptyString, wxEmptyString,
wxEmptyString, g_Prj_Default_Config_FullFilename, wxEmptyString, g_Prj_Default_Config_FullFilename,
wxCONFIG_USE_RELATIVE_PATH); wxCONFIG_USE_RELATIVE_PATH );
g_Prj_Config->DontCreateOnDemand(); g_Prj_Config->DontCreateOnDemand();
return FALSE; return FALSE;
...@@ -75,188 +84,216 @@ static bool ReCreatePrjConfig(const wxString & local_config_filename, ...@@ -75,188 +84,216 @@ static bool ReCreatePrjConfig(const wxString & local_config_filename,
/***************************************************************************************/ /***************************************************************************************/
void WinEDA_App::WriteProjectConfig(const wxString & local_config_filename, void WinEDA_App::WriteProjectConfig( const wxString& local_config_filename,
const wxString & GroupName, PARAM_CFG_BASE ** List) const wxString& GroupName, PARAM_CFG_BASE** List )
/***************************************************************************************/ /***************************************************************************************/
/* enregistrement de la config "projet"*/ /* enregistrement de la config "projet"*/
{ {
const PARAM_CFG_BASE * pt_cfg; const PARAM_CFG_BASE* pt_cfg;
wxString msg; wxString msg;
ReCreatePrjConfig( local_config_filename, GroupName,
FORCE_LOCAL_CONFIG );
ReCreatePrjConfig(local_config_filename, GroupName,
FORCE_LOCAL_CONFIG);
/* Write date ( surtout pour eviter bug de wxFileConfig /* Write date ( surtout pour eviter bug de wxFileConfig
qui se trompe de rubrique si declaration [xx] en premiere ligne * qui se trompe de rubrique si declaration [xx] en premiere ligne
(en fait si groupe vide) */ * (en fait si groupe vide) */
g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP );
msg = DateAndTime(); msg = DateAndTime();
g_Prj_Config->Write( wxT("update"), msg);
g_Prj_Config->Write( wxT( "update" ), msg );
msg = GetAppName(); msg = GetAppName();
g_Prj_Config->Write( wxT("last_client"), msg);
g_Prj_Config->Write( wxT( "last_client" ), msg );
/* ecriture de la configuration */ /* ecriture de la configuration */
g_Prj_Config->DeleteGroup(GroupName); // Erase all datas g_Prj_Config->DeleteGroup( GroupName ); // Erase all datas
g_Prj_Config->Flush(); g_Prj_Config->Flush();
g_Prj_Config->SetPath(GroupName); g_Prj_Config->SetPath( GroupName );
g_Prj_Config->Write( wxT("version"), CONFIG_VERSION); g_Prj_Config->Write( wxT( "version" ), CONFIG_VERSION );
g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP );
for( ; *List != NULL ; List++) for( ; *List != NULL; List++ )
{ {
pt_cfg = *List; pt_cfg = *List;
if ( pt_cfg->m_Group ) g_Prj_Config->SetPath(pt_cfg->m_Group); if( pt_cfg->m_Group )
else g_Prj_Config->SetPath(GroupName); g_Prj_Config->SetPath( pt_cfg->m_Group );
else
g_Prj_Config->SetPath( GroupName );
switch( pt_cfg->m_Type ) switch( pt_cfg->m_Type )
{ {
case PARAM_INT: case PARAM_INT:
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_INT *)pt_cfg) #define PTCFG ( (PARAM_CFG_INT*) pt_cfg )
if (PTCFG->m_Pt_param == NULL) break; if( PTCFG->m_Pt_param == NULL )
if ( pt_cfg->m_Setup) break;
m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param);
if( pt_cfg->m_Setup )
m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
else else
g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
break; break;
case PARAM_SETCOLOR: case PARAM_SETCOLOR:
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_SETCOLOR *)pt_cfg) #define PTCFG ( (PARAM_CFG_SETCOLOR*) pt_cfg )
if (PTCFG->m_Pt_param == NULL) break; if( PTCFG->m_Pt_param == NULL )
if ( pt_cfg->m_Setup) break;
m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param);
if( pt_cfg->m_Setup )
m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
else else
g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
break; break;
case PARAM_DOUBLE: case PARAM_DOUBLE:
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_DOUBLE *)pt_cfg) #define PTCFG ( (PARAM_CFG_DOUBLE*) pt_cfg )
if (PTCFG->m_Pt_param == NULL) break; if( PTCFG->m_Pt_param == NULL )
if ( pt_cfg->m_Setup) break;
m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param);
if( pt_cfg->m_Setup )
m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
else else
g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
break; break;
case PARAM_BOOL: case PARAM_BOOL:
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_BOOL *)pt_cfg) #define PTCFG ( (PARAM_CFG_BOOL*) pt_cfg )
if (PTCFG->m_Pt_param == NULL) break; if( PTCFG->m_Pt_param == NULL )
if ( pt_cfg->m_Setup) break;
m_EDA_Config->Write(pt_cfg->m_Ident, (int)*PTCFG->m_Pt_param);
if( pt_cfg->m_Setup )
m_EDA_Config->Write( pt_cfg->m_Ident, (int) *PTCFG->m_Pt_param );
else else
g_Prj_Config->Write(pt_cfg->m_Ident, (int)*PTCFG->m_Pt_param); g_Prj_Config->Write( pt_cfg->m_Ident, (int) *PTCFG->m_Pt_param );
break; break;
case PARAM_WXSTRING: case PARAM_WXSTRING:
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_WXSTRING *)pt_cfg) #define PTCFG ( (PARAM_CFG_WXSTRING*) pt_cfg )
if (PTCFG->m_Pt_param == NULL) break; if( PTCFG->m_Pt_param == NULL )
if ( pt_cfg->m_Setup) break;
m_EDA_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param);
if( pt_cfg->m_Setup )
m_EDA_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
else else
g_Prj_Config->Write(pt_cfg->m_Ident, *PTCFG->m_Pt_param); g_Prj_Config->Write( pt_cfg->m_Ident, *PTCFG->m_Pt_param );
break; break;
case PARAM_LIBNAME_LIST: case PARAM_LIBNAME_LIST:
{ {
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_LIBNAME_LIST *)pt_cfg) #define PTCFG ( (PARAM_CFG_LIBNAME_LIST*) pt_cfg )
if (PTCFG->m_Pt_param == NULL) break; if( PTCFG->m_Pt_param == NULL )
wxArrayString * libname_list = PTCFG->m_Pt_param; break;
if ( libname_list == NULL ) break;
wxArrayString* libname_list = PTCFG->m_Pt_param;
if( libname_list == NULL )
break;
unsigned indexlib = 0; unsigned indexlib = 0;
wxString cle_config; wxString cle_config;
for ( ; indexlib < libname_list->GetCount(); indexlib++ ) for( ; indexlib < libname_list->GetCount(); indexlib++ )
{ {
cle_config = pt_cfg->m_Ident; cle_config = pt_cfg->m_Ident;
// We use indexlib+1 because first lib name is LibName1 // We use indexlib+1 because first lib name is LibName1
cle_config << (indexlib+1); cle_config << (indexlib + 1);
g_Prj_Config->Write(cle_config, libname_list->Item(indexlib)); g_Prj_Config->Write( cle_config, libname_list->Item( indexlib ) );
} }
break; break;
} }
case PARAM_COMMAND_ERASE: // Erase all datas case PARAM_COMMAND_ERASE: // Erase all datas
if ( pt_cfg->m_Ident ) if( pt_cfg->m_Ident )
{ {
m_EDA_Config->DeleteGroup(pt_cfg->m_Ident); m_EDA_Config->DeleteGroup( pt_cfg->m_Ident );
g_Prj_Config->DeleteGroup(pt_cfg->m_Ident); g_Prj_Config->DeleteGroup( pt_cfg->m_Ident );
} }
break; break;
} }
} }
g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP );
delete g_Prj_Config; delete g_Prj_Config;
g_Prj_Config = NULL; g_Prj_Config = NULL;
} }
/***************************************************************************************/ /***************************************************************************************/
bool WinEDA_App::ReadProjectConfig(const wxString & local_config_filename, bool WinEDA_App::ReadProjectConfig( const wxString& local_config_filename,
const wxString & GroupName, PARAM_CFG_BASE ** List, const wxString& GroupName, PARAM_CFG_BASE** List,
bool Load_Only_if_New) bool Load_Only_if_New )
/***************************************************************************************/ /***************************************************************************************/
/* Lecture de la config "projet" /* Lecture de la config "projet"
*** si Load_Only_if_New == TRUE, elle n'est lue que si elle *** si Load_Only_if_New == TRUE, elle n'est lue que si elle
*** est differente de la config actuelle (dates differentes) *** est differente de la config actuelle (dates differentes)
*
return: * return:
TRUE si lue. * TRUE si lue.
Met a jour en plus: * Met a jour en plus:
g_EDA_Appl->m_CurrentOptionFileDateAndTime * g_EDA_Appl->m_CurrentOptionFileDateAndTime
g_EDA_Appl->m_CurrentOptionFile * g_EDA_Appl->m_CurrentOptionFile
*/ */
{ {
const PARAM_CFG_BASE * pt_cfg; const PARAM_CFG_BASE* pt_cfg;
wxString timestamp; wxString timestamp;
if ( List == NULL )return FALSE; if( List == NULL )
return FALSE;
ReCreatePrjConfig(local_config_filename, GroupName, FALSE); ReCreatePrjConfig( local_config_filename, GroupName, FALSE );
g_Prj_Config->SetPath(UNIX_STRING_DIR_SEP); g_Prj_Config->SetPath( UNIX_STRING_DIR_SEP );
timestamp = g_Prj_Config->Read( wxT("update") ); timestamp = g_Prj_Config->Read( wxT( "update" ) );
if ( Load_Only_if_New && ( !timestamp.IsEmpty() ) && if( Load_Only_if_New && ( !timestamp.IsEmpty() )
(timestamp == g_EDA_Appl->m_CurrentOptionFileDateAndTime) ) && (timestamp == g_EDA_Appl->m_CurrentOptionFileDateAndTime) )
{ {
return FALSE; return FALSE;
} }
g_EDA_Appl->m_CurrentOptionFileDateAndTime = timestamp; g_EDA_Appl->m_CurrentOptionFileDateAndTime = timestamp;
if ( ! g_Prj_Default_Config_FullFilename.IsEmpty() ) if( !g_Prj_Default_Config_FullFilename.IsEmpty() )
g_EDA_Appl->m_CurrentOptionFile = g_Prj_Default_Config_FullFilename; g_EDA_Appl->m_CurrentOptionFile = g_Prj_Default_Config_FullFilename;
else else
{ {
if ( wxPathOnly(g_Prj_Config_LocalFilename).IsEmpty() ) if( wxPathOnly( g_Prj_Config_LocalFilename ).IsEmpty() )
g_EDA_Appl->m_CurrentOptionFile = g_EDA_Appl->m_CurrentOptionFile =
wxGetCwd() + STRING_DIR_SEP + g_Prj_Config_LocalFilename; wxGetCwd() + STRING_DIR_SEP + g_Prj_Config_LocalFilename;
else else
g_EDA_Appl->m_CurrentOptionFile = g_Prj_Config_LocalFilename; g_EDA_Appl->m_CurrentOptionFile = g_Prj_Config_LocalFilename;
} }
for( ; *List != NULL ; List++) for( ; *List != NULL; List++ )
{ {
pt_cfg = *List; pt_cfg = *List;
if ( pt_cfg->m_Group ) g_Prj_Config->SetPath(pt_cfg->m_Group); if( pt_cfg->m_Group )
else g_Prj_Config->SetPath(GroupName); g_Prj_Config->SetPath( pt_cfg->m_Group );
else
g_Prj_Config->SetPath( GroupName );
switch( pt_cfg->m_Type ) switch( pt_cfg->m_Type )
{ {
case PARAM_INT: case PARAM_INT:
{ {
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_INT *)pt_cfg) #define PTCFG ( (PARAM_CFG_INT*) pt_cfg )
int itmp; int itmp;
if ( pt_cfg->m_Setup) if( pt_cfg->m_Setup )
itmp = m_EDA_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); itmp = m_EDA_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default );
else else
itmp = g_Prj_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); itmp = g_Prj_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default );
if( (itmp < PTCFG->m_Min) || (itmp > PTCFG->m_Max) ) if( (itmp < PTCFG->m_Min) || (itmp > PTCFG->m_Max) )
itmp = PTCFG->m_Default; itmp = PTCFG->m_Default;
*PTCFG->m_Pt_param = itmp; *PTCFG->m_Pt_param = itmp;
break; break;
} }
...@@ -264,14 +301,16 @@ wxString timestamp; ...@@ -264,14 +301,16 @@ wxString timestamp;
case PARAM_SETCOLOR: case PARAM_SETCOLOR:
{ {
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_SETCOLOR *)pt_cfg) #define PTCFG ( (PARAM_CFG_SETCOLOR*) pt_cfg )
int itmp; int itmp;
if ( pt_cfg->m_Setup) if( pt_cfg->m_Setup )
itmp = m_EDA_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); itmp = m_EDA_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default );
else else
itmp = g_Prj_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); itmp = g_Prj_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default );
if( (itmp < 0) || (itmp > MAX_COLOR) ) if( (itmp < 0) || (itmp > MAX_COLOR) )
itmp = PTCFG->m_Default; itmp = PTCFG->m_Default;
*PTCFG->m_Pt_param = itmp; *PTCFG->m_Pt_param = itmp;
break; break;
} }
...@@ -279,17 +318,18 @@ wxString timestamp; ...@@ -279,17 +318,18 @@ wxString timestamp;
case PARAM_DOUBLE: case PARAM_DOUBLE:
{ {
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_DOUBLE *)pt_cfg) #define PTCFG ( (PARAM_CFG_DOUBLE*) pt_cfg )
double ftmp = 0; wxString msg; double ftmp = 0; wxString msg;
if ( pt_cfg->m_Setup) if( pt_cfg->m_Setup )
msg = m_EDA_Config->Read(pt_cfg->m_Ident, wxT("") ); msg = m_EDA_Config->Read( pt_cfg->m_Ident, wxT( "" ) );
else else
msg = g_Prj_Config->Read(pt_cfg->m_Ident, wxT("") ); msg = g_Prj_Config->Read( pt_cfg->m_Ident, wxT( "" ) );
if ( msg.IsEmpty() ) ftmp = PTCFG->m_Default; if( msg.IsEmpty() )
ftmp = PTCFG->m_Default;
else else
{ {
msg.ToDouble(&ftmp); msg.ToDouble( &ftmp );
if( (ftmp < PTCFG->m_Min) || (ftmp > PTCFG->m_Max) ) if( (ftmp < PTCFG->m_Min) || (ftmp > PTCFG->m_Max) )
ftmp = PTCFG->m_Default; ftmp = PTCFG->m_Default;
} }
...@@ -300,12 +340,13 @@ wxString timestamp; ...@@ -300,12 +340,13 @@ wxString timestamp;
case PARAM_BOOL: case PARAM_BOOL:
{ {
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_BOOL *)pt_cfg) #define PTCFG ( (PARAM_CFG_BOOL*) pt_cfg )
int itmp; int itmp;
if ( pt_cfg->m_Setup) if( pt_cfg->m_Setup )
itmp = m_EDA_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); itmp = m_EDA_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default );
else else
itmp = g_Prj_Config->Read(pt_cfg->m_Ident, PTCFG->m_Default ); itmp = g_Prj_Config->Read( pt_cfg->m_Ident, PTCFG->m_Default );
*PTCFG->m_Pt_param = itmp ? TRUE : FALSE; *PTCFG->m_Pt_param = itmp ? TRUE : FALSE;
break; break;
} }
...@@ -313,29 +354,33 @@ wxString timestamp; ...@@ -313,29 +354,33 @@ wxString timestamp;
case PARAM_WXSTRING: case PARAM_WXSTRING:
{ {
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_WXSTRING *)pt_cfg) #define PTCFG ( (PARAM_CFG_WXSTRING*) pt_cfg )
if (PTCFG->m_Pt_param == NULL) break; if( PTCFG->m_Pt_param == NULL )
if ( pt_cfg->m_Setup) break;
*PTCFG->m_Pt_param = m_EDA_Config->Read(pt_cfg->m_Ident );
if( pt_cfg->m_Setup )
*PTCFG->m_Pt_param = m_EDA_Config->Read( pt_cfg->m_Ident );
else else
*PTCFG->m_Pt_param = g_Prj_Config->Read(pt_cfg->m_Ident ); *PTCFG->m_Pt_param = g_Prj_Config->Read( pt_cfg->m_Ident );
break; break;
} }
case PARAM_LIBNAME_LIST: case PARAM_LIBNAME_LIST:
{ {
#undef PTCFG #undef PTCFG
#define PTCFG ((PARAM_CFG_LIBNAME_LIST *)pt_cfg) #define PTCFG ( (PARAM_CFG_LIBNAME_LIST*) pt_cfg )
int indexlib = 1; // We start indexlib to 1 because first lib name is LibName1 int indexlib = 1; // We start indexlib to 1 because first lib name is LibName1
wxString libname, id_lib; wxString libname, id_lib;
wxArrayString * libname_list = PTCFG->m_Pt_param; wxArrayString* libname_list = PTCFG->m_Pt_param;
while ( 1 ) while( 1 )
{ {
id_lib = pt_cfg->m_Ident; id_lib << indexlib; indexlib++; id_lib = pt_cfg->m_Ident; id_lib << indexlib; indexlib++;
libname = g_Prj_Config->Read(id_lib, wxT("") ); libname = g_Prj_Config->Read( id_lib, wxT( "" ) );
if( libname.IsEmpty() ) break; if( libname.IsEmpty() )
libname_list->Add(libname); break;
libname_list->Add( libname );
} }
break; break;
} }
...@@ -355,8 +400,8 @@ wxString timestamp; ...@@ -355,8 +400,8 @@ wxString timestamp;
/* Constructeurs des descripteurs de structs de configuration */ /* Constructeurs des descripteurs de structs de configuration */
/**************************************************************/ /**************************************************************/
PARAM_CFG_BASE::PARAM_CFG_BASE(const wxChar * ident, const paramcfg_id type, PARAM_CFG_BASE::PARAM_CFG_BASE( const wxChar* ident, const paramcfg_id type,
const wxChar * group) const wxChar* group )
{ {
m_Ident = ident; m_Ident = ident;
m_Type = type; m_Type = type;
...@@ -365,10 +410,10 @@ PARAM_CFG_BASE::PARAM_CFG_BASE(const wxChar * ident, const paramcfg_id type, ...@@ -365,10 +410,10 @@ PARAM_CFG_BASE::PARAM_CFG_BASE(const wxChar * ident, const paramcfg_id type,
} }
PARAM_CFG_INT::PARAM_CFG_INT(const wxChar * ident, int * ptparam, PARAM_CFG_INT::PARAM_CFG_INT( const wxChar* ident, int* ptparam,
int default_val, int min, int max, int default_val, int min, int max,
const wxChar * group) const wxChar* group ) :
: PARAM_CFG_BASE(ident, PARAM_INT, group) PARAM_CFG_BASE( ident, PARAM_INT, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val; m_Default = default_val;
...@@ -376,10 +421,11 @@ PARAM_CFG_INT::PARAM_CFG_INT(const wxChar * ident, int * ptparam, ...@@ -376,10 +421,11 @@ PARAM_CFG_INT::PARAM_CFG_INT(const wxChar * ident, int * ptparam,
m_Max = max; m_Max = max;
} }
PARAM_CFG_INT::PARAM_CFG_INT(bool Insetup, const wxChar * ident, int * ptparam,
PARAM_CFG_INT::PARAM_CFG_INT( bool Insetup, const wxChar* ident, int* ptparam,
int default_val, int min, int max, int default_val, int min, int max,
const wxChar * group) const wxChar* group ) :
: PARAM_CFG_BASE(ident, PARAM_INT, group) PARAM_CFG_BASE( ident, PARAM_INT, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val; m_Default = default_val;
...@@ -388,37 +434,42 @@ PARAM_CFG_INT::PARAM_CFG_INT(bool Insetup, const wxChar * ident, int * ptparam, ...@@ -388,37 +434,42 @@ PARAM_CFG_INT::PARAM_CFG_INT(bool Insetup, const wxChar * ident, int * ptparam,
m_Setup = Insetup; m_Setup = Insetup;
} }
PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR(const wxChar * ident, int * ptparam,
int default_val, const wxChar * group) PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR( const wxChar* ident, int* ptparam,
: PARAM_CFG_BASE(ident, PARAM_SETCOLOR, group) int default_val, const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_SETCOLOR, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val; m_Default = default_val;
} }
PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR(bool Insetup, const wxChar * ident, int * ptparam,
int default_val, const wxChar * group) PARAM_CFG_SETCOLOR::PARAM_CFG_SETCOLOR( bool Insetup, const wxChar* ident, int* ptparam,
: PARAM_CFG_BASE(ident, PARAM_SETCOLOR, group) int default_val, const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_SETCOLOR, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val; m_Default = default_val;
m_Setup = Insetup; m_Setup = Insetup;
} }
PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE(const wxChar * ident, double * ptparam,
double default_val, double min , double max, PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE( const wxChar* ident, double* ptparam,
const wxChar * group) double default_val, double min, double max,
: PARAM_CFG_BASE(ident, PARAM_DOUBLE, group) const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_DOUBLE, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val; m_Default = default_val;
m_Min = min; m_Min = min;
m_Max = max; m_Max = max;
} }
PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE(bool Insetup, const wxChar * ident, double * ptparam,
double default_val, double min , double max,
const wxChar * group) PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE( bool Insetup, const wxChar* ident, double* ptparam,
: PARAM_CFG_BASE(ident, PARAM_DOUBLE, group) double default_val, double min, double max,
const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_DOUBLE, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val; m_Default = default_val;
...@@ -427,42 +478,46 @@ PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE(bool Insetup, const wxChar * ident, double * ...@@ -427,42 +478,46 @@ PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE(bool Insetup, const wxChar * ident, double *
m_Setup = Insetup; m_Setup = Insetup;
} }
PARAM_CFG_BOOL::PARAM_CFG_BOOL(const wxChar * ident, bool * ptparam,
int default_val, const wxChar * group) PARAM_CFG_BOOL::PARAM_CFG_BOOL( const wxChar* ident, bool* ptparam,
: PARAM_CFG_BASE(ident, PARAM_BOOL, group) int default_val, const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_BOOL, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val ? TRUE : FALSE; m_Default = default_val ? TRUE : FALSE;
} }
PARAM_CFG_BOOL::PARAM_CFG_BOOL(bool Insetup, const wxChar * ident, bool * ptparam,
int default_val, const wxChar * group) PARAM_CFG_BOOL::PARAM_CFG_BOOL( bool Insetup, const wxChar* ident, bool* ptparam,
: PARAM_CFG_BASE(ident, PARAM_BOOL, group) int default_val, const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_BOOL, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Default = default_val ? TRUE : FALSE; m_Default = default_val ? TRUE : FALSE;
m_Setup = Insetup; m_Setup = Insetup;
} }
PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING(const wxChar * ident,
wxString * ptparam, const wxChar * group) PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING( const wxChar* ident,
: PARAM_CFG_BASE(ident, PARAM_WXSTRING, group) wxString* ptparam, const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_WXSTRING, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
} }
PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING(bool Insetup, const wxChar * ident,
wxString * ptparam, const wxChar * group) PARAM_CFG_WXSTRING::PARAM_CFG_WXSTRING( bool Insetup, const wxChar* ident,
: PARAM_CFG_BASE(ident, PARAM_WXSTRING, group) wxString* ptparam, const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_WXSTRING, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
m_Setup = Insetup; m_Setup = Insetup;
} }
PARAM_CFG_LIBNAME_LIST::PARAM_CFG_LIBNAME_LIST(const wxChar * ident,
wxArrayString * ptparam, const wxChar * group) PARAM_CFG_LIBNAME_LIST::PARAM_CFG_LIBNAME_LIST( const wxChar* ident,
: PARAM_CFG_BASE(ident, PARAM_LIBNAME_LIST, group) wxArrayString* ptparam, const wxChar* group ) :
PARAM_CFG_BASE( ident, PARAM_LIBNAME_LIST, group )
{ {
m_Pt_param = ptparam; m_Pt_param = ptparam;
} }
/***********************************/ /***********************************/
/** pcbcfg() : configuration **/ /** pcbcfg() : configuration **/
/***********************************/ /***********************************/
/* lit ou met a jour la configuration de PCBNEW */ /* lit ou met a jour la configuration de PCBNEW */
...@@ -21,52 +21,55 @@ ...@@ -21,52 +21,55 @@
/* Variables locales */ /* Variables locales */
#define HOTKEY_FILENAME wxT("pcbnew") #define HOTKEY_FILENAME wxT( "pcbnew" )
/***********************************************************/ /***********************************************************/
void WinEDA_PcbFrame::Process_Config(wxCommandEvent& event) void WinEDA_PcbFrame::Process_Config( wxCommandEvent& event )
/***********************************************************/ /***********************************************************/
{ {
int id = event.GetId(); int id = event.GetId();
wxPoint pos; wxPoint pos;
wxClientDC dc(DrawPanel);
wxString FullFileName;
DrawPanel->PrepareGraphicContext(&dc); wxClientDC dc( DrawPanel );
wxString FullFileName;
DrawPanel->PrepareGraphicContext( &dc );
pos = GetPosition(); pos = GetPosition();
pos.x += 20; pos.y += 20; pos.x += 20;
pos.y += 20;
switch( id ) switch( id )
{ {
case ID_COLORS_SETUP : case ID_COLORS_SETUP:
DisplayColorSetupFrame(this, pos); DisplayColorSetupFrame( this, pos );
break; break;
case ID_CONFIG_REQ : // Creation de la fenetre de configuration case ID_CONFIG_REQ: // Creation de la fenetre de configuration
InstallConfigFrame(pos); InstallConfigFrame( pos );
break; break;
case ID_PCB_TRACK_SIZE_SETUP: case ID_PCB_TRACK_SIZE_SETUP:
case ID_PCB_LOOK_SETUP: case ID_PCB_LOOK_SETUP:
case ID_OPTIONS_SETUP: case ID_OPTIONS_SETUP:
case ID_PCB_DRAWINGS_WIDTHS_SETUP: case ID_PCB_DRAWINGS_WIDTHS_SETUP:
InstallPcbOptionsFrame(pos, &dc, id); InstallPcbOptionsFrame( pos, &dc, id );
break; break;
case ID_PCB_PAD_SETUP: case ID_PCB_PAD_SETUP:
InstallPadOptionsFrame( NULL, NULL, pos); InstallPadOptionsFrame( NULL, NULL, pos );
break; break;
case ID_CONFIG_SAVE: case ID_CONFIG_SAVE:
Update_config(this); Update_config( this );
break; break;
case ID_CONFIG_READ: case ID_CONFIG_READ:
FullFileName = GetScreen()->m_FileName.AfterLast('/'); FullFileName = GetScreen()->m_FileName.AfterLast( '/' );
ChangeFileNameExt(FullFileName, g_Prj_Config_Filename_ext); ChangeFileNameExt( FullFileName, g_Prj_Config_Filename_ext );
FullFileName = EDA_FileSelector(_("Read config file"), FullFileName = EDA_FileSelector( _( "Read config file" ),
wxPathOnly(GetScreen()->m_FileName),/* Chemin par defaut */ wxPathOnly( GetScreen()->m_FileName ), /* Chemin par defaut */
FullFileName, /* nom fichier par defaut */ FullFileName, /* nom fichier par defaut */
g_Prj_Config_Filename_ext, /* extension par defaut */ g_Prj_Config_Filename_ext, /* extension par defaut */
FullFileName, /* Masque d'affichage */ FullFileName, /* Masque d'affichage */
...@@ -74,25 +77,26 @@ wxString FullFileName; ...@@ -74,25 +77,26 @@ wxString FullFileName;
wxFD_OPEN, wxFD_OPEN,
TRUE /* ne change pas de repertoire courant */ TRUE /* ne change pas de repertoire courant */
); );
if ( FullFileName.IsEmpty()) break; if( FullFileName.IsEmpty() )
if ( ! wxFileExists(FullFileName) ) break;
if( !wxFileExists( FullFileName ) )
{ {
wxString msg; wxString msg;
msg.Printf(_("File %s not found"), FullFileName.GetData()); msg.Printf( _( "File %s not found" ), FullFileName.GetData() );
DisplayError(this, msg); break; DisplayError( this, msg ); break;
} }
Read_Config(FullFileName ); Read_Config( FullFileName );
break; break;
case ID_PREFERENCES_CREATE_CONFIG_HOTKEYS: case ID_PREFERENCES_CREATE_CONFIG_HOTKEYS:
FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice );
FullFileName += HOTKEY_FILENAME; FullFileName += HOTKEY_FILENAME;
FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; FullFileName += DEFAULT_HOTKEY_FILENAME_EXT;
WriteHotkeyConfigFile(FullFileName, s_Pcbnew_Editor_Hokeys_Descr, true); WriteHotkeyConfigFile( FullFileName, s_Pcbnew_Editor_Hokeys_Descr, true );
break; break;
case ID_PREFERENCES_READ_CONFIG_HOTKEYS: case ID_PREFERENCES_READ_CONFIG_HOTKEYS:
Read_Hotkey_Config( this, true); Read_Hotkey_Config( this, true );
break; break;
case ID_PREFERENCES_EDIT_CONFIG_HOTKEYS: case ID_PREFERENCES_EDIT_CONFIG_HOTKEYS:
...@@ -101,8 +105,8 @@ wxString FullFileName; ...@@ -101,8 +105,8 @@ wxString FullFileName;
FullFileName += HOTKEY_FILENAME; FullFileName += HOTKEY_FILENAME;
FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; FullFileName += DEFAULT_HOTKEY_FILENAME_EXT;
wxString editorname = GetEditorName(); wxString editorname = GetEditorName();
if ( !editorname.IsEmpty() ) if( !editorname.IsEmpty() )
ExecuteFile(this, editorname, FullFileName); ExecuteFile( this, editorname, FullFileName );
break; break;
} }
...@@ -116,54 +120,57 @@ wxString FullFileName; ...@@ -116,54 +120,57 @@ wxString FullFileName;
break; break;
default: default:
DisplayError(this, wxT("WinEDA_PcbFrame::Process_Config internal error")); DisplayError( this, wxT( "WinEDA_PcbFrame::Process_Config internal error" ) );
} }
} }
/***************************************************************/ /***************************************************************/
bool Read_Hotkey_Config( WinEDA_DrawFrame * frame, bool verbose ) bool Read_Hotkey_Config( WinEDA_DrawFrame* frame, bool verbose )
/***************************************************************/ /***************************************************************/
/* /*
* Read the hotkey files config for pcbnew and module_edit * Read the hotkey files config for pcbnew and module_edit
*/ */
{ {
wxString FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice ); wxString FullFileName = ReturnHotkeyConfigFilePath( g_ConfigFileLocationChoice );
FullFileName += HOTKEY_FILENAME; FullFileName += HOTKEY_FILENAME;
FullFileName += DEFAULT_HOTKEY_FILENAME_EXT; FullFileName += DEFAULT_HOTKEY_FILENAME_EXT;
return frame->ReadHotkeyConfigFile(FullFileName, s_Pcbnew_Editor_Hokeys_Descr, verbose); return frame->ReadHotkeyConfigFile( FullFileName, s_Pcbnew_Editor_Hokeys_Descr, verbose );
} }
/**************************************************************************/ /**************************************************************************/
bool Read_Config(const wxString & project_name) bool Read_Config( const wxString& project_name )
/*************************************************************************/ /*************************************************************************/
/* lit la configuration, si elle n'a pas deja ete lue
1 - lit <nom fichier brd>.pro
2 - si non trouve lit <chemin de *.exe>/kicad.pro
3 - si non trouve: init des variables aux valeurs par defaut
Retourne TRUE si lu, FALSE si config non lue ou non modifie /* lit la configuration, si elle n'a pas deja ete lue
*/ * 1 - lit <nom fichier brd>.pro
* 2 - si non trouve lit <chemin de *.exe>/kicad.pro
* 3 - si non trouve: init des variables aux valeurs par defaut
*
* Retourne TRUE si lu, FALSE si config non lue ou non modifie
*/
{ {
wxString FullFileName; wxString FullFileName;
int ii; int ii;
g_Prj_Config_Filename_ext = wxT(".pro"); g_Prj_Config_Filename_ext = wxT( ".pro" );
FullFileName = project_name; FullFileName = project_name;
ChangeFileNameExt(FullFileName, g_Prj_Config_Filename_ext); ChangeFileNameExt( FullFileName, g_Prj_Config_Filename_ext );
/* Init des valeurs par defaut */ /* Init des valeurs par defaut */
g_LibName_List.Clear(); g_LibName_List.Clear();
g_EDA_Appl->ReadProjectConfig( FullFileName, g_EDA_Appl->ReadProjectConfig( FullFileName,
GROUP, ParamCfgList, FALSE); GROUP, ParamCfgList, FALSE );
/* Traitement des variables particulieres: */ /* Traitement des variables particulieres: */
SetRealLibraryPath( wxT("modules") ); SetRealLibraryPath( wxT( "modules" ) );
if (ScreenPcb) if( ScreenPcb )
{ {
ScreenPcb->m_Diviseur_Grille = Pcbdiv_grille; ScreenPcb->m_Diviseur_Grille = Pcbdiv_grille;
ScreenPcb->m_UserGrid = g_UserGrid; ScreenPcb->m_UserGrid = g_UserGrid;
...@@ -172,7 +179,7 @@ int ii; ...@@ -172,7 +179,7 @@ int ii;
g_DesignSettings.m_TrackWidthHistory[0] = g_DesignSettings.m_CurrentTrackWidth; g_DesignSettings.m_TrackWidthHistory[0] = g_DesignSettings.m_CurrentTrackWidth;
g_DesignSettings.m_ViaSizeHistory[0] = g_DesignSettings.m_CurrentViaSize; g_DesignSettings.m_ViaSizeHistory[0] = g_DesignSettings.m_CurrentViaSize;
for ( ii = 1; ii < HISTORY_NUMBER; ii++) for( ii = 1; ii < HISTORY_NUMBER; ii++ )
{ {
g_DesignSettings.m_TrackWidthHistory[ii] = 0; g_DesignSettings.m_TrackWidthHistory[ii] = 0;
g_DesignSettings.m_ViaSizeHistory[ii] = 0; g_DesignSettings.m_ViaSizeHistory[ii] = 0;
...@@ -181,20 +188,21 @@ int ii; ...@@ -181,20 +188,21 @@ int ii;
return TRUE; return TRUE;
} }
/**********************************************************/ /**********************************************************/
void WinEDA_PcbFrame::Update_config(wxWindow * displayframe) void WinEDA_PcbFrame::Update_config( wxWindow* displayframe )
/***********************************************************/ /***********************************************************/
/* enregistrement de la config */ /* enregistrement de la config */
{ {
wxString FullFileName; wxString FullFileName;
wxString mask; wxString mask;
mask = wxT("*") + g_Prj_Config_Filename_ext; mask = wxT( "*" ) + g_Prj_Config_Filename_ext;
FullFileName = GetScreen()->m_FileName.AfterLast('/'); FullFileName = GetScreen()->m_FileName.AfterLast( '/' );
ChangeFileNameExt(FullFileName, g_Prj_Config_Filename_ext); ChangeFileNameExt( FullFileName, g_Prj_Config_Filename_ext );
FullFileName = EDA_FileSelector(_("Save preferences"), FullFileName = EDA_FileSelector( _( "Save preferences" ),
wxPathOnly(GetScreen()->m_FileName), /* Chemin par defaut */ wxPathOnly( GetScreen()->m_FileName ), /* Chemin par defaut */
FullFileName, /* nom fichier par defaut */ FullFileName, /* nom fichier par defaut */
g_Prj_Config_Filename_ext, /* extension par defaut */ g_Prj_Config_Filename_ext, /* extension par defaut */
mask, /* Masque d'affichage */ mask, /* Masque d'affichage */
...@@ -202,12 +210,11 @@ wxString mask; ...@@ -202,12 +210,11 @@ wxString mask;
wxFD_SAVE, wxFD_SAVE,
TRUE TRUE
); );
if ( FullFileName.IsEmpty() ) return; if( FullFileName.IsEmpty() )
return;
Pcbdiv_grille = GetScreen()->m_Diviseur_Grille; Pcbdiv_grille = GetScreen()->m_Diviseur_Grille;
/* ecriture de la configuration */ /* ecriture de la configuration */
g_EDA_Appl->WriteProjectConfig(FullFileName, wxT("/pcbnew"), ParamCfgList); g_EDA_Appl->WriteProjectConfig( FullFileName, wxT( "/pcbnew" ), ParamCfgList );
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment