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
10e13ae5
Commit
10e13ae5
authored
Mar 04, 2008
by
dickelbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
layer names in *.brd file
parent
7c482f68
Changes
39
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
1786 additions
and
1630 deletions
+1786
-1630
change_log.txt
change_log.txt
+13
-2
common.cpp
common/common.cpp
+2
-63
projet_config.cpp
common/projet_config.cpp
+4
-3
cfg.cpp
cvpcb/cfg.cpp
+55
-47
displayframe.cpp
cvpcb/displayframe.cpp
+1
-1
gerbview.cpp
gerbview/gerbview.cpp
+0
-2
gerbview_config.cpp
gerbview/gerbview_config.cpp
+8
-4
select_layers_to_pcb.cpp
gerbview/select_layers_to_pcb.cpp
+14
-13
pcbstruct.h
include/pcbstruct.h
+2
-32
wxPcbStruct.h
include/wxPcbStruct.h
+31
-23
basepcbframe.cpp
pcbnew/basepcbframe.cpp
+8
-1
class_board.cpp
pcbnew/class_board.cpp
+79
-5
class_board.h
pcbnew/class_board.h
+41
-3
class_drawsegment.cpp
pcbnew/class_drawsegment.cpp
+4
-1
class_module.cpp
pcbnew/class_module.cpp
+19
-9
class_module.h
pcbnew/class_module.h
+12
-1
class_pcb_text.cpp
pcbnew/class_pcb_text.cpp
+16
-13
class_text_mod.cpp
pcbnew/class_text_mod.cpp
+37
-32
class_zone.cpp
pcbnew/class_zone.cpp
+32
-28
classpcb.cpp
pcbnew/classpcb.cpp
+3
-0
cotation.cpp
pcbnew/cotation.cpp
+8
-8
cross-probing.cpp
pcbnew/cross-probing.cpp
+3
-3
dialog_zones_by_polygon.cpp
pcbnew/dialog_zones_by_polygon.cpp
+99
-90
editedge.cpp
pcbnew/editedge.cpp
+1
-1
initpcb.cpp
pcbnew/initpcb.cpp
+7
-48
ioascii.cpp
pcbnew/ioascii.cpp
+24
-22
locate.cpp
pcbnew/locate.cpp
+47
-96
pcbframe.cpp
pcbnew/pcbframe.cpp
+53
-50
pcbnew.cpp
pcbnew/pcbnew.cpp
+0
-1
pcbplot.cpp
pcbnew/pcbplot.cpp
+590
-524
pcbtexte.cpp
pcbnew/pcbtexte.cpp
+9
-5
protos.h
pcbnew/protos.h
+1
-5
sel_layer.cpp
pcbnew/sel_layer.cpp
+13
-11
set_color.cpp
pcbnew/set_color.cpp
+3
-3
set_color.h
pcbnew/set_color.h
+3
-3
specctra_export.cpp
pcbnew/specctra_export.cpp
+11
-0
swap_layers.cpp
pcbnew/swap_layers.cpp
+8
-5
tool_pcb.cpp
pcbnew/tool_pcb.cpp
+1
-1
wxprint.cpp
share/wxprint.cpp
+524
-471
No files found.
change_log.txt
View file @
10e13ae5
...
@@ -5,16 +5,27 @@ Started 2007-June-11
...
@@ -5,16 +5,27 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
Please add newer entries at the top, list the date and your name with
email address.
email address.
2008-Mar-3 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
Completed transision to BOARD::GetLayerName() and away from ReturnPcbLayerName().
LayerNames and LAYER_T are saved int the *.brd file and may be edited
there with a text editor until the UI is in place to edit them in PCBNEW.
To understand the strategy, see BOARD::GetLayerName() in class_board.cpp
and see WinEDA_BasePcbFrame::ReadSetup(). I will be adding "Board" menu
item to Preferences, but there is more to come before the UI gets done:
net classes.
2008-mars-03 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
2008-mars-03 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
================================================================================
3d display:
3d display:
Added Jonas Diemer's patch (enhanced movings from mouse and tools)
Added Jonas Diemer's patch (enhanced movings from mouse and tools)
2008-Mar-1 UPDATE Dick Hollenbeck <dick@softplc.com>
2008-Mar-1 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
+pcbnew
+pcbnew
Changed ioascii.cpp to save and load board specific layer names, for DEBUG
Changed ioascii.cpp to save and load board specific layer names, for DEBUG
build only. I want to add class LAYER, see below. Added
build only. I want to add class LAYER, see below. Added
BOARD::SetLayerName(), BOARD::SetLayerType(), and BOARD::GetLayerType().
BOARD::SetLayerName(), BOARD::SetLayerType(), and BOARD::GetLayerType().
...
...
common/common.cpp
View file @
10e13ae5
...
@@ -265,8 +265,6 @@ void MyFree( void* pt_mem )
...
@@ -265,8 +265,6 @@ void MyFree( void* pt_mem )
}
}
/**************************************************************/
/**************************************************************/
wxString
ReturnPcbLayerName
(
int
layer_number
,
bool
omitSpacePadding
)
wxString
ReturnPcbLayerName
(
int
layer_number
,
bool
omitSpacePadding
)
/**************************************************************/
/**************************************************************/
...
@@ -276,32 +274,11 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
...
@@ -276,32 +274,11 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
* (not internatinalized, no space)
* (not internatinalized, no space)
*/
*/
{
{
#if 1 && defined(DEBUG)
// Dick: this code is working fine, but we have no place to store the layer names yet.
const
unsigned
LAYER_LIMIT
=
29
;
const
unsigned
LAYER_LIMIT
=
29
;
// @todo: these layer names should be configurable on a per project basis.
// These are only default layer names. For PCBNEW, the copper names
// In anticipation of that enhancement, here is a different strategy for
// may be over-ridden in the BOARD file *.brd.
// deriving the file names from the "configured" layer names.
// The main idea is to use a single array of names, and then remove
// spaces on the fly from the names when writing to disk.
#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"
),
_
(
"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"
),
_
(
"Edges Pcb"
),
_
(
"BAD INDEX"
),
};
#else
static
const
wxString
layer_name_list
[]
=
{
static
const
wxString
layer_name_list
[]
=
{
_
(
"Copper "
),
_
(
"Inner L1 "
),
_
(
"Inner L2 "
),
_
(
"Inner L3 "
),
_
(
"Copper "
),
_
(
"Inner L1 "
),
_
(
"Inner L2 "
),
_
(
"Inner L3 "
),
_
(
"Inner L4 "
),
_
(
"Inner L5 "
),
_
(
"Inner L6 "
),
_
(
"Inner L7 "
),
_
(
"Inner L4 "
),
_
(
"Inner L5 "
),
_
(
"Inner L6 "
),
_
(
"Inner L7 "
),
...
@@ -313,8 +290,6 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
...
@@ -313,8 +290,6 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
_
(
"Edges Pcb"
),
_
(
"BAD INDEX"
),
_
(
"Edges Pcb"
),
_
(
"BAD INDEX"
),
};
};
#endif
if
(
(
unsigned
)
layer_number
>
LAYER_LIMIT
)
if
(
(
unsigned
)
layer_number
>
LAYER_LIMIT
)
layer_number
=
LAYER_LIMIT
;
layer_number
=
LAYER_LIMIT
;
...
@@ -332,42 +307,6 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
...
@@ -332,42 +307,6 @@ wxString ReturnPcbLayerName( int layer_number, bool omitSpacePadding )
}
}
else
else
return
*
p
;
return
*
p
;
#else // long standing established code:
static
const
wxString
layer_name_list
[]
=
{
_
(
"Copper "
),
_
(
"Inner L1 "
),
_
(
"Inner L2 "
),
_
(
"Inner L3 "
),
_
(
"Inner L4 "
),
_
(
"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 "
),
_
(
"Edges Pcb"
),
_
(
"--- "
),
_
(
"--- "
),
_
(
"--- "
)
};
// Same as layer_name_list, without space, not internationalized
static
const
wxString
layer_name_list_for_filename
[]
=
{
wxT
(
"Copper"
),
wxT
(
"InnerL1"
),
wxT
(
"InnerL2"
),
wxT
(
"InnerL3"
),
wxT
(
"InnerL4"
),
wxT
(
"InnerL5"
),
wxT
(
"InnerL6"
),
wxT
(
"InnerL7"
),
wxT
(
"InnerL8"
),
wxT
(
"InnerL9"
),
wxT
(
"InnerL10"
),
wxT
(
"InnerL11"
),
wxT
(
"InnerL12"
),
wxT
(
"InnerL13"
),
wxT
(
"InnerL14"
),
wxT
(
"Component"
),
wxT
(
"AdhesCop"
),
wxT
(
"AdhesCmp"
),
wxT
(
"SoldPCop"
),
wxT
(
"SoldPCmp"
),
wxT
(
"SilkSCop"
),
wxT
(
"SilkSCmp"
),
wxT
(
"MaskCop"
),
wxT
(
"MaskCmp"
),
wxT
(
"Drawings"
),
wxT
(
"Comments"
),
wxT
(
"Eco1"
),
wxT
(
"Eco2"
),
wxT
(
"EdgesPcb"
),
wxT
(
"---"
),
wxT
(
"---"
),
wxT
(
"---"
)
};
if
(
(
unsigned
)
layer_number
>=
31u
)
layer_number
=
31
;
return
omitSpacePadding
?
layer_name_list_for_filename
[
layer_number
]
:
layer_name_list
[
layer_number
];
#endif
}
}
...
...
common/projet_config.cpp
View file @
10e13ae5
...
@@ -319,7 +319,8 @@ bool WinEDA_App::ReadProjectConfig( const wxString& local_config_filename,
...
@@ -319,7 +319,8 @@ bool WinEDA_App::ReadProjectConfig( const wxString& local_config_filename,
{
{
#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
...
...
cvpcb/cfg.cpp
View file @
10e13ae5
/***************************************/
/***************************************/
/** cfg.cpp : configuration de CVPCB **/
/** cfg.cpp : configuration de CVPCB **/
/***************************************/
/***************************************/
/* lit ou met a jour la configuration de CVPCB */
/* lit ou met a jour la configuration de CVPCB */
...
@@ -18,57 +18,64 @@
...
@@ -18,57 +18,64 @@
/**************************************************/
/**************************************************/
void
Read_Config
(
const
wxString
&
FileName
)
void
Read_Config
(
const
wxString
&
FileName
)
/**************************************************/
/**************************************************/
/* lit la configuration
1 - lit cvpcb.cnf
2 - si non trouve lit <chemin de cvpcb.exe>/cvpcb.cnf
3 - si non trouve: init des variables aux valeurs par defaut
Remarque:
/* lit la configuration
le chemin de l'executable cvpcb.exe doit etre dans BinDir
* 1 - lit cvpcb.cnf
*/
* 2 - si non trouve lit <chemin de cvpcb.exe>/cvpcb.cnf
* 3 - si non trouve: init des variables aux valeurs par defaut
*
* Remarque:
* le chemin de l'executable cvpcb.exe doit etre dans BinDir
*/
{
{
wxString
FullFileName
=
FileName
;
wxString
FullFileName
=
FileName
;
/* Init des valeurs par defaut */
/* Init des valeurs par defaut */
g_LibName_List
.
Clear
();
g_LibName_List
.
Clear
();
g_ListName_Equ
.
Clear
();
g_ListName_Equ
.
Clear
();
g_EDA_Appl
->
ReadProjectConfig
(
FullFileName
,
g_EDA_Appl
->
ReadProjectConfig
(
FullFileName
,
GROUP
,
ParamCfgList
,
FALSE
);
GROUP
,
ParamCfgList
,
FALSE
);
if
(
PkgInExtBuffer
.
IsEmpty
()
)
PkgInExtBuffer
=
wxT
(
".pkg"
);
if
(
PkgInExtBuffer
.
IsEmpty
()
)
if
(
NetInExtBuffer
.
IsEmpty
()
)
NetInExtBuffer
=
wxT
(
".net"
),
PkgInExtBuffer
=
wxT
(
".pkg"
);
if
(
NetInExtBuffer
.
IsEmpty
()
)
NetInExtBuffer
=
wxT
(
".net"
);
/* Inits autres variables */
/* Inits autres variables */
SetRealLibraryPath
(
wxT
(
"modules"
)
);
SetRealLibraryPath
(
wxT
(
"modules"
)
);
}
}
/************************************************************/
/************************************************************/
void
WinEDA_CvpcbFrame
::
Update_Config
(
wxCommandEvent
&
event
)
void
WinEDA_CvpcbFrame
::
Update_Config
(
wxCommandEvent
&
event
)
/************************************************************/
/************************************************************/
/* fonction relai d'appel a Save_Config,
/* fonction relai d'appel a Save_Config,
la vraie fonction de sauvegarde de la config
*
la vraie fonction de sauvegarde de la config
*/
*/
{
{
Save_Config
(
this
);
Save_Config
(
this
);
}
}
/************************************/
/************************************/
void
Save_Config
(
wxWindow
*
parent
)
void
Save_Config
(
wxWindow
*
parent
)
/************************************/
/************************************/
/* enregistrement de la config */
/* enregistrement de la config */
{
{
wxString
path
,
FullFileName
;
wxString
path
,
FullFileName
;
wxString
mask
(
wxT
(
"*"
));
wxString
mask
(
wxT
(
"*"
)
);
FullFileName
=
FFileName
;
FullFileName
=
FFileName
;
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
ChangeFileNameExt
(
FullFileName
,
g_Prj_Config_Filename_ext
);
path
=
wxGetCwd
();
path
=
wxGetCwd
();
FullFileName
=
EDA_FileSelector
(
_
(
"Save preferences"
),
FullFileName
=
EDA_FileSelector
(
_
(
"Save preferences"
),
path
,
/* Chemin par defaut */
path
,
/* 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 */
...
@@ -77,9 +84,10 @@ wxString mask( wxT("*"));
...
@@ -77,9 +84,10 @@ wxString mask( wxT("*"));
wxFD_SAVE
,
wxFD_SAVE
,
TRUE
TRUE
);
);
if
(
FullFileName
.
IsEmpty
())
return
;
if
(
FullFileName
.
IsEmpty
()
)
return
;
/* ecriture de la configuration */
/* ecriture de la configuration */
g_EDA_Appl
->
WriteProjectConfig
(
FullFileName
,
GROUP
,
ParamCfgList
);
g_EDA_Appl
->
WriteProjectConfig
(
FullFileName
,
GROUP
,
ParamCfgList
);
}
}
cvpcb/displayframe.cpp
View file @
10e13ae5
gerbview/gerbview.cpp
View file @
10e13ae5
...
@@ -55,8 +55,6 @@ bool WinEDA_App::OnInit()
...
@@ -55,8 +55,6 @@ bool WinEDA_App::OnInit()
SetTopWindow
(
m_GerberFrame
);
SetTopWindow
(
m_GerberFrame
);
m_GerberFrame
->
Show
(
TRUE
);
m_GerberFrame
->
Show
(
TRUE
);
m_GerberFrame
->
m_Pcb
=
new
BOARD
(
NULL
,
m_GerberFrame
);
m_GerberFrame
->
Zoom_Automatique
(
TRUE
);
m_GerberFrame
->
Zoom_Automatique
(
TRUE
);
if
(
argc
>
1
)
if
(
argc
>
1
)
...
...
gerbview/gerbview_config.cpp
View file @
10e13ae5
...
@@ -16,11 +16,14 @@
...
@@ -16,11 +16,14 @@
#include "protos.h"
#include "protos.h"
#define HOTKEY_FILENAME wxT( "gerbview" )
/* Routines Locales */
/* Routines Locales */
/* Variables locales */
#define HOTKEY_FILENAME wxT( "gerbview" )
/* Variables locales */
/*************************************************************/
/*************************************************************/
...
@@ -32,7 +35,8 @@ void WinEDA_GerberFrame::Process_Config( wxCommandEvent& event )
...
@@ -32,7 +35,8 @@ void WinEDA_GerberFrame::Process_Config( wxCommandEvent& event )
wxString
FullFileName
;
wxString
FullFileName
;
pos
=
GetPosition
();
pos
=
GetPosition
();
pos
.
x
+=
20
;
pos
.
y
+=
20
;
pos
.
x
+=
20
;
pos
.
y
+=
20
;
switch
(
id
)
switch
(
id
)
{
{
...
...
gerbview/select_layers_to_pcb.cpp
View file @
10e13ae5
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
/* Variables locales */
/* Variables locales */
#define LAYER_UNSELECTED NB_LAYERS
#define LAYER_UNSELECTED NB_LAYERS
static
int
ButtonTable
[
32
];
// Indexes buttons to Gerber layers
static
int
ButtonTable
[
32
];
// Indexes buttons to Gerber layers
static
int
LayerLookUpTable
[
32
];
// Indexes Gerber layers to PCB file layers
static
int
LayerLookUpTable
[
32
];
// Indexes Gerber layers to PCB file layers
wxStaticText
*
layer_list
[
32
];
// Indexes text strings to buttons
wxStaticText
*
layer_list
[
32
];
// Indexes text strings to buttons
...
@@ -75,6 +76,7 @@ int * InstallDialogLayerPairChoice(WinEDA_GerberFrame * parent)
...
@@ -75,6 +76,7 @@ int * InstallDialogLayerPairChoice(WinEDA_GerberFrame * parent)
*/
*/
{
{
WinEDA_SwapLayerFrame
*
frame
=
new
WinEDA_SwapLayerFrame
(
parent
);
WinEDA_SwapLayerFrame
*
frame
=
new
WinEDA_SwapLayerFrame
(
parent
);
int
ii
=
frame
->
ShowModal
();
int
ii
=
frame
->
ShowModal
();
frame
->
Destroy
();
frame
->
Destroy
();
if
(
ii
>=
0
)
if
(
ii
>=
0
)
...
@@ -138,7 +140,6 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame(WinEDA_GerberFrame *parent) :
...
@@ -138,7 +140,6 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame(WinEDA_GerberFrame *parent) :
int
pcb_layer_number
=
0
;
int
pcb_layer_number
=
0
;
for
(
nb_items
=
0
,
ii
=
0
;
ii
<
32
;
ii
++
)
for
(
nb_items
=
0
,
ii
=
0
;
ii
<
32
;
ii
++
)
{
{
if
(
g_GERBER_Descr_List
[
ii
]
==
NULL
)
if
(
g_GERBER_Descr_List
[
ii
]
==
NULL
)
continue
;
continue
;
...
@@ -353,8 +354,8 @@ void WinEDA_SwapLayerFrame::OnCancelClick(wxCommandEvent& event)
...
@@ -353,8 +354,8 @@ void WinEDA_SwapLayerFrame::OnCancelClick(wxCommandEvent& event)
void
WinEDA_SwapLayerFrame
::
OnOkClick
(
wxCommandEvent
&
event
)
void
WinEDA_SwapLayerFrame
::
OnOkClick
(
wxCommandEvent
&
event
)
/*********************************************************/
/*********************************************************/
{
{
int
ii
;
int
ii
;
bool
AsCmpLayer
=
false
;
bool
AsCmpLayer
=
false
;
/* Compute the number of copper layers
/* Compute the number of copper layers
* this is the max layer number + 1 (if some internal layers exist)
* this is the max layer number + 1 (if some internal layers exist)
...
...
include/pcbstruct.h
View file @
10e13ae5
...
@@ -148,38 +148,6 @@ struct CHEVELU;
...
@@ -148,38 +148,6 @@ struct CHEVELU;
/* Class to handle a board */
/* Class to handle a board */
#include "class_board.h"
#include "class_board.h"
/**
* Class LAYER
* holds information pertinent to a layer of a BOARD.
*/
class
LAYER
{
wxString
m_Name
;
LAYER_T
m_Type
;
int
m_Color
;
bool
m_Visible
;
// ? use flags in m_Color instead ?
public
:
bool
SetName
(
const
wxString
&
aLayerName
);
const
wxString
&
GetName
();
bool
SetType
(
LAYER_T
aLayerType
);
LAYER_T
GetType
();
int
GetColor
()
{
return
m_Color
;
}
void
SetColor
(
int
aColor
)
{
m_Color
=
aColor
;
}
bool
IsVisible
();
void
SetVisible
(
bool
isVisible
);
};
// Class for handle current printed board design settings
// Class for handle current printed board design settings
#define HISTORY_NUMBER 8
#define HISTORY_NUMBER 8
class
EDA_BoardDesignSettings
class
EDA_BoardDesignSettings
...
@@ -207,7 +175,9 @@ public:
...
@@ -207,7 +175,9 @@ public:
// Color options for screen display of the Printed Board:
// Color options for screen display of the Printed Board:
int
m_PcbGridColor
;
// Grid color
int
m_PcbGridColor
;
// Grid color
int
m_LayerColor
[
32
];
// Layer colors (tracks and graphic items)
int
m_LayerColor
[
32
];
// Layer colors (tracks and graphic items)
int
m_ViaColor
[
4
];
// Via color (depending on is type)
int
m_ViaColor
[
4
];
// Via color (depending on is type)
int
m_ModuleTextCMPColor
;
// Text module color for modules on the COMPONENT layer
int
m_ModuleTextCMPColor
;
// Text module color for modules on the COMPONENT layer
int
m_ModuleTextCUColor
;
// Text module color for modules on the COPPER layer
int
m_ModuleTextCUColor
;
// Text module color for modules on the COPPER layer
...
...
include/wxPcbStruct.h
View file @
10e13ae5
...
@@ -74,6 +74,14 @@ public:
...
@@ -74,6 +74,14 @@ public:
~
WinEDA_BasePcbFrame
();
~
WinEDA_BasePcbFrame
();
/**
* Function SetBOARD
* sets the m_Pcb member in such as way as to ensure deleting any previous
* BOARD.
* @param aBoard The BOARD to put into the frame.
*/
void
SetBOARD
(
BOARD
*
aBoard
);
// General
// General
virtual
void
OnCloseWindow
(
wxCloseEvent
&
Event
)
=
0
;
virtual
void
OnCloseWindow
(
wxCloseEvent
&
Event
)
=
0
;
virtual
void
Process_Special_Functions
(
wxCommandEvent
&
event
)
=
0
;
virtual
void
Process_Special_Functions
(
wxCommandEvent
&
event
)
=
0
;
...
...
pcbnew/basepcbframe.cpp
View file @
10e13ae5
...
@@ -66,6 +66,13 @@ WinEDA_BasePcbFrame::~WinEDA_BasePcbFrame( void )
...
@@ -66,6 +66,13 @@ WinEDA_BasePcbFrame::~WinEDA_BasePcbFrame( void )
}
}
void
WinEDA_BasePcbFrame
::
SetBOARD
(
BOARD
*
aBoard
)
{
delete
m_Pcb
;
m_Pcb
=
aBoard
;
}
/**************************************/
/**************************************/
int
WinEDA_BasePcbFrame
::
BestZoom
(
void
)
int
WinEDA_BasePcbFrame
::
BestZoom
(
void
)
/**************************************/
/**************************************/
...
...
pcbnew/class_board.cpp
View file @
10e13ae5
...
@@ -38,6 +38,12 @@ BOARD::BOARD( EDA_BaseStruct* parent, WinEDA_BasePcbFrame* frame ) :
...
@@ -38,6 +38,12 @@ BOARD::BOARD( EDA_BaseStruct* parent, WinEDA_BasePcbFrame* frame ) :
m_LocalRatsnest
=
NULL
;
// pointeur liste rats local
m_LocalRatsnest
=
NULL
;
// pointeur liste rats local
m_CurrentZoneContour
=
NULL
;
// This ZONE_CONTAINER handle the zone contour cuurently in progress
m_CurrentZoneContour
=
NULL
;
// This ZONE_CONTAINER handle the zone contour cuurently in progress
// de determination des contours de zone
// de determination des contours de zone
for
(
int
layer
=
0
;
layer
<
NB_COPPER_LAYERS
;
++
layer
)
{
m_Layer
[
layer
].
m_Name
=
ReturnPcbLayerName
(
layer
);
m_Layer
[
layer
].
m_Type
=
LT_SIGNAL
;
}
}
}
...
@@ -80,28 +86,96 @@ BOARD::~BOARD()
...
@@ -80,28 +86,96 @@ BOARD::~BOARD()
wxString
BOARD
::
GetLayerName
(
int
aLayerIndex
)
const
wxString
BOARD
::
GetLayerName
(
int
aLayerIndex
)
const
{
{
// copper layer names are stored in the BOARD.
if
(
(
unsigned
)
aLayerIndex
<
(
unsigned
)
GetCopperLayerCount
()
)
{
// default names were set in BOARD::BOARD() but they may be
// over-ridden by BOARD::SetLayerName()
return
m_Layer
[
aLayerIndex
].
m_Name
;
}
return
ReturnPcbLayerName
(
aLayerIndex
,
true
);
return
ReturnPcbLayerName
(
aLayerIndex
,
true
);
}
}
bool
BOARD
::
SetLayerName
(
int
aLayerIndex
,
const
wxString
&
aLayerName
)
bool
BOARD
::
SetLayerName
(
int
aLayerIndex
,
const
wxString
&
aLayerName
)
{
{
// a dummy temporarily.
if
(
(
unsigned
)
aLayerIndex
<
(
unsigned
)
GetCopperLayerCount
()
)
D
(
printf
(
"SetLayerName( %d, %s )
\n
"
,
aLayerIndex
,
CONV_TO_UTF8
(
aLayerName
)
);)
{
if
(
aLayerName
==
wxEmptyString
||
aLayerName
.
Len
()
>
20
)
return
false
;
// no quote chars in the name allowed
if
(
aLayerName
.
Find
(
wxChar
(
'"'
)
)
!=
wxNOT_FOUND
)
return
false
;
// ensure unique-ness of layer names
for
(
int
layer
=
0
;
layer
<
GetCopperLayerCount
();
++
layer
)
{
if
(
layer
!=
aLayerIndex
&&
aLayerName
==
m_Layer
[
layer
].
m_Name
)
return
false
;
}
m_Layer
[
aLayerIndex
].
m_Name
=
aLayerName
;
// replace any spaces with underscores
m_Layer
[
aLayerIndex
].
m_Name
.
Replace
(
wxT
(
" "
),
wxT
(
"_"
)
);
return
true
;
return
true
;
}
return
false
;
}
}
LAYER_T
BOARD
::
GetLayerType
(
int
aLayerIndex
)
const
LAYER_T
BOARD
::
GetLayerType
(
int
aLayerIndex
)
const
{
{
if
(
(
unsigned
)
aLayerIndex
<
(
unsigned
)
GetCopperLayerCount
()
)
return
m_Layer
[
aLayerIndex
].
m_Type
;
return
LT_SIGNAL
;
return
LT_SIGNAL
;
}
}
bool
BOARD
::
SetLayerType
(
int
aLayerIndex
,
LAYER_T
aLayerType
)
bool
BOARD
::
SetLayerType
(
int
aLayerIndex
,
LAYER_T
aLayerType
)
{
{
// a dummy temporarily.
if
(
(
unsigned
)
aLayerIndex
<
(
unsigned
)
GetCopperLayerCount
()
)
{
m_Layer
[
aLayerIndex
].
m_Type
=
aLayerType
;
return
true
;
return
true
;
}
return
false
;
}
const
char
*
LAYER
::
ShowType
(
LAYER_T
aType
)
{
const
char
*
cp
;
switch
(
aType
)
{
default
:
case
LT_SIGNAL
:
cp
=
"signal"
;
break
;
case
LT_POWER
:
cp
=
"power"
;
break
;
case
LT_MIXED
:
cp
=
"mixed"
;
break
;
case
LT_JUMPER
:
cp
=
"jumper"
;
break
;
}
return
cp
;
}
LAYER_T
LAYER
::
ParseType
(
const
char
*
aType
)
{
if
(
strcmp
(
aType
,
"signal"
)
==
0
)
return
LT_SIGNAL
;
else
if
(
strcmp
(
aType
,
"power"
)
==
0
)
return
LT_POWER
;
else
if
(
strcmp
(
aType
,
"mixed"
)
==
0
)
return
LT_MIXED
;
else
if
(
strcmp
(
aType
,
"jumper"
)
==
0
)
return
LT_JUMPER
;
else
return
LAYER_T
(
-
1
);
}
}
...
...
pcbnew/class_board.h
View file @
10e13ae5
...
@@ -18,14 +18,49 @@ enum LAYER_T
...
@@ -18,14 +18,49 @@ enum LAYER_T
LT_SIGNAL
,
LT_SIGNAL
,
LT_POWER
,
LT_POWER
,
LT_MIXED
,
LT_MIXED
,
LT_JUMPER
,
};
};
/***********************************************/
/**
/* class BOARD : handle datas to build a board */
* Struct LAYER
/***********************************************/
* holds information pertinent to a layer of a BOARD.
*/
struct
LAYER
{
/** The name of the layer, there should be no spaces in this name. */
wxString
m_Name
;
/** The type of the layer */
LAYER_T
m_Type
;
// int m_Color;
// bool m_Visible; // ? use flags in m_Color instead ?
/**
* Function ShowType
* converts a LAYER_T enum to a const char*
* @param aType The LAYER_T to convert
* @return const char* - The string representation of the layer type.
*/
static
const
char
*
ShowType
(
LAYER_T
aType
);
/**
* Function ParseType
* converts a string to a LAYER_T
* @param aType The const char* to convert
* @return LAYER_T - The binary representation of the layer type, or
* LAYER_T(-1) if the string is invalid
*/
static
LAYER_T
ParseType
(
const
char
*
aType
);
};
/**
* Class BOARD
* holds information pertinent to a PCBNEW printed circuit board.
*/
class
BOARD
:
public
BOARD_ITEM
class
BOARD
:
public
BOARD_ITEM
{
{
friend
class
WinEDA_PcbFrame
;
friend
class
WinEDA_PcbFrame
;
...
@@ -37,6 +72,8 @@ private:
...
@@ -37,6 +72,8 @@ private:
typedef
std
::
vector
<
ZONE_CONTAINER
*>
ZONE_CONTAINERS
;
// @todo: switch to boost::ptr_vector, and change ~BOARD()
typedef
std
::
vector
<
ZONE_CONTAINER
*>
ZONE_CONTAINERS
;
// @todo: switch to boost::ptr_vector, and change ~BOARD()
ZONE_CONTAINERS
m_ZoneDescriptorList
;
///< edge zone descriptors, owned by pointer
ZONE_CONTAINERS
m_ZoneDescriptorList
;
///< edge zone descriptors, owned by pointer
LAYER
m_Layer
[
NB_COPPER_LAYERS
];
public
:
public
:
WinEDA_BasePcbFrame
*
m_PcbFrame
;
// Window de visualisation
WinEDA_BasePcbFrame
*
m_PcbFrame
;
// Window de visualisation
EDA_Rect
m_BoundaryBox
;
// Board size and position
EDA_Rect
m_BoundaryBox
;
// Board size and position
...
@@ -294,6 +331,7 @@ public:
...
@@ -294,6 +331,7 @@ public:
return
wxT
(
"BOARD"
);
return
wxT
(
"BOARD"
);
}
}
#if defined(DEBUG)
#if defined(DEBUG)
/**
/**
* Function Show
* Function Show
...
...
pcbnew/class_drawsegment.cpp
View file @
10e13ae5
...
@@ -150,6 +150,9 @@ void DRAWSEGMENT::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -150,6 +150,9 @@ void DRAWSEGMENT::Display_Infos( WinEDA_DrawFrame* frame )
int
itype
;
int
itype
;
wxString
msg
;
wxString
msg
;
BOARD
*
board
=
(
BOARD
*
)
m_Parent
;
wxASSERT
(
board
);
frame
->
MsgPanel
->
EraseMsgBox
();
frame
->
MsgPanel
->
EraseMsgBox
();
itype
=
m_Type
&
0x0F
;
itype
=
m_Type
&
0x0F
;
...
@@ -173,7 +176,7 @@ void DRAWSEGMENT::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -173,7 +176,7 @@ void DRAWSEGMENT::Display_Infos( WinEDA_DrawFrame* frame )
Affiche_1_Parametre
(
frame
,
-
1
,
wxEmptyString
,
_
(
"Segment"
),
RED
);
Affiche_1_Parametre
(
frame
,
-
1
,
wxEmptyString
,
_
(
"Segment"
),
RED
);
Affiche_1_Parametre
(
frame
,
48
,
_
(
"Layer"
),
Affiche_1_Parametre
(
frame
,
48
,
_
(
"Layer"
),
ReturnPcb
LayerName
(
m_Layer
),
BROWN
);
board
->
Get
LayerName
(
m_Layer
),
BROWN
);
valeur_param
(
(
unsigned
)
m_Width
,
msg
);
valeur_param
(
(
unsigned
)
m_Width
,
msg
);
Affiche_1_Parametre
(
frame
,
60
,
_
(
"Width"
),
msg
,
DARKCYAN
);
Affiche_1_Parametre
(
frame
,
60
,
_
(
"Width"
),
msg
,
DARKCYAN
);
...
...
pcbnew/class_module.cpp
View file @
10e13ae5
...
@@ -1135,15 +1135,6 @@ bool MODULE::HitTest( const wxPoint& refPos )
...
@@ -1135,15 +1135,6 @@ bool MODULE::HitTest( const wxPoint& refPos )
if
(
m_BoundaryBox
.
Inside
(
spot_cX
,
spot_cY
)
)
if
(
m_BoundaryBox
.
Inside
(
spot_cX
,
spot_cY
)
)
return
true
;
return
true
;
/* no
// The GENERAL_COLLECTOR needs these two tests in order to find a MODULE
// when the user clicks on its text. Keep these 2, needed in OnRightClick().
if( m_Reference->HitTest( refPos ) )
return true;
if( m_Value->HitTest( refPos ) )
return true;
*/
return
false
;
return
false
;
}
}
...
@@ -1173,6 +1164,25 @@ bool MODULE::HitTest( EDA_Rect& refArea )
...
@@ -1173,6 +1164,25 @@ bool MODULE::HitTest( EDA_Rect& refArea )
}
}
D_PAD
*
MODULE
::
FindPadByName
(
const
wxString
&
aPadName
)
const
{
wxString
buf
;
for
(
D_PAD
*
pad
=
m_Pads
;
pad
;
pad
=
pad
->
Next
()
)
{
pad
->
ReturnStringPadName
(
buf
);
#if 1
if
(
buf
.
CmpNoCase
(
aPadName
)
==
0
)
// why case insensitive?
#else
if
(
buf
==
aPadName
)
#endif
return
pad
;
}
return
NULL
;
}
// see class_module.h
// see class_module.h
SEARCH_RESULT
MODULE
::
Visit
(
INSPECTOR
*
inspector
,
const
void
*
testData
,
SEARCH_RESULT
MODULE
::
Visit
(
INSPECTOR
*
inspector
,
const
void
*
testData
,
const
KICAD_T
scanTypes
[]
)
const
KICAD_T
scanTypes
[]
)
...
...
pcbnew/class_module.h
View file @
10e13ae5
...
@@ -197,6 +197,17 @@ public:
...
@@ -197,6 +197,17 @@ public:
return
m_Value
->
m_Text
;
return
m_Value
->
m_Text
;
}
}
/**
* Function FindPadByName
* returns a D_PAD* with a matching name. Note that names may not be
* unique, depending on how the foot print was created.
* @param
* @return D_PAD* - The first matching name is returned, or NULL if not found.
*/
D_PAD
*
FindPadByName
(
const
wxString
&
aPadName
)
const
;
/**
/**
* Function Visit
* Function Visit
* should be re-implemented for each derived class in order to handle
* should be re-implemented for each derived class in order to handle
...
...
pcbnew/class_pcb_text.cpp
View file @
10e13ae5
...
@@ -167,6 +167,9 @@ void TEXTE_PCB::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -167,6 +167,9 @@ void TEXTE_PCB::Display_Infos( WinEDA_DrawFrame* frame )
{
{
wxString
msg
;
wxString
msg
;
BOARD
*
board
=
(
BOARD
*
)
m_Parent
;
wxASSERT
(
board
);
frame
->
MsgPanel
->
EraseMsgBox
();
frame
->
MsgPanel
->
EraseMsgBox
();
if
(
m_Parent
&&
m_Parent
->
Type
()
==
TYPECOTATION
)
if
(
m_Parent
&&
m_Parent
->
Type
()
==
TYPECOTATION
)
...
@@ -175,7 +178,7 @@ void TEXTE_PCB::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -175,7 +178,7 @@ void TEXTE_PCB::Display_Infos( WinEDA_DrawFrame* frame )
Affiche_1_Parametre
(
frame
,
1
,
_
(
"PCB Text"
),
m_Text
,
DARKGREEN
);
Affiche_1_Parametre
(
frame
,
1
,
_
(
"PCB Text"
),
m_Text
,
DARKGREEN
);
Affiche_1_Parametre
(
frame
,
28
,
_
(
"Layer"
),
Affiche_1_Parametre
(
frame
,
28
,
_
(
"Layer"
),
ReturnPcb
LayerName
(
m_Layer
),
board
->
Get
LayerName
(
m_Layer
),
g_DesignSettings
.
m_LayerColor
[
m_Layer
]
&
MASKCOLOR
);
g_DesignSettings
.
m_LayerColor
[
m_Layer
]
&
MASKCOLOR
);
Affiche_1_Parametre
(
frame
,
36
,
_
(
"Mirror"
),
wxEmptyString
,
GREEN
);
Affiche_1_Parametre
(
frame
,
36
,
_
(
"Mirror"
),
wxEmptyString
,
GREEN
);
...
...
pcbnew/class_text_mod.cpp
View file @
10e13ae5
...
@@ -338,9 +338,14 @@ void TEXTE_MODULE::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -338,9 +338,14 @@ void TEXTE_MODULE::Display_Infos( WinEDA_DrawFrame* frame )
MODULE
*
module
=
(
MODULE
*
)
m_Parent
;
MODULE
*
module
=
(
MODULE
*
)
m_Parent
;
wxASSERT
(
module
);
if
(
!
module
)
if
(
!
module
)
return
;
return
;
BOARD
*
board
=
(
BOARD
*
)
module
->
m_Parent
;
wxASSERT
(
board
);
static
const
wxString
text_type_msg
[
3
]
=
{
static
const
wxString
text_type_msg
[
3
]
=
{
_
(
"Ref."
),
_
(
"Value"
),
_
(
"Text"
)
};
_
(
"Ref."
),
_
(
"Value"
),
_
(
"Text"
)
};
...
@@ -366,7 +371,7 @@ void TEXTE_MODULE::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -366,7 +371,7 @@ void TEXTE_MODULE::Display_Infos( WinEDA_DrawFrame* frame )
ii
=
m_Layer
;
ii
=
m_Layer
;
if
(
ii
<
NB_LAYERS
)
if
(
ii
<
NB_LAYERS
)
Affiche_1_Parametre
(
frame
,
28
,
_
(
"Layer"
),
ReturnPcb
LayerName
(
ii
),
DARKGREEN
);
Affiche_1_Parametre
(
frame
,
28
,
_
(
"Layer"
),
board
->
Get
LayerName
(
ii
),
DARKGREEN
);
else
else
{
{
msg
.
Printf
(
wxT
(
"%d"
),
ii
);
msg
.
Printf
(
wxT
(
"%d"
),
ii
);
...
...
pcbnew/class_zone.cpp
View file @
10e13ae5
...
@@ -514,6 +514,10 @@ void ZONE_CONTAINER::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -514,6 +514,10 @@ void ZONE_CONTAINER::Display_Infos( WinEDA_DrawFrame* frame )
wxString
msg
;
wxString
msg
;
int
text_pos
;
int
text_pos
;
BOARD
*
board
=
(
BOARD
*
)
m_Parent
;
wxASSERT
(
board
);
frame
->
MsgPanel
->
EraseMsgBox
();
frame
->
MsgPanel
->
EraseMsgBox
();
msg
=
_
(
"Zone Outline"
);
msg
=
_
(
"Zone Outline"
);
...
@@ -551,7 +555,7 @@ void ZONE_CONTAINER::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -551,7 +555,7 @@ void ZONE_CONTAINER::Display_Infos( WinEDA_DrawFrame* frame )
Affiche_1_Parametre
(
frame
,
text_pos
,
_
(
"NetCode"
),
msg
,
RED
);
Affiche_1_Parametre
(
frame
,
text_pos
,
_
(
"NetCode"
),
msg
,
RED
);
text_pos
+=
8
;
text_pos
+=
8
;
msg
=
ReturnPcb
LayerName
(
m_Layer
);
msg
=
board
->
Get
LayerName
(
m_Layer
);
Affiche_1_Parametre
(
frame
,
text_pos
,
_
(
"Layer"
),
msg
,
BROWN
);
Affiche_1_Parametre
(
frame
,
text_pos
,
_
(
"Layer"
),
msg
,
BROWN
);
text_pos
+=
8
;
text_pos
+=
8
;
...
...
pcbnew/classpcb.cpp
View file @
10e13ae5
...
@@ -156,6 +156,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
...
@@ -156,6 +156,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
m_MicroViaDrill
=
50
;
// micro via drill (for the entire board)
m_MicroViaDrill
=
50
;
// micro via drill (for the entire board)
m_CurrentMicroViaSize
=
150
;
// Current micro via size
m_CurrentMicroViaSize
=
150
;
// Current micro via size
m_MicroViasAllowed
=
false
;
// true to allow micro vias
m_MicroViasAllowed
=
false
;
// true to allow micro vias
for
(
ii
=
0
;
ii
<
HISTORY_NUMBER
;
ii
++
)
for
(
ii
=
0
;
ii
<
HISTORY_NUMBER
;
ii
++
)
{
{
m_TrackWidthHistory
[
ii
]
=
0
;
// Last HISTORY_NUMBER used track widths
m_TrackWidthHistory
[
ii
]
=
0
;
// Last HISTORY_NUMBER used track widths
...
@@ -171,6 +172,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
...
@@ -171,6 +172,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
m_MaskMargin
=
150
;
// Solder mask margin
m_MaskMargin
=
150
;
// Solder mask margin
/* Color options for screen display of the Printed Board: */
/* Color options for screen display of the Printed Board: */
m_PcbGridColor
=
DARKGRAY
;
// Grid color
m_PcbGridColor
=
DARKGRAY
;
// Grid color
for
(
ii
=
0
;
ii
<
32
;
ii
++
)
for
(
ii
=
0
;
ii
<
32
;
ii
++
)
m_LayerColor
[
ii
]
=
default_layer_color
[
ii
];
m_LayerColor
[
ii
]
=
default_layer_color
[
ii
];
...
@@ -179,6 +181,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
...
@@ -179,6 +181,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
m_ViaColor
[
VIA_MICROVIA
]
=
CYAN
;
m_ViaColor
[
VIA_MICROVIA
]
=
CYAN
;
m_ViaColor
[
VIA_BLIND_BURIED
]
=
BROWN
;
m_ViaColor
[
VIA_BLIND_BURIED
]
=
BROWN
;
m_ViaColor
[
VIA_THROUGH
]
=
WHITE
;
m_ViaColor
[
VIA_THROUGH
]
=
WHITE
;
m_ModuleTextCMPColor
=
LIGHTGRAY
;
// Text module color for modules on the COMPONENT layer
m_ModuleTextCMPColor
=
LIGHTGRAY
;
// Text module color for modules on the COMPONENT layer
m_ModuleTextCUColor
=
MAGENTA
;
// Text module color for modules on the COPPER layer
m_ModuleTextCUColor
=
MAGENTA
;
// Text module color for modules on the COPPER layer
m_ModuleTextNOVColor
=
DARKGRAY
;
// Text module color for "invisible" texts (must be BLACK if really not displayed)
m_ModuleTextNOVColor
=
DARKGRAY
;
// Text module color for "invisible" texts (must be BLACK if really not displayed)
...
...
pcbnew/cotation.cpp
View file @
10e13ae5
...
@@ -135,10 +135,10 @@ WinEDA_CotationPropertiesFrame::WinEDA_CotationPropertiesFrame( WinEDA_PcbFrame*
...
@@ -135,10 +135,10 @@ WinEDA_CotationPropertiesFrame::WinEDA_CotationPropertiesFrame( WinEDA_PcbFrame*
m_SelLayerBox
=
new
WinEDAChoiceBox
(
this
,
ID_TEXTPCB_SELECT_LAYER
,
m_SelLayerBox
=
new
WinEDAChoiceBox
(
this
,
ID_TEXTPCB_SELECT_LAYER
,
wxDefaultPosition
,
wxDefaultSize
);
wxDefaultPosition
,
wxDefaultSize
);
LeftBoxSizer
->
Add
(
m_SelLayerBox
,
0
,
wxGROW
|
wxLEFT
|
wxRIGHT
|
wxBOTTOM
,
5
);
LeftBoxSizer
->
Add
(
m_SelLayerBox
,
0
,
wxGROW
|
wxLEFT
|
wxRIGHT
|
wxBOTTOM
,
5
);
int
ii
;
for
(
i
i
=
FIRST_NO_COPPER_LAYER
;
ii
<
NB_LAYERS
;
ii
++
)
for
(
i
nt
layer
=
FIRST_NO_COPPER_LAYER
;
layer
<
NB_LAYERS
;
layer
++
)
{
{
m_SelLayerBox
->
Append
(
ReturnPcbLayerName
(
ii
)
);
m_SelLayerBox
->
Append
(
parent
->
m_Pcb
->
GetLayerName
(
layer
)
);
}
}
m_SelLayerBox
->
SetSelection
(
Cotation
->
GetLayer
()
-
FIRST_NO_COPPER_LAYER
);
m_SelLayerBox
->
SetSelection
(
Cotation
->
GetLayer
()
-
FIRST_NO_COPPER_LAYER
);
...
...
pcbnew/cross-probing.cpp
View file @
10e13ae5
...
@@ -48,7 +48,7 @@ void RemoteCommand( const char* cmdline )
...
@@ -48,7 +48,7 @@ void RemoteCommand( const char* cmdline )
{
{
modName
=
CONV_FROM_UTF8
(
text
);
modName
=
CONV_FROM_UTF8
(
text
);
module
=
ReturnModule
(
frame
->
m_Pcb
,
modName
);
module
=
frame
->
m_Pcb
->
FindModuleByReference
(
modName
);
if
(
module
)
if
(
module
)
msg
.
Printf
(
_
(
"%s found"
),
modName
.
GetData
()
);
msg
.
Printf
(
_
(
"%s found"
),
modName
.
GetData
()
);
...
@@ -86,9 +86,9 @@ void RemoteCommand( const char* cmdline )
...
@@ -86,9 +86,9 @@ void RemoteCommand( const char* cmdline )
modName
=
CONV_FROM_UTF8
(
text
);
modName
=
CONV_FROM_UTF8
(
text
);
module
=
ReturnModule
(
frame
->
m_Pcb
,
modName
);
module
=
frame
->
m_Pcb
->
FindModuleByReference
(
modName
);
if
(
module
)
if
(
module
)
pad
=
ReturnPad
(
module
,
pinName
);
pad
=
module
->
FindPadByName
(
pinName
);
if
(
pad
)
if
(
pad
)
netcode
=
pad
->
GetNet
();
netcode
=
pad
->
GetNet
();
...
...
pcbnew/dialog_zones_by_polygon.cpp
View file @
10e13ae5
...
@@ -133,6 +133,8 @@ bool WinEDA_ZoneFrame::Create( wxWindow* parent,
...
@@ -133,6 +133,8 @@ bool WinEDA_ZoneFrame::Create( wxWindow* parent,
void
WinEDA_ZoneFrame
::
CreateControls
()
void
WinEDA_ZoneFrame
::
CreateControls
()
{
{
BOARD
*
board
=
m_Parent
->
m_Pcb
;
SetFont
(
*
g_DialogFont
);
SetFont
(
*
g_DialogFont
);
////@begin WinEDA_ZoneFrame content construction
////@begin WinEDA_ZoneFrame content construction
...
@@ -310,19 +312,23 @@ void WinEDA_ZoneFrame::CreateControls()
...
@@ -310,19 +312,23 @@ void WinEDA_ZoneFrame::CreateControls()
break
;
break
;
}
}
int
layer_cnt
=
g_DesignSettings
.
m_CopperLayerCount
;
int
layer_cnt
=
board
->
GetCopperLayerCount
()
;
for
(
int
ii
=
0
;
ii
<
g_DesignSettings
.
m_CopperLayerCount
;
ii
++
)
for
(
int
ii
=
0
;
ii
<
board
->
GetCopperLayerCount
()
;
ii
++
)
{
{
wxString
msg
;
wxString
msg
;
int
layer_number
=
COPPER_LAYER_N
;
int
layer_number
=
COPPER_LAYER_N
;
if
(
layer_cnt
==
0
||
ii
<
layer_cnt
-
1
)
if
(
layer_cnt
==
0
||
ii
<
layer_cnt
-
1
)
layer_number
=
ii
;
layer_number
=
ii
;
else
if
(
ii
==
layer_cnt
-
1
)
else
if
(
ii
==
layer_cnt
-
1
)
layer_number
=
LAYER_CMP_N
;
layer_number
=
LAYER_CMP_N
;
m_LayerId
[
ii
]
=
layer_number
;
m_LayerId
[
ii
]
=
layer_number
;
msg
=
ReturnPcbLayerName
(
layer_number
).
Trim
();
msg
=
board
->
GetLayerName
(
layer_number
).
Trim
();
m_LayerSelectionCtrl
->
InsertItems
(
1
,
&
msg
,
ii
);
m_LayerSelectionCtrl
->
InsertItems
(
1
,
&
msg
,
ii
);
if
(
m_Zone_Container
)
if
(
m_Zone_Container
)
{
{
if
(
m_Zone_Container
->
GetLayer
()
==
layer_number
)
if
(
m_Zone_Container
->
GetLayer
()
==
layer_number
)
m_LayerSelectionCtrl
->
SetSelection
(
ii
);
m_LayerSelectionCtrl
->
SetSelection
(
ii
);
...
@@ -335,21 +341,24 @@ void WinEDA_ZoneFrame::CreateControls()
...
@@ -335,21 +341,24 @@ void WinEDA_ZoneFrame::CreateControls()
}
}
m_NetSortingOption
->
SetSelection
(
m_NetSorting
==
BOARD
::
ALPHA_SORT
?
0
:
1
);
m_NetSortingOption
->
SetSelection
(
m_NetSorting
==
BOARD
::
ALPHA_SORT
?
0
:
1
);
wxString
NetNameFilter
;
wxString
NetNameFilter
;
if
(
m_Parent
->
m_Parent
->
m_EDA_Config
)
if
(
m_Parent
->
m_Parent
->
m_EDA_Config
)
{
{
NetNameFilter
=
m_Parent
->
m_Parent
->
m_EDA_Config
->
Read
(
ZONE_NET_FILTER_STRING_KEY
,
wxT
(
"N_0*"
)
);
NetNameFilter
=
m_Parent
->
m_Parent
->
m_EDA_Config
->
Read
(
ZONE_NET_FILTER_STRING_KEY
,
wxT
(
"N_0*"
)
);
}
}
m_NetNameFilter
->
SetValue
(
NetNameFilter
);
m_NetNameFilter
->
SetValue
(
NetNameFilter
);
wxArrayString
ListNetName
;
wxArrayString
ListNetName
;
m_Parent
->
m_Pcb
->
ReturnSortedNetnamesList
(
ListNetName
,
m_Parent
->
m_Pcb
->
ReturnSortedNetnamesList
(
ListNetName
,
m_NetSorting
==
0
?
BOARD
::
ALPHA_SORT
:
BOARD
::
PAD_CNT_SORT
);
m_NetSorting
==
0
?
BOARD
::
ALPHA_SORT
:
BOARD
::
PAD_CNT_SORT
);
if
(
m_NetSorting
!=
0
)
if
(
m_NetSorting
!=
0
)
{
{
wxString
Filter
=
m_NetNameFilter
->
GetValue
();
wxString
Filter
=
m_NetNameFilter
->
GetValue
();
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
{
{
if
(
ListNetName
[
ii
].
Matches
(
Filter
.
GetData
()
)
)
if
(
ListNetName
[
ii
].
Matches
(
Filter
.
GetData
()
)
)
{
{
ListNetName
.
RemoveAt
(
ii
);
ListNetName
.
RemoveAt
(
ii
);
ii
--
;
ii
--
;
...
@@ -361,8 +370,9 @@ void WinEDA_ZoneFrame::CreateControls()
...
@@ -361,8 +370,9 @@ void WinEDA_ZoneFrame::CreateControls()
// Select net:
// Select net:
int
net_select
=
g_HightLigth_NetCode
;
int
net_select
=
g_HightLigth_NetCode
;
if
(
m_Zone_Container
)
if
(
m_Zone_Container
)
net_select
=
m_Zone_Container
->
GetNet
();
net_select
=
m_Zone_Container
->
GetNet
();
if
(
net_select
>
0
)
if
(
net_select
>
0
)
{
{
EQUIPOT
*
equipot
=
m_Parent
->
m_Pcb
->
FindNet
(
net_select
);
EQUIPOT
*
equipot
=
m_Parent
->
m_Pcb
->
FindNet
(
net_select
);
...
@@ -563,7 +573,6 @@ void WinEDA_ZoneFrame::OnNetSortingOptionSelected( wxCommandEvent& event )
...
@@ -563,7 +573,6 @@ void WinEDA_ZoneFrame::OnNetSortingOptionSelected( wxCommandEvent& event )
m_Parent
->
m_Parent
->
m_EDA_Config
->
Write
(
ZONE_NET_SORT_OPTION_KEY
,
(
long
)
m_NetSorting
);
m_Parent
->
m_Parent
->
m_EDA_Config
->
Write
(
ZONE_NET_SORT_OPTION_KEY
,
(
long
)
m_NetSorting
);
m_Parent
->
m_Parent
->
m_EDA_Config
->
Write
(
ZONE_NET_FILTER_STRING_KEY
,
m_NetNameFilter
->
GetValue
()
);
m_Parent
->
m_Parent
->
m_EDA_Config
->
Write
(
ZONE_NET_FILTER_STRING_KEY
,
m_NetNameFilter
->
GetValue
()
);
}
}
}
}
...
...
pcbnew/editedge.cpp
View file @
10e13ae5
...
@@ -174,7 +174,7 @@ void WinEDA_PcbFrame::Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC
...
@@ -174,7 +174,7 @@ void WinEDA_PcbFrame::Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC
return
;
return
;
}
}
wxString
msg
=
_
(
"Delete Layer "
)
+
ReturnPcb
LayerName
(
layer
);
wxString
msg
=
_
(
"Delete Layer "
)
+
m_Pcb
->
Get
LayerName
(
layer
);
if
(
!
IsOK
(
this
,
msg
)
)
if
(
!
IsOK
(
this
,
msg
)
)
return
;
return
;
...
...
pcbnew/initpcb.cpp
View file @
10e13ae5
...
@@ -127,26 +127,9 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
...
@@ -127,26 +127,9 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
}
}
}
}
/* Suppression des listes chainees */
// delete the old BOARD and create a new BOARD so that the default
m_Pcb
->
m_Equipots
->
DeleteStructList
();
// layer names are put into the BOARD.
m_Pcb
->
m_Equipots
=
NULL
;
SetBOARD
(
new
BOARD
(
NULL
,
this
)
);
m_Pcb
->
m_Drawings
->
DeleteStructList
();
m_Pcb
->
m_Drawings
=
NULL
;
m_Pcb
->
m_Modules
->
DeleteStructList
();
m_Pcb
->
m_Modules
=
NULL
;
m_Pcb
->
m_Track
->
DeleteStructList
();
m_Pcb
->
m_Track
=
NULL
;
m_Pcb
->
m_NbSegmTrack
=
0
;
m_Pcb
->
m_Zone
->
DeleteStructList
();
m_Pcb
->
m_Zone
=
NULL
;
m_Pcb
->
m_NbSegmZone
=
0
;
m_Pcb
->
DeleteMARKERs
();
m_Pcb
->
DeleteZONEOutlines
();
for
(
;
g_UnDeleteStackPtr
!=
0
;
)
for
(
;
g_UnDeleteStackPtr
!=
0
;
)
{
{
...
@@ -159,30 +142,6 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
...
@@ -159,30 +142,6 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
memset
(
buf_work
,
0
,
BUFMEMSIZE
);
memset
(
buf_work
,
0
,
BUFMEMSIZE
);
adr_lowmem
=
adr_max
=
buf_work
;
adr_lowmem
=
adr_max
=
buf_work
;
if
(
m_Pcb
->
m_Pads
)
{
MyFree
(
m_Pcb
->
m_Pads
);
m_Pcb
->
m_Pads
=
NULL
;
}
if
(
m_Pcb
->
m_Ratsnest
)
MyFree
(
m_Pcb
->
m_Ratsnest
);
if
(
m_Pcb
->
m_LocalRatsnest
)
MyFree
(
m_Pcb
->
m_LocalRatsnest
);
m_Pcb
->
m_Ratsnest
=
NULL
;
m_Pcb
->
m_LocalRatsnest
=
NULL
;
/* remise a 0 ou a une valeur initiale des variables de la structure */
m_Pcb
->
m_BoundaryBox
.
SetOrigin
(
wxPoint
(
0
,
0
)
);
m_Pcb
->
m_BoundaryBox
.
SetSize
(
wxSize
(
0
,
0
)
);
m_Pcb
->
m_Status_Pcb
=
0
;
m_Pcb
->
m_NbLoclinks
=
0
;
m_Pcb
->
m_NbLinks
=
0
;
m_Pcb
->
m_NbPads
=
0
;
m_Pcb
->
m_NbNets
=
0
;
m_Pcb
->
m_NbNodes
=
0
;
m_Pcb
->
m_NbNoconnect
=
0
;
m_Pcb
->
m_NbSegmTrack
=
0
;
m_Pcb
->
m_NbSegmZone
=
0
;
SetCurItem
(
NULL
);
SetCurItem
(
NULL
);
/* Init parametres de gestion */
/* Init parametres de gestion */
...
...
pcbnew/ioascii.cpp
View file @
10e13ae5
...
@@ -308,11 +308,25 @@ int WinEDA_BasePcbFrame::ReadSetup( FILE* File, int* LineNum )
...
@@ -308,11 +308,25 @@ int WinEDA_BasePcbFrame::ReadSetup( FILE* File, int* LineNum )
if
(
strncmp
(
Line
,
"Layer["
,
LAYERKEYZ
)
==
0
)
if
(
strncmp
(
Line
,
"Layer["
,
LAYERKEYZ
)
==
0
)
{
{
const
char
*
cp
=
Line
+
LAYERKEYZ
;
// parse:
// Layer[n] "a Layer name" <LAYER_T>
char
*
cp
=
Line
+
LAYERKEYZ
;
int
layer
=
atoi
(
cp
);
int
layer
=
atoi
(
cp
);
if
(
data
)
{
wxString
layerName
=
CONV_FROM_UTF8
(
data
);
wxString
layerName
=
CONV_FROM_UTF8
(
data
);
m_Pcb
->
SetLayerName
(
layer
,
layerName
);
m_Pcb
->
SetLayerName
(
layer
,
layerName
);
data
=
strtok
(
NULL
,
" "
);
if
(
data
)
{
LAYER_T
type
=
LAYER
::
ParseType
(
data
);
m_Pcb
->
SetLayerType
(
layer
,
type
);
}
}
continue
;
continue
;
}
}
...
@@ -500,13 +514,9 @@ int WinEDA_BasePcbFrame::ReadSetup( FILE* File, int* LineNum )
...
@@ -500,13 +514,9 @@ int WinEDA_BasePcbFrame::ReadSetup( FILE* File, int* LineNum )
#ifdef PCBNEW
#ifdef PCBNEW
/***************************************************************/
/******************************************************************************/
static
int
WriteSetup
(
FILE
*
aFile
,
WinEDA_BasePcbFrame
*
aFrame
static
int
WriteSetup
(
FILE
*
aFile
,
WinEDA_BasePcbFrame
*
aFrame
,
BOARD
*
aBoard
)
#if defined(DEBUG)
/******************************************************************************/
,
BOARD
*
aBoard
#endif
)
/***************************************************************/
{
{
char
text
[
1024
];
char
text
[
1024
];
int
ii
,
jj
;
int
ii
,
jj
;
...
@@ -533,18 +543,14 @@ static int WriteSetup( FILE* aFile, WinEDA_BasePcbFrame* aFrame
...
@@ -533,18 +543,14 @@ static int WriteSetup( FILE* aFile, WinEDA_BasePcbFrame* aFrame
fprintf
(
aFile
,
"ZoneGridSize %d
\n
"
,
g_GridRoutingSize
);
fprintf
(
aFile
,
"ZoneGridSize %d
\n
"
,
g_GridRoutingSize
);
#if defined(DEBUG)
fprintf
(
aFile
,
"Layers %d
\n
"
,
aBoard
->
GetCopperLayerCount
()
);
fprintf
(
aFile
,
"Layers %d
\n
"
,
aBoard
->
GetCopperLayerCount
()
);
for
(
int
layer
=
0
;
layer
<
aBoard
->
GetCopperLayerCount
();
++
layer
)
for
(
int
layer
=
0
;
layer
<
aBoard
->
GetCopperLayerCount
();
++
layer
)
{
{
fprintf
(
aFile
,
"Layer[%d] %s
\n
"
,
layer
,
CONV_TO_UTF8
(
aBoard
->
GetLayerName
(
layer
)
)
);
fprintf
(
aFile
,
"Layer[%d] %s %s
\n
"
,
layer
,
CONV_TO_UTF8
(
aBoard
->
GetLayerName
(
layer
)
),
LAYER
::
ShowType
(
aBoard
->
GetLayerType
(
layer
)
)
);
}
}
#else
fprintf
(
aFile
,
"Layers %d
\n
"
,
g_DesignSettings
.
m_CopperLayerCount
);
#endif
fprintf
(
aFile
,
"TrackWidth %d
\n
"
,
g_DesignSettings
.
m_CurrentTrackWidth
);
fprintf
(
aFile
,
"TrackWidth %d
\n
"
,
g_DesignSettings
.
m_CurrentTrackWidth
);
for
(
ii
=
0
;
ii
<
HISTORY_NUMBER
;
ii
++
)
for
(
ii
=
0
;
ii
<
HISTORY_NUMBER
;
ii
++
)
{
{
...
@@ -1057,11 +1063,7 @@ int WinEDA_PcbFrame::SavePcbFormatAscii( FILE* aFile )
...
@@ -1057,11 +1063,7 @@ int WinEDA_PcbFrame::SavePcbFormatAscii( FILE* aFile )
WriteGeneralDescrPcb
(
aFile
);
WriteGeneralDescrPcb
(
aFile
);
WriteSheetDescr
(
m_CurrentScreen
,
aFile
);
WriteSheetDescr
(
m_CurrentScreen
,
aFile
);
WriteSetup
(
aFile
,
this
WriteSetup
(
aFile
,
this
,
m_Pcb
);
#if defined(DEBUG)
,
m_Pcb
#endif
);
rc
=
m_Pcb
->
Save
(
aFile
);
rc
=
m_Pcb
->
Save
(
aFile
);
...
...
pcbnew/locate.cpp
View file @
10e13ae5
...
@@ -27,55 +27,6 @@ wxPoint inline RefPos( int typeloc )
...
@@ -27,55 +27,6 @@ wxPoint inline RefPos( int typeloc )
}
}
/*************************************************************/
MODULE
*
ReturnModule
(
BOARD
*
pcb
,
const
wxString
&
reference
)
/*************************************************************/
/*
* Recherche d'un module par sa reference
* Retourne:
* un pointeur sur le module
* Null si pas localis�
*/
{
MODULE
*
Module
=
pcb
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Pnext
)
{
if
(
reference
.
CmpNoCase
(
Module
->
m_Reference
->
m_Text
)
==
0
)
return
Module
;
}
return
NULL
;
}
/********************************************************/
D_PAD
*
ReturnPad
(
MODULE
*
module
,
const
wxString
&
name
)
/********************************************************/
/* Recherche d'un pad par son nom, pour le module Module
*/
{
D_PAD
*
pt_pad
;
wxString
buf
;
if
(
module
==
NULL
)
return
NULL
;
pt_pad
=
module
->
m_Pads
;
for
(
;
pt_pad
!=
NULL
;
pt_pad
=
(
D_PAD
*
)
pt_pad
->
Pnext
)
{
pt_pad
->
ReturnStringPadName
(
buf
);
if
(
buf
.
CmpNoCase
(
name
)
==
0
)
return
pt_pad
;
}
return
NULL
;
}
/*******************************************************************/
/*******************************************************************/
TRACK
*
Locate_Via
(
BOARD
*
Pcb
,
const
wxPoint
&
pos
,
int
layer
)
TRACK
*
Locate_Via
(
BOARD
*
Pcb
,
const
wxPoint
&
pos
,
int
layer
)
/*******************************************************************/
/*******************************************************************/
...
...
pcbnew/pcbframe.cpp
View file @
10e13ae5
...
@@ -201,6 +201,8 @@ WinEDA_PcbFrame::WinEDA_PcbFrame( wxWindow* father, WinEDA_App* parent,
...
@@ -201,6 +201,8 @@ WinEDA_PcbFrame::WinEDA_PcbFrame( wxWindow* father, WinEDA_App* parent,
m_drc
=
new
DRC
(
this
);
// these 2 objects point to each other
m_drc
=
new
DRC
(
this
);
// these 2 objects point to each other
SetBOARD
(
new
BOARD
(
NULL
,
this
)
);
m_DisplayPcbTrackFill
=
DisplayOpt
.
DisplayPcbTrackFill
;
m_DisplayPcbTrackFill
=
DisplayOpt
.
DisplayPcbTrackFill
;
m_DisplayPadFill
=
DisplayOpt
.
DisplayPadFill
;
m_DisplayPadFill
=
DisplayOpt
.
DisplayPadFill
;
m_DisplayPadNum
=
DisplayOpt
.
DisplayPadNum
;
m_DisplayPadNum
=
DisplayOpt
.
DisplayPadNum
;
...
@@ -247,6 +249,7 @@ WinEDA_PcbFrame::~WinEDA_PcbFrame()
...
@@ -247,6 +249,7 @@ WinEDA_PcbFrame::~WinEDA_PcbFrame()
m_Parent
->
m_PcbFrame
=
NULL
;
m_Parent
->
m_PcbFrame
=
NULL
;
m_CurrentScreen
=
ScreenPcb
;
m_CurrentScreen
=
ScreenPcb
;
delete
m_drc
;
delete
m_drc
;
delete
m_Pcb
;
}
}
...
...
pcbnew/pcbnew.cpp
View file @
10e13ae5
...
@@ -75,7 +75,6 @@ bool WinEDA_App::OnInit()
...
@@ -75,7 +75,6 @@ bool WinEDA_App::OnInit()
wxString
Title
=
g_Main_Title
+
wxT
(
" "
)
+
GetBuildVersion
();
wxString
Title
=
g_Main_Title
+
wxT
(
" "
)
+
GetBuildVersion
();
m_PcbFrame
->
SetTitle
(
Title
);
m_PcbFrame
->
SetTitle
(
Title
);
ActiveScreen
=
ScreenPcb
;
ActiveScreen
=
ScreenPcb
;
m_PcbFrame
->
m_Pcb
=
new
BOARD
(
NULL
,
m_PcbFrame
);
SetTopWindow
(
m_PcbFrame
);
SetTopWindow
(
m_PcbFrame
);
m_PcbFrame
->
Show
(
TRUE
);
m_PcbFrame
->
Show
(
TRUE
);
...
...
pcbnew/pcbplot.cpp
View file @
10e13ae5
This diff is collapsed.
Click to expand it.
pcbnew/pcbtexte.cpp
View file @
10e13ae5
...
@@ -90,8 +90,11 @@ WinEDA_TextPCBPropertiesFrame::WinEDA_TextPCBPropertiesFrame( WinEDA_PcbFrame* p
...
@@ -90,8 +90,11 @@ WinEDA_TextPCBPropertiesFrame::WinEDA_TextPCBPropertiesFrame( WinEDA_PcbFrame* p
/************************************************************************************/
/************************************************************************************/
{
{
wxButton
*
Button
;
wxButton
*
Button
;
BOARD
*
board
=
parent
->
m_Pcb
;
m_Parent
=
parent
;
m_Parent
=
parent
;
SetFont
(
*
g_DialogFont
);
SetFont
(
*
g_DialogFont
);
m_DC
=
DC
;
m_DC
=
DC
;
Centre
();
Centre
();
...
@@ -139,16 +142,17 @@ WinEDA_TextPCBPropertiesFrame::WinEDA_TextPCBPropertiesFrame( WinEDA_PcbFrame* p
...
@@ -139,16 +142,17 @@ WinEDA_TextPCBPropertiesFrame::WinEDA_TextPCBPropertiesFrame( WinEDA_PcbFrame* p
wxDefaultPosition
,
wxDefaultSize
);
wxDefaultPosition
,
wxDefaultSize
);
MiddleBoxSizer
->
Add
(
m_SelLayerBox
,
0
,
wxGROW
|
wxALL
,
5
);
MiddleBoxSizer
->
Add
(
m_SelLayerBox
,
0
,
wxGROW
|
wxALL
,
5
);
int
ii
;
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
++
layer
)
for
(
ii
=
0
;
ii
<
NB_LAYERS
;
ii
++
)
{
{
m_SelLayerBox
->
Append
(
ReturnPcbLayerName
(
ii
)
);
m_SelLayerBox
->
Append
(
board
->
GetLayerName
(
layer
)
);
}
}
m_SelLayerBox
->
SetSelection
(
TextPCB
->
GetLayer
()
);
m_SelLayerBox
->
SetSelection
(
TextPCB
->
GetLayer
()
);
wxString
orient_msg
[
4
]
=
{
wxT
(
"0"
),
wxT
(
"90"
),
wxT
(
"180"
),
wxT
(
"-90"
)
};
static
const
wxString
orient_msg
[
4
]
=
{
wxT
(
"0"
),
wxT
(
"90"
),
wxT
(
"180"
),
wxT
(
"-90"
)
};
m_Orient
=
new
wxRadioBox
(
this
,
-
1
,
_
(
"Orientation"
),
m_Orient
=
new
wxRadioBox
(
this
,
-
1
,
_
(
"Orientation"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
4
,
orient_msg
,
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
4
,
orient_msg
,
1
,
wxRA_SPECIFY_COLS
);
1
,
wxRA_SPECIFY_COLS
);
...
...
pcbnew/protos.h
View file @
10e13ae5
...
@@ -71,12 +71,8 @@ void Trace_Pads_Only( WinEDA_DrawPanel* panel, wxDC* DC, MODULE* Module, int ox,
...
@@ -71,12 +71,8 @@ void Trace_Pads_Only( WinEDA_DrawPanel* panel, wxDC* DC, MODULE* Module, int ox,
/* LOCATE.CPP : */
/* LOCATE.CPP : */
/****************/
/****************/
MODULE
*
ReturnModule
(
BOARD
*
Pcb
,
const
wxString
&
name
);
/* Recherche d'une empreinte par son nom */
/* Recherche d'une empreinte par son nom */
D_PAD
*
ReturnPad
(
MODULE
*
Module
,
const
wxString
&
name
);
/* Recherche d'un pad par son nom, pour le module Module */
/* Recherche d'un pad par son nom, pour le module Module */
TRACK
*
Locate_Via
(
BOARD
*
Pcb
,
const
wxPoint
&
pos
,
int
layer
=
-
1
);
TRACK
*
Locate_Via
(
BOARD
*
Pcb
,
const
wxPoint
&
pos
,
int
layer
=
-
1
);
...
@@ -417,7 +413,7 @@ MODULE* ListAndSelectModuleName( COMMAND* Cmd );
...
@@ -417,7 +413,7 @@ MODULE* ListAndSelectModuleName( COMMAND* Cmd );
/*****************/
/*****************/
/* SET_COLOR.CPP */
/* SET_COLOR.CPP */
/*****************/
/*****************/
void
DisplayColorSetupFrame
(
WinEDA_
Draw
Frame
*
parent
,
void
DisplayColorSetupFrame
(
WinEDA_
Pcb
Frame
*
parent
,
const
wxPoint
&
framepos
);
const
wxPoint
&
framepos
);
...
...
pcbnew/sel_layer.cpp
View file @
10e13ae5
...
@@ -101,6 +101,7 @@ WinEDA_SelLayerFrame::WinEDA_SelLayerFrame( WinEDA_BasePcbFrame* parent,
...
@@ -101,6 +101,7 @@ WinEDA_SelLayerFrame::WinEDA_SelLayerFrame( WinEDA_BasePcbFrame* parent,
* to the right of that radiobox.
* to the right of that radiobox.
*/
*/
{
{
BOARD
*
board
=
parent
->
m_Pcb
;
wxButton
*
Button
;
wxButton
*
Button
;
int
ii
;
int
ii
;
wxString
LayerList
[
NB_LAYERS
+
1
];
// One extra element for "(Deselect)" radiobutton
wxString
LayerList
[
NB_LAYERS
+
1
];
// One extra element for "(Deselect)" radiobutton
...
@@ -123,7 +124,7 @@ WinEDA_SelLayerFrame::WinEDA_SelLayerFrame( WinEDA_BasePcbFrame* parent,
...
@@ -123,7 +124,7 @@ WinEDA_SelLayerFrame::WinEDA_SelLayerFrame( WinEDA_BasePcbFrame* parent,
if
(
(
max_layer
>=
0
)
&&
(
max_layer
<
ii
)
)
if
(
(
max_layer
>=
0
)
&&
(
max_layer
<
ii
)
)
break
;
break
;
LayerList
[
LayerCount
]
=
ReturnPcb
LayerName
(
ii
);
LayerList
[
LayerCount
]
=
board
->
Get
LayerName
(
ii
);
if
(
ii
==
default_layer
)
if
(
ii
==
default_layer
)
LayerSelect
=
LayerCount
;
LayerSelect
=
LayerCount
;
...
@@ -264,6 +265,7 @@ WinEDA_SelLayerPairFrame::WinEDA_SelLayerPairFrame( WinEDA_BasePcbFrame* parent
...
@@ -264,6 +265,7 @@ WinEDA_SelLayerPairFrame::WinEDA_SelLayerPairFrame( WinEDA_BasePcbFrame* parent
wxSize
(
470
,
250
),
DIALOG_STYLE
)
wxSize
(
470
,
250
),
DIALOG_STYLE
)
/*******************************************************************************/
/*******************************************************************************/
{
{
BOARD
*
board
=
parent
->
m_Pcb
;
wxButton
*
Button
;
wxButton
*
Button
;
int
ii
,
LayerCount
;
int
ii
,
LayerCount
;
wxString
LayerList
[
NB_COPPER_LAYERS
];
wxString
LayerList
[
NB_COPPER_LAYERS
];
...
@@ -281,7 +283,7 @@ WinEDA_SelLayerPairFrame::WinEDA_SelLayerPairFrame( WinEDA_BasePcbFrame* parent
...
@@ -281,7 +283,7 @@ WinEDA_SelLayerPairFrame::WinEDA_SelLayerPairFrame( WinEDA_BasePcbFrame* parent
m_LayerId
[
ii
]
=
0
;
m_LayerId
[
ii
]
=
0
;
if
(
(
g_TabOneLayerMask
[
ii
]
&
Masque_Layer
)
)
if
(
(
g_TabOneLayerMask
[
ii
]
&
Masque_Layer
)
)
{
{
LayerList
[
LayerCount
]
=
ReturnPcb
LayerName
(
ii
);
LayerList
[
LayerCount
]
=
board
->
Get
LayerName
(
ii
);
if
(
ii
==
screen
->
m_Route_Layer_TOP
)
if
(
ii
==
screen
->
m_Route_Layer_TOP
)
LayerTopSelect
=
LayerCount
;
LayerTopSelect
=
LayerCount
;
if
(
ii
==
screen
->
m_Route_Layer_BOTTOM
)
if
(
ii
==
screen
->
m_Route_Layer_BOTTOM
)
...
...
pcbnew/set_color.cpp
View file @
10e13ae5
...
@@ -51,7 +51,7 @@ END_EVENT_TABLE()
...
@@ -51,7 +51,7 @@ END_EVENT_TABLE()
/*****************************************************/
/*****************************************************/
void
DisplayColorSetupFrame
(
WinEDA_
Draw
Frame
*
parent
,
void
DisplayColorSetupFrame
(
WinEDA_
Pcb
Frame
*
parent
,
const
wxPoint
&
framepos
)
const
wxPoint
&
framepos
)
/*****************************************************/
/*****************************************************/
{
{
...
@@ -72,7 +72,7 @@ WinEDA_SetColorsFrame::WinEDA_SetColorsFrame()
...
@@ -72,7 +72,7 @@ WinEDA_SetColorsFrame::WinEDA_SetColorsFrame()
// Standard Constructor
// Standard Constructor
WinEDA_SetColorsFrame
::
WinEDA_SetColorsFrame
(
WinEDA_
Draw
Frame
*
parent
,
WinEDA_SetColorsFrame
::
WinEDA_SetColorsFrame
(
WinEDA_
Pcb
Frame
*
parent
,
const
wxPoint
&
framepos
)
const
wxPoint
&
framepos
)
{
{
m_Parent
=
parent
;
m_Parent
=
parent
;
...
@@ -225,7 +225,7 @@ void WinEDA_SetColorsFrame::CreateControls()
...
@@ -225,7 +225,7 @@ void WinEDA_SetColorsFrame::CreateControls()
if
(
laytool_list
[
lyr
]
->
m_Title
==
wxT
(
"*"
)
)
if
(
laytool_list
[
lyr
]
->
m_Title
==
wxT
(
"*"
)
)
msg
=
g_ViaType_Name
[
laytool_list
[
lyr
]
->
m_LayerNumber
];
msg
=
g_ViaType_Name
[
laytool_list
[
lyr
]
->
m_LayerNumber
];
else
else
msg
=
ReturnPcb
LayerName
(
laytool_list
[
lyr
]
->
m_LayerNumber
);
msg
=
m_Parent
->
m_Pcb
->
Get
LayerName
(
laytool_list
[
lyr
]
->
m_LayerNumber
);
}
}
else
else
msg
=
wxGetTranslation
(
laytool_list
[
lyr
]
->
m_Title
.
GetData
()
);
msg
=
wxGetTranslation
(
laytool_list
[
lyr
]
->
m_Title
.
GetData
()
);
...
...
pcbnew/set_color.h
View file @
10e13ae5
...
@@ -526,7 +526,7 @@ private:
...
@@ -526,7 +526,7 @@ private:
DECLARE_DYNAMIC_CLASS
(
WinEDA_SetColorsFrame
)
DECLARE_DYNAMIC_CLASS
(
WinEDA_SetColorsFrame
)
DECLARE_EVENT_TABLE
()
DECLARE_EVENT_TABLE
()
WinEDA_
DrawFrame
*
m_Parent
;
WinEDA_
PcbFrame
*
m_Parent
;
wxBoxSizer
*
OuterBoxSizer
;
wxBoxSizer
*
OuterBoxSizer
;
wxBoxSizer
*
MainBoxSizer
;
wxBoxSizer
*
MainBoxSizer
;
wxFlexGridSizer
*
FlexColumnBoxSizer
;
wxFlexGridSizer
*
FlexColumnBoxSizer
;
...
@@ -566,7 +566,7 @@ private:
...
@@ -566,7 +566,7 @@ private:
public
:
public
:
// Constructors and destructor
// Constructors and destructor
WinEDA_SetColorsFrame
();
WinEDA_SetColorsFrame
();
WinEDA_SetColorsFrame
(
WinEDA_
Draw
Frame
*
parent
,
const
wxPoint
&
framepos
);
WinEDA_SetColorsFrame
(
WinEDA_
Pcb
Frame
*
parent
,
const
wxPoint
&
framepos
);
~
WinEDA_SetColorsFrame
();
~
WinEDA_SetColorsFrame
();
};
};
...
...
pcbnew/specctra_export.cpp
View file @
10e13ae5
...
@@ -826,6 +826,17 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
...
@@ -826,6 +826,17 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
layer
->
name
=
layerIds
[
pcbNdx
];
layer
->
name
=
layerIds
[
pcbNdx
];
DSN_T
layerType
;
switch
(
aBoard
->
GetLayerType
(
pcbLayer2kicad
[
pcbNdx
]
)
)
{
default
:
case
LT_SIGNAL
:
layerType
=
T_signal
;
break
;
case
LT_POWER
:
layerType
=
T_power
;
break
;
case
LT_MIXED
:
layerType
=
T_mixed
;
break
;
}
layer
->
layer_type
=
layerType
;
layer
->
properties
.
push_back
(
PROPERTY
()
);
layer
->
properties
.
push_back
(
PROPERTY
()
);
PROPERTY
*
property
=
&
layer
->
properties
.
back
();
PROPERTY
*
property
=
&
layer
->
properties
.
back
();
property
->
name
=
"index"
;
property
->
name
=
"index"
;
...
...
pcbnew/swap_layers.cpp
View file @
10e13ae5
...
@@ -71,6 +71,8 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -71,6 +71,8 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame( WinEDA_BasePcbFrame* parent ) :
wxDefaultSize
,
wxDEFAULT_DIALOG_STYLE
|
MAYBE_RESIZE_BORDER
)
wxDefaultSize
,
wxDEFAULT_DIALOG_STYLE
|
MAYBE_RESIZE_BORDER
)
/*************************************************************************/
/*************************************************************************/
{
{
BOARD
*
board
=
parent
->
m_Pcb
;
OuterBoxSizer
=
NULL
;
OuterBoxSizer
=
NULL
;
MainBoxSizer
=
NULL
;
MainBoxSizer
=
NULL
;
FlexColumnBoxSizer
=
NULL
;
FlexColumnBoxSizer
=
NULL
;
...
@@ -154,7 +156,8 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -154,7 +156,8 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame( WinEDA_BasePcbFrame* parent ) :
}
}
// Provide a text string to identify this layer (with trailing spaces within that string being purged)
// Provide a text string to identify this layer (with trailing spaces within that string being purged)
label
=
new
wxStaticText
(
this
,
wxID_STATIC
,
ReturnPcbLayerName
(
ii
).
Trim
(),
wxDefaultPosition
,
wxDefaultSize
,
wxALIGN_RIGHT
);
label
=
new
wxStaticText
(
this
,
wxID_STATIC
,
board
->
GetLayerName
(
ii
),
wxDefaultPosition
,
wxDefaultSize
,
wxALIGN_RIGHT
);
FlexColumnBoxSizer
->
Add
(
label
,
0
,
wxALIGN_RIGHT
|
wxALIGN_CENTER_VERTICAL
|
wxLEFT
|
wxBOTTOM
,
5
);
FlexColumnBoxSizer
->
Add
(
label
,
0
,
wxALIGN_RIGHT
|
wxALIGN_CENTER_VERTICAL
|
wxLEFT
|
wxBOTTOM
,
5
);
// Provide a button for this layer (which will invoke a child dialog box)
// Provide a button for this layer (which will invoke a child dialog box)
...
@@ -177,11 +180,11 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -177,11 +180,11 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame( WinEDA_BasePcbFrame* parent ) :
// strings to be truncated after different layers are selected.)
// strings to be truncated after different layers are selected.)
if
(
ii
==
0
)
if
(
ii
==
0
)
{
{
text
=
new
wxStaticText
(
this
,
item_ID
,
ReturnPcb
LayerName
(
0
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
text
=
new
wxStaticText
(
this
,
item_ID
,
board
->
Get
LayerName
(
0
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
goodSize
=
text
->
GetSize
();
goodSize
=
text
->
GetSize
();
for
(
int
jj
=
1
;
jj
<
NB_LAYERS
;
jj
++
)
for
(
int
jj
=
1
;
jj
<
NB_LAYERS
;
jj
++
)
{
{
text
->
SetLabel
(
ReturnPcb
LayerName
(
jj
)
);
text
->
SetLabel
(
board
->
Get
LayerName
(
jj
)
);
if
(
goodSize
.
x
<
text
->
GetSize
().
x
)
if
(
goodSize
.
x
<
text
->
GetSize
().
x
)
goodSize
.
x
=
text
->
GetSize
().
x
;
goodSize
.
x
=
text
->
GetSize
().
x
;
}
}
...
@@ -280,7 +283,7 @@ void WinEDA_SwapLayerFrame::Sel_Layer( wxCommandEvent& event )
...
@@ -280,7 +283,7 @@ void WinEDA_SwapLayerFrame::Sel_Layer( wxCommandEvent& event )
}
}
else
else
{
{
layer_list
[
ii
]
->
SetLabel
(
ReturnPcb
LayerName
(
jj
)
);
layer_list
[
ii
]
->
SetLabel
(
m_Parent
->
m_Pcb
->
Get
LayerName
(
jj
)
);
// Change the text color to fushia (to highlight
// Change the text color to fushia (to highlight
// that this layer *is* being swapped)
// that this layer *is* being swapped)
layer_list
[
ii
]
->
SetForegroundColour
(
wxColour
(
255
,
0
,
128
)
);
layer_list
[
ii
]
->
SetForegroundColour
(
wxColour
(
255
,
0
,
128
)
);
...
...
pcbnew/tool_pcb.cpp
View file @
10e13ae5
...
@@ -691,7 +691,7 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
...
@@ -691,7 +691,7 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
if
(
(
g_TabOneLayerMask
[
ii
]
&
Masque_Layer
)
)
if
(
(
g_TabOneLayerMask
[
ii
]
&
Masque_Layer
)
)
{
{
wxString
msg
=
ReturnPcbLayerName
(
ii
,
false
);
wxString
msg
=
m_Pcb
->
GetLayerName
(
ii
);
msg
=
AddHotkeyName
(
msg
,
s_Board_Editor_Hokeys_Descr
,
HK_SwitchLayer
[
ii
]
);
msg
=
AddHotkeyName
(
msg
,
s_Board_Editor_Hokeys_Descr
,
HK_SwitchLayer
[
ii
]
);
m_SelLayerBox
->
Append
(
msg
);
m_SelLayerBox
->
Append
(
msg
);
m_SelLayerBox
->
SetClientData
(
jj
,
(
void
*
)
ii
);
m_SelLayerBox
->
SetClientData
(
jj
,
(
void
*
)
ii
);
...
...
share/wxprint.cpp
View file @
10e13ae5
This diff is collapsed.
Click to expand it.
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