Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
8eff8df9
Commit
8eff8df9
authored
Feb 19, 2008
by
dickelbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
beautify
parent
ce04867e
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
649 additions
and
581 deletions
+649
-581
common.cpp
common/common.cpp
+18
-18
edaappl.cpp
common/edaappl.cpp
+13
-7
projet_config.cpp
common/projet_config.cpp
+452
-397
pcbcfg.cpp
pcbnew/pcbcfg.cpp
+166
-159
No files found.
common/common.cpp
View file @
8eff8df9
...
...
@@ -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.
...
...
@@ -293,12 +293,12 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
#if 1 // my specific layer names
static
const
wxString
layer_name_list
[]
=
{
_
(
"H2 Bottom"
),
_
(
"Power"
),
_
(
"V2 Signal"
),
_
(
"H1 Signal"
),
_( "Ground" ), _( "Inner L5
" ), _( "Inner L6 " ), _( "Inner L7
" ),
_( "Inner L8
" ), _( "Inner L9 " ),
_( "Inner L10" ), _( "Inner L11" ),
_
(
"Ground"
),
_
(
"Inner L5
"
),
_
(
"Inner L6"
),
_
(
"Inner L7
"
),
_
(
"Inner L8
"
),
_
(
"Inner L9"
),
_
(
"Inner L10"
),
_
(
"Inner L11"
),
_
(
"Inner L12"
),
_
(
"Inner L13"
),
_
(
"Inner L14"
),
_
(
"Component"
),
_
(
"Adhes Cop"
),
_
(
"Adhes Cmp"
),
_
(
"SoldP Cop"
),
_
(
"SoldP Cmp"
),
_( "SilkS Cop" ), _( "SilkS Cmp" ), _( "Mask Cop
" ), _( "Mask Cmp
" ),
_( "Drawings " ), _( "Comments
" ), _( "Eco1 " ), _( "Eco2
" ),
_
(
"SilkS Cop"
),
_
(
"SilkS Cmp"
),
_
(
"Mask Cop
"
),
_
(
"Mask Cmp
"
),
_
(
"Drawings "
),
_
(
"Comments
"
),
_
(
"Eco1"
),
_
(
"Eco2
"
),
_
(
"Edges Pcb"
),
_
(
"BAD INDEX"
),
};
#else
...
...
common/edaappl.cpp
View file @
8eff8df9
...
...
@@ -270,7 +270,8 @@ void WinEDA_App::GetSettings()
wxString
Line
,
Ident
;
unsigned
ii
;
m_HelpSize
.
x
=
500
;
m_HelpSize
.
y
=
400
;
m_HelpSize
.
x
=
500
;
m_HelpSize
.
y
=
400
;
if
(
m_EDA_CommonConfig
)
{
...
...
@@ -285,8 +286,11 @@ void WinEDA_App::GetSettings()
for
(
ii
=
0
;
ii
<
10
;
ii
++
)
{
Ident
=
wxT
(
"LastProject"
);
if
(
ii
)
Ident
=
wxT
(
"LastProject"
);
if
(
ii
)
Ident
<<
ii
;
if
(
m_EDA_Config
->
Read
(
Ident
,
&
Line
)
)
m_LastProject
.
Add
(
Line
);
}
...
...
@@ -299,6 +303,7 @@ void WinEDA_App::GetSettings()
Line
=
m_EDA_Config
->
Read
(
wxT
(
"SdtFontType"
),
wxEmptyString
);
if
(
!
Line
.
IsEmpty
()
)
g_StdFont
->
SetFaceName
(
Line
);
ii
=
m_EDA_Config
->
Read
(
wxT
(
"SdtFontStyle"
),
wxFONTFAMILY_ROMAN
);
g_StdFont
->
SetStyle
(
ii
);
ii
=
m_EDA_Config
->
Read
(
wxT
(
"SdtFontWeight"
),
wxNORMAL
);
...
...
@@ -309,6 +314,7 @@ void WinEDA_App::GetSettings()
Line
=
m_EDA_Config
->
Read
(
wxT
(
"MsgFontType"
),
wxEmptyString
);
if
(
!
Line
.
IsEmpty
()
)
g_MsgFont
->
SetFaceName
(
Line
);
ii
=
m_EDA_Config
->
Read
(
wxT
(
"MsgFontStyle"
),
wxFONTFAMILY_ROMAN
);
g_MsgFont
->
SetStyle
(
ii
);
ii
=
m_EDA_Config
->
Read
(
wxT
(
"MsgFontWeight"
),
wxNORMAL
);
...
...
@@ -318,6 +324,7 @@ void WinEDA_App::GetSettings()
Line
=
m_EDA_Config
->
Read
(
wxT
(
"DialogFontType"
),
wxEmptyString
);
if
(
!
Line
.
IsEmpty
()
)
g_DialogFont
->
SetFaceName
(
Line
);
ii
=
m_EDA_Config
->
Read
(
wxT
(
"DialogFontStyle"
),
wxFONTFAMILY_ROMAN
);
g_DialogFont
->
SetStyle
(
ii
);
ii
=
m_EDA_Config
->
Read
(
wxT
(
"DialogFontWeight"
),
wxNORMAL
);
...
...
@@ -343,7 +350,6 @@ void WinEDA_App::SaveSettings()
{
unsigned
int
ii
;
if
(
m_EDA_Config
==
NULL
)
return
;
...
...
common/projet_config.cpp
View file @
8eff8df9
/**************************************************/
/* projet_config : routines de trace du cartouche */
/**************************************************/
/**************************************************/
/* projet_config : routines de trace du cartouche */
/**************************************************/
#include "fctsys.h"
#include "gr_basic.h"
...
...
@@ -13,47 +13,55 @@
/*********************************************************************/
static
bool
ReCreatePrjConfig
(
const
wxString
&
local_config_filename
,
const
wxString
&
GroupName
,
bool
ForceUseLocalConfig
)
static
bool
ReCreatePrjConfig
(
const
wxString
&
local_config_filename
,
const
wxString
&
GroupName
,
bool
ForceUseLocalConfig
)
/*********************************************************************/
/* Cree ou recree la configuration locale de kicad (filename.pro)
initialise:
g_Prj_Config
g_Prj_Config_LocalFilename
g_Prj_Default_Config_FullFilename
return:
TRUE si config locale
FALSE si default config
*/
*
initialise:
*
g_Prj_Config
*
g_Prj_Config_LocalFilename
*
g_Prj_Default_Config_FullFilename
*
return:
*
TRUE si config locale
*
FALSE si default config
*/
{
// free old config
if
(
g_Prj_Config
)
delete
g_Prj_Config
;
if
(
g_Prj_Config
)
delete
g_Prj_Config
;
g_Prj_Config
=
NULL
;
// Init local Config filename
if
(
local_config_filename
.
IsEmpty
()
)
g_Prj_Config_LocalFilename
=
wxT
(
"kicad"
);
else
g_Prj_Config_LocalFilename
=
local_config_filename
;
if
(
local_config_filename
.
IsEmpty
()
)
g_Prj_Config_LocalFilename
=
wxT
(
"kicad"
);
else
g_Prj_Config_LocalFilename
=
local_config_filename
;
ChangeFileNameExt
(
g_Prj_Config_LocalFilename
,
g_Prj_Config_Filename_ext
);
// 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_Config
=
new
wxFileConfig
(
wxEmptyString
,
wxEmptyString
,
g_Prj_Config
=
new
wxFileConfig
(
wxEmptyString
,
wxEmptyString
,
g_Prj_Config_LocalFilename
,
wxEmptyString
,
wxCONFIG_USE_RELATIVE_PATH
);
wxCONFIG_USE_RELATIVE_PATH
);
g_Prj_Config
->
DontCreateOnDemand
();
if
(
ForceUseLocalConfig
)
return
TRUE
;
if
(
ForceUseLocalConfig
)
return
TRUE
;
// Test de la bonne version du fichier (ou groupe) de configuration
int
version
=
-
1
,
def_version
=
0
;
g_Prj_Config
->
SetPath
(
GroupName
);
version
=
g_Prj_Config
->
Read
(
wxT
(
"version"
),
def_version
);
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
if
(
version
>
0
)
return
TRUE
;
else
delete
g_Prj_Config
;
// Version incorrecte
g_Prj_Config
->
SetPath
(
GroupName
);
version
=
g_Prj_Config
->
Read
(
wxT
(
"version"
),
def_version
);
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
if
(
version
>
0
)
return
TRUE
;
else
delete
g_Prj_Config
;
// Version incorrecte
}
...
...
@@ -61,13 +69,14 @@ static bool ReCreatePrjConfig(const wxString & local_config_filename,
g_Prj_Config_LocalFilename
.
Empty
();
g_Prj_Default_Config_FullFilename
=
ReturnKicadDatasPath
()
+
wxT
(
"template/kicad"
)
+
wxT
(
"template/kicad"
)
+
g_Prj_Config_Filename_ext
;
// Recreate new config
g_Prj_Config
=
new
wxFileConfig
(
wxEmptyString
,
wxEmptyString
,
g_Prj_Config
=
new
wxFileConfig
(
wxEmptyString
,
wxEmptyString
,
wxEmptyString
,
g_Prj_Default_Config_FullFilename
,
wxCONFIG_USE_RELATIVE_PATH
);
wxCONFIG_USE_RELATIVE_PATH
);
g_Prj_Config
->
DontCreateOnDemand
();
return
FALSE
;
...
...
@@ -75,188 +84,216 @@ static bool ReCreatePrjConfig(const wxString & local_config_filename,
/***************************************************************************************/
void
WinEDA_App
::
WriteProjectConfig
(
const
wxString
&
local_config_filename
,
const
wxString
&
GroupName
,
PARAM_CFG_BASE
**
List
)
void
WinEDA_App
::
WriteProjectConfig
(
const
wxString
&
local_config_filename
,
const
wxString
&
GroupName
,
PARAM_CFG_BASE
**
List
)
/***************************************************************************************/
/* enregistrement de la config "projet"*/
{
const
PARAM_CFG_BASE
*
pt_cfg
;
wxString
msg
;
const
PARAM_CFG_BASE
*
pt_cfg
;
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
qui se trompe de rubrique si declaration [xx] en premiere ligne
(en fait si groupe vide) */
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
*
qui se trompe de rubrique si declaration [xx] en premiere ligne
*
(en fait si groupe vide) */
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
msg
=
DateAndTime
();
g_Prj_Config
->
Write
(
wxT
(
"update"
),
msg
);
g_Prj_Config
->
Write
(
wxT
(
"update"
),
msg
);
msg
=
GetAppName
();
g_Prj_Config
->
Write
(
wxT
(
"last_client"
),
msg
);
g_Prj_Config
->
Write
(
wxT
(
"last_client"
),
msg
);
/* 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
->
SetPath
(
GroupName
);
g_Prj_Config
->
Write
(
wxT
(
"version"
),
CONFIG_VERSION
);
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
g_Prj_Config
->
SetPath
(
GroupName
);
g_Prj_Config
->
Write
(
wxT
(
"version"
),
CONFIG_VERSION
);
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
for
(
;
*
List
!=
NULL
;
List
++
)
for
(
;
*
List
!=
NULL
;
List
++
)
{
pt_cfg
=
*
List
;
if
(
pt_cfg
->
m_Group
)
g_Prj_Config
->
SetPath
(
pt_cfg
->
m_Group
);
else
g_Prj_Config
->
SetPath
(
GroupName
);
if
(
pt_cfg
->
m_Group
)
g_Prj_Config
->
SetPath
(
pt_cfg
->
m_Group
);
else
g_Prj_Config
->
SetPath
(
GroupName
);
switch
(
pt_cfg
->
m_Type
)
{
case
PARAM_INT
:
#undef PTCFG
#define PTCFG ((PARAM_CFG_INT *)pt_cfg)
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
#define PTCFG ( (PARAM_CFG_INT*) pt_cfg )
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
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
;
case
PARAM_SETCOLOR
:
#undef PTCFG
#define PTCFG ((PARAM_CFG_SETCOLOR *)pt_cfg)
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
#define PTCFG ( (PARAM_CFG_SETCOLOR*) pt_cfg )
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
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
;
case
PARAM_DOUBLE
:
#undef PTCFG
#define PTCFG ((PARAM_CFG_DOUBLE *)pt_cfg)
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
#define PTCFG ( (PARAM_CFG_DOUBLE*) pt_cfg )
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
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
;
case
PARAM_BOOL
:
#undef PTCFG
#define PTCFG ((PARAM_CFG_BOOL *)pt_cfg)
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
(
int
)
*
PTCFG
->
m_Pt_param
);
#define PTCFG ( (PARAM_CFG_BOOL*) pt_cfg )
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
(
int
)
*
PTCFG
->
m_Pt_param
);
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
;
case
PARAM_WXSTRING
:
#undef PTCFG
#define PTCFG ((PARAM_CFG_WXSTRING *)pt_cfg)
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
#define PTCFG ( (PARAM_CFG_WXSTRING*) pt_cfg )
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
m_EDA_Config
->
Write
(
pt_cfg
->
m_Ident
,
*
PTCFG
->
m_Pt_param
);
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
;
case
PARAM_LIBNAME_LIST
:
{
#undef PTCFG
#define PTCFG ((PARAM_CFG_LIBNAME_LIST *)pt_cfg)
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
wxArrayString
*
libname_list
=
PTCFG
->
m_Pt_param
;
if
(
libname_list
==
NULL
)
break
;
#define PTCFG ( (PARAM_CFG_LIBNAME_LIST*) pt_cfg )
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
wxArrayString
*
libname_list
=
PTCFG
->
m_Pt_param
;
if
(
libname_list
==
NULL
)
break
;
unsigned
indexlib
=
0
;
wxString
cle_config
;
for
(
;
indexlib
<
libname_list
->
GetCount
();
indexlib
++
)
for
(
;
indexlib
<
libname_list
->
GetCount
();
indexlib
++
)
{
cle_config
=
pt_cfg
->
m_Ident
;
// We use indexlib+1 because first lib name is LibName1
cle_config
<<
(
indexlib
+
1
);
g_Prj_Config
->
Write
(
cle_config
,
libname_list
->
Item
(
indexlib
)
);
cle_config
<<
(
indexlib
+
1
);
g_Prj_Config
->
Write
(
cle_config
,
libname_list
->
Item
(
indexlib
)
);
}
break
;
}
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
);
g_Prj_Config
->
DeleteGroup
(
pt_cfg
->
m_Ident
);
m_EDA_Config
->
DeleteGroup
(
pt_cfg
->
m_Ident
);
g_Prj_Config
->
DeleteGroup
(
pt_cfg
->
m_Ident
);
}
break
;
}
}
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
delete
g_Prj_Config
;
g_Prj_Config
=
NULL
;
}
/***************************************************************************************/
bool
WinEDA_App
::
ReadProjectConfig
(
const
wxString
&
local_config_filename
,
const
wxString
&
GroupName
,
PARAM_CFG_BASE
**
List
,
bool
Load_Only_if_New
)
bool
WinEDA_App
::
ReadProjectConfig
(
const
wxString
&
local_config_filename
,
const
wxString
&
GroupName
,
PARAM_CFG_BASE
**
List
,
bool
Load_Only_if_New
)
/***************************************************************************************/
/* Lecture de la config "projet"
*** si Load_Only_if_New == TRUE, elle n'est lue que si elle
*** est differente de la config actuelle (dates differentes)
return:
TRUE si lue.
Met a jour en plus:
g_EDA_Appl->m_CurrentOptionFileDateAndTime
g_EDA_Appl->m_CurrentOptionFile
*/
*
*
return:
*
TRUE si lue.
*
Met a jour en plus:
*
g_EDA_Appl->m_CurrentOptionFileDateAndTime
*
g_EDA_Appl->m_CurrentOptionFile
*/
{
const
PARAM_CFG_BASE
*
pt_cfg
;
wxString
timestamp
;
const
PARAM_CFG_BASE
*
pt_cfg
;
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
);
timestamp
=
g_Prj_Config
->
Read
(
wxT
(
"update"
)
);
if
(
Load_Only_if_New
&&
(
!
timestamp
.
IsEmpty
()
)
&&
(
timestamp
==
g_EDA_Appl
->
m_CurrentOptionFileDateAndTime
)
)
g_Prj_Config
->
SetPath
(
UNIX_STRING_DIR_SEP
);
timestamp
=
g_Prj_Config
->
Read
(
wxT
(
"update"
)
);
if
(
Load_Only_if_New
&&
(
!
timestamp
.
IsEmpty
()
)
&&
(
timestamp
==
g_EDA_Appl
->
m_CurrentOptionFileDateAndTime
)
)
{
return
FALSE
;
}
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
;
else
{
if
(
wxPathOnly
(
g_Prj_Config_LocalFilename
).
IsEmpty
()
)
if
(
wxPathOnly
(
g_Prj_Config_LocalFilename
).
IsEmpty
()
)
g_EDA_Appl
->
m_CurrentOptionFile
=
wxGetCwd
()
+
STRING_DIR_SEP
+
g_Prj_Config_LocalFilename
;
else
g_EDA_Appl
->
m_CurrentOptionFile
=
g_Prj_Config_LocalFilename
;
}
for
(
;
*
List
!=
NULL
;
List
++
)
for
(
;
*
List
!=
NULL
;
List
++
)
{
pt_cfg
=
*
List
;
if
(
pt_cfg
->
m_Group
)
g_Prj_Config
->
SetPath
(
pt_cfg
->
m_Group
);
else
g_Prj_Config
->
SetPath
(
GroupName
);
if
(
pt_cfg
->
m_Group
)
g_Prj_Config
->
SetPath
(
pt_cfg
->
m_Group
);
else
g_Prj_Config
->
SetPath
(
GroupName
);
switch
(
pt_cfg
->
m_Type
)
{
case
PARAM_INT
:
{
#undef PTCFG
#define PTCFG ((PARAM_CFG_INT *)pt_cfg)
#define PTCFG ( (PARAM_CFG_INT*) pt_cfg )
int
itmp
;
if
(
pt_cfg
->
m_Setup
)
itmp
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
PTCFG
->
m_Default
);
if
(
pt_cfg
->
m_Setup
)
itmp
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
PTCFG
->
m_Default
);
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
)
)
itmp
=
PTCFG
->
m_Default
;
*
PTCFG
->
m_Pt_param
=
itmp
;
break
;
}
...
...
@@ -264,14 +301,16 @@ wxString timestamp;
case
PARAM_SETCOLOR
:
{
#undef PTCFG
#define PTCFG ((PARAM_CFG_SETCOLOR *)pt_cfg)
#define PTCFG ( (PARAM_CFG_SETCOLOR*) pt_cfg )
int
itmp
;
if
(
pt_cfg
->
m_Setup
)
itmp
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
PTCFG
->
m_Default
);
if
(
pt_cfg
->
m_Setup
)
itmp
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
PTCFG
->
m_Default
);
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
)
)
itmp
=
PTCFG
->
m_Default
;
*
PTCFG
->
m_Pt_param
=
itmp
;
break
;
}
...
...
@@ -279,17 +318,18 @@ wxString timestamp;
case
PARAM_DOUBLE
:
{
#undef PTCFG
#define PTCFG ((PARAM_CFG_DOUBLE *)pt_cfg)
#define PTCFG ( (PARAM_CFG_DOUBLE*) pt_cfg )
double
ftmp
=
0
;
wxString
msg
;
if
(
pt_cfg
->
m_Setup
)
msg
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
wxT
(
""
)
);
if
(
pt_cfg
->
m_Setup
)
msg
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
wxT
(
""
)
);
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
{
msg
.
ToDouble
(
&
ftmp
);
msg
.
ToDouble
(
&
ftmp
);
if
(
(
ftmp
<
PTCFG
->
m_Min
)
||
(
ftmp
>
PTCFG
->
m_Max
)
)
ftmp
=
PTCFG
->
m_Default
;
}
...
...
@@ -300,12 +340,13 @@ wxString timestamp;
case
PARAM_BOOL
:
{
#undef PTCFG
#define PTCFG ((PARAM_CFG_BOOL *)pt_cfg)
#define PTCFG ( (PARAM_CFG_BOOL*) pt_cfg )
int
itmp
;
if
(
pt_cfg
->
m_Setup
)
itmp
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
PTCFG
->
m_Default
);
if
(
pt_cfg
->
m_Setup
)
itmp
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
,
PTCFG
->
m_Default
);
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
;
break
;
}
...
...
@@ -313,29 +354,33 @@ wxString timestamp;
case
PARAM_WXSTRING
:
{
#undef PTCFG
#define PTCFG ((PARAM_CFG_WXSTRING *)pt_cfg)
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
*
PTCFG
->
m_Pt_param
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
);
#define PTCFG ( (PARAM_CFG_WXSTRING*) pt_cfg )
if
(
PTCFG
->
m_Pt_param
==
NULL
)
break
;
if
(
pt_cfg
->
m_Setup
)
*
PTCFG
->
m_Pt_param
=
m_EDA_Config
->
Read
(
pt_cfg
->
m_Ident
);
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
;
}
case
PARAM_LIBNAME_LIST
:
{
#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
wxString
libname
,
id_lib
;
wxArrayString
*
libname_list
=
PTCFG
->
m_Pt_param
;
while
(
1
)
wxArrayString
*
libname_list
=
PTCFG
->
m_Pt_param
;
while
(
1
)
{
id_lib
=
pt_cfg
->
m_Ident
;
id_lib
<<
indexlib
;
indexlib
++
;
libname
=
g_Prj_Config
->
Read
(
id_lib
,
wxT
(
""
)
);
if
(
libname
.
IsEmpty
()
)
break
;
libname_list
->
Add
(
libname
);
libname
=
g_Prj_Config
->
Read
(
id_lib
,
wxT
(
""
)
);
if
(
libname
.
IsEmpty
()
)
break
;
libname_list
->
Add
(
libname
);
}
break
;
}
...
...
@@ -355,8 +400,8 @@ wxString timestamp;
/* Constructeurs des descripteurs de structs de configuration */
/**************************************************************/
PARAM_CFG_BASE
::
PARAM_CFG_BASE
(
const
wxChar
*
ident
,
const
paramcfg_id
type
,
const
wxChar
*
group
)
PARAM_CFG_BASE
::
PARAM_CFG_BASE
(
const
wxChar
*
ident
,
const
paramcfg_id
type
,
const
wxChar
*
group
)
{
m_Ident
=
ident
;
m_Type
=
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
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_INT
,
group
)
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_INT
,
group
)
{
m_Pt_param
=
ptparam
;
m_Default
=
default_val
;
...
...
@@ -376,10 +421,11 @@ PARAM_CFG_INT::PARAM_CFG_INT(const wxChar * ident, int * ptparam,
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
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_INT
,
group
)
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_INT
,
group
)
{
m_Pt_param
=
ptparam
;
m_Default
=
default_val
;
...
...
@@ -388,37 +434,42 @@ PARAM_CFG_INT::PARAM_CFG_INT(bool Insetup, const wxChar * ident, int * ptparam,
m_Setup
=
Insetup
;
}
PARAM_CFG_SETCOLOR
::
PARAM_CFG_SETCOLOR
(
const
wxChar
*
ident
,
int
*
ptparam
,
int
default_val
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_SETCOLOR
,
group
)
PARAM_CFG_SETCOLOR
::
PARAM_CFG_SETCOLOR
(
const
wxChar
*
ident
,
int
*
ptparam
,
int
default_val
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_SETCOLOR
,
group
)
{
m_Pt_param
=
ptparam
;
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_BASE
(
ident
,
PARAM_SETCOLOR
,
group
)
PARAM_CFG_SETCOLOR
::
PARAM_CFG_SETCOLOR
(
bool
Insetup
,
const
wxChar
*
ident
,
int
*
ptparam
,
int
default_val
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_SETCOLOR
,
group
)
{
m_Pt_param
=
ptparam
;
m_Default
=
default_val
;
m_Setup
=
Insetup
;
}
PARAM_CFG_DOUBLE
::
PARAM_CFG_DOUBLE
(
const
wxChar
*
ident
,
double
*
ptparam
,
double
default_val
,
double
min
,
double
max
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_DOUBLE
,
group
)
PARAM_CFG_DOUBLE
::
PARAM_CFG_DOUBLE
(
const
wxChar
*
ident
,
double
*
ptparam
,
double
default_val
,
double
min
,
double
max
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_DOUBLE
,
group
)
{
m_Pt_param
=
ptparam
;
m_Default
=
default_val
;
m_Min
=
min
;
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_BASE
(
ident
,
PARAM_DOUBLE
,
group
)
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_BASE
(
ident
,
PARAM_DOUBLE
,
group
)
{
m_Pt_param
=
ptparam
;
m_Default
=
default_val
;
...
...
@@ -427,42 +478,46 @@ PARAM_CFG_DOUBLE::PARAM_CFG_DOUBLE(bool Insetup, const wxChar * ident, double *
m_Setup
=
Insetup
;
}
PARAM_CFG_BOOL
::
PARAM_CFG_BOOL
(
const
wxChar
*
ident
,
bool
*
ptparam
,
int
default_val
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_BOOL
,
group
)
PARAM_CFG_BOOL
::
PARAM_CFG_BOOL
(
const
wxChar
*
ident
,
bool
*
ptparam
,
int
default_val
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_BOOL
,
group
)
{
m_Pt_param
=
ptparam
;
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_BASE
(
ident
,
PARAM_BOOL
,
group
)
PARAM_CFG_BOOL
::
PARAM_CFG_BOOL
(
bool
Insetup
,
const
wxChar
*
ident
,
bool
*
ptparam
,
int
default_val
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_BOOL
,
group
)
{
m_Pt_param
=
ptparam
;
m_Default
=
default_val
?
TRUE
:
FALSE
;
m_Setup
=
Insetup
;
}
PARAM_CFG_WXSTRING
::
PARAM_CFG_WXSTRING
(
const
wxChar
*
ident
,
wxString
*
ptparam
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_WXSTRING
,
group
)
PARAM_CFG_WXSTRING
::
PARAM_CFG_WXSTRING
(
const
wxChar
*
ident
,
wxString
*
ptparam
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_WXSTRING
,
group
)
{
m_Pt_param
=
ptparam
;
}
PARAM_CFG_WXSTRING
::
PARAM_CFG_WXSTRING
(
bool
Insetup
,
const
wxChar
*
ident
,
wxString
*
ptparam
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_WXSTRING
,
group
)
PARAM_CFG_WXSTRING
::
PARAM_CFG_WXSTRING
(
bool
Insetup
,
const
wxChar
*
ident
,
wxString
*
ptparam
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_WXSTRING
,
group
)
{
m_Pt_param
=
ptparam
;
m_Setup
=
Insetup
;
}
PARAM_CFG_LIBNAME_LIST
::
PARAM_CFG_LIBNAME_LIST
(
const
wxChar
*
ident
,
wxArrayString
*
ptparam
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_LIBNAME_LIST
,
group
)
PARAM_CFG_LIBNAME_LIST
::
PARAM_CFG_LIBNAME_LIST
(
const
wxChar
*
ident
,
wxArrayString
*
ptparam
,
const
wxChar
*
group
)
:
PARAM_CFG_BASE
(
ident
,
PARAM_LIBNAME_LIST
,
group
)
{
m_Pt_param
=
ptparam
;
}
pcbnew/pcbcfg.cpp
View file @
8eff8df9
/***********************************/
/** pcbcfg() : configuration **/
/***********************************/
/***********************************/
/** pcbcfg() : configuration **/
/***********************************/
/* lit ou met a jour la configuration de PCBNEW */
...
...
@@ -21,52 +21,55 @@
/* 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
();
wxPoint
pos
;
wxClientDC
dc
(
DrawPanel
);
wxString
FullFileName
;
int
id
=
event
.
GetId
();
wxPoint
pos
;
DrawPanel
->
PrepareGraphicContext
(
&
dc
);
wxClientDC
dc
(
DrawPanel
);
wxString
FullFileName
;
DrawPanel
->
PrepareGraphicContext
(
&
dc
);
pos
=
GetPosition
();
pos
.
x
+=
20
;
pos
.
y
+=
20
;
pos
.
x
+=
20
;
pos
.
y
+=
20
;
switch
(
id
)
{
case
ID_COLORS_SETUP
:
DisplayColorSetupFrame
(
this
,
pos
);
case
ID_COLORS_SETUP
:
DisplayColorSetupFrame
(
this
,
pos
);
break
;
case
ID_CONFIG_REQ
:
// Creation de la fenetre de configuration
InstallConfigFrame
(
pos
);
case
ID_CONFIG_REQ
:
// Creation de la fenetre de configuration
InstallConfigFrame
(
pos
);
break
;
case
ID_PCB_TRACK_SIZE_SETUP
:
case
ID_PCB_LOOK_SETUP
:
case
ID_OPTIONS_SETUP
:
case
ID_PCB_DRAWINGS_WIDTHS_SETUP
:
InstallPcbOptionsFrame
(
pos
,
&
dc
,
id
);
InstallPcbOptionsFrame
(
pos
,
&
dc
,
id
);
break
;
case
ID_PCB_PAD_SETUP
:
InstallPadOptionsFrame
(
NULL
,
NULL
,
pos
);
InstallPadOptionsFrame
(
NULL
,
NULL
,
pos
);
break
;
case
ID_CONFIG_SAVE
:
Update_config
(
this
);
Update_config
(
this
);
break
;
case
ID_CONFIG_READ
:
FullFileName
=
GetScreen
()
->
m_FileName
.
AfterLast
(
'/'
);
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
FullFileName
=
EDA_FileSelector
(
_
(
"Read config file"
),
wxPathOnly
(
GetScreen
()
->
m_FileName
),
/* Chemin par defaut */
FullFileName
=
GetScreen
()
->
m_FileName
.
AfterLast
(
'/'
);
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
FullFileName
=
EDA_FileSelector
(
_
(
"Read config file"
),
wxPathOnly
(
GetScreen
()
->
m_FileName
),
/* Chemin par defaut */
FullFileName
,
/* nom fichier par defaut */
g_Prj_Config_Filename_ext
,
/* extension par defaut */
FullFileName
,
/* Masque d'affichage */
...
...
@@ -74,25 +77,26 @@ wxString FullFileName;
wxFD_OPEN
,
TRUE
/* ne change pas de repertoire courant */
);
if
(
FullFileName
.
IsEmpty
())
break
;
if
(
!
wxFileExists
(
FullFileName
)
)
if
(
FullFileName
.
IsEmpty
()
)
break
;
if
(
!
wxFileExists
(
FullFileName
)
)
{
wxString
msg
;
msg
.
Printf
(
_
(
"File %s not found"
),
FullFileName
.
GetData
()
);
DisplayError
(
this
,
msg
);
break
;
msg
.
Printf
(
_
(
"File %s not found"
),
FullFileName
.
GetData
()
);
DisplayError
(
this
,
msg
);
break
;
}
Read_Config
(
FullFileName
);
Read_Config
(
FullFileName
);
break
;
case
ID_PREFERENCES_CREATE_CONFIG_HOTKEYS
:
FullFileName
=
ReturnHotkeyConfigFilePath
(
g_ConfigFileLocationChoice
);
FullFileName
+=
HOTKEY_FILENAME
;
FullFileName
+=
DEFAULT_HOTKEY_FILENAME_EXT
;
WriteHotkeyConfigFile
(
FullFileName
,
s_Pcbnew_Editor_Hokeys_Descr
,
true
);
WriteHotkeyConfigFile
(
FullFileName
,
s_Pcbnew_Editor_Hokeys_Descr
,
true
);
break
;
case
ID_PREFERENCES_READ_CONFIG_HOTKEYS
:
Read_Hotkey_Config
(
this
,
true
);
Read_Hotkey_Config
(
this
,
true
);
break
;
case
ID_PREFERENCES_EDIT_CONFIG_HOTKEYS
:
...
...
@@ -101,8 +105,8 @@ wxString FullFileName;
FullFileName
+=
HOTKEY_FILENAME
;
FullFileName
+=
DEFAULT_HOTKEY_FILENAME_EXT
;
wxString
editorname
=
GetEditorName
();
if
(
!
editorname
.
IsEmpty
()
)
ExecuteFile
(
this
,
editorname
,
FullFileName
);
if
(
!
editorname
.
IsEmpty
()
)
ExecuteFile
(
this
,
editorname
,
FullFileName
);
break
;
}
...
...
@@ -116,54 +120,57 @@ wxString FullFileName;
break
;
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
*/
*/
{
wxString
FullFileName
=
ReturnHotkeyConfigFilePath
(
g_ConfigFileLocationChoice
);
FullFileName
+=
HOTKEY_FILENAME
;
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
;
int
ii
;
wxString
FullFileName
;
int
ii
;
g_Prj_Config_Filename_ext
=
wxT
(
".pro"
);
g_Prj_Config_Filename_ext
=
wxT
(
".pro"
);
FullFileName
=
project_name
;
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
/* Init des valeurs par defaut */
g_LibName_List
.
Clear
();
g_EDA_Appl
->
ReadProjectConfig
(
FullFileName
,
GROUP
,
ParamCfgList
,
FALSE
);
GROUP
,
ParamCfgList
,
FALSE
);
/* Traitement des variables particulieres: */
SetRealLibraryPath
(
wxT
(
"modules"
)
);
SetRealLibraryPath
(
wxT
(
"modules"
)
);
if
(
ScreenPcb
)
if
(
ScreenPcb
)
{
ScreenPcb
->
m_Diviseur_Grille
=
Pcbdiv_grille
;
ScreenPcb
->
m_UserGrid
=
g_UserGrid
;
...
...
@@ -172,7 +179,7 @@ int ii;
g_DesignSettings
.
m_TrackWidthHistory
[
0
]
=
g_DesignSettings
.
m_CurrentTrackWidth
;
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_ViaSizeHistory
[
ii
]
=
0
;
...
...
@@ -181,20 +188,21 @@ int ii;
return
TRUE
;
}
/**********************************************************/
void
WinEDA_PcbFrame
::
Update_config
(
wxWindow
*
displayframe
)
void
WinEDA_PcbFrame
::
Update_config
(
wxWindow
*
displayframe
)
/***********************************************************/
/* enregistrement de la config */
{
wxString
FullFileName
;
wxString
mask
;
wxString
FullFileName
;
wxString
mask
;
mask
=
wxT
(
"*"
)
+
g_Prj_Config_Filename_ext
;
FullFileName
=
GetScreen
()
->
m_FileName
.
AfterLast
(
'/'
);
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
mask
=
wxT
(
"*"
)
+
g_Prj_Config_Filename_ext
;
FullFileName
=
GetScreen
()
->
m_FileName
.
AfterLast
(
'/'
);
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
FullFileName
=
EDA_FileSelector
(
_
(
"Save preferences"
),
wxPathOnly
(
GetScreen
()
->
m_FileName
),
/* Chemin par defaut */
FullFileName
=
EDA_FileSelector
(
_
(
"Save preferences"
),
wxPathOnly
(
GetScreen
()
->
m_FileName
),
/* Chemin par defaut */
FullFileName
,
/* nom fichier par defaut */
g_Prj_Config_Filename_ext
,
/* extension par defaut */
mask
,
/* Masque d'affichage */
...
...
@@ -202,12 +210,11 @@ wxString mask;
wxFD_SAVE
,
TRUE
);
if
(
FullFileName
.
IsEmpty
()
)
return
;
if
(
FullFileName
.
IsEmpty
()
)
return
;
Pcbdiv_grille
=
GetScreen
()
->
m_Diviseur_Grille
;
/* ecriture de la configuration */
g_EDA_Appl
->
WriteProjectConfig
(
FullFileName
,
wxT
(
"/pcbnew"
),
ParamCfgList
);
g_EDA_Appl
->
WriteProjectConfig
(
FullFileName
,
wxT
(
"/pcbnew"
),
ParamCfgList
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment