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
6d856f60
Commit
6d856f60
authored
Dec 14, 2008
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pcbnew: Added display a short net name on vias and pads. Also, code cleaning
parent
9dae370c
Changes
51
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
1145 additions
and
919 deletions
+1145
-919
change_log.txt
change_log.txt
+8
-0
basicframe.cpp
common/basicframe.cpp
+0
-3
common_plot_functions.cpp
common/common_plot_functions.cpp
+1
-1
drawtxt.cpp
common/drawtxt.cpp
+85
-76
worksheet.cpp
common/worksheet.cpp
+4
-3
CMakeLists.txt
cvpcb/CMakeLists.txt
+1
-1
makefile.include
cvpcb/makefile.include
+4
-0
class_drawsheet.cpp
eeschema/class_drawsheet.cpp
+2
-2
class_hierarchical_PIN_sheet.cpp
eeschema/class_hierarchical_PIN_sheet.cpp
+3
-2
class_pin.cpp
eeschema/class_pin.cpp
+6
-6
class_text-label.cpp
eeschema/class_text-label.cpp
+9
-6
classes_body_items.cpp
eeschema/classes_body_items.cpp
+2
-2
eelayer.cpp
eeschema/eelayer.cpp
+5
-5
eelibs_draw_components.cpp
eeschema/eelibs_draw_components.cpp
+3
-3
libfield.cpp
eeschema/libfield.cpp
+3
-3
plot.cpp
eeschema/plot.cpp
+10
-8
protos.h
eeschema/protos.h
+1
-1
trpiste.cpp
gerbview/trpiste.cpp
+2
-2
build_version.h
include/build_version.h
+2
-2
colors.h
include/colors.h
+1
-0
common.h
include/common.h
+31
-8
kicad.mo
internat/fr/kicad.mo
+0
-0
kicad.po
internat/fr/kicad.po
+108
-102
CMakeLists.txt
pcbnew/CMakeLists.txt
+1
-0
affiche.cpp
pcbnew/affiche.cpp
+1
-1
class_board.cpp
pcbnew/class_board.cpp
+6
-6
class_board_item.cpp
pcbnew/class_board_item.cpp
+5
-5
class_equipot.cpp
pcbnew/class_equipot.cpp
+33
-11
class_equipot.h
pcbnew/class_equipot.h
+32
-16
class_pad.cpp
pcbnew/class_pad.cpp
+82
-467
class_pad.h
pcbnew/class_pad.h
+26
-2
class_pad_draw_functions.cpp
pcbnew/class_pad_draw_functions.cpp
+466
-0
class_text_mod.cpp
pcbnew/class_text_mod.cpp
+1
-1
class_track.cpp
pcbnew/class_track.cpp
+145
-127
class_track.h
pcbnew/class_track.h
+1
-1
class_zone.cpp
pcbnew/class_zone.cpp
+3
-3
dialog_copper_zones.cpp
pcbnew/dialog_copper_zones.cpp
+3
-3
dialog_pad_properties.cpp
pcbnew/dialog_pad_properties.cpp
+3
-3
export_gencad.cpp
pcbnew/export_gencad.cpp
+7
-6
ioascii.cpp
pcbnew/ioascii.cpp
+1
-1
makefile.include
pcbnew/makefile.include
+1
-0
move-drag_pads.cpp
pcbnew/move-drag_pads.cpp
+1
-1
netlist.cpp
pcbnew/netlist.cpp
+3
-3
ratsnest.cpp
pcbnew/ratsnest.cpp
+5
-5
router.cpp
pcbnew/router.cpp
+1
-1
solve.cpp
pcbnew/solve.cpp
+1
-1
specctra_export.cpp
pcbnew/specctra_export.cpp
+3
-3
surbrill.cpp
pcbnew/surbrill.cpp
+3
-3
tracepcb.cpp
pcbnew/tracepcb.cpp
+7
-0
xchgmod.cpp
pcbnew/xchgmod.cpp
+11
-11
zones_by_polygon.cpp
pcbnew/zones_by_polygon.cpp
+2
-2
No files found.
change_log.txt
View file @
6d856f60
...
@@ -5,6 +5,14 @@ Started 2007-June-11
...
@@ -5,6 +5,14 @@ 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-Dec-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
++pcbnew
Display a short net name on vias and pads (if zoom level allows it).
Short net names are net names without hierarchy path
Add m_ShortNetname and change m_Netname to private in classes D_PAD and EQUIPOT
2008-Dec-08 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
2008-Dec-08 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
================================================================================
================================================================================
++all
++all
...
...
common/basicframe.cpp
View file @
6d856f60
...
@@ -138,9 +138,6 @@ void WinEDA_BasicFrame::PrintMsg( const wxString& text )
...
@@ -138,9 +138,6 @@ void WinEDA_BasicFrame::PrintMsg( const wxString& text )
/******************************************************/
/******************************************************/
{
{
SetStatusText
(
text
);
SetStatusText
(
text
);
#ifdef DEBUG
printf
(
"%s
\n
"
,
(
const
char
*
)
text
.
mb_str
()
);
#endif
}
}
...
...
common/common_plot_functions.cpp
View file @
6d856f60
...
@@ -92,7 +92,7 @@ void PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
...
@@ -92,7 +92,7 @@ void PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
int
ii
,
jj
,
xg
,
yg
,
ipas
,
gxpas
,
gypas
;
int
ii
,
jj
,
xg
,
yg
,
ipas
,
gxpas
,
gypas
;
wxSize
PageSize
;
wxSize
PageSize
;
wxPoint
pos
,
ref
;
wxPoint
pos
,
ref
;
int
color
;
EDA_Colors
color
;
Ki_WorkSheetData
*
WsItem
;
Ki_WorkSheetData
*
WsItem
;
int
conv_unit
=
screen
->
GetInternalUnits
()
/
1000
;
/* Scale to convert dimension in 1/1000 in into internal units
int
conv_unit
=
screen
->
GetInternalUnits
()
/
1000
;
/* Scale to convert dimension in 1/1000 in into internal units
* (1/1000 inc for EESchema, 1/10000 for pcbnew */
* (1/1000 inc for EESchema, 1/10000 for pcbnew */
...
...
common/drawtxt.cpp
View file @
6d856f60
...
@@ -21,22 +21,23 @@
...
@@ -21,22 +21,23 @@
/* fonctions locales : */
/* fonctions locales : */
/****************************************************************************/
/****************************************************************************************************/
void
DrawGraphicText
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
void
DrawGraphicText
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
DC
,
const
wxPoint
&
Pos
,
int
gcolor
,
const
wxString
&
Text
,
const
wxPoint
&
aPos
,
enum
EDA_Colors
aColor
,
const
wxString
&
aText
,
int
orient
,
const
wxSize
&
Size
,
int
h_justify
,
int
v_justify
,
int
width
)
int
aOrient
,
const
wxSize
&
aSize
,
int
aH_justify
,
int
aV_justify
,
int
aWidth
)
/*****************************************************************************/
/****************************************************************************************************/
/* Draw a graphic text (like module texts)
/** Function DrawGraphicText
* Text = text to draw
* Draw a graphic text (like module texts)
* Pos = text position (according to h_justify, v_justify)
* @param aPanel = the current DrawPanel
* Size = text size (size.x or size.y can be < 0 for mirrored texts)
* @param aPos = text position (according to aH_justify, aV_justify)
* orient = angle in 0.1 degree
* @param aColor (enum EDA_Colors) = text color
* mode_color = GR_OR, GR_XOR..
* @param aText = text to draw
* h_justify = horizontal justification (Left, center, right)
* @param aOrient = angle in 0.1 degree
* v_justify = vertical justification (bottom, center, top)
* @param aSize = text size (size.x or size.y can be < 0 for mirrored texts)
* width = line width (pen width) (default = 0)
* @param aH_justify = horizontal justification (Left, center, right)
* if width < 0 : draw segments in sketch mode, width = abs(width)
* @param aV_justify = vertical justification (bottom, center, top)
* @param aWidth = line aWidth (pen aWidth) (default = 0)
*/
*/
{
{
int
ii
,
kk
,
nbchar
,
AsciiCode
,
endcar
;
int
ii
,
kk
,
nbchar
,
AsciiCode
,
endcar
;
...
@@ -52,29 +53,29 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -52,29 +53,29 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
int
coord
[
100
];
// Buffer coordinate used to draw polylines (char shapes)
int
coord
[
100
];
// Buffer coordinate used to draw polylines (char shapes)
bool
sketch_mode
=
FALSE
;
bool
sketch_mode
=
FALSE
;
zoom
=
p
anel
->
GetZoom
();
zoom
=
aP
anel
->
GetZoom
();
size_h
=
Size
.
x
;
size_h
=
a
Size
.
x
;
size_v
=
Size
.
y
;
size_v
=
a
Size
.
y
;
if
(
w
idth
<
0
)
if
(
aW
idth
<
0
)
{
{
width
=
-
w
idth
;
aWidth
=
-
aW
idth
;
sketch_mode
=
TRUE
;
sketch_mode
=
TRUE
;
}
}
kk
=
0
;
kk
=
0
;
ptr
=
0
;
/* ptr = text index */
ptr
=
0
;
/* ptr = text index */
nbchar
=
Text
.
Len
();
nbchar
=
a
Text
.
Len
();
if
(
nbchar
==
0
)
if
(
nbchar
==
0
)
return
;
return
;
espacement
=
(
10
*
size_h
)
/
9
;
// this is the pitch between chars
espacement
=
(
10
*
size_h
)
/
9
;
// this is the pitch between chars
ox
=
cX
=
Pos
.
x
;
ox
=
cX
=
a
Pos
.
x
;
oy
=
cY
=
Pos
.
y
;
oy
=
cY
=
a
Pos
.
y
;
/* Do not draw the text if out of draw area! */
/* Do not draw the text if out of draw area! */
if
(
p
anel
)
if
(
aP
anel
)
{
{
int
xm
,
ym
,
ll
,
xc
,
yc
;
int
xm
,
ym
,
ll
,
xc
,
yc
;
int
textsize
=
ABS
(
espacement
);
int
textsize
=
ABS
(
espacement
);
...
@@ -83,10 +84,10 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -83,10 +84,10 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
xc
=
GRMapX
(
cX
);
xc
=
GRMapX
(
cX
);
yc
=
GRMapY
(
cY
);
yc
=
GRMapY
(
cY
);
x0
=
p
anel
->
m_ClipBox
.
GetX
()
-
ll
;
x0
=
aP
anel
->
m_ClipBox
.
GetX
()
-
ll
;
y0
=
p
anel
->
m_ClipBox
.
GetY
()
-
ll
;
y0
=
aP
anel
->
m_ClipBox
.
GetY
()
-
ll
;
xm
=
p
anel
->
m_ClipBox
.
GetRight
()
+
ll
;
xm
=
aP
anel
->
m_ClipBox
.
GetRight
()
+
ll
;
ym
=
p
anel
->
m_ClipBox
.
GetBottom
()
+
ll
;
ym
=
aP
anel
->
m_ClipBox
.
GetBottom
()
+
ll
;
if
(
xc
<
x0
)
if
(
xc
<
x0
)
return
;
return
;
...
@@ -105,9 +106,9 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -105,9 +106,9 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
ux0
=
uy0
=
0
;
/* Decalage du centre du texte / coord de ref */
ux0
=
uy0
=
0
;
/* Decalage du centre du texte / coord de ref */
if
(
(
orient
==
0
)
||
(
o
rient
==
1800
)
)
/* Horizontal Text */
if
(
(
aOrient
==
0
)
||
(
aO
rient
==
1800
)
)
/* Horizontal Text */
{
{
switch
(
h
_justify
)
switch
(
aH
_justify
)
{
{
case
GR_TEXT_HJUSTIFY_CENTER
:
case
GR_TEXT_HJUSTIFY_CENTER
:
break
;
break
;
...
@@ -121,7 +122,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -121,7 +122,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
break
;
break
;
}
}
switch
(
v
_justify
)
switch
(
aV
_justify
)
{
{
case
GR_TEXT_VJUSTIFY_CENTER
:
case
GR_TEXT_VJUSTIFY_CENTER
:
break
;
break
;
...
@@ -137,7 +138,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -137,7 +138,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
}
}
else
/* Vertical Text */
else
/* Vertical Text */
{
{
switch
(
h
_justify
)
switch
(
aH
_justify
)
{
{
case
GR_TEXT_HJUSTIFY_CENTER
:
case
GR_TEXT_HJUSTIFY_CENTER
:
break
;
break
;
...
@@ -151,7 +152,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -151,7 +152,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
break
;
break
;
}
}
switch
(
v
_justify
)
switch
(
aV
_justify
)
{
{
case
GR_TEXT_VJUSTIFY_CENTER
:
case
GR_TEXT_VJUSTIFY_CENTER
:
break
;
break
;
...
@@ -172,10 +173,10 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -172,10 +173,10 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
ox
=
cX
-
dx
;
ox
=
cX
-
dx
;
oy
=
cY
+
dy
;
oy
=
cY
+
dy
;
if
(
(
Size
.
x
/
zoom
)
==
0
)
if
(
(
a
Size
.
x
/
zoom
)
==
0
)
return
;
return
;
if
(
ABS
(
(
Size
.
x
/
zoom
)
)
<
3
)
/* chars trop petits pour etre dessines */
if
(
ABS
(
(
a
Size
.
x
/
zoom
)
)
<
3
)
/* chars trop petits pour etre dessines */
{
/* le texte est symbolise par une barre */
{
/* le texte est symbolise par une barre */
dx
=
(
espacement
*
nbchar
)
/
2
;
dx
=
(
espacement
*
nbchar
)
/
2
;
dy
=
size_v
/
2
;
/* Decalage du debut du texte / centre */
dy
=
size_v
/
2
;
/* Decalage du debut du texte / centre */
...
@@ -186,10 +187,10 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -186,10 +187,10 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
dx
+=
cX
;
dx
+=
cX
;
dy
=
cY
;
dy
=
cY
;
RotatePoint
(
&
ux0
,
&
uy0
,
cX
,
cY
,
o
rient
);
RotatePoint
(
&
ux0
,
&
uy0
,
cX
,
cY
,
aO
rient
);
RotatePoint
(
&
dx
,
&
dy
,
cX
,
cY
,
o
rient
);
RotatePoint
(
&
dx
,
&
dy
,
cX
,
cY
,
aO
rient
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
ux0
,
uy0
,
dx
,
dy
,
width
,
gc
olor
);
GRLine
(
&
aPanel
->
m_ClipBox
,
DC
,
ux0
,
uy0
,
dx
,
dy
,
aWidth
,
aC
olor
);
return
;
return
;
}
}
...
@@ -204,15 +205,15 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -204,15 +205,15 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
dx += cX;
dx += cX;
dy = cY;
dy = cY;
RotatePoint( &ux0, &uy0, cX, cY,
o
rient );
RotatePoint( &ux0, &uy0, cX, cY,
aO
rient );
RotatePoint( &dx, &dy, cX, cY,
o
rient );
RotatePoint( &dx, &dy, cX, cY,
aO
rient );
DC->SetTextForeground( wxColour(
DC->SetTextForeground( wxColour(
ColorRefs[
gc
olor].r,
ColorRefs[
aC
olor].r,
ColorRefs[
gc
olor].g,
ColorRefs[
aC
olor].g,
ColorRefs[
gc
olor].b ) );
ColorRefs[
aC
olor].b ) );
DC->DrawRotatedText( Text, GRMapX( ux0 ), GRMapY( uy0 ), (double)
o
rient / 10.0 );
DC->DrawRotatedText( Text, GRMapX( ux0 ), GRMapY( uy0 ), (double)
aO
rient / 10.0 );
return;
return;
#endif
#endif
...
@@ -220,13 +221,13 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -220,13 +221,13 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
{
{
x0
=
0
;
y0
=
0
;
x0
=
0
;
y0
=
0
;
#if defined(wxUSE_UNICODE) && defined(KICAD_CYRILLIC)
#if defined(wxUSE_UNICODE) && defined(KICAD_CYRILLIC)
AsciiCode
=
Text
.
GetChar
(
ptr
)
&
0x7FF
;
AsciiCode
=
a
Text
.
GetChar
(
ptr
)
&
0x7FF
;
if
(
AsciiCode
>
0x40F
&&
AsciiCode
<
0x450
)
// big small Cyr
if
(
AsciiCode
>
0x40F
&&
AsciiCode
<
0x450
)
// big small Cyr
AsciiCode
=
utf8_to_ascii
[
AsciiCode
-
0x410
]
&
0xFF
;
AsciiCode
=
utf8_to_ascii
[
AsciiCode
-
0x410
]
&
0xFF
;
else
else
AsciiCode
=
AsciiCode
&
0xFF
;
AsciiCode
=
AsciiCode
&
0xFF
;
#else
#else
AsciiCode
=
Text
.
GetChar
(
ptr
)
&
255
;
AsciiCode
=
aText
.
GetChar
(
ptr
)
&
0xFF
;
#endif
#endif
ptcar
=
graphic_fonte_shape
[
AsciiCode
];
/* ptcar pointe la description
ptcar
=
graphic_fonte_shape
[
AsciiCode
];
/* ptcar pointe la description
* du caractere a dessiner */
* du caractere a dessiner */
...
@@ -245,20 +246,20 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -245,20 +246,20 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
case
'U'
:
case
'U'
:
if
(
ii
&&
(
plume
==
'D'
)
)
if
(
ii
&&
(
plume
==
'D'
)
)
{
{
if
(
w
idth
<=
1
)
if
(
aW
idth
<=
1
)
GRPoly
(
&
p
anel
->
m_ClipBox
,
DC
,
ii
/
2
,
coord
,
0
,
0
,
GRPoly
(
&
aP
anel
->
m_ClipBox
,
DC
,
ii
/
2
,
coord
,
0
,
0
,
gcolor
,
gc
olor
);
aColor
,
aC
olor
);
else
if
(
sketch_mode
)
else
if
(
sketch_mode
)
{
{
int
ik
,
*
coordptr
;
int
ik
,
*
coordptr
;
coordptr
=
coord
;
coordptr
=
coord
;
for
(
ik
=
0
;
ik
<
(
ii
-
2
);
ik
+=
2
,
coordptr
+=
2
)
for
(
ik
=
0
;
ik
<
(
ii
-
2
);
ik
+=
2
,
coordptr
+=
2
)
GRCSegm
(
&
p
anel
->
m_ClipBox
,
DC
,
*
coordptr
,
*
(
coordptr
+
1
),
GRCSegm
(
&
aP
anel
->
m_ClipBox
,
DC
,
*
coordptr
,
*
(
coordptr
+
1
),
*
(
coordptr
+
2
),
*
(
coordptr
+
3
),
width
,
gc
olor
);
*
(
coordptr
+
2
),
*
(
coordptr
+
3
),
aWidth
,
aC
olor
);
}
}
else
else
GRPoly
(
&
p
anel
->
m_ClipBox
,
DC
,
ii
/
2
,
coord
,
0
,
GRPoly
(
&
aP
anel
->
m_ClipBox
,
DC
,
ii
/
2
,
coord
,
0
,
width
,
gcolor
,
gc
olor
);
aWidth
,
aColor
,
aC
olor
);
}
}
plume
=
f_cod
;
ii
=
0
;
plume
=
f_cod
;
ii
=
0
;
break
;
break
;
...
@@ -279,7 +280,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -279,7 +280,7 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
k2
=
(
k2
*
size_h
)
/
9
;
k2
=
(
k2
*
size_h
)
/
9
;
dx
=
k2
+
ox
;
dy
=
k1
+
oy
;
dx
=
k2
+
ox
;
dy
=
k1
+
oy
;
RotatePoint
(
&
dx
,
&
dy
,
cX
,
cY
,
o
rient
);
RotatePoint
(
&
dx
,
&
dy
,
cX
,
cY
,
aO
rient
);
coord
[
ii
++
]
=
dx
;
coord
[
ii
++
]
=
dx
;
coord
[
ii
++
]
=
dy
;
coord
[
ii
++
]
=
dy
;
break
;
break
;
...
@@ -299,13 +300,21 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -299,13 +300,21 @@ void DrawGraphicText( WinEDA_DrawPanel* panel, wxDC* DC,
/******************************************************************************************/
/******************************************************************************************/
void
PlotGraphicText
(
int
format_plot
,
const
wxPoint
&
Pos
,
int
gc
olor
,
void
PlotGraphicText
(
int
aFormat_plot
,
const
wxPoint
&
aPos
,
enum
EDA_Colors
aC
olor
,
const
wxString
&
Text
,
const
wxString
&
a
Text
,
int
orient
,
const
wxSize
&
Size
,
int
h_justify
,
int
v
_justify
)
int
aOrient
,
const
wxSize
&
aSize
,
int
aH_justify
,
int
aV
_justify
)
/******************************************************************************************/
/******************************************************************************************/
/*
/** Function PlotGraphicText
* id DrawGraphicText, for plot graphic text
* same as DrawGraphicText, but plot graphic text insteed of draw it
* @param aFormat_plot = plot format (PLOT_FORMAT_POST, PLOT_FORMAT_HPGL, PLOT_FORMAT_GERBER)
* @param aPos = text position (according to aH_justify, aV_justify)
* @param aColor (enum EDA_Colors) = text color
* @param aText = text to draw
* @param aOrient = angle in 0.1 degree
* @param aSize = text size (size.x or size.y can be < 0 for mirrored texts)
* @param aH_justify = horizontal justification (Left, center, right)
* @param aV_justify = vertical justification (bottom, center, top)
*/
*/
{
{
int
kk
,
nbchar
,
end
,
AsciiCode
;
int
kk
,
nbchar
,
end
,
AsciiCode
;
...
@@ -319,7 +328,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -319,7 +328,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
void
(
*
FctPlume
)(
wxPoint
pos
,
int
state
);
void
(
*
FctPlume
)(
wxPoint
pos
,
int
state
);
switch
(
f
ormat_plot
)
switch
(
aF
ormat_plot
)
{
{
case
PLOT_FORMAT_POST
:
case
PLOT_FORMAT_POST
:
FctPlume
=
LineTo_PS
;
FctPlume
=
LineTo_PS
;
...
@@ -334,11 +343,11 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -334,11 +343,11 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
return
;
return
;
}
}
if
(
gcolor
>=
0
&&
IsPostScript
(
f
ormat_plot
)
)
if
(
aColor
>=
0
&&
IsPostScript
(
aF
ormat_plot
)
)
SetColorMapPS
(
gc
olor
);
SetColorMapPS
(
aC
olor
);
size_h
=
Size
.
x
;
size_h
=
a
Size
.
x
;
size_v
=
Size
.
y
;
size_v
=
a
Size
.
y
;
if
(
size_h
==
0
)
if
(
size_h
==
0
)
size_h
=
DEFAULT_SIZE_TEXT
;
size_h
=
DEFAULT_SIZE_TEXT
;
if
(
size_v
==
0
)
if
(
size_v
==
0
)
...
@@ -348,11 +357,11 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -348,11 +357,11 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
ptr
=
0
;
/* ptr = text index */
ptr
=
0
;
/* ptr = text index */
/* calcul de la position du debut des textes: ox et oy */
/* calcul de la position du debut des textes: ox et oy */
nbchar
=
Text
.
Len
();
nbchar
=
a
Text
.
Len
();
espacement
=
(
10
*
size_h
)
/
9
;
espacement
=
(
10
*
size_h
)
/
9
;
ox
=
cX
=
Pos
.
x
;
ox
=
cX
=
a
Pos
.
x
;
oy
=
cY
=
Pos
.
y
;
oy
=
cY
=
a
Pos
.
y
;
/* Calcul du cadrage du texte */
/* Calcul du cadrage du texte */
dx
=
(
espacement
*
nbchar
)
/
2
;
dx
=
(
espacement
*
nbchar
)
/
2
;
...
@@ -360,9 +369,9 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -360,9 +369,9 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
ux0
=
uy0
=
0
;
/* Decalage du centre du texte / ccord de ref */
ux0
=
uy0
=
0
;
/* Decalage du centre du texte / ccord de ref */
if
(
(
orient
==
0
)
||
(
o
rient
==
1800
)
)
/* Texte Horizontal */
if
(
(
aOrient
==
0
)
||
(
aO
rient
==
1800
)
)
/* Texte Horizontal */
{
{
switch
(
h
_justify
)
switch
(
aH
_justify
)
{
{
case
GR_TEXT_HJUSTIFY_CENTER
:
case
GR_TEXT_HJUSTIFY_CENTER
:
break
;
break
;
...
@@ -376,7 +385,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -376,7 +385,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
break
;
break
;
}
}
switch
(
v
_justify
)
switch
(
aV
_justify
)
{
{
case
GR_TEXT_VJUSTIFY_CENTER
:
case
GR_TEXT_VJUSTIFY_CENTER
:
break
;
break
;
...
@@ -392,7 +401,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -392,7 +401,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
}
}
else
/* Texte Vertical */
else
/* Texte Vertical */
{
{
switch
(
h
_justify
)
switch
(
aH
_justify
)
{
{
case
GR_TEXT_HJUSTIFY_CENTER
:
case
GR_TEXT_HJUSTIFY_CENTER
:
break
;
break
;
...
@@ -406,7 +415,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -406,7 +415,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
break
;
break
;
}
}
switch
(
v
_justify
)
switch
(
aV
_justify
)
{
{
case
GR_TEXT_VJUSTIFY_CENTER
:
case
GR_TEXT_VJUSTIFY_CENTER
:
break
;
break
;
...
@@ -432,13 +441,13 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -432,13 +441,13 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
while
(
kk
++
<
nbchar
)
while
(
kk
++
<
nbchar
)
{
{
#if defined(wxUSE_UNICODE) && defined(KICAD_CYRILLIC)
#if defined(wxUSE_UNICODE) && defined(KICAD_CYRILLIC)
AsciiCode
=
Text
.
GetChar
(
ptr
)
&
0x7FF
;
AsciiCode
=
a
Text
.
GetChar
(
ptr
)
&
0x7FF
;
if
(
AsciiCode
>
0x40F
&&
AsciiCode
<
0x450
)
// big small Cyr
if
(
AsciiCode
>
0x40F
&&
AsciiCode
<
0x450
)
// big small Cyr
AsciiCode
=
utf8_to_ascii
[
AsciiCode
-
0x410
]
&
0xFF
;
AsciiCode
=
utf8_to_ascii
[
AsciiCode
-
0x410
]
&
0xFF
;
else
else
AsciiCode
=
AsciiCode
&
0xFF
;
AsciiCode
=
AsciiCode
&
0xFF
;
#else
#else
AsciiCode
=
Text
.
GetChar
(
ptr
)
&
0xFF
;
AsciiCode
=
a
Text
.
GetChar
(
ptr
)
&
0xFF
;
#endif
#endif
ptcar
=
graphic_fonte_shape
[
AsciiCode
];
/* ptcar pointe la description
ptcar
=
graphic_fonte_shape
[
AsciiCode
];
/* ptcar pointe la description
* du caractere a dessiner */
* du caractere a dessiner */
...
@@ -469,7 +478,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
...
@@ -469,7 +478,7 @@ void PlotGraphicText( int format_plot, const wxPoint& Pos, int gcolor,
dx
=
k2
+
ox
;
dx
=
k2
+
ox
;
dy
=
k1
+
oy
;
dy
=
k1
+
oy
;
RotatePoint
(
&
dx
,
&
dy
,
o
rient
);
RotatePoint
(
&
dx
,
&
dy
,
aO
rient
);
FctPlume
(
wxPoint
(
cX
+
dx
,
cY
+
dy
),
plume
);
FctPlume
(
wxPoint
(
cX
+
dx
,
cY
+
dy
),
plume
);
x0
=
k2
;
x0
=
k2
;
...
...
common/worksheet.cpp
View file @
6d856f60
...
@@ -26,7 +26,8 @@ void WinEDA_DrawFrame::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_w
...
@@ -26,7 +26,8 @@ void WinEDA_DrawFrame::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_w
Ki_PageDescr
*
Sheet
=
screen
->
m_CurrentSheetDesc
;
Ki_PageDescr
*
Sheet
=
screen
->
m_CurrentSheetDesc
;
int
ii
,
jj
,
xg
,
yg
,
ipas
,
gxpas
,
gypas
;
int
ii
,
jj
,
xg
,
yg
,
ipas
,
gxpas
,
gypas
;
wxPoint
pos
;
wxPoint
pos
;
int
refx
,
refy
,
Color
;
int
refx
,
refy
;
EDA_Colors
Color
;
wxString
Line
;
wxString
Line
;
Ki_WorkSheetData
*
WsItem
;
Ki_WorkSheetData
*
WsItem
;
int
scale
=
m_InternalUnits
/
1000
;
int
scale
=
m_InternalUnits
/
1000
;
...
@@ -240,8 +241,8 @@ void WinEDA_DrawFrame::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_w
...
@@ -240,8 +241,8 @@ void WinEDA_DrawFrame::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_w
break
;
break
;
case
WS_UPPER_SEGMENT
:
case
WS_UPPER_SEGMENT
:
case
WS_LEFT_SEGMENT
:
case
WS_LEFT_SEGMENT
:
WS_MostUpperLine
.
m_Posy
=
WS_MostUpperLine
.
m_Posy
=
WS_MostUpperLine
.
m_Endy
=
WS_MostUpperLine
.
m_Endy
=
WS_MostLeftLine
.
m_Posy
=
STAMP_OY
;
WS_MostLeftLine
.
m_Posy
=
STAMP_OY
;
pos
.
y
=
(
refy
-
WsItem
->
m_Posy
)
*
scale
;
pos
.
y
=
(
refy
-
WsItem
->
m_Posy
)
*
scale
;
case
WS_SEGMENT
:
case
WS_SEGMENT
:
...
...
cvpcb/CMakeLists.txt
View file @
6d856f60
...
@@ -16,7 +16,6 @@ set(CVPCB_SRCS
...
@@ -16,7 +16,6 @@ set(CVPCB_SRCS
dialog_display_options.cpp
dialog_display_options.cpp
displayframe.cpp
displayframe.cpp
genequiv.cpp
genequiv.cpp
# genorcad.cpp
init.cpp
init.cpp
listboxes.cpp
listboxes.cpp
listlib.cpp
listlib.cpp
...
@@ -41,6 +40,7 @@ set(CVPCB_EXTRA_SRCS
...
@@ -41,6 +40,7 @@ set(CVPCB_EXTRA_SRCS
../pcbnew/class_mire.cpp
../pcbnew/class_mire.cpp
../pcbnew/class_module.cpp
../pcbnew/class_module.cpp
../pcbnew/class_pad.cpp
../pcbnew/class_pad.cpp
../pcbnew/class_pad_draw_functions.cpp
../pcbnew/class_pcb_text.cpp
../pcbnew/class_pcb_text.cpp
../pcbnew/class_text_mod.cpp
../pcbnew/class_text_mod.cpp
../pcbnew/class_track.cpp
../pcbnew/class_track.cpp
...
...
cvpcb/makefile.include
View file @
6d856f60
...
@@ -46,6 +46,7 @@ OBJECTS = $(TARGET).o \
...
@@ -46,6 +46,7 @@ OBJECTS = $(TARGET).o \
class_board.o
\
class_board.o
\
class_module.o
\
class_module.o
\
class_pad.o
\
class_pad.o
\
class_pad_draw_functions.o
\
class_text_mod.o
\
class_text_mod.o
\
class_edge_mod.o
\
class_edge_mod.o
\
class_equipot.o
\
class_equipot.o
\
...
@@ -104,6 +105,9 @@ class_track.o: ../pcbnew/class_track.cpp
...
@@ -104,6 +105,9 @@ class_track.o: ../pcbnew/class_track.cpp
class_pad.o
:
../pcbnew/class_pad.cpp
class_pad.o
:
../pcbnew/class_pad.cpp
$(CXX)
-c
$(EDACPPFLAGS)
-o
$@
../pcbnew/
$*
.cpp
$(CXX)
-c
$(EDACPPFLAGS)
-o
$@
../pcbnew/
$*
.cpp
class_pad_draw_functions.o
:
../pcbnew/class_pad_draw_functions.cpp
$(CXX)
-c
$(EDACPPFLAGS)
-o
$@
../pcbnew/
$*
.cpp
class_module.o
:
../pcbnew/class_module.cpp
class_module.o
:
../pcbnew/class_module.cpp
$(CXX)
-c
$(EDACPPFLAGS)
-o
$@
../pcbnew/
$*
.cpp
$(CXX)
-c
$(EDACPPFLAGS)
-o
$@
../pcbnew/
$*
.cpp
...
...
eeschema/class_drawsheet.cpp
View file @
6d856f60
...
@@ -316,7 +316,7 @@ void DrawSheetStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -316,7 +316,7 @@ void DrawSheetStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
Text
=
wxT
(
"Sheet: "
)
+
m_SheetName
;
Text
=
wxT
(
"Sheet: "
)
+
m_SheetName
;
DrawGraphicText
(
panel
,
DC
,
DrawGraphicText
(
panel
,
DC
,
wxPoint
(
pos
.
x
,
pos
.
y
-
8
),
txtcolor
,
wxPoint
(
pos
.
x
,
pos
.
y
-
8
),
(
EDA_Colors
)
txtcolor
,
Text
,
TEXT_ORIENT_HORIZ
,
wxSize
(
m_SheetNameSize
,
m_SheetNameSize
),
Text
,
TEXT_ORIENT_HORIZ
,
wxSize
(
m_SheetNameSize
,
m_SheetNameSize
),
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_BOTTOM
,
LineWidth
);
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_BOTTOM
,
LineWidth
);
...
@@ -328,7 +328,7 @@ void DrawSheetStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -328,7 +328,7 @@ void DrawSheetStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
Text
=
wxT
(
"File: "
)
+
m_FileName
;
Text
=
wxT
(
"File: "
)
+
m_FileName
;
DrawGraphicText
(
panel
,
DC
,
DrawGraphicText
(
panel
,
DC
,
wxPoint
(
pos
.
x
,
pos
.
y
+
m_Size
.
y
+
4
),
wxPoint
(
pos
.
x
,
pos
.
y
+
m_Size
.
y
+
4
),
txtcolor
,
(
EDA_Colors
)
txtcolor
,
Text
,
TEXT_ORIENT_HORIZ
,
wxSize
(
m_FileNameSize
,
m_FileNameSize
),
Text
,
TEXT_ORIENT_HORIZ
,
wxSize
(
m_FileNameSize
,
m_FileNameSize
),
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_TOP
,
LineWidth
);
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_TOP
,
LineWidth
);
...
...
eeschema/class_hierarchical_PIN_sheet.cpp
View file @
6d856f60
...
@@ -72,14 +72,15 @@ void Hierarchical_PIN_Sheet_Struct::Draw( WinEDA_DrawPanel* panel, wxDC* DC, con
...
@@ -72,14 +72,15 @@ void Hierarchical_PIN_Sheet_Struct::Draw( WinEDA_DrawPanel* panel, wxDC* DC, con
/********************************************************************************************/
/********************************************************************************************/
/* Routine de dessin des Labels type hierarchie */
/* Routine de dessin des Labels type hierarchie */
{
{
int
side
,
txtcolor
;
int
side
;
EDA_Colors
txtcolor
;
int
posx
,
tposx
,
posy
,
size2
;
int
posx
,
tposx
,
posy
,
size2
;
wxSize
size
;
wxSize
size
;
int
NbSegm
,
coord
[
20
];
int
NbSegm
,
coord
[
20
];
int
LineWidth
=
g_DrawMinimunLineWidth
;
int
LineWidth
=
g_DrawMinimunLineWidth
;
if
(
Color
>=
0
)
if
(
Color
>=
0
)
txtcolor
=
Color
;
txtcolor
=
(
EDA_Colors
)
Color
;
else
else
txtcolor
=
ReturnLayerColor
(
m_Layer
);
txtcolor
=
ReturnLayerColor
(
m_Layer
);
GRSetDrawMode
(
DC
,
DrawMode
);
GRSetDrawMode
(
DC
,
DrawMode
);
...
...
eeschema/class_pin.cpp
View file @
6d856f60
...
@@ -244,7 +244,7 @@ void LibDrawPin::DrawPinTexts( WinEDA_DrawPanel* panel,
...
@@ -244,7 +244,7 @@ void LibDrawPin::DrawPinTexts( WinEDA_DrawPanel* panel,
wxString
PinText
;
wxString
PinText
;
int
PinTextBarPos
[
256
];
int
PinTextBarPos
[
256
];
int
PinTextBarCount
;
int
PinTextBarCount
;
int
NameColor
,
NumColor
;
EDA_Colors
NameColor
,
NumColor
;
int
PinTxtLen
;
int
PinTxtLen
;
wxSize
PinNameSize
(
m_PinNameSize
,
m_PinNameSize
);
wxSize
PinNameSize
(
m_PinNameSize
,
m_PinNameSize
);
...
@@ -257,8 +257,8 @@ void LibDrawPin::DrawPinTexts( WinEDA_DrawPanel* panel,
...
@@ -257,8 +257,8 @@ void LibDrawPin::DrawPinTexts( WinEDA_DrawPanel* panel,
/* Get the num and name colors */
/* Get the num and name colors */
if
(
(
Color
<
0
)
&&
(
m_Selected
&
IS_SELECTED
)
)
if
(
(
Color
<
0
)
&&
(
m_Selected
&
IS_SELECTED
)
)
Color
=
g_ItemSelectetColor
;
Color
=
g_ItemSelectetColor
;
NameColor
=
Color
==
-
1
?
ReturnLayerColor
(
LAYER_PINNAM
)
:
Color
;
NameColor
=
(
EDA_Colors
)
(
Color
==
-
1
?
ReturnLayerColor
(
LAYER_PINNAM
)
:
Color
)
;
NumColor
=
Color
==
-
1
?
ReturnLayerColor
(
LAYER_PINNUM
)
:
Color
;
NumColor
=
(
EDA_Colors
)
(
Color
==
-
1
?
ReturnLayerColor
(
LAYER_PINNUM
)
:
Color
)
;
/* Create the pin num string */
/* Create the pin num string */
ReturnPinStringNum
(
StringPinNum
);
ReturnPinStringNum
(
StringPinNum
);
...
@@ -563,7 +563,7 @@ void LibDrawPin::PlotPinTexts( wxPoint& pin_pos,
...
@@ -563,7 +563,7 @@ void LibDrawPin::PlotPinTexts( wxPoint& pin_pos,
wxString
PinText
;
wxString
PinText
;
int
PinTextBarPos
[
256
];
int
PinTextBarPos
[
256
];
int
PinTextBarCount
;
int
PinTextBarCount
;
int
NameColor
,
NumColor
;
EDA_Colors
NameColor
,
NumColor
;
int
PinTxtLen
=
0
;
int
PinTxtLen
=
0
;
wxSize
PinNameSize
=
wxSize
(
m_PinNameSize
,
m_PinNameSize
);
wxSize
PinNameSize
=
wxSize
(
m_PinNameSize
,
m_PinNameSize
);
wxSize
PinNumSize
=
wxSize
(
m_PinNumSize
,
m_PinNumSize
);
wxSize
PinNumSize
=
wxSize
(
m_PinNumSize
,
m_PinNumSize
);
...
@@ -571,8 +571,8 @@ void LibDrawPin::PlotPinTexts( wxPoint& pin_pos,
...
@@ -571,8 +571,8 @@ void LibDrawPin::PlotPinTexts( wxPoint& pin_pos,
&&
g_PlotPSColorOpt
;
&&
g_PlotPSColorOpt
;
/* Get the num and name colors */
/* Get the num and name colors */
NameColor
=
plot_color
?
ReturnLayerColor
(
LAYER_PINNAM
)
:
-
1
;
NameColor
=
(
EDA_Colors
)
(
plot_color
?
ReturnLayerColor
(
LAYER_PINNAM
)
:
-
1
)
;
NumColor
=
plot_color
?
ReturnLayerColor
(
LAYER_PINNUM
)
:
-
1
;
NumColor
=
(
EDA_Colors
)
(
plot_color
?
ReturnLayerColor
(
LAYER_PINNUM
)
:
-
1
)
;
/* Create the pin num string */
/* Create the pin num string */
ReturnPinStringNum
(
StringPinNum
);
ReturnPinStringNum
(
StringPinNum
);
...
...
eeschema/class_text-label.cpp
View file @
6d856f60
...
@@ -123,11 +123,11 @@ void SCH_TEXT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset,
...
@@ -123,11 +123,11 @@ void SCH_TEXT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset,
/* Texts type Comment (text on layer "NOTE") have 4 directions, and the Text origin is the first letter
/* Texts type Comment (text on layer "NOTE") have 4 directions, and the Text origin is the first letter
*/
*/
{
{
int
color
;
EDA_Colors
color
;
int
width
=
MAX
(
m_Width
,
g_DrawMinimunLineWidth
);
int
width
=
MAX
(
m_Width
,
g_DrawMinimunLineWidth
);
if
(
Color
>=
0
)
if
(
Color
>=
0
)
color
=
Color
;
color
=
(
EDA_Colors
)
Color
;
else
else
color
=
ReturnLayerColor
(
m_Layer
);
color
=
ReturnLayerColor
(
m_Layer
);
GRSetDrawMode
(
DC
,
DrawMode
);
GRSetDrawMode
(
DC
,
DrawMode
);
...
@@ -331,13 +331,14 @@ void SCH_HIERLABEL::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offs
...
@@ -331,13 +331,14 @@ void SCH_HIERLABEL::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offs
*/
*/
{
{
int
Poly
[
40
];
int
Poly
[
40
];
int
ii
,
color
;
int
ii
;
EDA_Colors
color
;
wxPoint
AnchorPos
=
m_Pos
+
offset
;;
wxPoint
AnchorPos
=
m_Pos
+
offset
;;
int
width
=
MAX
(
m_Width
,
g_DrawMinimunLineWidth
);
int
width
=
MAX
(
m_Width
,
g_DrawMinimunLineWidth
);
if
(
Color
>=
0
)
if
(
Color
>=
0
)
color
=
Color
;
color
=
(
EDA_Colors
)
Color
;
else
else
color
=
ReturnLayerColor
(
m_Layer
);
color
=
ReturnLayerColor
(
m_Layer
);
...
@@ -464,13 +465,15 @@ void SCH_GLOBALLABEL::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& dr
...
@@ -464,13 +465,15 @@ void SCH_GLOBALLABEL::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& dr
*/
*/
{
{
int
Poly
[
20
];
int
Poly
[
20
];
int
offset
,
color
,
HalfSize
;
int
offset
;
EDA_Colors
color
;
int
HalfSize
;
wxPoint
AnchorPos
=
m_Pos
+
draw_offset
;;
wxPoint
AnchorPos
=
m_Pos
+
draw_offset
;;
int
width
=
MAX
(
m_Width
,
g_DrawMinimunLineWidth
);
int
width
=
MAX
(
m_Width
,
g_DrawMinimunLineWidth
);
if
(
Color
>=
0
)
if
(
Color
>=
0
)
color
=
Color
;
color
=
(
EDA_Colors
)
Color
;
else
else
color
=
ReturnLayerColor
(
m_Layer
);
color
=
ReturnLayerColor
(
m_Layer
);
...
...
eeschema/classes_body_items.cpp
View file @
6d856f60
...
@@ -161,7 +161,7 @@ void LibDrawText::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aOff
...
@@ -161,7 +161,7 @@ void LibDrawText::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aOff
* transformation matrix causes xy axes to be flipped. */
* transformation matrix causes xy axes to be flipped. */
int
t1
=
(
aTransformMatrix
[
0
][
0
]
!=
0
)
^
(
m_Horiz
!=
0
);
int
t1
=
(
aTransformMatrix
[
0
][
0
]
!=
0
)
^
(
m_Horiz
!=
0
);
DrawGraphicText
(
aPanel
,
aDC
,
pos1
,
color
,
m_Text
,
DrawGraphicText
(
aPanel
,
aDC
,
pos1
,
(
EDA_Colors
)
color
,
m_Text
,
t1
?
TEXT_ORIENT_HORIZ
:
TEXT_ORIENT_VERT
,
t1
?
TEXT_ORIENT_HORIZ
:
TEXT_ORIENT_VERT
,
m_Size
,
m_Size
,
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
,
linewidth
);
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
,
linewidth
);
...
@@ -337,7 +337,7 @@ void LibDrawField::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aOf
...
@@ -337,7 +337,7 @@ void LibDrawField::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aOf
wxString
*
text
=
aData
?
(
wxString
*
)
aData
:
&
m_Text
;
wxString
*
text
=
aData
?
(
wxString
*
)
aData
:
&
m_Text
;
GRSetDrawMode
(
aDC
,
aDrawMode
);
GRSetDrawMode
(
aDC
,
aDrawMode
);
DrawGraphicText
(
aPanel
,
aDC
,
text_pos
,
DrawGraphicText
(
aPanel
,
aDC
,
text_pos
,
color
,
text
->
GetData
(),
(
EDA_Colors
)
color
,
text
->
GetData
(),
m_Orient
?
TEXT_ORIENT_VERT
:
TEXT_ORIENT_HORIZ
,
m_Orient
?
TEXT_ORIENT_VERT
:
TEXT_ORIENT_HORIZ
,
m_Size
,
m_Size
,
m_HJustify
,
m_VJustify
,
linewidth
);
m_HJustify
,
m_VJustify
,
linewidth
);
...
...
eeschema/eelayer.cpp
View file @
6d856f60
...
@@ -418,12 +418,12 @@ void SeedLayers()
...
@@ -418,12 +418,12 @@ void SeedLayers()
}
}
/*******************************/
/*******************************
********
/
int
ReturnLayerColor
(
int
Layer
)
EDA_Colors
ReturnLayerColor
(
int
Layer
)
/*******************************/
/*******************************
*********
/
{
{
if
(
g_LayerDescr
.
Flags
==
0
)
if
(
g_LayerDescr
.
Flags
==
0
)
return
g_LayerDescr
.
LayerColor
[
Layer
];
return
(
EDA_Colors
)
g_LayerDescr
.
LayerColor
[
Layer
];
else
else
return
g_LayerDescr
.
CommonColor
;
return
(
EDA_Colors
)
g_LayerDescr
.
CommonColor
;
}
}
eeschema/eelibs_draw_components.cpp
View file @
6d856f60
...
@@ -249,8 +249,8 @@ void SCH_CMP_FIELD::Draw( WinEDA_DrawPanel* panel,
...
@@ -249,8 +249,8 @@ void SCH_CMP_FIELD::Draw( WinEDA_DrawPanel* panel,
* DrawMode: mode de trace
* DrawMode: mode de trace
*/
*/
{
{
int
orient
,
color
;
int
orient
;
EDA_Colors
color
;
wxPoint
pos
;
/* Position des textes */
wxPoint
pos
;
/* Position des textes */
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
m_Parent
;
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
m_Parent
;
int
hjustify
,
vjustify
;
int
hjustify
,
vjustify
;
...
@@ -304,7 +304,7 @@ void SCH_CMP_FIELD::Draw( WinEDA_DrawPanel* panel,
...
@@ -304,7 +304,7 @@ void SCH_CMP_FIELD::Draw( WinEDA_DrawPanel* panel,
if
(
!
m_AddExtraText
||
(
m_FieldId
!=
REFERENCE
)
)
if
(
!
m_AddExtraText
||
(
m_FieldId
!=
REFERENCE
)
)
{
{
DrawGraphicText
(
panel
,
DC
,
pos
,
color
,
m_Text
.
GetData
()
,
DrawGraphicText
(
panel
,
DC
,
pos
,
color
,
m_Text
,
orient
?
TEXT_ORIENT_VERT
:
TEXT_ORIENT_HORIZ
,
orient
?
TEXT_ORIENT_VERT
:
TEXT_ORIENT_HORIZ
,
m_Size
,
m_Size
,
hjustify
,
vjustify
,
LineWidth
);
hjustify
,
vjustify
,
LineWidth
);
...
...
eeschema/libfield.cpp
View file @
6d856f60
...
@@ -131,7 +131,7 @@ static void ShowMoveField( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
...
@@ -131,7 +131,7 @@ static void ShowMoveField( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
void
WinEDA_LibeditFrame
::
PlaceField
(
wxDC
*
DC
,
LibDrawField
*
Field
)
void
WinEDA_LibeditFrame
::
PlaceField
(
wxDC
*
DC
,
LibDrawField
*
Field
)
/*******************************************************************/
/*******************************************************************/
{
{
int
color
;
EDA_Colors
color
;
if
(
Field
==
NULL
)
if
(
Field
==
NULL
)
return
;
return
;
...
@@ -183,7 +183,7 @@ void WinEDA_LibeditFrame::EditField( wxDC* DC, LibDrawField* Field )
...
@@ -183,7 +183,7 @@ void WinEDA_LibeditFrame::EditField( wxDC* DC, LibDrawField* Field )
{
{
wxString
Text
;
wxString
Text
;
wxString
title
;
wxString
title
;
int
color
;
EDA_Colors
color
;
int
LineWidth
=
MAX
(
Field
->
m_Width
,
g_DrawMinimunLineWidth
);
int
LineWidth
=
MAX
(
Field
->
m_Width
,
g_DrawMinimunLineWidth
);
if
(
Field
==
NULL
)
if
(
Field
==
NULL
)
...
@@ -253,7 +253,7 @@ void WinEDA_LibeditFrame::RotateField( wxDC* DC, LibDrawField* Field )
...
@@ -253,7 +253,7 @@ void WinEDA_LibeditFrame::RotateField( wxDC* DC, LibDrawField* Field )
* sinon Modif du champ pointe par la souris
* sinon Modif du champ pointe par la souris
*/
*/
{
{
int
color
;
EDA_Colors
color
;
if
(
Field
==
NULL
)
if
(
Field
==
NULL
)
return
;
return
;
...
...
eeschema/plot.cpp
View file @
6d856f60
...
@@ -183,7 +183,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem )
...
@@ -183,7 +183,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem )
LibEDA_BaseStruct
*
DEntry
;
LibEDA_BaseStruct
*
DEntry
;
EDA_LibComponentStruct
*
Entry
;
EDA_LibComponentStruct
*
Entry
;
int
TransMat
[
2
][
2
],
Multi
,
convert
;
int
TransMat
[
2
][
2
],
Multi
,
convert
;
int
CharColor
=
-
1
;
EDA_Colors
CharColor
=
UNSPECIFIED_COLOR
;
wxPoint
pos
;
wxPoint
pos
;
bool
draw_bgfill
=
false
;
bool
draw_bgfill
=
false
;
...
@@ -377,7 +377,8 @@ static void PlotTextField( SCH_COMPONENT* DrawLibItem,
...
@@ -377,7 +377,8 @@ static void PlotTextField( SCH_COMPONENT* DrawLibItem,
wxPoint
textpos
;
/* Position des textes */
wxPoint
textpos
;
/* Position des textes */
SCH_CMP_FIELD
*
field
=
DrawLibItem
->
GetField
(
FieldNumber
);
SCH_CMP_FIELD
*
field
=
DrawLibItem
->
GetField
(
FieldNumber
);
int
hjustify
,
vjustify
;
int
hjustify
,
vjustify
;
int
orient
,
color
=
-
1
;
int
orient
;
EDA_Colors
color
=
UNSPECIFIED_COLOR
;
if
(
(
g_PlotFormat
==
PLOT_FORMAT_POST
)
&&
g_PlotPSColorOpt
)
if
(
(
g_PlotFormat
==
PLOT_FORMAT_POST
)
&&
g_PlotPSColorOpt
)
color
=
ReturnLayerColor
(
field
->
GetLayer
()
);
color
=
ReturnLayerColor
(
field
->
GetLayer
()
);
...
@@ -454,7 +455,7 @@ static void PlotPinSymbol( const wxPoint & pos, int len, int orient, int Shape )
...
@@ -454,7 +455,7 @@ static void PlotPinSymbol( const wxPoint & pos, int len, int orient, int Shape )
*/
*/
{
{
int
MapX1
,
MapY1
,
x1
,
y1
;
int
MapX1
,
MapY1
,
x1
,
y1
;
int
color
;
EDA_Colors
color
=
UNSPECIFIED_COLOR
;
color
=
ReturnLayerColor
(
LAYER_PIN
);
color
=
ReturnLayerColor
(
LAYER_PIN
);
...
@@ -567,7 +568,7 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
...
@@ -567,7 +568,7 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
int
pX
,
pY
,
Shape
=
0
,
Orient
=
0
,
offset
;
int
pX
,
pY
,
Shape
=
0
,
Orient
=
0
,
offset
;
wxSize
Size
;
wxSize
Size
;
wxString
Text
;
wxString
Text
;
int
color
=
-
1
;
EDA_Colors
color
=
UNSPECIFIED_COLOR
;
switch
(
Struct
->
Type
()
)
switch
(
Struct
->
Type
()
)
{
{
...
@@ -680,12 +681,13 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
...
@@ -680,12 +681,13 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
}
}
/***********************************************************/
/***********************************************************
************
/
static
void
PlotSheetLabelStruct
(
Hierarchical_PIN_Sheet_Struct
*
Struct
)
static
void
PlotSheetLabelStruct
(
Hierarchical_PIN_Sheet_Struct
*
Struct
)
/***********************************************************/
/***********************************************************
************
/
/* Routine de dessin des Sheet Labels type hierarchie */
/* Routine de dessin des Sheet Labels type hierarchie */
{
{
int
side
,
txtcolor
=
-
1
;
int
side
;
EDA_Colors
txtcolor
=
UNSPECIFIED_COLOR
;
int
posx
,
tposx
,
posy
,
size
,
size2
;
int
posx
,
tposx
,
posy
,
size
,
size2
;
int
coord
[
16
];
int
coord
[
16
];
...
@@ -760,7 +762,7 @@ void PlotSheetStruct( DrawSheetStruct* Struct )
...
@@ -760,7 +762,7 @@ void PlotSheetStruct( DrawSheetStruct* Struct )
/* Routine de dessin du bloc type hierarchie */
/* Routine de dessin du bloc type hierarchie */
{
{
Hierarchical_PIN_Sheet_Struct
*
SheetLabelStruct
;
Hierarchical_PIN_Sheet_Struct
*
SheetLabelStruct
;
int
txtcolor
=
-
1
;
EDA_Colors
txtcolor
=
UNSPECIFIED_COLOR
;
wxSize
size
;
wxSize
size
;
wxString
Text
;
wxString
Text
;
wxPoint
pos
;
wxPoint
pos
;
...
...
eeschema/protos.h
View file @
6d856f60
...
@@ -197,7 +197,7 @@ void RedrawOneStruct(WinEDA_DrawPanel * panel, wxDC * DC, SCH_ITEM *Struct, int
...
@@ -197,7 +197,7 @@ void RedrawOneStruct(WinEDA_DrawPanel * panel, wxDC * DC, SCH_ITEM *Struct, int
/* EELAYER.CPP */
/* EELAYER.CPP */
/**************/
/**************/
void
SeedLayers
();
void
SeedLayers
();
int
ReturnLayerColor
(
int
Layer
);
EDA_Colors
ReturnLayerColor
(
int
Layer
);
void
DisplayColorSetupFrame
(
WinEDA_DrawFrame
*
parent
,
const
wxPoint
&
pos
);
void
DisplayColorSetupFrame
(
WinEDA_DrawFrame
*
parent
,
const
wxPoint
&
pos
);
/*************/
/*************/
...
...
gerbview/trpiste.cpp
View file @
6d856f60
...
@@ -21,7 +21,7 @@ void Draw_Track_Buffer( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int draw_
...
@@ -21,7 +21,7 @@ void Draw_Track_Buffer( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int draw_
int
printmasklayer
)
int
printmasklayer
)
/***************************************************************************************************/
/***************************************************************************************************/
/* Function to draw the tracks (i.e Spo
r
ts or lines) in gerbview
/* Function to draw the tracks (i.e Spots or lines) in gerbview
* Polygons are not handled here (there are in Pcb->m_Zone)
* Polygons are not handled here (there are in Pcb->m_Zone)
* @param DC = device context to draw
* @param DC = device context to draw
* @param Pcb = Board to draw (only Pcb->m_Track is used)
* @param Pcb = Board to draw (only Pcb->m_Track is used)
...
@@ -266,7 +266,7 @@ void Affiche_DCodes_Pistes( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int d
...
@@ -266,7 +266,7 @@ void Affiche_DCodes_Pistes( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int d
}
}
DrawGraphicText
(
panel
,
DC
,
DrawGraphicText
(
panel
,
DC
,
pos
,
g_DCodesColor
,
Line
,
pos
,
(
EDA_Colors
)
g_DCodesColor
,
Line
,
orient
,
wxSize
(
width
,
width
),
orient
,
wxSize
(
width
,
width
),
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
);
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
);
}
}
...
...
include/build_version.h
View file @
6d856f60
...
@@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion
...
@@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion
# include "config.h"
# include "config.h"
(
wxT
(
KICAD_SVN_VERSION
))
(
wxT
(
KICAD_SVN_VERSION
))
# else
# else
(
wxT
(
"(20081
12
4-unstable)"
))
/* main program version */
(
wxT
(
"(20081
21
4-unstable)"
))
/* main program version */
# endif
# endif
#endif
#endif
;
;
...
@@ -20,7 +20,7 @@ COMMON_GLOBL wxString g_BuildAboutVersion
...
@@ -20,7 +20,7 @@ COMMON_GLOBL wxString g_BuildAboutVersion
# include "config.h"
# include "config.h"
(
wxT
(
KICAD_ABOUT_VERSION
))
(
wxT
(
KICAD_ABOUT_VERSION
))
# else
# else
(
wxT
(
"(20081
12
4-unstable)"
))
/* svn date & rev (normally overridden) */
(
wxT
(
"(20081
21
4-unstable)"
))
/* svn date & rev (normally overridden) */
# endif
# endif
#endif
#endif
;
;
...
...
include/colors.h
View file @
6d856f60
...
@@ -46,6 +46,7 @@ static inline int GetAlpha( int aColor )
...
@@ -46,6 +46,7 @@ static inline int GetAlpha( int aColor )
enum
EDA_Colors
enum
EDA_Colors
{
{
UNSPECIFIED_COLOR
=
-
1
,
BLACK
=
0
,
BLACK
=
0
,
BLUE
,
BLUE
,
GREEN
,
GREEN
,
...
...
include/common.h
View file @
6d856f60
...
@@ -427,14 +427,37 @@ double round( double aNumber );
...
@@ -427,14 +427,37 @@ double round( double aNumber );
/**************/
/**************/
/* DRAWTXT.CPP */
/* DRAWTXT.CPP */
/**************/
/**************/
void
DrawGraphicText
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
pos
,
/** Function DrawGraphicText
int
mode_color
,
const
wxString
&
Text
,
* Draw a graphic text (like module texts)
int
orient
,
const
wxSize
&
char_size
,
* @param aPanel = the current DrawPanel
int
h_justify
,
int
v_justify
,
int
width
=
0
);
* @param aPos = text position (according to h_justify, v_justify)
* @param aColor (enum EDA_Colors) = text color
void
PlotGraphicText
(
int
format_plot
,
const
wxPoint
&
Pos
,
int
gcolor
,
* @param aText = text to draw
const
wxString
&
Text
,
* @param aOrient = angle in 0.1 degree
int
orient
,
const
wxSize
&
Size
,
int
h_justify
,
int
v_justify
);
* @param aSize = text size (size.x or size.y can be < 0 for mirrored texts)
* @param aH_justify = horizontal justification (Left, center, right)
* @param aV_justify = vertical justification (bottom, center, top)
* @param aWidth = line width (pen width) (default = 0)
* if width < 0 : draw segments in sketch mode, width = abs(width)
*/
void
DrawGraphicText
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
const
wxPoint
&
aPos
,
enum
EDA_Colors
aColor
,
const
wxString
&
aText
,
int
aOrient
,
const
wxSize
&
aSize
,
int
aH_justify
,
int
aV_justify
,
int
aWidth
=
0
);
/** Function PlotGraphicText
* same as DrawGraphicText, but plot graphic text insteed of draw it
* @param aFormat_plot = plot format (PLOT_FORMAT_POST, PLOT_FORMAT_HPGL, PLOT_FORMAT_GERBER)
* @param aPos = text position (according to aH_justify, aV_justify)
* @param aColor (enum EDA_Colors) = text color
* @param aText = text to draw
* @param aOrient = angle in 0.1 degree
* @param aSize = text size (size.x or size.y can be < 0 for mirrored texts)
* @param aH_justify = horizontal justification (Left, center, right)
* @param aV_justify = vertical justification (bottom, center, top)
*/
void
PlotGraphicText
(
int
aFormat_plot
,
const
wxPoint
&
aPos
,
enum
EDA_Colors
aColor
,
const
wxString
&
aText
,
int
aOrient
,
const
wxSize
&
aSize
,
int
aH_justify
,
int
aV_justify
);
/***************/
/***************/
/* CONFIRM.CPP */
/* CONFIRM.CPP */
...
...
internat/fr/kicad.mo
View file @
6d856f60
No preview for this file type
internat/fr/kicad.po
View file @
6d856f60
...
@@ -2,8 +2,8 @@ msgid ""
...
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: kicad\n"
"Project-Id-Version: kicad\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-12-1
1 17:20
+0100\n"
"POT-Creation-Date: 2008-12-1
2 22:29
+0100\n"
"PO-Revision-Date: 2008-12-1
1 18:52
+0100\n"
"PO-Revision-Date: 2008-12-1
2 22:31
+0100\n"
"Last-Translator: \n"
"Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n"
"MIME-Version: 1.0\n"
...
@@ -24,7 +24,7 @@ msgstr ""
...
@@ -24,7 +24,7 @@ msgstr ""
#: pcbnew/clean.cpp:180
#: pcbnew/clean.cpp:180
msgid "Delete unconnected tracks:"
msgid "Delete unconnected tracks:"
msgstr "Suppression Pistes non connectées"
msgstr "Suppression Pistes non connectées
:
"
#: pcbnew/clean.cpp:197
#: pcbnew/clean.cpp:197
msgid "ViaDef"
msgid "ViaDef"
...
@@ -1618,34 +1618,26 @@ msgid "Enable Auto Delete old Track"
...
@@ -1618,34 +1618,26 @@ msgid "Enable Auto Delete old Track"
msgstr "Autoriser l'effacement automatique des pistes"
msgstr "Autoriser l'effacement automatique des pistes"
#: pcbnew/pcbframe.cpp:457
#: pcbnew/pcbframe.cpp:457
msgid "Do not Show Zones"
msgstr "Ne pas montrer Zones"
#: pcbnew/pcbframe.cpp:457
msgid "Show Zones"
msgstr "Montrer Zones"
#: pcbnew/pcbframe.cpp:463
msgid "Show Pads Sketch mode"
msgid "Show Pads Sketch mode"
msgstr "Afficher pastilles en contour"
msgstr "Afficher pastilles en contour"
#: pcbnew/pcbframe.cpp:4
64
#: pcbnew/pcbframe.cpp:4
58
msgid "Show pads filled mode"
msgid "Show pads filled mode"
msgstr "Afficher pastilles en mode plein"
msgstr "Afficher pastilles en mode plein"
#: pcbnew/pcbframe.cpp:4
70
#: pcbnew/pcbframe.cpp:4
64
msgid "Show Tracks Sketch mode"
msgid "Show Tracks Sketch mode"
msgstr "Afficher pistes en contour"
msgstr "Afficher pistes en contour"
#: pcbnew/pcbframe.cpp:4
71
#: pcbnew/pcbframe.cpp:4
65
msgid "Show Tracks filled mode"
msgid "Show Tracks filled mode"
msgstr "Afficher pistes en mode plein"
msgstr "Afficher pistes en mode plein"
#: pcbnew/pcbframe.cpp:47
7
#: pcbnew/pcbframe.cpp:47
1
msgid "Normal Contrast Mode Display"
msgid "Normal Contrast Mode Display"
msgstr "Mode d'affichage Contraste normal"
msgstr "Mode d'affichage Contraste normal"
#: pcbnew/pcbframe.cpp:47
8
#: pcbnew/pcbframe.cpp:47
2
msgid "Hight Contrast Mode Display"
msgid "Hight Contrast Mode Display"
msgstr "Mode d'affichage Haut Contraste"
msgstr "Mode d'affichage Haut Contraste"
...
@@ -2457,15 +2449,27 @@ msgstr "Montrer le chevelu du module pendant déplacement"
...
@@ -2457,15 +2449,27 @@ msgstr "Montrer le chevelu du module pendant déplacement"
msgid "Enable Auto Del Track"
msgid "Enable Auto Del Track"
msgstr "Autoriser l'effacement automatique des pistes"
msgstr "Autoriser l'effacement automatique des pistes"
#: pcbnew/tool_pcb.cpp:379
#: pcbnew/tool_pcb.cpp:374
msgid "Show filled areas in zones"
msgstr "Afficher les surfaces remplies dans les zones"
#: pcbnew/tool_pcb.cpp:377
msgid "Do not show filled areas in zones"
msgstr "Ne pas fficher les surfaces remplies dans les zones"
#: pcbnew/tool_pcb.cpp:380
msgid "Show outlines of filled areas only in zones"
msgstr "Afficher uniquement les contours des surfaces remplies dans les zones"
#: pcbnew/tool_pcb.cpp:385
msgid "Show Pads Sketch"
msgid "Show Pads Sketch"
msgstr "Afficher pastilles en contour"
msgstr "Afficher pastilles en contour"
#: pcbnew/tool_pcb.cpp:38
3
#: pcbnew/tool_pcb.cpp:38
9
msgid "Show Tracks Sketch"
msgid "Show Tracks Sketch"
msgstr "Afficher Pistes en Contour"
msgstr "Afficher Pistes en Contour"
#: pcbnew/tool_pcb.cpp:
398
#: pcbnew/tool_pcb.cpp:
404
msgid ""
msgid ""
"Display/remove auxiliary vertical toolbar (tools for micro wave applications)\n"
"Display/remove auxiliary vertical toolbar (tools for micro wave applications)\n"
" This is a experimental feature (under development)"
" This is a experimental feature (under development)"
...
@@ -2473,79 +2477,79 @@ msgstr ""
...
@@ -2473,79 +2477,79 @@ msgstr ""
"Affiche/supprime le toolbar vertical auxiliaire (outils pour applications micro-ondes)\n"
"Affiche/supprime le toolbar vertical auxiliaire (outils pour applications micro-ondes)\n"
"C'est un outil expérimental (en cours de développement)"
"C'est un outil expérimental (en cours de développement)"
#: pcbnew/tool_pcb.cpp:4
28
#: pcbnew/tool_pcb.cpp:4
34
msgid "Net highlight"
msgid "Net highlight"
msgstr "Surbrillance des équipotentielles"
msgstr "Surbrillance des équipotentielles"
#: pcbnew/tool_pcb.cpp:43
3
#: pcbnew/tool_pcb.cpp:43
9
msgid "Display local ratsnest (pad or module)"
msgid "Display local ratsnest (pad or module)"
msgstr "Afficher le chevelu local (pastilles ou modules)"
msgstr "Afficher le chevelu local (pastilles ou modules)"
#: pcbnew/tool_pcb.cpp:4
39
#: pcbnew/tool_pcb.cpp:4
45
msgid "Add modules"
msgid "Add modules"
msgstr "Addition de Modules"
msgstr "Addition de Modules"
#: pcbnew/tool_pcb.cpp:44
3
#: pcbnew/tool_pcb.cpp:44
9
msgid "Add tracks and vias"
msgid "Add tracks and vias"
msgstr "Ajouter pistes et vias"
msgstr "Ajouter pistes et vias"
#: pcbnew/tool_pcb.cpp:4
47
#: pcbnew/tool_pcb.cpp:4
53
msgid "Add zones"
msgid "Add zones"
msgstr "Addition de Zones"
msgstr "Addition de Zones"
#: pcbnew/tool_pcb.cpp:45
2
#: pcbnew/tool_pcb.cpp:45
8
msgid "Add graphic line or polygon"
msgid "Add graphic line or polygon"
msgstr "Addition de lignes ou polygones graphiques"
msgstr "Addition de lignes ou polygones graphiques"
#: pcbnew/tool_pcb.cpp:4
56
#: pcbnew/tool_pcb.cpp:4
62
msgid "Add graphic circle"
msgid "Add graphic circle"
msgstr "Addition de graphiques (Cercle)"
msgstr "Addition de graphiques (Cercle)"
#: pcbnew/tool_pcb.cpp:46
0
#: pcbnew/tool_pcb.cpp:46
6
msgid "Add graphic arc"
msgid "Add graphic arc"
msgstr "Addition de graphiques (Arc de Cercle)"
msgstr "Addition de graphiques (Arc de Cercle)"
#: pcbnew/tool_pcb.cpp:4
64
#: pcbnew/tool_pcb.cpp:4
70
msgid "Add text"
msgid "Add text"
msgstr "Ajout de Texte"
msgstr "Ajout de Texte"
#: pcbnew/tool_pcb.cpp:4
69
#: pcbnew/tool_pcb.cpp:4
75
msgid "Add dimension"
msgid "Add dimension"
msgstr "Ajout des cotes"
msgstr "Ajout des cotes"
#: pcbnew/tool_pcb.cpp:47
3
#: pcbnew/tool_pcb.cpp:47
9
msgid "Add layer alignment target"
msgid "Add layer alignment target"
msgstr "Ajouter Mire de superposition"
msgstr "Ajouter Mire de superposition"
#: pcbnew/tool_pcb.cpp:4
78
#: pcbnew/tool_pcb.cpp:4
84
msgid "Delete items"
msgid "Delete items"
msgstr "Suppression d'éléments"
msgstr "Suppression d'éléments"
#: pcbnew/tool_pcb.cpp:48
3
#: pcbnew/tool_pcb.cpp:48
9
msgid "Offset adjust for drill and place files"
msgid "Offset adjust for drill and place files"
msgstr "Ajuste offset pour fichier de perçage et placement"
msgstr "Ajuste offset pour fichier de perçage et placement"
#: pcbnew/tool_pcb.cpp:51
1
#: pcbnew/tool_pcb.cpp:51
7
msgid "Create line of specified length for microwave applications"
msgid "Create line of specified length for microwave applications"
msgstr "Creation de lignes de longueur spécifiée (pour applications micro-ondes)"
msgstr "Creation de lignes de longueur spécifiée (pour applications micro-ondes)"
#: pcbnew/tool_pcb.cpp:5
17
#: pcbnew/tool_pcb.cpp:5
23
msgid "Create gap of specified length for microwave applications"
msgid "Create gap of specified length for microwave applications"
msgstr "Creation de gaps de longueur spécifiée (pour applications micro-ondes)"
msgstr "Creation de gaps de longueur spécifiée (pour applications micro-ondes)"
#: pcbnew/tool_pcb.cpp:5
25
#: pcbnew/tool_pcb.cpp:5
31
msgid "Create stub of specified length for microwave applications"
msgid "Create stub of specified length for microwave applications"
msgstr "Creation de stub de longueur spécifiée (pour applications micro-ondes)"
msgstr "Creation de stub de longueur spécifiée (pour applications micro-ondes)"
#: pcbnew/tool_pcb.cpp:53
1
#: pcbnew/tool_pcb.cpp:53
7
msgid "Create stub (arc) of specified length for microwave applications"
msgid "Create stub (arc) of specified length for microwave applications"
msgstr "Creation de stub (arc) de longueur spécifiée (pour applications micro-ondes)"
msgstr "Creation de stub (arc) de longueur spécifiée (pour applications micro-ondes)"
#: pcbnew/tool_pcb.cpp:5
38
#: pcbnew/tool_pcb.cpp:5
44
msgid "Create a polynomial shape for microwave applications"
msgid "Create a polynomial shape for microwave applications"
msgstr "Creation de formes polynomiales (pour applications micro-ondes)"
msgstr "Creation de formes polynomiales (pour applications micro-ondes)"
#: pcbnew/tool_pcb.cpp:5
79
#: pcbnew/tool_pcb.cpp:5
85
msgid ""
msgid ""
"Auto track width: when starting on an existing track use its width\n"
"Auto track width: when starting on an existing track use its width\n"
"otherwise, use current width setting"
"otherwise, use current width setting"
...
@@ -2553,19 +2557,19 @@ msgstr ""
...
@@ -2553,19 +2557,19 @@ msgstr ""
"Largeur de piste automatique: si on démarre sur une piste existante, utiliser sa largeur\n"
"Largeur de piste automatique: si on démarre sur une piste existante, utiliser sa largeur\n"
" sinon utiliser la largeur courante"
" sinon utiliser la largeur courante"
#: pcbnew/tool_pcb.cpp:6
04
#: pcbnew/tool_pcb.cpp:6
10
msgid "Auto"
msgid "Auto"
msgstr "Auto"
msgstr "Auto"
#: pcbnew/tool_pcb.cpp:6
08
#: pcbnew/tool_pcb.cpp:6
14
msgid "Zoom "
msgid "Zoom "
msgstr "Zoom "
msgstr "Zoom "
#: pcbnew/tool_pcb.cpp:64
3
#: pcbnew/tool_pcb.cpp:64
9
msgid "User Grid"
msgid "User Grid"
msgstr "Grille perso"
msgstr "Grille perso"
#: pcbnew/tool_pcb.cpp:7
59
#: pcbnew/tool_pcb.cpp:7
65
msgid "+/- to switch"
msgid "+/- to switch"
msgstr "+/- pour commuter"
msgstr "+/- pour commuter"
...
@@ -3392,7 +3396,7 @@ msgstr "Grille %.1f"
...
@@ -3392,7 +3396,7 @@ msgstr "Grille %.1f"
msgid "Grid %.3f"
msgid "Grid %.3f"
msgstr "Grille %.3f"
msgstr "Grille %.3f"
#: pcbnew/dialog_copper_zones.cpp:28
8
#: pcbnew/dialog_copper_zones.cpp:28
5
msgid ""
msgid ""
"Error :\n"
"Error :\n"
"you must choose a copper min thickness value bigger than 0.001 inch or 0.00254 mm)"
"you must choose a copper min thickness value bigger than 0.001 inch or 0.00254 mm)"
...
@@ -3400,7 +3404,7 @@ msgstr ""
...
@@ -3400,7 +3404,7 @@ msgstr ""
"Erreur :\n"
"Erreur :\n"
"vous devez choisir une valeur pour l'épaisseur de cuivre dans les freins thermiques plus grande que 0,001 pouce (ou 0,00254 mm)"
"vous devez choisir une valeur pour l'épaisseur de cuivre dans les freins thermiques plus grande que 0,001 pouce (ou 0,00254 mm)"
#: pcbnew/dialog_copper_zones.cpp:3
13
#: pcbnew/dialog_copper_zones.cpp:3
08
msgid ""
msgid ""
"Error :\n"
"Error :\n"
"you must choose a copper bridge value for thermal reliefs bigger than the min zone thickness"
"you must choose a copper bridge value for thermal reliefs bigger than the min zone thickness"
...
@@ -3408,11 +3412,11 @@ msgstr ""
...
@@ -3408,11 +3412,11 @@ msgstr ""
"Erreur :\n"
"Erreur :\n"
"vous devez choisir une valeur pour l'épaisseur de cuivre dans les freins thermiques plus grande que l'épaisseur de cuivre minimum des zones"
"vous devez choisir une valeur pour l'épaisseur de cuivre dans les freins thermiques plus grande que l'épaisseur de cuivre minimum des zones"
#: pcbnew/dialog_copper_zones.cpp:32
5
#: pcbnew/dialog_copper_zones.cpp:32
0
msgid "Error : you must choose a layer"
msgid "Error : you must choose a layer"
msgstr "Erreur. Vous devez choisir une couche"
msgstr "Erreur. Vous devez choisir une couche"
#: pcbnew/dialog_copper_zones.cpp:33
7
#: pcbnew/dialog_copper_zones.cpp:33
2
msgid "Error : you must choose a net name"
msgid "Error : you must choose a net name"
msgstr "Erreur. Vous devez choisir une équipotentielle"
msgstr "Erreur. Vous devez choisir une équipotentielle"
...
@@ -4072,7 +4076,7 @@ msgid "Pen Number"
...
@@ -4072,7 +4076,7 @@ msgid "Pen Number"
msgstr "Numéro de plume"
msgstr "Numéro de plume"
#: pcbnew/dialog_gendrill.cpp:239
#: pcbnew/dialog_gendrill.cpp:239
#: pcbnew/dialog_general_options.cpp:3
76
#: pcbnew/dialog_general_options.cpp:3
85
msgid "Options:"
msgid "Options:"
msgstr "Options :"
msgstr "Options :"
...
@@ -4282,96 +4286,96 @@ msgstr "Larg. piste: %s Diam Vias : %s"
...
@@ -4282,96 +4286,96 @@ msgstr "Larg. piste: %s Diam Vias : %s"
msgid "Drc error, cancelled"
msgid "Drc error, cancelled"
msgstr "Erreur DRC, annulation"
msgstr "Erreur DRC, annulation"
#: pcbnew/dialog_general_options.cpp:2
88
#: pcbnew/dialog_general_options.cpp:2
97
msgid "No Display"
msgid "No Display"
msgstr "Pas d'affichage"
msgstr "Pas d'affichage"
#: pcbnew/dialog_general_options.cpp:
291
#: pcbnew/dialog_general_options.cpp:
300
msgid "Display Polar Coord"
msgid "Display Polar Coord"
msgstr "Affichage coord Polaires"
msgstr "Affichage coord Polaires"
#: pcbnew/dialog_general_options.cpp:30
0
#: pcbnew/dialog_general_options.cpp:30
9
msgid "millimeters"
msgid "millimeters"
msgstr "millimètres"
msgstr "millimètres"
#: pcbnew/dialog_general_options.cpp:3
02
#: pcbnew/dialog_general_options.cpp:3
11
msgid "Units"
msgid "Units"
msgstr "Unités"
msgstr "Unités"
#: pcbnew/dialog_general_options.cpp:3
09
#: pcbnew/dialog_general_options.cpp:3
18
msgid "Small"
msgid "Small"
msgstr "Petit"
msgstr "Petit"
#: pcbnew/dialog_general_options.cpp:31
0
#: pcbnew/dialog_general_options.cpp:31
9
msgid "Big"
msgid "Big"
msgstr "Grand"
msgstr "Grand"
#: pcbnew/dialog_general_options.cpp:3
12
#: pcbnew/dialog_general_options.cpp:3
21
msgid "Cursor"
msgid "Cursor"
msgstr "Curseur"
msgstr "Curseur"
#: pcbnew/dialog_general_options.cpp:3
24
#: pcbnew/dialog_general_options.cpp:3
33
msgid "Number of Layers:"
msgid "Number of Layers:"
msgstr "Nombre de Couches:"
msgstr "Nombre de Couches:"
#: pcbnew/dialog_general_options.cpp:34
0
#: pcbnew/dialog_general_options.cpp:34
9
msgid "Max Links:"
msgid "Max Links:"
msgstr "Liens max:"
msgstr "Liens max:"
#: pcbnew/dialog_general_options.cpp:3
56
#: pcbnew/dialog_general_options.cpp:3
65
msgid "Auto Save (minuts):"
msgid "Auto Save (minuts):"
msgstr "Sauveg. Auto (min)"
msgstr "Sauveg. Auto (min)"
#: pcbnew/dialog_general_options.cpp:3
85
#: pcbnew/dialog_general_options.cpp:3
94
msgid "Drc ON"
msgid "Drc ON"
msgstr "Drc ACTIVE"
msgstr "Drc ACTIVE"
#: pcbnew/dialog_general_options.cpp:
394
#: pcbnew/dialog_general_options.cpp:
403
msgid "Show Ratsnest"
msgid "Show Ratsnest"
msgstr "Montrer le chevelu général"
msgstr "Montrer le chevelu général"
#: pcbnew/dialog_general_options.cpp:4
01
#: pcbnew/dialog_general_options.cpp:4
10
msgid "Show Mod Ratsnest"
msgid "Show Mod Ratsnest"
msgstr "Montrer le chevelu du module"
msgstr "Montrer le chevelu du module"
#: pcbnew/dialog_general_options.cpp:4
08
#: pcbnew/dialog_general_options.cpp:4
17
msgid "Tracks Auto Del"
msgid "Tracks Auto Del"
msgstr "Auto Supp. Pistes"
msgstr "Auto Supp. Pistes"
#: pcbnew/dialog_general_options.cpp:4
15
#: pcbnew/dialog_general_options.cpp:4
24
msgid "Track only 45 degrees"
msgid "Track only 45 degrees"
msgstr "Piste à 45° seulement"
msgstr "Piste à 45° seulement"
#: pcbnew/dialog_general_options.cpp:4
22
#: pcbnew/dialog_general_options.cpp:4
31
msgid "Segments 45 Only"
msgid "Segments 45 Only"
msgstr "Segments 45 seulement"
msgstr "Segments 45 seulement"
#: pcbnew/dialog_general_options.cpp:4
29
#: pcbnew/dialog_general_options.cpp:4
38
msgid "Auto PAN"
msgid "Auto PAN"
msgstr "Auto PAN"
msgstr "Auto PAN"
#: pcbnew/dialog_general_options.cpp:4
37
#: pcbnew/dialog_general_options.cpp:4
46
msgid "Double Segm Track"
msgid "Double Segm Track"
msgstr "2 segments pour piste"
msgstr "2 segments pour piste"
#: pcbnew/dialog_general_options.cpp:45
0
#: pcbnew/dialog_general_options.cpp:45
9
#: pcbnew/dialog_general_options.cpp:4
65
#: pcbnew/dialog_general_options.cpp:4
74
msgid "When creating tracks"
msgid "When creating tracks"
msgstr "En creation de pistes"
msgstr "En creation de pistes"
#: pcbnew/dialog_general_options.cpp:4
53
#: pcbnew/dialog_general_options.cpp:4
62
msgid "Magnetic Pads"
msgid "Magnetic Pads"
msgstr " Pads magnétiques"
msgstr " Pads magnétiques"
#: pcbnew/dialog_general_options.cpp:46
0
#: pcbnew/dialog_general_options.cpp:46
9
msgid "control the capture of the pcb cursor when the mouse cursor enters a pad area"
msgid "control the capture of the pcb cursor when the mouse cursor enters a pad area"
msgstr "Contrôle la capture du curseur pcb quand le curseuir souris est sur un pad"
msgstr "Contrôle la capture du curseur pcb quand le curseuir souris est sur un pad"
#: pcbnew/dialog_general_options.cpp:4
68
#: pcbnew/dialog_general_options.cpp:4
77
msgid "Magnetic Tracks"
msgid "Magnetic Tracks"
msgstr "Pistes Magnétiques"
msgstr "Pistes Magnétiques"
#: pcbnew/dialog_general_options.cpp:4
75
#: pcbnew/dialog_general_options.cpp:4
84
msgid "control the capture of the pcb cursor when the mouse cursor enters a track"
msgid "control the capture of the pcb cursor when the mouse cursor enters a track"
msgstr "Contrôle la capture du curseur pcb quand le curseuir souris est sur une piste"
msgstr "Contrôle la capture du curseur pcb quand le curseuir souris est sur une piste"
...
@@ -4533,60 +4537,48 @@ msgid "Others Options:"
...
@@ -4533,60 +4537,48 @@ msgid "Others Options:"
msgstr "Autres Options:"
msgstr "Autres Options:"
#: pcbnew/dialog_copper_zones_base.cpp:118
#: pcbnew/dialog_copper_zones_base.cpp:118
msgid "Show filled areas in sketch mode"
msgstr "Afficher les surfaces remplies en mode contour"
#: pcbnew/dialog_copper_zones_base.cpp:120
msgid ""
"If enabled, filled areas in is this zone will be displayed as non filled polygons.\n"
"If disabled, filled areas in is this zone will be displayed as \"solid\" areas (normal mode)."
msgstr ""
"Si activé, les surfaces remplies dans cette zone seront affichées comme des polygones non remplis.\n"
"Si désactivé, les surfaces remplies dans cette zone seront affichées comme des surfaces \"solides\"."
#: pcbnew/dialog_copper_zones_base.cpp:124
msgid "Zone clearance value"
msgid "Zone clearance value"
msgstr "Valeur isolation zone"
msgstr "Valeur isolation zone"
#: pcbnew/dialog_copper_zones_base.cpp:1
31
#: pcbnew/dialog_copper_zones_base.cpp:1
25
msgid "Zone min thickness value"
msgid "Zone min thickness value"
msgstr "Valeur épaisseur min pour zone"
msgstr "Valeur épaisseur min pour zone"
#: pcbnew/dialog_copper_zones_base.cpp:13
6
#: pcbnew/dialog_copper_zones_base.cpp:13
0
msgid "Value of minimun thickness of filled areas"
msgid "Value of minimun thickness of filled areas"
msgstr "Valeur de l'épaisseur minimum des zones remplies"
msgstr "Valeur de l'épaisseur minimum des zones remplies"
#: pcbnew/dialog_copper_zones_base.cpp:15
6
#: pcbnew/dialog_copper_zones_base.cpp:15
0
msgid "Export Setup to others zones"
msgid "Export Setup to others zones"
msgstr "Exporter options vers autres zones"
msgstr "Exporter options vers autres zones"
#: pcbnew/dialog_copper_zones_base.cpp:15
7
#: pcbnew/dialog_copper_zones_base.cpp:15
2
msgid "Export this zone setup to all others copper zones"
msgid "Export this zone setup to all others copper zones"
msgstr "Exporter ces options vers les autres zones de cuivre"
msgstr "Exporter ces options vers les autres zones de cuivre"
#: pcbnew/dialog_copper_zones_base.cpp:1
61
#: pcbnew/dialog_copper_zones_base.cpp:1
56
#: pcbnew/dialog_pad_properties_base.cpp:91
#: pcbnew/dialog_pad_properties_base.cpp:91
#: pcbnew/zone_filling_deprecated_algorithm.cpp:310
#: pcbnew/zone_filling_deprecated_algorithm.cpp:310
msgid "Ok"
msgid "Ok"
msgstr "Ok"
msgstr "Ok"
#: pcbnew/dialog_copper_zones_base.cpp:17
2
#: pcbnew/dialog_copper_zones_base.cpp:17
1
msgid "Nets Display Options:"
msgid "Nets Display Options:"
msgstr "Options d'Affichage des Nets"
msgstr "Options d'Affichage des Nets"
#: pcbnew/dialog_copper_zones_base.cpp:17
4
#: pcbnew/dialog_copper_zones_base.cpp:17
3
msgid "Alphabetic"
msgid "Alphabetic"
msgstr "Alphabetique"
msgstr "Alphabetique"
#: pcbnew/dialog_copper_zones_base.cpp:17
4
#: pcbnew/dialog_copper_zones_base.cpp:17
3
msgid "Advanced"
msgid "Advanced"
msgstr "Avancé"
msgstr "Avancé"
#: pcbnew/dialog_copper_zones_base.cpp:17
6
#: pcbnew/dialog_copper_zones_base.cpp:17
5
msgid "Net sorting:"
msgid "Net sorting:"
msgstr "Tri des Equipotentielles:"
msgstr "Tri des Equipotentielles:"
#: pcbnew/dialog_copper_zones_base.cpp:17
8
#: pcbnew/dialog_copper_zones_base.cpp:17
7
msgid ""
msgid ""
"Nets can be sorted:\n"
"Nets can be sorted:\n"
"By alphabetic order\n"
"By alphabetic order\n"
...
@@ -4596,11 +4588,11 @@ msgstr ""
...
@@ -4596,11 +4588,11 @@ msgstr ""
"Paur ordre alphabétique\n"
"Paur ordre alphabétique\n"
"Par nombre de pads dans les équipotentielles (avancé)"
"Par nombre de pads dans les équipotentielles (avancé)"
#: pcbnew/dialog_copper_zones_base.cpp:18
2
#: pcbnew/dialog_copper_zones_base.cpp:18
1
msgid "Filter"
msgid "Filter"
msgstr "Filtre"
msgstr "Filtre"
#: pcbnew/dialog_copper_zones_base.cpp:18
7
#: pcbnew/dialog_copper_zones_base.cpp:18
6
msgid ""
msgid ""
"Pattern in advanced mode, to filter net names in list\n"
"Pattern in advanced mode, to filter net names in list\n"
"Net names matching this pattern are not displayed"
"Net names matching this pattern are not displayed"
...
@@ -6402,11 +6394,11 @@ msgstr "Ajout Composant"
...
@@ -6402,11 +6394,11 @@ msgstr "Ajout Composant"
msgid "Add Wire"
msgid "Add Wire"
msgstr "Ajouter Fils"
msgstr "Ajouter Fils"
#: eeschema/libarch.cpp:6
6
#: eeschema/libarch.cpp:6
8
msgid "Failed to create archive lib file "
msgid "Failed to create archive lib file "
msgstr "Impossible de créer le fichier librairie archive "
msgstr "Impossible de créer le fichier librairie archive "
#: eeschema/libarch.cpp:7
3
#: eeschema/libarch.cpp:7
5
msgid "Failed to create doc lib file "
msgid "Failed to create doc lib file "
msgstr "Impossible de créer le fichier lib document"
msgstr "Impossible de créer le fichier lib document"
...
@@ -6511,7 +6503,7 @@ msgstr "Oriente Composant"
...
@@ -6511,7 +6503,7 @@ msgstr "Oriente Composant"
msgid "Footprint "
msgid "Footprint "
msgstr "Empreinte: "
msgstr "Empreinte: "
#: eeschema/onrightclick.cpp:32
2
#: eeschema/onrightclick.cpp:32
3
#, c-format
#, c-format
msgid "Unit %d %c"
msgid "Unit %d %c"
msgstr "Unité %d %c"
msgstr "Unité %d %c"
...
@@ -10426,15 +10418,15 @@ msgstr "Texte Module invisible"
...
@@ -10426,15 +10418,15 @@ msgstr "Texte Module invisible"
msgid "Anchors"
msgid "Anchors"
msgstr "Ancres"
msgstr "Ancres"
#: pcbnew/set_color.h:4
32
#: pcbnew/set_color.h:4
23
msgid "Show Noconnect"
msgid "Show Noconnect"
msgstr "Montrer Non Conn"
msgstr "Montrer Non Conn"
#: pcbnew/set_color.h:4
41
#: pcbnew/set_color.h:4
32
msgid "Show Modules Cmp"
msgid "Show Modules Cmp"
msgstr "Afficher Modules Cmp"
msgstr "Afficher Modules Cmp"
#: pcbnew/set_color.h:4
50
#: pcbnew/set_color.h:4
41
msgid "Show Modules Cu"
msgid "Show Modules Cu"
msgstr "Afficher Modules Cu"
msgstr "Afficher Modules Cu"
...
@@ -10474,7 +10466,7 @@ msgstr "Type Err(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>"
...
@@ -10474,7 +10466,7 @@ msgstr "Type Err(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>"
msgid "ErrType(%d): <b>%s</b><ul><li> %s: %s </li></ul>"
msgid "ErrType(%d): <b>%s</b><ul><li> %s: %s </li></ul>"
msgstr "ErrType(%d): <b>%s</b><ul><li> %s: %s </li></ul>"
msgstr "ErrType(%d): <b>%s</b><ul><li> %s: %s </li></ul>"
#: pcbnew/dialog_copper_zones_base.h:
101
#: pcbnew/dialog_copper_zones_base.h:
99
msgid "Fill Zones Options"
msgid "Fill Zones Options"
msgstr "Options de Remplissage de Zone"
msgstr "Options de Remplissage de Zone"
...
@@ -10798,6 +10790,20 @@ msgstr "Imprimer"
...
@@ -10798,6 +10790,20 @@ msgstr "Imprimer"
msgid "Create SVG file"
msgid "Create SVG file"
msgstr "Créer Fichier SVG"
msgstr "Créer Fichier SVG"
#~ msgid "Do not Show Zones"
#~ msgstr "Ne pas montrer Zones"
#~ msgid "Show Zones"
#~ msgstr "Montrer Zones"
#~ msgid ""
#~ "If enabled, filled areas in is this zone will be displayed as non filled "
#~ "polygons.\n"
#~ "If disabled, filled areas in is this zone will be displayed as \"solid\" "
#~ "areas (normal mode)."
#~ msgstr ""
#~ "Si activé, les surfaces remplies dans cette zone seront affichées comme "
#~ "des polygones non remplis.\n"
#~ "Si désactivé, les surfaces remplies dans cette zone seront affichées "
#~ "comme des surfaces \"solides\"."
#~ msgid "grid user"
#~ msgid "grid user"
#~ msgstr "grille user"
#~ msgstr "grille user"
pcbnew/CMakeLists.txt
View file @
6d856f60
...
@@ -28,6 +28,7 @@ set(PCBNEW_SRCS
...
@@ -28,6 +28,7 @@ set(PCBNEW_SRCS
class_mire.cpp
class_mire.cpp
class_module.cpp
class_module.cpp
class_pad.cpp
class_pad.cpp
class_pad_draw_functions.cpp
classpcb.cpp
classpcb.cpp
class_pcb_text.cpp
class_pcb_text.cpp
class_text_mod.cpp
class_text_mod.cpp
...
...
pcbnew/affiche.cpp
View file @
6d856f60
...
@@ -32,7 +32,7 @@ void Affiche_Infos_Equipot( int netcode, WinEDA_BasePcbFrame* frame )
...
@@ -32,7 +32,7 @@ void Affiche_Infos_Equipot( int netcode, WinEDA_BasePcbFrame* frame )
equipot
=
frame
->
m_Pcb
->
FindNet
(
netcode
);
equipot
=
frame
->
m_Pcb
->
FindNet
(
netcode
);
if
(
equipot
)
if
(
equipot
)
Affiche_1_Parametre
(
frame
,
1
,
_
(
"Net Name"
),
equipot
->
m_Netname
,
RED
);
Affiche_1_Parametre
(
frame
,
1
,
_
(
"Net Name"
),
equipot
->
GetNetname
()
,
RED
);
else
else
Affiche_1_Parametre
(
frame
,
1
,
_
(
"No Net (not connected)"
),
wxEmptyString
,
RED
);
Affiche_1_Parametre
(
frame
,
1
,
_
(
"No Net (not connected)"
),
wxEmptyString
,
RED
);
...
...
pcbnew/class_board.cpp
View file @
6d856f60
...
@@ -835,7 +835,7 @@ EQUIPOT* BOARD::FindNet( const wxString & aNetname ) const
...
@@ -835,7 +835,7 @@ EQUIPOT* BOARD::FindNet( const wxString & aNetname ) const
{
{
for
(
EQUIPOT
*
net
=
m_Equipots
;
net
;
net
=
net
->
Next
()
)
for
(
EQUIPOT
*
net
=
m_Equipots
;
net
;
net
=
net
->
Next
()
)
{
{
if
(
net
->
m_Netname
==
aNetname
)
if
(
net
->
GetNetname
()
==
aNetname
)
return
net
;
return
net
;
}
}
}
}
...
@@ -882,7 +882,7 @@ int s_SortByNames(const void * ptr1, const void * ptr2)
...
@@ -882,7 +882,7 @@ int s_SortByNames(const void * ptr1, const void * ptr2)
{
{
EQUIPOT
*
item1
=
*
(
EQUIPOT
**
)
ptr1
;
EQUIPOT
*
item1
=
*
(
EQUIPOT
**
)
ptr1
;
EQUIPOT
*
item2
=
*
(
EQUIPOT
**
)
ptr2
;
EQUIPOT
*
item2
=
*
(
EQUIPOT
**
)
ptr2
;
return
item1
->
m_Netname
.
CmpNoCase
(
item2
->
m_Netname
);
return
item1
->
GetNetname
().
CmpNoCase
(
item2
->
GetNetname
()
);
}
}
// Sort nets by decreasing pad count
// Sort nets by decreasing pad count
...
@@ -892,7 +892,7 @@ int s_SortByNodes(const void * ptr1, const void * ptr2)
...
@@ -892,7 +892,7 @@ int s_SortByNodes(const void * ptr1, const void * ptr2)
EQUIPOT
*
item2
=
*
(
EQUIPOT
**
)
ptr2
;
EQUIPOT
*
item2
=
*
(
EQUIPOT
**
)
ptr2
;
if
(
(
item1
->
m_NbNodes
-
item2
->
m_NbNodes
)
!=
0
)
if
(
(
item1
->
m_NbNodes
-
item2
->
m_NbNodes
)
!=
0
)
return
-
(
item1
->
m_NbNodes
-
item2
->
m_NbNodes
);
return
-
(
item1
->
m_NbNodes
-
item2
->
m_NbNodes
);
return
item1
->
m_Netname
.
CmpNoCase
(
item2
->
m_Netname
);
return
item1
->
GetNetname
().
CmpNoCase
(
item2
->
GetNetname
()
);
}
}
...
@@ -912,7 +912,7 @@ int BOARD::ReturnSortedNetnamesList( wxArrayString & aNames, const int aSort_Typ
...
@@ -912,7 +912,7 @@ int BOARD::ReturnSortedNetnamesList( wxArrayString & aNames, const int aSort_Typ
/* count items to list and sort */
/* count items to list and sort */
for
(
net
=
m_Equipots
;
net
;
net
=
net
->
Next
()
)
for
(
net
=
m_Equipots
;
net
;
net
=
net
->
Next
()
)
{
{
if
(
net
->
m_Netname
.
IsEmpty
()
)
continue
;
if
(
net
->
GetNetname
()
.
IsEmpty
()
)
continue
;
NetCount
++
;
NetCount
++
;
}
}
...
@@ -922,7 +922,7 @@ int BOARD::ReturnSortedNetnamesList( wxArrayString & aNames, const int aSort_Typ
...
@@ -922,7 +922,7 @@ int BOARD::ReturnSortedNetnamesList( wxArrayString & aNames, const int aSort_Typ
EQUIPOT
*
*
net_ptr_list
=
(
EQUIPOT
*
*
)
MyMalloc
(
NetCount
*
sizeof
(
*
net_ptr_list
)
);
EQUIPOT
*
*
net_ptr_list
=
(
EQUIPOT
*
*
)
MyMalloc
(
NetCount
*
sizeof
(
*
net_ptr_list
)
);
for
(
ii
=
0
,
net
=
m_Equipots
;
net
;
net
=
net
->
Next
()
)
for
(
ii
=
0
,
net
=
m_Equipots
;
net
;
net
=
net
->
Next
()
)
{
{
if
(
net
->
m_Netname
.
IsEmpty
()
)
continue
;
if
(
net
->
GetNetname
()
.
IsEmpty
()
)
continue
;
net_ptr_list
[
ii
]
=
net
;
net_ptr_list
[
ii
]
=
net
;
ii
++
;
ii
++
;
}
}
...
@@ -945,7 +945,7 @@ int BOARD::ReturnSortedNetnamesList( wxArrayString & aNames, const int aSort_Typ
...
@@ -945,7 +945,7 @@ int BOARD::ReturnSortedNetnamesList( wxArrayString & aNames, const int aSort_Typ
for
(
ii
=
0
;
ii
<
NetCount
;
ii
++
)
for
(
ii
=
0
;
ii
<
NetCount
;
ii
++
)
{
{
net
=
net_ptr_list
[
ii
];
net
=
net_ptr_list
[
ii
];
aNames
.
Add
(
net
->
m_Netname
);
aNames
.
Add
(
net
->
GetNetname
()
);
}
}
MyFree
(
net_ptr_list
);
MyFree
(
net_ptr_list
);
...
...
pcbnew/class_board_item.cpp
View file @
6d856f60
...
@@ -56,7 +56,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
...
@@ -56,7 +56,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
switch
(
item
->
Type
()
)
switch
(
item
->
Type
()
)
{
{
case
TYPE_EQUIPOT
:
case
TYPE_EQUIPOT
:
text
<<
_
(
"Net"
)
<<
(
(
EQUIPOT
*
)
item
)
->
m_Netname
<<
wxT
(
" "
)
<<
text
<<
_
(
"Net"
)
<<
(
(
EQUIPOT
*
)
item
)
->
GetNetname
()
<<
wxT
(
" "
)
<<
(
(
EQUIPOT
*
)
item
)
->
GetNet
();
(
(
EQUIPOT
*
)
item
)
->
GetNet
();
break
;
break
;
...
@@ -130,7 +130,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
...
@@ -130,7 +130,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
net
=
aPcb
->
FindNet
(
((
TRACK
*
)
item
)
->
GetNet
()
);
net
=
aPcb
->
FindNet
(
((
TRACK
*
)
item
)
->
GetNet
()
);
if
(
net
)
if
(
net
)
{
{
text
<<
wxT
(
" ["
)
<<
net
->
m_Netname
<<
wxT
(
"]"
);
text
<<
wxT
(
" ["
)
<<
net
->
GetNetname
()
<<
wxT
(
"]"
);
}
}
text
<<
_
(
" on "
)
<<
aPcb
->
GetLayerName
(
item
->
GetLayer
()
).
Trim
()
text
<<
_
(
" on "
)
<<
aPcb
->
GetLayerName
(
item
->
GetLayer
()
).
Trim
()
<<
wxT
(
" "
)
<<
_
(
"Net:"
)
<<
((
TRACK
*
)
item
)
->
GetNet
()
<<
wxT
(
" "
)
<<
_
(
"Net:"
)
<<
((
TRACK
*
)
item
)
->
GetNet
()
...
@@ -160,7 +160,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
...
@@ -160,7 +160,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
net
=
aPcb
->
FindNet
(
(
(
ZONE_CONTAINER
*
)
item
)
->
GetNet
()
);
net
=
aPcb
->
FindNet
(
(
(
ZONE_CONTAINER
*
)
item
)
->
GetNet
()
);
if
(
net
)
if
(
net
)
{
{
text
<<
wxT
(
" ["
)
<<
net
->
m_Netname
<<
wxT
(
"]"
);
text
<<
wxT
(
" ["
)
<<
net
->
GetNetname
()
<<
wxT
(
"]"
);
}
}
}
}
else
// A netcode < 0 is an error flag (Netname not found or area not initialised)
else
// A netcode < 0 is an error flag (Netname not found or area not initialised)
...
@@ -182,7 +182,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
...
@@ -182,7 +182,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
net
=
aPcb
->
FindNet
(
(
(
SEGZONE
*
)
item
)
->
GetNet
()
);
net
=
aPcb
->
FindNet
(
(
(
SEGZONE
*
)
item
)
->
GetNet
()
);
if
(
net
)
if
(
net
)
{
{
text
<<
wxT
(
" ["
)
<<
net
->
m_Netname
<<
wxT
(
"]"
);
text
<<
wxT
(
" ["
)
<<
net
->
GetNetname
()
<<
wxT
(
"]"
);
}
}
text
<<
_
(
" on "
)
<<
aPcb
->
GetLayerName
(
item
->
GetLayer
()
).
Trim
();
text
<<
_
(
" on "
)
<<
aPcb
->
GetLayerName
(
item
->
GetLayer
()
).
Trim
();
break
;
break
;
...
@@ -202,7 +202,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
...
@@ -202,7 +202,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
net
=
aPcb
->
FindNet
(
via
->
GetNet
()
);
net
=
aPcb
->
FindNet
(
via
->
GetNet
()
);
if
(
net
)
if
(
net
)
{
{
text
<<
wxT
(
" ["
)
<<
net
->
m_Netname
<<
wxT
(
"]"
);
text
<<
wxT
(
" ["
)
<<
net
->
GetNetname
()
<<
wxT
(
"]"
);
}
}
text
<<
wxChar
(
' '
)
<<
_
(
"Net:"
)
<<
via
->
GetNet
();
text
<<
wxChar
(
' '
)
<<
_
(
"Net:"
)
<<
via
->
GetNet
();
...
...
pcbnew/class_equipot.cpp
View file @
6d856f60
...
@@ -26,7 +26,7 @@ EQUIPOT::EQUIPOT( BOARD_ITEM* aParent ) :
...
@@ -26,7 +26,7 @@ EQUIPOT::EQUIPOT( BOARD_ITEM* aParent ) :
BOARD_ITEM
(
aParent
,
TYPE_EQUIPOT
)
BOARD_ITEM
(
aParent
,
TYPE_EQUIPOT
)
{
{
SetNet
(
0
);
SetNet
(
0
);
m_NbNodes
=
m_NbLink
=
m_NbNoconn
=
0
;
m_NbNodes
=
m_NbLink
=
m_NbNoconn
=
0
;
m_Masque_Layer
=
0
;
m_Masque_Layer
=
0
;
m_Masque_Plan
=
0
;
m_Masque_Plan
=
0
;
m_ForceWidth
=
0
;
m_ForceWidth
=
0
;
...
@@ -44,15 +44,16 @@ EQUIPOT::~EQUIPOT()
...
@@ -44,15 +44,16 @@ EQUIPOT::~EQUIPOT()
}
}
wxPoint
&
EQUIPOT
::
GetPosition
()
wxPoint
&
EQUIPOT
::
GetPosition
()
{
{
static
wxPoint
dummy
;
static
wxPoint
dummy
;
return
dummy
;
return
dummy
;
}
}
/*********************************************************/
/*********************************************************/
int
EQUIPOT
::
Read
Equipot
Descr
(
FILE
*
File
,
int
*
LineNum
)
int
EQUIPOT
::
ReadDescr
(
FILE
*
File
,
int
*
LineNum
)
/*********************************************************/
/*********************************************************/
/* Routine de lecture de 1 descr Equipotentielle.
/* Routine de lecture de 1 descr Equipotentielle.
...
@@ -90,31 +91,52 @@ int EQUIPOT:: ReadEquipotDescr( FILE* File, int* LineNum )
...
@@ -90,31 +91,52 @@ int EQUIPOT:: ReadEquipotDescr( FILE* File, int* LineNum )
}
}
/**************************************/
bool
EQUIPOT
::
Save
(
FILE
*
aFile
)
const
bool
EQUIPOT
::
Save
(
FILE
*
aFile
)
const
/**************************************/
{
{
if
(
GetState
(
DELETED
)
)
if
(
GetState
(
DELETED
)
)
return
true
;
return
true
;
bool
rc
=
false
;
bool
success
=
false
;
fprintf
(
aFile
,
"$EQUIPOT
\n
"
);
fprintf
(
aFile
,
"$EQUIPOT
\n
"
);
fprintf
(
aFile
,
"Na %d
\"
%
.16
s
\"\n
"
,
GetNet
(),
CONV_TO_UTF8
(
m_Netname
)
);
fprintf
(
aFile
,
"Na %d
\"
%s
\"\n
"
,
GetNet
(),
CONV_TO_UTF8
(
m_Netname
)
);
fprintf
(
aFile
,
"St %s
\n
"
,
"~"
);
fprintf
(
aFile
,
"St %s
\n
"
,
"~"
);
if
(
m_ForceWidth
)
if
(
m_ForceWidth
)
fprintf
(
aFile
,
"Lw %d
\n
"
,
m_ForceWidth
);
fprintf
(
aFile
,
"Lw %d
\n
"
,
m_ForceWidth
);
if
(
fprintf
(
aFile
,
"$EndEQUIPOT
\n
"
)
!=
sizeof
(
"$EndEQUIPOT
\n
"
)
-
1
)
if
(
fprintf
(
aFile
,
"$EndEQUIPOT
\n
"
)
!=
sizeof
(
"$EndEQUIPOT
\n
"
)
-
1
)
goto
out
;
goto
out
;
rc
=
true
;
success
=
true
;
out
:
out
:
return
rc
;
return
success
;
}
/**
* Function SetNetname
* @param const wxString : the new netname
*/
void
EQUIPOT
::
SetNetname
(
const
wxString
&
aNetname
)
{
m_Netname
=
aNetname
;
m_ShortNetname
=
m_Netname
.
AfterLast
(
'/'
);
}
/** function Draw
* we actually could show a NET, simply show all the tracks and pads or net name on pad and vias
*/
void
EQUIPOT
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
int
aDrawMode
,
const
wxPoint
&
offset
)
{
}
}
#if defined(DEBUG)
#if defined(DEBUG)
/**
/**
* Function Show
* Function Show
* is used to output the object tree, currently for debugging only.
* is used to output the object tree, currently for debugging only.
...
@@ -126,9 +148,9 @@ void EQUIPOT::Show( int nestLevel, std::ostream& os )
...
@@ -126,9 +148,9 @@ void EQUIPOT::Show( int nestLevel, std::ostream& os )
{
{
// for now, make it look like XML:
// for now, make it look like XML:
NestedSpace
(
nestLevel
,
os
)
<<
'<'
<<
GetClass
().
Lower
().
mb_str
()
<<
NestedSpace
(
nestLevel
,
os
)
<<
'<'
<<
GetClass
().
Lower
().
mb_str
()
<<
" name=
\"
"
<<
m_Netname
.
mb_str
()
<<
'"'
<<
" name=
\"
"
<<
m_Netname
.
mb_str
()
<<
'"'
<<
" netcode=
\"
"
<<
GetNet
()
<<
"
\"
/>
\n
"
;
" netcode=
\"
"
<<
GetNet
()
<<
"
\"
/>
\n
"
;
}
}
#endif
#endif
pcbnew/class_equipot.h
View file @
6d856f60
/*************************************************************************/
/*************************************************/
/* classe EQUIPOT: definition des elements relatifs aux equipotentielles */
/* classe EQUIPOT: Class to handle info on nets */
/*************************************************************************/
/*************************************************/
/* Representation des descriptions des equipotentielles */
class
EQUIPOT
:
public
BOARD_ITEM
class
EQUIPOT
:
public
BOARD_ITEM
{
{
private
:
private
:
int
m_NetCode
;
// numero de code interne du net
int
m_NetCode
;
// this is a number equivalent to the net name
// Used for fast comparisons in rastnest and DRC computations.
wxString
m_Netname
;
// Full net name like /mysheet/mysubsheet/vout used by eeschema
wxString
m_ShortNetname
;
// short net name, like vout from /mysheet/mysubsheet/vout
public
:
public
:
wxString
m_Netname
;
// nom du net
int
status
;
// no route, hight light...
int
status
;
// no route, hight light...
int
m_NbNodes
;
//
nombre de pads appartenant au
net
int
m_NbNodes
;
//
Pads count for this
net
int
m_NbLink
;
//
nombre de chevelus
int
m_NbLink
;
//
Ratsnets count for this net
int
m_NbNoconn
;
//
nombre de chevelus actifs
int
m_NbNoconn
;
//
Ratsnets remaining to route count
int
m_Masque_Layer
;
// couches interdites (bit 0 = layer 0...)
int
m_Masque_Layer
;
// couches interdites (bit 0 = layer 0...)
int
m_Masque_Plan
;
// couches mises en plan de cuivre
int
m_Masque_Plan
;
// couches mises en plan de cuivre
int
m_ForceWidth
;
// specific width (O = default width)
int
m_ForceWidth
;
// specific width (O = default width)
...
@@ -41,7 +40,7 @@ public:
...
@@ -41,7 +40,7 @@ public:
wxPoint
&
GetPosition
();
wxPoint
&
GetPosition
();
/* Readind and writing data on files */
/* Readind and writing data on files */
int
Read
Equipot
Descr
(
FILE
*
File
,
int
*
LineNum
);
int
ReadDescr
(
FILE
*
File
,
int
*
LineNum
);
/**
/**
* Function Save
* Function Save
...
@@ -52,11 +51,11 @@ public:
...
@@ -52,11 +51,11 @@ public:
bool
Save
(
FILE
*
aFile
)
const
;
bool
Save
(
FILE
*
aFile
)
const
;
/** function Draw
* @todo we actually could show a NET, simply show all the tracks and pads or net name on pad and vias
*/
void
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
void
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
int
aDrawMode
,
const
wxPoint
&
offset
=
ZeroOffset
)
int
aDrawMode
,
const
wxPoint
&
offset
=
ZeroOffset
);
{
// @todo we actually could show a NET, simply show all the tracks and pads
}
/**
/**
...
@@ -66,6 +65,23 @@ public:
...
@@ -66,6 +65,23 @@ public:
int
GetNet
()
const
{
return
m_NetCode
;
}
int
GetNet
()
const
{
return
m_NetCode
;
}
void
SetNet
(
int
aNetCode
)
{
m_NetCode
=
aNetCode
;
}
void
SetNet
(
int
aNetCode
)
{
m_NetCode
=
aNetCode
;
}
/**
* Function GetNetname
* @return const wxString * , a pointer to the full netname
*/
wxString
GetNetname
()
const
{
return
m_Netname
;
}
/**
* Function GetShortNetname
* @return const wxString * , a pointer to the short netname
*/
wxString
GetShortNetname
()
const
{
return
m_ShortNetname
;
}
/**
* Function SetNetname
* @param const wxString : the new netname
*/
void
SetNetname
(
const
wxString
&
aNetname
);
/**
/**
* Function GetClass
* Function GetClass
...
...
pcbnew/class_pad.cpp
View file @
6d856f60
...
@@ -3,24 +3,12 @@
...
@@ -3,24 +3,12 @@
/************************************************/
/************************************************/
#include "fctsys.h"
#include "fctsys.h"
#include "gr_basic.h"
#include "wxstruct.h"
#include "common.h"
#include "common.h"
#include "pcbnew.h"
#include "pcbnew.h"
#include "trigo.h"
#include "trigo.h"
#include "id.h" // ID_TRACK_BUTT
#include "id.h" // ID_TRACK_BUTT
#ifdef PCBNEW
#include "drag.h"
#endif
#ifdef CVPCB
#include "cvpcb.h"
#endif
#include "protos.h"
/*******************************/
/*******************************/
/* classe D_PAD : constructeur */
/* classe D_PAD : constructeur */
...
@@ -30,7 +18,7 @@ D_PAD::D_PAD( MODULE* parent ) : BOARD_CONNECTED_ITEM( parent, TYPE_PAD )
...
@@ -30,7 +18,7 @@ D_PAD::D_PAD( MODULE* parent ) : BOARD_CONNECTED_ITEM( parent, TYPE_PAD )
{
{
m_NumPadName
=
0
;
m_NumPadName
=
0
;
m_Masque_Layer
=
CUIVRE_LAYER
;
m_Masque_Layer
=
CUIVRE_LAYER
;
m_DrillShape
=
PAD_CIRCLE
;
// Drill shape = circle
m_DrillShape
=
PAD_CIRCLE
;
// Drill shape = circle
m_Size
.
x
=
m_Size
.
y
=
500
;
m_Size
.
x
=
m_Size
.
y
=
500
;
...
@@ -41,9 +29,9 @@ D_PAD::D_PAD( MODULE* parent ) : BOARD_CONNECTED_ITEM( parent, TYPE_PAD )
...
@@ -41,9 +29,9 @@ D_PAD::D_PAD( MODULE* parent ) : BOARD_CONNECTED_ITEM( parent, TYPE_PAD )
m_PadShape
=
PAD_CIRCLE
;
// forme CERCLE, PAD_RECT PAD_OVAL PAD_TRAPEZOID ou libre
m_PadShape
=
PAD_CIRCLE
;
// forme CERCLE, PAD_RECT PAD_OVAL PAD_TRAPEZOID ou libre
m_Attribut
=
PAD_STANDARD
;
// NORMAL, PAD_SMD, PAD_CONN, Bit 7 = STACK
m_Attribut
=
PAD_STANDARD
;
// NORMAL, PAD_SMD, PAD_CONN, Bit 7 = STACK
m_Orient
=
0
;
// en 1/10 degres
m_Orient
=
0
;
// en 1/10 degres
SetSubRatsnest
(
0
);
SetSubRatsnest
(
0
);
ComputeRayon
();
ComputeRayon
();
}
}
...
@@ -72,8 +60,8 @@ void D_PAD::ComputeRayon()
...
@@ -72,8 +60,8 @@ void D_PAD::ComputeRayon()
case
PAD_RECT
:
case
PAD_RECT
:
case
PAD_TRAPEZOID
:
case
PAD_TRAPEZOID
:
m_Rayon
=
(
int
)
(
sqrt
(
(
double
)
m_Size
.
y
*
m_Size
.
y
m_Rayon
=
(
int
)
(
sqrt
(
(
double
)
m_Size
.
y
*
m_Size
.
y
+
(
double
)
m_Size
.
x
*
m_Size
.
x
)
/
2
);
+
(
double
)
m_Size
.
x
*
m_Size
.
x
)
/
2
);
break
;
break
;
}
}
}
}
...
@@ -87,10 +75,10 @@ void D_PAD::ComputeRayon()
...
@@ -87,10 +75,10 @@ void D_PAD::ComputeRayon()
EDA_Rect
D_PAD
::
GetBoundingBox
()
EDA_Rect
D_PAD
::
GetBoundingBox
()
{
{
// Calculate area:
// Calculate area:
ComputeRayon
();
// calculate the radius of the area, considered as a circle
ComputeRayon
();
// calculate the radius of the area, considered as a circle
EDA_Rect
area
;
EDA_Rect
area
;
area
.
SetOrigin
(
m_Pos
);
area
.
SetOrigin
(
m_Pos
);
area
.
Inflate
(
m_Rayon
,
m_Rayon
);
area
.
Inflate
(
m_Rayon
,
m_Rayon
);
return
area
;
return
area
;
}
}
...
@@ -171,6 +159,18 @@ void D_PAD::SetPadName( const wxString& name )
...
@@ -171,6 +159,18 @@ void D_PAD::SetPadName( const wxString& name )
m_Padname
[
ii
]
=
0
;
m_Padname
[
ii
]
=
0
;
}
}
/**************************************************/
void
D_PAD
::
SetNetname
(
const
wxString
&
aNetname
)
/**************************************************/
/**
* Function SetNetname
* @param const wxString : the new netname
*/
{
m_Netname
=
aNetname
;
m_ShortNetname
=
m_Netname
.
AfterLast
(
'/'
);
}
/********************************/
/********************************/
void
D_PAD
::
Copy
(
D_PAD
*
source
)
void
D_PAD
::
Copy
(
D_PAD
*
source
)
...
@@ -184,10 +184,10 @@ void D_PAD::Copy( D_PAD* source )
...
@@ -184,10 +184,10 @@ void D_PAD::Copy( D_PAD* source )
memcpy
(
m_Padname
,
source
->
m_Padname
,
sizeof
(
m_Padname
)
);
/* nom de la pastille */
memcpy
(
m_Padname
,
source
->
m_Padname
,
sizeof
(
m_Padname
)
);
/* nom de la pastille */
SetNet
(
source
->
GetNet
()
);
/* Numero de net pour comparaisons rapides */
SetNet
(
source
->
GetNet
()
);
/* Numero de net pour comparaisons rapides */
m_Drill
=
source
->
m_Drill
;
// Diametre de percage
m_Drill
=
source
->
m_Drill
;
// Diametre de percage
m_DrillShape
=
source
->
m_DrillShape
;
m_DrillShape
=
source
->
m_DrillShape
;
m_Offset
=
source
->
m_Offset
;
// Offset de la forme
m_Offset
=
source
->
m_Offset
;
// Offset de la forme
m_Size
=
source
->
m_Size
;
// Dimension ( pour orient 0 )
m_Size
=
source
->
m_Size
;
// Dimension ( pour orient 0 )
m_DeltaSize
=
source
->
m_DeltaSize
;
// delta sur formes rectangle -> trapezes
m_DeltaSize
=
source
->
m_DeltaSize
;
// delta sur formes rectangle -> trapezes
m_Pos0
=
source
->
m_Pos0
;
// Coord relatives a l'ancre du pad en
m_Pos0
=
source
->
m_Pos0
;
// Coord relatives a l'ancre du pad en
// orientation 0
// orientation 0
...
@@ -199,416 +199,7 @@ void D_PAD::Copy( D_PAD* source )
...
@@ -199,416 +199,7 @@ void D_PAD::Copy( D_PAD* source )
SetSubRatsnest
(
0
);
SetSubRatsnest
(
0
);
SetSubNet
(
0
);
SetSubNet
(
0
);
m_Netname
=
source
->
m_Netname
;
m_Netname
=
source
->
m_Netname
;
}
m_ShortNetname
=
source
->
m_ShortNetname
;
/*******************************************************************************************/
void
D_PAD
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
int
draw_mode
,
const
wxPoint
&
offset
)
/*******************************************************************************************/
/** Draw a pad:
* @param DC = device context
* @param offset = draw offset
* @param draw_mode = mode: GR_OR, GR_XOR, GR_AND...
*/
{
int
ii
;
int
color
=
0
;
int
ux0
,
uy0
,
dx
,
dx0
,
dy
,
dy0
,
rotdx
,
delta_cx
,
delta_cy
,
xc
,
yc
;
int
angle
;
wxPoint
coord
[
4
];
int
zoom
;
int
fillpad
=
0
;
wxPoint
shape_pos
;
if
(
m_Flags
&
DO_NOT_DRAW
)
return
;
wxASSERT
(
panel
);
WinEDA_BasePcbFrame
*
frame
=
(
WinEDA_BasePcbFrame
*
)
panel
->
m_Parent
;
PCB_SCREEN
*
screen
=
frame
->
GetScreen
();
zoom
=
screen
->
GetZoom
();
if
(
frame
->
m_DisplayPadFill
==
FILLED
)
fillpad
=
1
;
#ifdef PCBNEW
if
(
m_Flags
&
IS_MOVED
)
fillpad
=
0
;
#endif
if
(
m_Masque_Layer
&
CMP_LAYER
)
color
=
g_PadCMPColor
;
if
(
m_Masque_Layer
&
CUIVRE_LAYER
)
color
|=
g_PadCUColor
;
if
(
color
==
0
)
/* Not on copper layer */
{
switch
(
m_Masque_Layer
&
~
ALL_CU_LAYERS
)
{
case
ADHESIVE_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
ADHESIVE_N_CU
];
break
;
case
ADHESIVE_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
ADHESIVE_N_CMP
];
break
;
case
SOLDERPASTE_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERPASTE_N_CU
];
break
;
case
SOLDERPASTE_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERPASTE_N_CMP
];
break
;
case
SILKSCREEN_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
SILKSCREEN_N_CU
];
break
;
case
SILKSCREEN_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
SILKSCREEN_N_CMP
];
break
;
case
SOLDERMASK_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERMASK_N_CU
];
break
;
case
SOLDERMASK_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERMASK_N_CMP
];
break
;
case
DRAW_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
DRAW_N
];
break
;
case
COMMENT_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
COMMENT_N
];
break
;
case
ECO1_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
ECO1_N
];
break
;
case
ECO2_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
ECO2_N
];
break
;
case
EDGE_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
EDGE_N
];
break
;
default
:
color
=
DARKGRAY
;
break
;
}
}
// if PAD_SMD pad and high contrast mode
if
(
(
m_Attribut
==
PAD_SMD
||
m_Attribut
==
PAD_CONN
)
&&
DisplayOpt
.
ContrastModeDisplay
)
{
// when routing tracks
if
(
frame
&&
frame
->
m_ID_current_state
==
ID_TRACK_BUTT
)
{
int
routeTop
=
screen
->
m_Route_Layer_TOP
;
int
routeBot
=
screen
->
m_Route_Layer_BOTTOM
;
// if routing between copper and component layers,
// or the current layer is one of said 2 external copper layers,
// then highlight only the current layer.
if
(
((
1
<<
routeTop
)
|
(
1
<<
routeBot
))
==
(
CUIVRE_LAYER
|
CMP_LAYER
)
||
((
1
<<
screen
->
m_Active_Layer
)
&
(
CUIVRE_LAYER
|
CMP_LAYER
))
)
{
if
(
!
IsOnLayer
(
screen
->
m_Active_Layer
)
)
{
color
&=
~
MASKCOLOR
;
color
|=
DARKDARKGRAY
;
}
}
// else routing between an internal signal layer and some other layer.
// grey out all PAD_SMD pads not on current or the single selected
// external layer.
else
if
(
!
IsOnLayer
(
screen
->
m_Active_Layer
)
&&
!
IsOnLayer
(
routeTop
)
&&
!
IsOnLayer
(
routeBot
)
)
{
color
&=
~
MASKCOLOR
;
color
|=
DARKDARKGRAY
;
}
}
// when not edting tracks, show PAD_SMD components not on active layer as greyed out
else
{
if
(
!
IsOnLayer
(
screen
->
m_Active_Layer
)
)
{
color
&=
~
MASKCOLOR
;
color
|=
DARKDARKGRAY
;
}
}
}
if
(
draw_mode
&
GR_SURBRILL
)
{
if
(
draw_mode
&
GR_AND
)
color
&=
~
HIGHT_LIGHT_FLAG
;
else
color
|=
HIGHT_LIGHT_FLAG
;
}
if
(
color
&
HIGHT_LIGHT_FLAG
)
color
=
ColorRefs
[
color
&
MASKCOLOR
].
m_LightColor
;
GRSetDrawMode
(
DC
,
draw_mode
);
/* mode de trace */
/* calcul du centre des pads en coordonnees Ecran : */
shape_pos
=
ReturnShapePos
();
ux0
=
shape_pos
.
x
-
offset
.
x
;
uy0
=
shape_pos
.
y
-
offset
.
y
;
xc
=
ux0
;
yc
=
uy0
;
/* le trace depend de la rotation de l'empreinte */
dx
=
dx0
=
m_Size
.
x
>>
1
;
dy
=
dy0
=
m_Size
.
y
>>
1
;
/* demi dim dx et dy */
angle
=
m_Orient
;
bool
DisplayIsol
=
DisplayOpt
.
DisplayPadIsol
;
if
(
(
m_Masque_Layer
&
ALL_CU_LAYERS
)
==
0
)
DisplayIsol
=
FALSE
;
switch
(
m_PadShape
&
0x7F
)
{
case
PAD_CIRCLE
:
if
(
fillpad
)
GRFilledCircle
(
&
panel
->
m_ClipBox
,
DC
,
xc
,
yc
,
dx
,
0
,
color
,
color
);
else
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
xc
,
yc
,
dx
,
0
,
color
);
if
(
DisplayIsol
)
{
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
xc
,
yc
,
dx
+
g_DesignSettings
.
m_TrackClearence
,
0
,
color
);
}
break
;
case
PAD_OVAL
:
/* calcul de l'entraxe de l'ellipse */
if
(
dx
>
dy
)
/* ellipse horizontale */
{
delta_cx
=
dx
-
dy
;
delta_cy
=
0
;
rotdx
=
m_Size
.
y
;
}
else
/* ellipse verticale */
{
delta_cx
=
0
;
delta_cy
=
dy
-
dx
;
rotdx
=
m_Size
.
x
;
}
RotatePoint
(
&
delta_cx
,
&
delta_cy
,
angle
);
if
(
fillpad
)
{
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
}
else
{
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
}
/* Trace de la marge d'isolement */
if
(
DisplayIsol
)
{
rotdx
=
rotdx
+
g_DesignSettings
.
m_TrackClearence
+
g_DesignSettings
.
m_TrackClearence
;
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
}
break
;
case
PAD_RECT
:
case
PAD_TRAPEZOID
:
{
int
ddx
,
ddy
;
ddx
=
m_DeltaSize
.
x
>>
1
;
ddy
=
m_DeltaSize
.
y
>>
1
;
/* demi dim dx et dy */
coord
[
0
].
x
=
-
dx
-
ddy
;
coord
[
0
].
y
=
+
dy
+
ddx
;
coord
[
1
].
x
=
-
dx
+
ddy
;
coord
[
1
].
y
=
-
dy
-
ddx
;
coord
[
2
].
x
=
+
dx
-
ddy
;
coord
[
2
].
y
=
-
dy
+
ddx
;
coord
[
3
].
x
=
+
dx
+
ddy
;
coord
[
3
].
y
=
+
dy
-
ddx
;
for
(
ii
=
0
;
ii
<
4
;
ii
++
)
{
RotatePoint
(
&
coord
[
ii
].
x
,
&
coord
[
ii
].
y
,
angle
);
coord
[
ii
].
x
=
coord
[
ii
].
x
+
ux0
;
coord
[
ii
].
y
=
coord
[
ii
].
y
+
uy0
;
}
GRClosedPoly
(
&
panel
->
m_ClipBox
,
DC
,
4
,
(
int
*
)
coord
,
fillpad
,
color
,
color
);
if
(
DisplayIsol
)
{
dx
+=
g_DesignSettings
.
m_TrackClearence
;
dy
+=
g_DesignSettings
.
m_TrackClearence
;
coord
[
0
].
x
=
-
dx
-
ddy
;
coord
[
0
].
y
=
dy
+
ddx
;
coord
[
1
].
x
=
-
dx
+
ddy
;
coord
[
1
].
y
=
-
dy
-
ddx
;
coord
[
2
].
x
=
dx
-
ddy
;
coord
[
2
].
y
=
-
dy
+
ddx
;
coord
[
3
].
x
=
dx
+
ddy
;
coord
[
3
].
y
=
dy
-
ddx
;
for
(
ii
=
0
;
ii
<
4
;
ii
++
)
{
RotatePoint
(
&
coord
[
ii
].
x
,
&
coord
[
ii
].
y
,
angle
);
coord
[
ii
].
x
=
coord
[
ii
].
x
+
ux0
;
coord
[
ii
].
y
=
coord
[
ii
].
y
+
uy0
;
}
GRClosedPoly
(
&
panel
->
m_ClipBox
,
DC
,
4
,
(
int
*
)
coord
,
0
,
color
,
color
);
}
}
break
;
default
:
break
;
}
/* Draw the pad hole */
int
cx0
=
m_Pos
.
x
-
offset
.
x
;
int
cy0
=
m_Pos
.
y
-
offset
.
y
;
int
hole
=
m_Drill
.
x
>>
1
;
if
(
fillpad
&&
hole
)
{
bool
blackpenstate
=
false
;
if
(
g_IsPrinting
)
{
blackpenstate
=
GetGRForceBlackPenState
(
);
GRForceBlackPen
(
false
);
color
=
WHITE
;
}
else
color
=
BLACK
;
// or DARKGRAY;
if
(
draw_mode
!=
GR_XOR
)
GRSetDrawMode
(
DC
,
GR_COPY
);
else
GRSetDrawMode
(
DC
,
GR_XOR
);
switch
(
m_DrillShape
)
{
case
PAD_CIRCLE
:
if
(
(
hole
/
zoom
)
>
1
)
/* draw hole if its size is enought */
GRFilledCircle
(
&
panel
->
m_ClipBox
,
DC
,
cx0
,
cy0
,
hole
,
0
,
color
,
color
);
break
;
case
PAD_OVAL
:
dx
=
m_Drill
.
x
>>
1
;
dy
=
m_Drill
.
y
>>
1
;
/* demi dim dx et dy */
/* calcul de l'entraxe de l'ellipse */
if
(
m_Drill
.
x
>
m_Drill
.
y
)
/* ellipse horizontale */
{
delta_cx
=
dx
-
dy
;
delta_cy
=
0
;
rotdx
=
m_Drill
.
y
;
}
else
/* ellipse verticale */
{
delta_cx
=
0
;
delta_cy
=
dy
-
dx
;
rotdx
=
m_Drill
.
x
;
}
RotatePoint
(
&
delta_cx
,
&
delta_cy
,
angle
);
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
break
;
default
:
break
;
}
if
(
g_IsPrinting
)
GRForceBlackPen
(
blackpenstate
);
}
GRSetDrawMode
(
DC
,
draw_mode
);
/* Trace du symbole "No connect" ( / ou \ ou croix en X) si necessaire : */
if
(
m_Netname
.
IsEmpty
()
&&
DisplayOpt
.
DisplayPadNoConn
)
{
dx0
=
MIN
(
dx0
,
dy0
);
int
nc_color
=
BLUE
;
if
(
m_Masque_Layer
&
CMP_LAYER
)
/* Trace forme \ */
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
cx0
-
dx0
,
cy0
-
dx0
,
cx0
+
dx0
,
cy0
+
dx0
,
0
,
nc_color
);
if
(
m_Masque_Layer
&
CUIVRE_LAYER
)
/* Trace forme / */
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
cx0
+
dx0
,
cy0
-
dx0
,
cx0
-
dx0
,
cy0
+
dx0
,
0
,
nc_color
);
}
/* Draw the pad number */
if
(
frame
&&
!
frame
->
m_DisplayPadNum
)
return
;
dx
=
MIN
(
m_Size
.
x
,
m_Size
.
y
);
/* dx = text size */
if
(
(
dx
/
zoom
)
>
12
)
/* size must be enought to draw 2 chars */
{
wxString
buffer
;
ReturnStringPadName
(
buffer
);
dy
=
buffer
.
Len
();
/* Draw text with an angle between -90 deg and + 90 deg */
NORMALIZE_ANGLE_90
(
angle
);
if
(
dy
<
2
)
dy
=
2
;
/* text min size is 2 char */
dx
=
(
dx
*
9
)
/
(
dy
*
13
);
/* Text size ajusted to pad size */
DrawGraphicText
(
panel
,
DC
,
wxPoint
(
ux0
,
uy0
),
WHITE
,
buffer
,
angle
,
wxSize
(
dx
,
dx
),
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
);
}
}
}
...
@@ -668,9 +259,9 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
...
@@ -668,9 +259,9 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
PtLine
++
;
PtLine
++
;
nn
=
sscanf
(
PtLine
,
" %s %d %d %d %d %d"
,
nn
=
sscanf
(
PtLine
,
" %s %d %d %d %d %d"
,
BufCar
,
&
m_Size
.
x
,
&
m_Size
.
y
,
BufCar
,
&
m_Size
.
x
,
&
m_Size
.
y
,
&
m_DeltaSize
.
x
,
&
m_DeltaSize
.
y
,
&
m_DeltaSize
.
x
,
&
m_DeltaSize
.
y
,
&
m_Orient
);
&
m_Orient
);
ll
=
0xFF
&
BufCar
[
0
];
ll
=
0xFF
&
BufCar
[
0
];
...
@@ -698,7 +289,7 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
...
@@ -698,7 +289,7 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
case
'D'
:
case
'D'
:
BufCar
[
0
]
=
0
;
BufCar
[
0
]
=
0
;
nn
=
sscanf
(
PtLine
,
"%d %d %d %s %d %d"
,
&
m_Drill
.
x
,
nn
=
sscanf
(
PtLine
,
"%d %d %d %s %d %d"
,
&
m_Drill
.
x
,
&
m_Offset
.
x
,
&
m_Offset
.
y
,
BufCar
,
&
dx
,
&
dy
);
&
m_Offset
.
x
,
&
m_Offset
.
y
,
BufCar
,
&
dx
,
&
dy
);
m_Drill
.
y
=
m_Drill
.
x
;
m_Drill
.
y
=
m_Drill
.
x
;
m_DrillShape
=
PAD_CIRCLE
;
m_DrillShape
=
PAD_CIRCLE
;
...
@@ -714,7 +305,7 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
...
@@ -714,7 +305,7 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
case
'A'
:
case
'A'
:
nn
=
sscanf
(
PtLine
,
"%s %s %X"
,
BufLine
,
BufCar
,
nn
=
sscanf
(
PtLine
,
"%s %s %X"
,
BufLine
,
BufCar
,
&
m_Masque_Layer
);
&
m_Masque_Layer
);
/* Contenu de BufCar non encore utilise ( reserve pour evolutions
/* Contenu de BufCar non encore utilise ( reserve pour evolutions
* ulterieures */
* ulterieures */
...
@@ -735,7 +326,7 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
...
@@ -735,7 +326,7 @@ int D_PAD::ReadDescr( FILE* File, int* LineNum )
/* Lecture du netname */
/* Lecture du netname */
ReadDelimitedText
(
BufLine
,
PtLine
,
sizeof
(
BufLine
)
);
ReadDelimitedText
(
BufLine
,
PtLine
,
sizeof
(
BufLine
)
);
m_Netname
=
CONV_FROM_UTF8
(
StrPurge
(
BufLine
)
);
SetNetname
(
CONV_FROM_UTF8
(
StrPurge
(
BufLine
)
)
);
break
;
break
;
case
'P'
:
case
'P'
:
...
@@ -763,10 +354,10 @@ bool D_PAD::Save( FILE* aFile ) const
...
@@ -763,10 +354,10 @@ bool D_PAD::Save( FILE* aFile ) const
if
(
GetState
(
DELETED
)
)
if
(
GetState
(
DELETED
)
)
return
true
;
return
true
;
bool
rc
=
false
;
bool
rc
=
false
;
// check the return values for first and last fprints() in this function
// check the return values for first and last fprints() in this function
if
(
fprintf
(
aFile
,
"$PAD
\n
"
)
!=
sizeof
(
"$PAD
\n
"
)
-
1
)
if
(
fprintf
(
aFile
,
"$PAD
\n
"
)
!=
sizeof
(
"$PAD
\n
"
)
-
1
)
goto
out
;
goto
out
;
switch
(
m_PadShape
)
switch
(
m_PadShape
)
...
@@ -790,8 +381,8 @@ bool D_PAD::Save( FILE* aFile ) const
...
@@ -790,8 +381,8 @@ bool D_PAD::Save( FILE* aFile ) const
}
}
fprintf
(
aFile
,
"Sh
\"
%.4s
\"
%c %d %d %d %d %d
\n
"
,
fprintf
(
aFile
,
"Sh
\"
%.4s
\"
%c %d %d %d %d %d
\n
"
,
m_Padname
,
cshape
,
m_Size
.
x
,
m_Size
.
y
,
m_Padname
,
cshape
,
m_Size
.
x
,
m_Size
.
y
,
m_DeltaSize
.
x
,
m_DeltaSize
.
y
,
m_Orient
);
m_DeltaSize
.
x
,
m_DeltaSize
.
y
,
m_Orient
);
fprintf
(
aFile
,
"Dr %d %d %d"
,
m_Drill
.
x
,
m_Offset
.
x
,
m_Offset
.
y
);
fprintf
(
aFile
,
"Dr %d %d %d"
,
m_Drill
.
x
,
m_Offset
.
x
,
m_Offset
.
y
);
if
(
m_DrillShape
==
PAD_OVAL
)
if
(
m_DrillShape
==
PAD_OVAL
)
...
@@ -826,7 +417,7 @@ bool D_PAD::Save( FILE* aFile ) const
...
@@ -826,7 +417,7 @@ bool D_PAD::Save( FILE* aFile ) const
fprintf
(
aFile
,
"Po %d %d
\n
"
,
m_Pos0
.
x
,
m_Pos0
.
y
);
fprintf
(
aFile
,
"Po %d %d
\n
"
,
m_Pos0
.
x
,
m_Pos0
.
y
);
if
(
fprintf
(
aFile
,
"$EndPAD
\n
"
)
!=
sizeof
(
"$EndPAD
\n
"
)
-
1
)
if
(
fprintf
(
aFile
,
"$EndPAD
\n
"
)
!=
sizeof
(
"$EndPAD
\n
"
)
-
1
)
goto
out
;
goto
out
;
rc
=
true
;
rc
=
true
;
...
@@ -836,7 +427,6 @@ out:
...
@@ -836,7 +427,6 @@ out:
}
}
/******************************************************/
/******************************************************/
void
D_PAD
::
Display_Infos
(
WinEDA_DrawFrame
*
frame
)
void
D_PAD
::
Display_Infos
(
WinEDA_DrawFrame
*
frame
)
/******************************************************/
/******************************************************/
...
@@ -853,7 +443,8 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -853,7 +443,8 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
static
const
wxString
Msg_Pad_Layer
[
9
]
=
static
const
wxString
Msg_Pad_Layer
[
9
]
=
{
{
wxT
(
"??? "
),
wxT
(
"cmp "
),
wxT
(
"cu "
),
wxT
(
"cmp+cu "
),
wxT
(
"int "
),
wxT
(
"??? "
),
wxT
(
"cmp "
),
wxT
(
"cu "
),
wxT
(
"cmp+cu "
),
wxT
(
"int "
),
wxT
(
"cmp+int "
),
wxT
(
"cu+int "
),
wxT
(
"all "
),
wxT
(
"No copp"
)
wxT
(
"cmp+int "
),
wxT
(
"cu+int "
),
wxT
(
"all "
),
wxT
(
"No copp"
)
};
};
...
@@ -880,7 +471,7 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -880,7 +471,7 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
pos
+=
10
;
pos
+=
10
;
#if 1 // Used only to debug connectivity calculations
#if 1 // Used only to debug connectivity calculations
Line
.
Printf
(
wxT
(
"%d-%d-%d "
),
GetSubRatsnest
(),
GetSubNet
(),
m_ZoneSubnet
);
Line
.
Printf
(
wxT
(
"%d-%d-%d "
),
GetSubRatsnest
(),
GetSubNet
(),
m_ZoneSubnet
);
Affiche_1_Parametre
(
frame
,
pos
,
wxT
(
"L-P-Z"
),
Line
,
DARKGREEN
);
Affiche_1_Parametre
(
frame
,
pos
,
wxT
(
"L-P-Z"
),
Line
,
DARKGREEN
);
#endif
#endif
wxString
LayerInfo
;
wxString
LayerInfo
;
...
@@ -962,8 +553,13 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -962,8 +553,13 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
pos
+=
6
;
pos
+=
6
;
int
attribut
=
m_Attribut
&
15
;
int
attribut
=
m_Attribut
&
15
;
if
(
attribut
>
3
)
attribut
=
3
;
if
(
attribut
>
3
)
Affiche_1_Parametre
(
frame
,
pos
,
Msg_Pad_Shape
[
m_PadShape
],
Msg_Pad_Attribut
[
attribut
],
DARKGREEN
);
attribut
=
3
;
Affiche_1_Parametre
(
frame
,
pos
,
Msg_Pad_Shape
[
m_PadShape
],
Msg_Pad_Attribut
[
attribut
],
DARKGREEN
);
valeur_param
(
m_Size
.
x
,
Line
);
valeur_param
(
m_Size
.
x
,
Line
);
pos
+=
6
;
pos
+=
6
;
...
@@ -992,7 +588,7 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -992,7 +588,7 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
int
module_orient
=
module
?
module
->
m_Orient
:
0
;
int
module_orient
=
module
?
module
->
m_Orient
:
0
;
if
(
module_orient
)
if
(
module_orient
)
Line
.
Printf
(
wxT
(
"%3.1f(+%3.1f)"
),
Line
.
Printf
(
wxT
(
"%3.1f(+%3.1f)"
),
(
float
)
(
m_Orient
-
module_orient
)
/
10
,
(
float
)
module_orient
/
10
);
(
float
)
(
m_Orient
-
module_orient
)
/
10
,
(
float
)
module_orient
/
10
);
else
else
Line
.
Printf
(
wxT
(
"%3.1f"
),
(
float
)
m_Orient
/
10
);
Line
.
Printf
(
wxT
(
"%3.1f"
),
(
float
)
m_Orient
/
10
);
pos
+=
8
;
pos
+=
8
;
...
@@ -1011,7 +607,7 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -1011,7 +607,7 @@ void D_PAD::Display_Infos( WinEDA_DrawFrame* frame )
// see class_pad.h
// see class_pad.h
bool
D_PAD
::
IsOnLayer
(
int
aLayer
)
const
bool
D_PAD
::
IsOnLayer
(
int
aLayer
)
const
{
{
return
(
1
<<
aLayer
)
&
m_Masque_Layer
;
return
(
1
<<
aLayer
)
&
m_Masque_Layer
;
}
}
...
@@ -1066,7 +662,7 @@ bool D_PAD::HitTest( const wxPoint& ref_pos )
...
@@ -1066,7 +662,7 @@ bool D_PAD::HitTest( const wxPoint& ref_pos )
int
D_PAD
::
Compare
(
const
D_PAD
*
padref
,
const
D_PAD
*
padcmp
)
int
D_PAD
::
Compare
(
const
D_PAD
*
padref
,
const
D_PAD
*
padcmp
)
/************************************************************/
/************************************************************/
{
{
int
diff
;
int
diff
;
if
(
(
diff
=
padref
->
m_PadShape
-
padcmp
->
m_PadShape
)
)
if
(
(
diff
=
padref
->
m_PadShape
-
padcmp
->
m_PadShape
)
)
return
diff
;
return
diff
;
...
@@ -1099,11 +695,20 @@ static const char* ShowPadType( int aPadType )
...
@@ -1099,11 +695,20 @@ static const char* ShowPadType( int aPadType )
{
{
switch
(
aPadType
)
switch
(
aPadType
)
{
{
case
PAD_CIRCLE
:
return
"circle"
;
case
PAD_CIRCLE
:
case
PAD_OVAL
:
return
"oval"
;
return
"circle"
;
case
PAD_RECT
:
return
"rect"
;
case
PAD_TRAPEZOID
:
return
"trap"
;
case
PAD_OVAL
:
default
:
return
"??unknown??"
;
return
"oval"
;
case
PAD_RECT
:
return
"rect"
;
case
PAD_TRAPEZOID
:
return
"trap"
;
default
:
return
"??unknown??"
;
}
}
}
}
...
@@ -1112,11 +717,20 @@ static const char* ShowPadAttr( int aPadAttr )
...
@@ -1112,11 +717,20 @@ static const char* ShowPadAttr( int aPadAttr )
{
{
switch
(
aPadAttr
)
switch
(
aPadAttr
)
{
{
case
PAD_STANDARD
:
return
"STD"
;
case
PAD_STANDARD
:
case
PAD_SMD
:
return
"SMD"
;
return
"STD"
;
case
PAD_CONN
:
return
"CONN"
;
case
PAD_HOLE_NOT_PLATED
:
return
"HOLE"
;
case
PAD_SMD
:
default
:
return
"??unkown??"
;
return
"SMD"
;
case
PAD_CONN
:
return
"CONN"
;
case
PAD_HOLE_NOT_PLATED
:
return
"HOLE"
;
default
:
return
"??unkown??"
;
}
}
}
}
...
@@ -1138,11 +752,11 @@ void D_PAD::Show( int nestLevel, std::ostream& os )
...
@@ -1138,11 +752,11 @@ void D_PAD::Show( int nestLevel, std::ostream& os )
// for now, make it look like XML:
// for now, make it look like XML:
NestedSpace
(
nestLevel
,
os
)
<<
'<'
<<
GetClass
().
Lower
().
mb_str
()
<<
NestedSpace
(
nestLevel
,
os
)
<<
'<'
<<
GetClass
().
Lower
().
mb_str
()
<<
" shape=
\"
"
<<
ShowPadType
(
m_PadShape
)
<<
'"'
<<
" shape=
\"
"
<<
ShowPadType
(
m_PadShape
)
<<
'"'
<<
" attr=
\"
"
<<
ShowPadAttr
(
m_Attribut
)
<<
'"'
<<
" attr=
\"
"
<<
ShowPadAttr
(
m_Attribut
)
<<
'"'
<<
" num=
\"
"
<<
padname
<<
'"'
<<
" num=
\"
"
<<
padname
<<
'"'
<<
" net=
\"
"
<<
m_Netname
.
mb_str
()
<<
'"'
<<
" net=
\"
"
<<
m_Netname
.
mb_str
()
<<
'"'
<<
" netcode=
\"
"
<<
GetNet
()
<<
'"'
<<
" netcode=
\"
"
<<
GetNet
()
<<
'"'
<<
" layerMask=
\"
"
<<
layerMask
<<
'"'
<<
m_Pos
<<
"/>
\n
"
;
" layerMask=
\"
"
<<
layerMask
<<
'"'
<<
m_Pos
<<
"/>
\n
"
;
// NestedSpace( nestLevel+1, os ) << m_Text.mb_str() << '\n';
// NestedSpace( nestLevel+1, os ) << m_Text.mb_str() << '\n';
...
@@ -1150,4 +764,5 @@ void D_PAD::Show( int nestLevel, std::ostream& os )
...
@@ -1150,4 +764,5 @@ void D_PAD::Show( int nestLevel, std::ostream& os )
// NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
// NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
}
}
#endif
#endif
pcbnew/class_pad.h
View file @
6d856f60
...
@@ -12,6 +12,8 @@ class D_PAD : public BOARD_CONNECTED_ITEM
...
@@ -12,6 +12,8 @@ class D_PAD : public BOARD_CONNECTED_ITEM
{
{
private
:
private
:
int
m_NetCode
;
// Net number for fast comparisons
int
m_NetCode
;
// Net number for fast comparisons
wxString
m_Netname
;
// Full net name like /mysheet/mysubsheet/vout used by eeschema
wxString
m_ShortNetname
;
// short net name, like vout from /mysheet/mysubsheet/vout
public
:
public
:
...
@@ -25,8 +27,6 @@ public:
...
@@ -25,8 +27,6 @@ public:
*/
*/
};
};
wxString
m_Netname
;
/* Net Name */
int
m_Masque_Layer
;
// Bitwise layer :1= copper layer, 15= cmp,
int
m_Masque_Layer
;
// Bitwise layer :1= copper layer, 15= cmp,
// 2..14 = internal layers
// 2..14 = internal layers
// 16 .. 31 = technical layers
// 16 .. 31 = technical layers
...
@@ -73,6 +73,30 @@ public:
...
@@ -73,6 +73,30 @@ public:
D_PAD
*
Next
()
{
return
(
D_PAD
*
)
Pnext
;
}
D_PAD
*
Next
()
{
return
(
D_PAD
*
)
Pnext
;
}
/**
* Function GetNetname
* @return const wxString * , a pointer to the full netname
*/
wxString
GetNetname
()
const
{
return
m_Netname
;
}
/**
* Function GetShortNetname
* @return const wxString * , a pointer to the short netname
*/
wxString
GetShortNetname
()
const
{
return
m_ShortNetname
;
}
/**
* Function SetNetname
* @param const wxString : the new netname
*/
void
SetNetname
(
const
wxString
&
aNetname
);
/**
* Function GetShape
* @return the shape of this pad.
*/
int
GetShape
(
)
{
return
(
m_PadShape
&
0xFF
);
}
/**
/**
* Function GetPosition
* Function GetPosition
* returns the position of this object.
* returns the position of this object.
...
...
pcbnew/class_pad_draw_functions.cpp
0 → 100644
View file @
6d856f60
/*******************************************************/
/* class_pad_draw_function.cpp : functionsto draw pads */
/*******************************************************/
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "pcbnew.h"
#include "trigo.h"
#include "id.h" // ID_TRACK_BUTT
/*******************************************************************************************/
void
D_PAD
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
int
draw_mode
,
const
wxPoint
&
offset
)
/*******************************************************************************************/
/** Draw a pad:
* @param DC = device context
* @param offset = draw offset
* @param draw_mode = mode: GR_OR, GR_XOR, GR_AND...
*/
{
int
ii
;
int
color
=
0
;
int
ux0
,
uy0
,
dx
,
dx0
,
dy
,
dy0
,
rotdx
,
delta_cx
,
delta_cy
,
xc
,
yc
;
int
angle
;
wxPoint
coord
[
4
];
int
zoom
;
int
fillpad
=
0
;
wxPoint
shape_pos
;
if
(
m_Flags
&
DO_NOT_DRAW
)
return
;
wxASSERT
(
panel
);
zoom
=
panel
->
GetZoom
();
WinEDA_BasePcbFrame
*
frame
=
(
WinEDA_BasePcbFrame
*
)
panel
->
m_Parent
;
PCB_SCREEN
*
screen
=
frame
->
GetScreen
();
if
(
frame
->
m_DisplayPadFill
==
FILLED
)
fillpad
=
1
;
#ifdef PCBNEW
if
(
m_Flags
&
IS_MOVED
)
fillpad
=
0
;
#endif
if
(
m_Masque_Layer
&
CMP_LAYER
)
color
=
g_PadCMPColor
;
if
(
m_Masque_Layer
&
CUIVRE_LAYER
)
color
|=
g_PadCUColor
;
if
(
color
==
0
)
/* Not on copper layer */
{
switch
(
m_Masque_Layer
&
~
ALL_CU_LAYERS
)
{
case
ADHESIVE_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
ADHESIVE_N_CU
];
break
;
case
ADHESIVE_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
ADHESIVE_N_CMP
];
break
;
case
SOLDERPASTE_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERPASTE_N_CU
];
break
;
case
SOLDERPASTE_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERPASTE_N_CMP
];
break
;
case
SILKSCREEN_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
SILKSCREEN_N_CU
];
break
;
case
SILKSCREEN_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
SILKSCREEN_N_CMP
];
break
;
case
SOLDERMASK_LAYER_CU
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERMASK_N_CU
];
break
;
case
SOLDERMASK_LAYER_CMP
:
color
=
g_DesignSettings
.
m_LayerColor
[
SOLDERMASK_N_CMP
];
break
;
case
DRAW_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
DRAW_N
];
break
;
case
COMMENT_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
COMMENT_N
];
break
;
case
ECO1_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
ECO1_N
];
break
;
case
ECO2_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
ECO2_N
];
break
;
case
EDGE_LAYER
:
color
=
g_DesignSettings
.
m_LayerColor
[
EDGE_N
];
break
;
default
:
color
=
DARKGRAY
;
break
;
}
}
// if PAD_SMD pad and high contrast mode
if
(
(
m_Attribut
==
PAD_SMD
||
m_Attribut
==
PAD_CONN
)
&&
DisplayOpt
.
ContrastModeDisplay
)
{
// when routing tracks
if
(
frame
&&
frame
->
m_ID_current_state
==
ID_TRACK_BUTT
)
{
int
routeTop
=
screen
->
m_Route_Layer_TOP
;
int
routeBot
=
screen
->
m_Route_Layer_BOTTOM
;
// if routing between copper and component layers,
// or the current layer is one of said 2 external copper layers,
// then highlight only the current layer.
if
(
(
(
1
<<
routeTop
)
|
(
1
<<
routeBot
)
)
==
(
CUIVRE_LAYER
|
CMP_LAYER
)
||
(
(
1
<<
screen
->
m_Active_Layer
)
&
(
CUIVRE_LAYER
|
CMP_LAYER
)
)
)
{
if
(
!
IsOnLayer
(
screen
->
m_Active_Layer
)
)
{
color
&=
~
MASKCOLOR
;
color
|=
DARKDARKGRAY
;
}
}
// else routing between an internal signal layer and some other layer.
// grey out all PAD_SMD pads not on current or the single selected
// external layer.
else
if
(
!
IsOnLayer
(
screen
->
m_Active_Layer
)
&&
!
IsOnLayer
(
routeTop
)
&&
!
IsOnLayer
(
routeBot
)
)
{
color
&=
~
MASKCOLOR
;
color
|=
DARKDARKGRAY
;
}
}
// when not edting tracks, show PAD_SMD components not on active layer as greyed out
else
{
if
(
!
IsOnLayer
(
screen
->
m_Active_Layer
)
)
{
color
&=
~
MASKCOLOR
;
color
|=
DARKDARKGRAY
;
}
}
}
if
(
draw_mode
&
GR_SURBRILL
)
{
if
(
draw_mode
&
GR_AND
)
color
&=
~
HIGHT_LIGHT_FLAG
;
else
color
|=
HIGHT_LIGHT_FLAG
;
}
if
(
color
&
HIGHT_LIGHT_FLAG
)
color
=
ColorRefs
[
color
&
MASKCOLOR
].
m_LightColor
;
GRSetDrawMode
(
DC
,
draw_mode
);
/* mode de trace */
/* calcul du centre des pads en coordonnees Ecran : */
shape_pos
=
ReturnShapePos
();
ux0
=
shape_pos
.
x
-
offset
.
x
;
uy0
=
shape_pos
.
y
-
offset
.
y
;
xc
=
ux0
;
yc
=
uy0
;
/* le trace depend de la rotation de l'empreinte */
dx
=
dx0
=
m_Size
.
x
>>
1
;
dy
=
dy0
=
m_Size
.
y
>>
1
;
/* demi dim dx et dy */
angle
=
m_Orient
;
bool
DisplayIsol
=
DisplayOpt
.
DisplayPadIsol
;
if
(
(
m_Masque_Layer
&
ALL_CU_LAYERS
)
==
0
)
DisplayIsol
=
FALSE
;
switch
(
GetShape
()
)
{
case
PAD_CIRCLE
:
if
(
fillpad
)
GRFilledCircle
(
&
panel
->
m_ClipBox
,
DC
,
xc
,
yc
,
dx
,
0
,
color
,
color
);
else
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
xc
,
yc
,
dx
,
0
,
color
);
if
(
DisplayIsol
)
{
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
xc
,
yc
,
dx
+
g_DesignSettings
.
m_TrackClearence
,
0
,
color
);
}
break
;
case
PAD_OVAL
:
/* calcul de l'entraxe de l'ellipse */
if
(
dx
>
dy
)
/* ellipse horizontale */
{
delta_cx
=
dx
-
dy
;
delta_cy
=
0
;
rotdx
=
m_Size
.
y
;
}
else
/* ellipse verticale */
{
delta_cx
=
0
;
delta_cy
=
dy
-
dx
;
rotdx
=
m_Size
.
x
;
}
RotatePoint
(
&
delta_cx
,
&
delta_cy
,
angle
);
if
(
fillpad
)
{
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
}
else
{
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
}
/* Trace de la marge d'isolement */
if
(
DisplayIsol
)
{
rotdx
=
rotdx
+
g_DesignSettings
.
m_TrackClearence
+
g_DesignSettings
.
m_TrackClearence
;
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
}
break
;
case
PAD_RECT
:
case
PAD_TRAPEZOID
:
{
int
ddx
,
ddy
;
ddx
=
m_DeltaSize
.
x
>>
1
;
ddy
=
m_DeltaSize
.
y
>>
1
;
/* demi dim dx et dy */
coord
[
0
].
x
=
-
dx
-
ddy
;
coord
[
0
].
y
=
+
dy
+
ddx
;
coord
[
1
].
x
=
-
dx
+
ddy
;
coord
[
1
].
y
=
-
dy
-
ddx
;
coord
[
2
].
x
=
+
dx
-
ddy
;
coord
[
2
].
y
=
-
dy
+
ddx
;
coord
[
3
].
x
=
+
dx
+
ddy
;
coord
[
3
].
y
=
+
dy
-
ddx
;
for
(
ii
=
0
;
ii
<
4
;
ii
++
)
{
RotatePoint
(
&
coord
[
ii
].
x
,
&
coord
[
ii
].
y
,
angle
);
coord
[
ii
].
x
=
coord
[
ii
].
x
+
ux0
;
coord
[
ii
].
y
=
coord
[
ii
].
y
+
uy0
;
}
GRClosedPoly
(
&
panel
->
m_ClipBox
,
DC
,
4
,
(
int
*
)
coord
,
fillpad
,
color
,
color
);
if
(
DisplayIsol
)
{
dx
+=
g_DesignSettings
.
m_TrackClearence
;
dy
+=
g_DesignSettings
.
m_TrackClearence
;
coord
[
0
].
x
=
-
dx
-
ddy
;
coord
[
0
].
y
=
dy
+
ddx
;
coord
[
1
].
x
=
-
dx
+
ddy
;
coord
[
1
].
y
=
-
dy
-
ddx
;
coord
[
2
].
x
=
dx
-
ddy
;
coord
[
2
].
y
=
-
dy
+
ddx
;
coord
[
3
].
x
=
dx
+
ddy
;
coord
[
3
].
y
=
dy
-
ddx
;
for
(
ii
=
0
;
ii
<
4
;
ii
++
)
{
RotatePoint
(
&
coord
[
ii
].
x
,
&
coord
[
ii
].
y
,
angle
);
coord
[
ii
].
x
=
coord
[
ii
].
x
+
ux0
;
coord
[
ii
].
y
=
coord
[
ii
].
y
+
uy0
;
}
GRClosedPoly
(
&
panel
->
m_ClipBox
,
DC
,
4
,
(
int
*
)
coord
,
0
,
color
,
color
);
}
}
break
;
default
:
break
;
}
/* Draw the pad hole */
int
cx0
=
m_Pos
.
x
-
offset
.
x
;
int
cy0
=
m_Pos
.
y
-
offset
.
y
;
int
hole
=
m_Drill
.
x
>>
1
;
if
(
fillpad
&&
hole
)
{
bool
blackpenstate
=
false
;
if
(
g_IsPrinting
)
{
blackpenstate
=
GetGRForceBlackPenState
();
GRForceBlackPen
(
false
);
color
=
WHITE
;
}
else
color
=
BLACK
;
// or DARKGRAY;
if
(
draw_mode
!=
GR_XOR
)
GRSetDrawMode
(
DC
,
GR_COPY
);
else
GRSetDrawMode
(
DC
,
GR_XOR
);
switch
(
m_DrillShape
)
{
case
PAD_CIRCLE
:
if
(
(
hole
/
zoom
)
>
1
)
/* draw hole if its size is enought */
GRFilledCircle
(
&
panel
->
m_ClipBox
,
DC
,
cx0
,
cy0
,
hole
,
0
,
color
,
color
);
break
;
case
PAD_OVAL
:
dx
=
m_Drill
.
x
>>
1
;
dy
=
m_Drill
.
y
>>
1
;
/* demi dim dx et dy */
/* calcul de l'entraxe de l'ellipse */
if
(
m_Drill
.
x
>
m_Drill
.
y
)
/* ellipse horizontale */
{
delta_cx
=
dx
-
dy
;
delta_cy
=
0
;
rotdx
=
m_Drill
.
y
;
}
else
/* ellipse verticale */
{
delta_cx
=
0
;
delta_cy
=
dy
-
dx
;
rotdx
=
m_Drill
.
x
;
}
RotatePoint
(
&
delta_cx
,
&
delta_cy
,
angle
);
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
ux0
+
delta_cx
,
uy0
+
delta_cy
,
ux0
-
delta_cx
,
uy0
-
delta_cy
,
rotdx
,
color
);
break
;
default
:
break
;
}
if
(
g_IsPrinting
)
GRForceBlackPen
(
blackpenstate
);
}
GRSetDrawMode
(
DC
,
draw_mode
);
/* Trace du symbole "No connect" ( / ou \ ou croix en X) si necessaire : */
if
(
m_Netname
.
IsEmpty
()
&&
DisplayOpt
.
DisplayPadNoConn
)
{
dx0
=
MIN
(
dx0
,
dy0
);
int
nc_color
=
BLUE
;
if
(
m_Masque_Layer
&
CMP_LAYER
)
/* Trace forme \ */
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
cx0
-
dx0
,
cy0
-
dx0
,
cx0
+
dx0
,
cy0
+
dx0
,
0
,
nc_color
);
if
(
m_Masque_Layer
&
CUIVRE_LAYER
)
/* Trace forme / */
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
cx0
+
dx0
,
cy0
-
dx0
,
cx0
-
dx0
,
cy0
+
dx0
,
0
,
nc_color
);
}
/* Draw the pad number */
if
(
frame
&&
!
frame
->
m_DisplayPadNum
)
return
;
wxPoint
tpos0
=
wxPoint
(
ux0
,
uy0
);
// Position of the centre of text
wxPoint
tpos
=
tpos0
;
wxSize
AreaSize
;
// size of text area, normalized to AreaSize.y < AreaSize.x
int
len
;
if
(
GetShape
()
==
PAD_CIRCLE
)
angle
=
0
;
AreaSize
=
m_Size
;
if
(
m_Size
.
y
>
m_Size
.
x
)
{
angle
+=
900
;
AreaSize
.
x
=
m_Size
.
y
;
AreaSize
.
y
=
m_Size
.
x
;
}
if
(
!
m_Netname
.
IsEmpty
()
)
// if there is a netname, provides room to display this netname
{
AreaSize
.
y
/=
2
;
// Text used only the upper area of the pad. The lower area displays the net name
tpos
.
y
-=
AreaSize
.
y
/
2
;
}
// Calculate the position of text, that is the middle point of the upper area of the pad
RotatePoint
(
&
tpos
,
wxPoint
(
ux0
,
uy0
),
angle
);
/* Draw text with an angle between -90 deg and + 90 deg */
int
t_angle
=
angle
;
NORMALIZE_ANGLE_90
(
t_angle
);
/* Note: in next calculations, texte size is calculated for 3 or more chars.
Of course, pads nimbers and nets names can have less than 3 chars.
but after some tries, i found this is gives the best look
*/
#define MIN_CHAR_COUNT 3
wxString
buffer
;
ReturnStringPadName
(
buffer
);
len
=
buffer
.
Len
();
len
=
MAX
(
len
,
MIN_CHAR_COUNT
);
int
tsize
=
min
(
AreaSize
.
y
,
AreaSize
.
x
/
len
);
#define CHAR_SIZE_MIN 5
if
(
(
tsize
/
zoom
)
>=
CHAR_SIZE_MIN
)
// Not drawable in size too small.
{
tsize
=
(
int
)
(
tsize
*
0.8
);
// reserve room for marges and segments thickness
DrawGraphicText
(
panel
,
DC
,
tpos
,
WHITE
,
buffer
,
t_angle
,
wxSize
(
tsize
,
tsize
),
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
,
tsize
/
8
);
}
// display the short netname
len
=
m_ShortNetname
.
Len
();
if
(
len
==
0
)
return
;
len
=
MAX
(
len
,
MIN_CHAR_COUNT
);
tsize
=
min
(
AreaSize
.
y
,
AreaSize
.
x
/
len
);
if
(
(
tsize
/
zoom
)
>=
CHAR_SIZE_MIN
)
// Not drawable in size too small.
{
tpos
=
tpos0
;
tpos
.
y
+=
AreaSize
.
y
/
2
;
RotatePoint
(
&
tpos
,
wxPoint
(
ux0
,
uy0
),
angle
);
tsize
=
(
int
)
(
tsize
*
0.8
);
// reserve room for marges and segments thickness
DrawGraphicText
(
panel
,
DC
,
tpos
,
WHITE
,
m_ShortNetname
,
t_angle
,
wxSize
(
tsize
,
tsize
),
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
,
tsize
/
8
);
}
}
pcbnew/class_text_mod.cpp
View file @
6d856f60
...
@@ -411,7 +411,7 @@ void TEXTE_MODULE::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const
...
@@ -411,7 +411,7 @@ void TEXTE_MODULE::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const
size
.
x
=
-
size
.
x
;
size
.
x
=
-
size
.
x
;
/* Trace du texte */
/* Trace du texte */
DrawGraphicText
(
panel
,
DC
,
pos
,
color
,
m_Text
,
DrawGraphicText
(
panel
,
DC
,
pos
,
(
enum
EDA_Colors
)
color
,
m_Text
,
orient
,
size
,
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
,
width
);
orient
,
size
,
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
,
width
);
}
}
...
...
pcbnew/class_track.cpp
View file @
6d856f60
...
@@ -38,6 +38,7 @@ void DbgDisplayTrackInfos( TRACK* track )
...
@@ -38,6 +38,7 @@ void DbgDisplayTrackInfos( TRACK* track )
wxMessageBox
(
msg
);
wxMessageBox
(
msg
);
}
}
#endif
#endif
...
@@ -50,13 +51,12 @@ static bool ShowClearance( const TRACK* aTrack )
...
@@ -50,13 +51,12 @@ static bool ShowClearance( const TRACK* aTrack )
{
{
// maybe return true for tracks and vias, not for zone segments
// maybe return true for tracks and vias, not for zone segments
return
!
(
aTrack
->
m_Flags
&
DRAW_ERASED
)
return
!
(
aTrack
->
m_Flags
&
DRAW_ERASED
)
&&
DisplayOpt
.
DisplayTrackIsol
&&
DisplayOpt
.
DisplayTrackIsol
&&
aTrack
->
GetLayer
()
<=
LAST_COPPER_LAYER
&&
aTrack
->
GetLayer
()
<=
LAST_COPPER_LAYER
&&
(
aTrack
->
Type
()
==
TYPE_TRACK
||
aTrack
->
Type
()
==
TYPE_VIA
);
&&
(
aTrack
->
Type
()
==
TYPE_TRACK
||
aTrack
->
Type
()
==
TYPE_VIA
);
}
}
/**********************************************************/
/**********************************************************/
TRACK
::
TRACK
(
BOARD_ITEM
*
aParent
,
KICAD_T
idtype
)
:
TRACK
::
TRACK
(
BOARD_ITEM
*
aParent
,
KICAD_T
idtype
)
:
BOARD_CONNECTED_ITEM
(
aParent
,
idtype
)
BOARD_CONNECTED_ITEM
(
aParent
,
idtype
)
...
@@ -138,16 +138,16 @@ TRACK* TRACK::Copy() const
...
@@ -138,16 +138,16 @@ TRACK* TRACK::Copy() const
* Function GetDrillValue
* Function GetDrillValue
* calculate the drill value for vias (m-Drill if > 0, or default drill value for the board
* calculate the drill value for vias (m-Drill if > 0, or default drill value for the board
* @return real drill_value
* @return real drill_value
*/
*/
int
TRACK
::
GetDrillValue
()
const
int
TRACK
::
GetDrillValue
()
const
{
{
if
(
Type
()
!=
TYPE_VIA
)
if
(
Type
()
!=
TYPE_VIA
)
return
0
;
return
0
;
if
(
m_Drill
>=
0
)
if
(
m_Drill
>=
0
)
return
m_Drill
;
return
m_Drill
;
if
(
m_Shape
==
VIA_MICROVIA
)
if
(
m_Shape
==
VIA_MICROVIA
)
return
g_DesignSettings
.
m_MicroViaDrill
;
return
g_DesignSettings
.
m_MicroViaDrill
;
return
g_DesignSettings
.
m_ViaDrill
;
return
g_DesignSettings
.
m_ViaDrill
;
...
@@ -222,7 +222,7 @@ int TRACK::IsPointOnEnds( const wxPoint& point, int min_dist )
...
@@ -222,7 +222,7 @@ int TRACK::IsPointOnEnds( const wxPoint& point, int min_dist )
EDA_Rect
TRACK
::
GetBoundingBox
()
EDA_Rect
TRACK
::
GetBoundingBox
()
{
{
// end of track is round, this is its radius, rounded up
// end of track is round, this is its radius, rounded up
int
radius
=
(
m_Width
+
1
)
/
2
;
int
radius
=
(
m_Width
+
1
)
/
2
;
int
ymax
;
int
ymax
;
int
xmax
;
int
xmax
;
...
@@ -247,7 +247,7 @@ EDA_Rect TRACK::GetBoundingBox()
...
@@ -247,7 +247,7 @@ EDA_Rect TRACK::GetBoundingBox()
}
}
else
else
{
{
radius
=
(
m_Width
+
1
)
/
2
;
radius
=
(
m_Width
+
1
)
/
2
;
ymax
=
MAX
(
m_Start
.
y
,
m_End
.
y
);
ymax
=
MAX
(
m_Start
.
y
,
m_End
.
y
);
xmax
=
MAX
(
m_Start
.
x
,
m_End
.
x
);
xmax
=
MAX
(
m_Start
.
x
,
m_End
.
x
);
...
@@ -269,7 +269,7 @@ EDA_Rect TRACK::GetBoundingBox()
...
@@ -269,7 +269,7 @@ EDA_Rect TRACK::GetBoundingBox()
xmin
-=
radius
;
xmin
-=
radius
;
// return a rectangle which is [pos,dim) in nature. therefore the +1
// return a rectangle which is [pos,dim) in nature. therefore the +1
EDA_Rect
ret
(
wxPoint
(
xmin
,
ymin
),
wxSize
(
xmax
-
xmin
+
1
,
ymax
-
ymin
+
1
)
);
EDA_Rect
ret
(
wxPoint
(
xmin
,
ymin
),
wxSize
(
xmax
-
xmin
+
1
,
ymax
-
ymin
+
1
)
);
return
ret
;
return
ret
;
}
}
...
@@ -416,14 +416,14 @@ TRACK* TRACK::GetBestInsertPoint( BOARD* Pcb )
...
@@ -416,14 +416,14 @@ TRACK* TRACK::GetBestInsertPoint( BOARD* Pcb )
* @return the item found in the linked list (or NULL if no track)
* @return the item found in the linked list (or NULL if no track)
*/
*/
{
{
TRACK
*
track
;
TRACK
*
track
;
if
(
Type
()
==
TYPE_ZONE
)
if
(
Type
()
==
TYPE_ZONE
)
track
=
Pcb
->
m_Zone
;
track
=
Pcb
->
m_Zone
;
else
else
track
=
Pcb
->
m_Track
;
track
=
Pcb
->
m_Track
;
for
(
;
track
;
track
=
track
->
Next
()
)
for
(
;
track
;
track
=
track
->
Next
()
)
{
{
if
(
GetNet
()
<=
track
->
GetNet
()
)
if
(
GetNet
()
<=
track
->
GetNet
()
)
return
track
;
return
track
;
...
@@ -509,7 +509,7 @@ TRACK* TRACK::GetEndNetCode( int NetCode )
...
@@ -509,7 +509,7 @@ TRACK* TRACK::GetEndNetCode( int NetCode )
bool
TRACK
::
Save
(
FILE
*
aFile
)
const
bool
TRACK
::
Save
(
FILE
*
aFile
)
const
{
{
int
type
=
0
;
int
type
=
0
;
if
(
Type
()
==
TYPE_VIA
)
if
(
Type
()
==
TYPE_VIA
)
type
=
1
;
type
=
1
;
...
@@ -518,17 +518,16 @@ bool TRACK::Save( FILE* aFile ) const
...
@@ -518,17 +518,16 @@ bool TRACK::Save( FILE* aFile ) const
return
true
;
return
true
;
fprintf
(
aFile
,
"Po %d %d %d %d %d %d %d
\n
"
,
m_Shape
,
fprintf
(
aFile
,
"Po %d %d %d %d %d %d %d
\n
"
,
m_Shape
,
m_Start
.
x
,
m_Start
.
y
,
m_End
.
x
,
m_End
.
y
,
m_Width
,
m_Drill
);
m_Start
.
x
,
m_Start
.
y
,
m_End
.
x
,
m_End
.
y
,
m_Width
,
m_Drill
);
fprintf
(
aFile
,
"De %d %d %d %lX %X
\n
"
,
fprintf
(
aFile
,
"De %d %d %d %lX %X
\n
"
,
m_Layer
,
type
,
GetNet
(),
m_Layer
,
type
,
GetNet
(),
m_TimeStamp
,
ReturnStatus
()
);
m_TimeStamp
,
ReturnStatus
()
);
return
true
;
return
true
;
}
}
/*********************************************************************/
/*********************************************************************/
void
TRACK
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
int
draw_mode
,
const
wxPoint
&
notUsed
)
void
TRACK
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
int
draw_mode
,
const
wxPoint
&
notUsed
)
/*********************************************************************/
/*********************************************************************/
...
@@ -545,9 +544,8 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
...
@@ -545,9 +544,8 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
if
(
m_Flags
&
DRAW_ERASED
)
// draw in background color, used by classs TRACK in gerbview
if
(
m_Flags
&
DRAW_ERASED
)
// draw in background color, used by classs TRACK in gerbview
{
{
color
=
g_DrawBgColor
;
color
=
g_DrawBgColor
;
D
(
printf
(
"DRAW_ERASED in Track::Draw, g_DrawBgColor=%04X
\n
"
,
g_DrawBgColor
);
)
D
(
printf
(
"DRAW_ERASED in Track::Draw, g_DrawBgColor=%04X
\n
"
,
g_DrawBgColor
);
)
}
}
else
else
{
{
color
=
g_DesignSettings
.
m_LayerColor
[
m_Layer
];
color
=
g_DesignSettings
.
m_LayerColor
[
m_Layer
];
...
@@ -586,8 +584,8 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
...
@@ -586,8 +584,8 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
if
(
m_Shape
==
S_CIRCLE
)
if
(
m_Shape
==
S_CIRCLE
)
{
{
rayon
=
(
int
)
hypot
(
(
double
)
(
m_End
.
x
-
m_Start
.
x
),
rayon
=
(
int
)
hypot
(
(
double
)
(
m_End
.
x
-
m_Start
.
x
),
(
double
)
(
m_End
.
y
-
m_Start
.
y
)
);
(
double
)
(
m_End
.
y
-
m_Start
.
y
)
);
if
(
(
l_piste
/
zoom
)
<
L_MIN_DESSIN
)
if
(
(
l_piste
/
zoom
)
<
L_MIN_DESSIN
)
{
{
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
,
color
);
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
,
color
);
...
@@ -606,7 +604,7 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
...
@@ -606,7 +604,7 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
else
else
{
{
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
,
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
,
m_Width
,
color
);
m_Width
,
color
);
}
}
}
}
return
;
return
;
...
@@ -615,27 +613,27 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
...
@@ -615,27 +613,27 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin
if
(
(
l_piste
/
zoom
)
<
L_MIN_DESSIN
)
if
(
(
l_piste
/
zoom
)
<
L_MIN_DESSIN
)
{
{
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
m_End
.
x
,
m_End
.
y
,
0
,
color
);
m_End
.
x
,
m_End
.
y
,
0
,
color
);
return
;
return
;
}
}
if
(
!
DisplayOpt
.
DisplayPcbTrackFill
||
GetState
(
FORCE_SKETCH
)
)
if
(
!
DisplayOpt
.
DisplayPcbTrackFill
||
GetState
(
FORCE_SKETCH
)
)
{
{
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
m_End
.
x
,
m_End
.
y
,
m_Width
,
color
);
m_End
.
x
,
m_End
.
y
,
m_Width
,
color
);
}
}
else
else
{
{
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
GRFillCSegm
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
m_End
.
x
,
m_End
.
y
,
m_Width
,
color
);
m_End
.
x
,
m_End
.
y
,
m_Width
,
color
);
}
}
// Show clearance for tracks, not for zone segments
// Show clearance for tracks, not for zone segments
if
(
ShowClearance
(
this
)
)
if
(
ShowClearance
(
this
)
)
{
{
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
m_End
.
x
,
m_End
.
y
,
m_End
.
x
,
m_End
.
y
,
m_Width
+
(
g_DesignSettings
.
m_TrackClearence
*
2
),
color
);
m_Width
+
(
g_DesignSettings
.
m_TrackClearence
*
2
),
color
);
}
}
}
}
...
@@ -685,97 +683,115 @@ void SEGVIA::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoi
...
@@ -685,97 +683,115 @@ void SEGVIA::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoi
rayon
=
zoom
;
rayon
=
zoom
;
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
,
color
);
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
,
color
);
if
(
rayon
>
(
4
*
zoom
)
)
if
(
rayon
<=
(
4
*
zoom
)
)
// Size too small: cannot be drawn
{
return
;
int
drill_rayon
=
GetDrillValue
()
/
2
;
int
inner_rayon
=
rayon
-
(
2
*
zoom
);
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
int
drill_rayon
=
GetDrillValue
()
/
2
;
inner_rayon
,
color
);
int
inner_rayon
=
rayon
-
(
2
*
zoom
);
// Draw the via hole if the display option allows it
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
if
(
DisplayOpt
.
m_DisplayViaMode
!=
VIA_HOLE_NOT_SHOW
)
inner_rayon
,
color
);
// Draw the via hole if the display option allows it
if
(
DisplayOpt
.
m_DisplayViaMode
!=
VIA_HOLE_NOT_SHOW
)
{
if
(
(
DisplayOpt
.
m_DisplayViaMode
==
ALL_VIA_HOLE_SHOW
)
// Display all drill holes requested
||
(
(
drill_rayon
>
0
)
&&
!
IsDrillDefault
()
)
)
// Or Display non default holes requested
{
{
if
(
(
DisplayOpt
.
m_DisplayViaMode
==
ALL_VIA_HOLE_SHOW
)
||
// Display all drill holes requested
if
(
drill_rayon
<
inner_rayon
)
// We can show the via hole
(
(
drill_rayon
>
0
)
&&
!
IsDrillDefault
()
)
)
// Or Display non default holes requested
{
{
if
(
drill_rayon
<
inner_rayon
)
// We can show the via hole
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
{
drill_rayon
,
color
);
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
drill_rayon
,
color
);
}
}
}
}
}
}
if
(
DisplayOpt
.
DisplayTrackIsol
)
if
(
DisplayOpt
.
DisplayTrackIsol
)
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
+
g_DesignSettings
.
m_TrackClearence
,
color
);
rayon
+
g_DesignSettings
.
m_TrackClearence
,
color
);
// for Micro Vias, draw a partial cross :
// X on component layer, or + on copper layer
// (so we can see 2 superimposed microvias ):
if
(
Shape
()
==
VIA_MICROVIA
)
{
int
ax
,
ay
,
bx
,
by
;
if
(
IsOnLayer
(
COPPER_LAYER_N
)
)
// for Micro Vias, draw a partial cross :
{
// X on component layer, or + on copper layer
ax
=
rayon
;
ay
=
0
;
// (so we can see 2 superimposed microvias ):
bx
=
drill_rayon
;
by
=
0
;
if
(
Shape
()
==
VIA_MICROVIA
)
}
{
else
int
ax
,
ay
,
bx
,
by
;
{
ax
=
ay
=
(
rayon
*
707
)
/
1000
;
bx
=
by
=
(
drill_rayon
*
707
)
/
1000
;
}
/* lines | or \ */
if
(
IsOnLayer
(
COPPER_LAYER_N
)
)
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
ax
,
m_Start
.
y
-
ay
,
{
m_Start
.
x
-
bx
,
m_Start
.
y
-
by
,
0
,
color
);
ax
=
rayon
;
ay
=
0
;
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
+
bx
,
m_Start
.
y
+
by
,
bx
=
drill_rayon
;
by
=
0
;
m_Start
.
x
+
ax
,
m_Start
.
y
+
ay
,
0
,
color
);
/* lines - or / */
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
+
ay
,
m_Start
.
y
-
ax
,
m_Start
.
x
+
by
,
m_Start
.
y
-
bx
,
0
,
color
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
by
,
m_Start
.
y
+
bx
,
m_Start
.
x
-
ay
,
m_Start
.
y
+
ax
,
0
,
color
);
}
}
else
// for Buried Vias, draw a partial line :
// orient depending on layer pair
// (so we can see superimposed buried vias ):
if
(
Shape
()
==
VIA_BLIND_BURIED
)
{
{
int
ax
=
0
,
ay
=
rayon
,
bx
=
0
,
by
=
drill_rayon
;
ax
=
ay
=
(
rayon
*
707
)
/
1000
;
int
layer_top
,
layer_bottom
;
bx
=
by
=
(
drill_rayon
*
707
)
/
1000
;
((
SEGVIA
*
)
this
)
->
ReturnLayerPair
(
&
layer_top
,
&
layer_bottom
);
/* lines for the top layer */
RotatePoint
(
&
ax
,
&
ay
,
layer_top
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
RotatePoint
(
&
bx
,
&
by
,
layer_top
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
ax
,
m_Start
.
y
-
ay
,
m_Start
.
x
-
bx
,
m_Start
.
y
-
by
,
0
,
color
);
/* lines for the bottom layer */
ax
=
0
;
ay
=
rayon
;
bx
=
0
;
by
=
drill_rayon
;
RotatePoint
(
&
ax
,
&
ay
,
layer_bottom
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
RotatePoint
(
&
bx
,
&
by
,
layer_bottom
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
ax
,
m_Start
.
y
-
ay
,
m_Start
.
x
-
bx
,
m_Start
.
y
-
by
,
0
,
color
);
}
}
/* lines | or \ */
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
ax
,
m_Start
.
y
-
ay
,
m_Start
.
x
-
bx
,
m_Start
.
y
-
by
,
0
,
color
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
+
bx
,
m_Start
.
y
+
by
,
m_Start
.
x
+
ax
,
m_Start
.
y
+
ay
,
0
,
color
);
/* lines - or / */
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
+
ay
,
m_Start
.
y
-
ax
,
m_Start
.
x
+
by
,
m_Start
.
y
-
bx
,
0
,
color
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
by
,
m_Start
.
y
+
bx
,
m_Start
.
x
-
ay
,
m_Start
.
y
+
ax
,
0
,
color
);
}
}
}
// for Buried Vias, draw a partial line :
// orient depending on layer pair
// (so we can see superimposed buried vias ):
if
(
Shape
()
==
VIA_BLIND_BURIED
)
{
int
ax
=
0
,
ay
=
rayon
,
bx
=
0
,
by
=
drill_rayon
;
int
layer_top
,
layer_bottom
;
(
(
SEGVIA
*
)
this
)
->
ReturnLayerPair
(
&
layer_top
,
&
layer_bottom
);
/* lines for the top layer */
RotatePoint
(
&
ax
,
&
ay
,
layer_top
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
RotatePoint
(
&
bx
,
&
by
,
layer_top
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
ax
,
m_Start
.
y
-
ay
,
m_Start
.
x
-
bx
,
m_Start
.
y
-
by
,
0
,
color
);
/* lines for the bottom layer */
ax
=
0
;
ay
=
rayon
;
bx
=
0
;
by
=
drill_rayon
;
RotatePoint
(
&
ax
,
&
ay
,
layer_bottom
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
RotatePoint
(
&
bx
,
&
by
,
layer_bottom
*
3600
/
g_DesignSettings
.
m_CopperLayerCount
);
GRLine
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
-
ax
,
m_Start
.
y
-
ay
,
m_Start
.
x
-
bx
,
m_Start
.
y
-
by
,
0
,
color
);
}
// Display the short netname:
if
(
GetNet
()
==
0
)
return
;
EQUIPOT
*
net
=
((
BOARD
*
)
GetParent
())
->
FindNet
(
GetNet
()
);
if
(
net
==
NULL
)
return
;
int
len
=
net
->
GetShortNetname
().
Len
();
// calculate a good size for the text (fixed to 9 pixels, if possible)
int
tsize
=
m_Width
/
len
;
if
(
(
tsize
/
zoom
)
>=
6
)
{
tsize
=
(
tsize
*
8
)
/
10
;
// small reduction to give a better look, inside via
DrawGraphicText
(
panel
,
DC
,
m_Start
,
WHITE
,
net
->
GetShortNetname
(),
0
,
wxSize
(
tsize
,
tsize
),
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_CENTER
,
tsize
/
8
);
}
}
// see class_track.h
// see class_track.h
void
TRACK
::
Display_Infos
(
WinEDA_DrawFrame
*
frame
)
void
TRACK
::
Display_Infos
(
WinEDA_DrawFrame
*
frame
)
{
{
wxString
msg
;
wxString
msg
;
int
text_pos
;
int
text_pos
;
BOARD
*
board
=
((
WinEDA_PcbFrame
*
)
frame
)
->
m_Pcb
;
BOARD
*
board
=
(
(
WinEDA_PcbFrame
*
)
frame
)
->
m_Pcb
;
#ifdef RATSNET_DEBUG
#ifdef RATSNET_DEBUG
DbgDisplayTrackInfos
(
this
);
DbgDisplayTrackInfos
(
this
);
...
@@ -807,15 +823,15 @@ void TRACK::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -807,15 +823,15 @@ void TRACK::Display_Infos( WinEDA_DrawFrame* frame )
if
(
Type
()
==
TYPE_TRACK
if
(
Type
()
==
TYPE_TRACK
||
Type
()
==
TYPE_ZONE
||
Type
()
==
TYPE_ZONE
||
Type
()
==
TYPE_VIA
)
||
Type
()
==
TYPE_VIA
)
{
{
/* Display NetName pour les segments de piste type cuivre */
/* Display NetName pour les segments de piste type cuivre */
EQUIPOT
*
equipot
=
board
->
FindNet
(
GetNet
()
);
EQUIPOT
*
equipot
=
board
->
FindNet
(
GetNet
()
);
if
(
equipot
)
if
(
equipot
)
msg
=
equipot
->
m_Netname
;
msg
=
equipot
->
GetNetname
()
;
else
else
msg
=
wxT
(
"<noname>"
);
msg
=
wxT
(
"<noname>"
);
...
@@ -841,7 +857,7 @@ void TRACK::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -841,7 +857,7 @@ void TRACK::Display_Infos( WinEDA_DrawFrame* frame )
#if defined(DEBUG)
#if defined(DEBUG)
/* Display the flags */
/* Display the flags */
msg
.
Printf
(
wxT
(
"0x%08X"
),
m_Flags
);
msg
.
Printf
(
wxT
(
"0x%08X"
),
m_Flags
);
Affiche_1_Parametre
(
frame
,
text_pos
,
_
(
"Flags"
),
msg
,
BLUE
);
Affiche_1_Parametre
(
frame
,
text_pos
,
_
(
"Flags"
),
msg
,
BLUE
);
text_pos
+=
8
;
text_pos
+=
8
;
...
@@ -919,7 +935,7 @@ bool TRACK::HitTest( const wxPoint& ref_pos )
...
@@ -919,7 +935,7 @@ bool TRACK::HitTest( const wxPoint& ref_pos )
if
(
Type
()
==
TYPE_VIA
)
/* VIA rencontree */
if
(
Type
()
==
TYPE_VIA
)
/* VIA rencontree */
{
{
return
(
double
)
spot_cX
*
spot_cX
+
(
double
)
spot_cY
*
spot_cY
<=
return
(
double
)
spot_cX
*
spot_cX
+
(
double
)
spot_cY
*
spot_cY
<=
(
double
)
radius
*
radius
;
(
double
)
radius
*
radius
;
}
}
else
else
{
{
...
@@ -930,6 +946,7 @@ bool TRACK::HitTest( const wxPoint& ref_pos )
...
@@ -930,6 +946,7 @@ bool TRACK::HitTest( const wxPoint& ref_pos )
return
false
;
return
false
;
}
}
/**
/**
* Function HitTest (overlayed)
* Function HitTest (overlayed)
* tests if the given EDA_Rect intersect this object.
* tests if the given EDA_Rect intersect this object.
...
@@ -937,7 +954,7 @@ bool TRACK::HitTest( const wxPoint& ref_pos )
...
@@ -937,7 +954,7 @@ bool TRACK::HitTest( const wxPoint& ref_pos )
* @param refArea : the given EDA_Rect
* @param refArea : the given EDA_Rect
* @return bool - true if a hit, else false
* @return bool - true if a hit, else false
*/
*/
bool
TRACK
::
HitTest
(
EDA_Rect
&
refArea
)
bool
TRACK
::
HitTest
(
EDA_Rect
&
refArea
)
{
{
if
(
refArea
.
Inside
(
m_Start
)
)
if
(
refArea
.
Inside
(
m_Start
)
)
return
true
;
return
true
;
...
@@ -965,7 +982,7 @@ void TRACK::Show( int nestLevel, std::ostream& os )
...
@@ -965,7 +982,7 @@ void TRACK::Show( int nestLevel, std::ostream& os )
" layer=
\"
"
<<
m_Layer
<<
'"'
<<
" layer=
\"
"
<<
m_Layer
<<
'"'
<<
" width=
\"
"
<<
m_Width
<<
'"'
<<
" width=
\"
"
<<
m_Width
<<
'"'
<<
" flags=
\"
"
<<
m_Flags
<<
'"'
<<
" flags=
\"
"
<<
m_Flags
<<
'"'
<<
" status=
\"
"
<<
GetState
(
-
1
)
<<
'"'
<<
" status=
\"
"
<<
GetState
(
-
1
)
<<
'"'
<<
// " drill=\"" << GetDrillValue() << '"' <<
// " drill=\"" << GetDrillValue() << '"' <<
" netcode=
\"
"
<<
GetNet
()
<<
"
\"
>"
<<
" netcode=
\"
"
<<
GetNet
()
<<
"
\"
>"
<<
...
@@ -1007,9 +1024,9 @@ void SEGVIA::Show( int nestLevel, std::ostream& os )
...
@@ -1007,9 +1024,9 @@ void SEGVIA::Show( int nestLevel, std::ostream& os )
break
;
break
;
}
}
int
topLayer
;
int
topLayer
;
int
botLayer
;
int
botLayer
;
BOARD
*
board
=
(
BOARD
*
)
m_Parent
;
BOARD
*
board
=
(
BOARD
*
)
m_Parent
;
ReturnLayerPair
(
&
topLayer
,
&
botLayer
);
ReturnLayerPair
(
&
topLayer
,
&
botLayer
);
...
@@ -1019,7 +1036,7 @@ void SEGVIA::Show( int nestLevel, std::ostream& os )
...
@@ -1019,7 +1036,7 @@ void SEGVIA::Show( int nestLevel, std::ostream& os )
if
(
board
)
if
(
board
)
os
<<
" layers=
\"
"
<<
board
->
GetLayerName
(
topLayer
).
Trim
().
mb_str
()
<<
","
os
<<
" layers=
\"
"
<<
board
->
GetLayerName
(
topLayer
).
Trim
().
mb_str
()
<<
","
<<
board
->
GetLayerName
(
botLayer
).
Trim
().
mb_str
()
<<
'"'
;
<<
board
->
GetLayerName
(
botLayer
).
Trim
().
mb_str
()
<<
'"'
;
os
<<
os
<<
" width=
\"
"
<<
m_Width
<<
'"'
<<
" width=
\"
"
<<
m_Width
<<
'"'
<<
" drill=
\"
"
<<
GetDrillValue
()
<<
'"'
<<
" drill=
\"
"
<<
GetDrillValue
()
<<
'"'
<<
...
@@ -1035,33 +1052,34 @@ wxString TRACK::ShowState( int stateBits )
...
@@ -1035,33 +1052,34 @@ wxString TRACK::ShowState( int stateBits )
wxString
ret
;
wxString
ret
;
if
(
stateBits
&
CHAIN
)
if
(
stateBits
&
CHAIN
)
ret
<<
wxT
(
" | CHAIN"
);
ret
<<
wxT
(
" | CHAIN"
);
if
(
stateBits
&
SEGM_AR
)
if
(
stateBits
&
SEGM_AR
)
ret
<<
wxT
(
" | SEGM_AR"
);
ret
<<
wxT
(
" | SEGM_AR"
);
if
(
stateBits
&
SEGM_FIXE
)
if
(
stateBits
&
SEGM_FIXE
)
ret
<<
wxT
(
" | SEGM_FIXE"
);
ret
<<
wxT
(
" | SEGM_FIXE"
);
if
(
stateBits
&
EDIT
)
if
(
stateBits
&
EDIT
)
ret
<<
wxT
(
" | EDIT"
);
ret
<<
wxT
(
" | EDIT"
);
if
(
stateBits
&
DRAG
)
if
(
stateBits
&
DRAG
)
ret
<<
wxT
(
" | DRAG"
);
ret
<<
wxT
(
" | DRAG"
);
if
(
stateBits
&
SURBRILL
)
if
(
stateBits
&
SURBRILL
)
ret
<<
wxT
(
" | SURBRILL"
);
ret
<<
wxT
(
" | SURBRILL"
);
if
(
stateBits
&
NO_TRACE
)
if
(
stateBits
&
NO_TRACE
)
ret
<<
wxT
(
" | NO_TRACE"
);
ret
<<
wxT
(
" | NO_TRACE"
);
if
(
stateBits
&
DELETED
)
if
(
stateBits
&
DELETED
)
ret
<<
wxT
(
" | DELETED"
);
ret
<<
wxT
(
" | DELETED"
);
if
(
stateBits
&
BUSY
)
if
(
stateBits
&
BUSY
)
ret
<<
wxT
(
" | BUSY"
);
ret
<<
wxT
(
" | BUSY"
);
if
(
stateBits
&
END_ONPAD
)
if
(
stateBits
&
END_ONPAD
)
ret
<<
wxT
(
" | END_ONPAD"
);
ret
<<
wxT
(
" | END_ONPAD"
);
if
(
stateBits
&
BEGIN_ONPAD
)
if
(
stateBits
&
BEGIN_ONPAD
)
ret
<<
wxT
(
" | BEGIN_ONPAD"
);
ret
<<
wxT
(
" | BEGIN_ONPAD"
);
if
(
stateBits
&
FLAG0
)
if
(
stateBits
&
FLAG0
)
ret
<<
wxT
(
" | FLAG0"
);
ret
<<
wxT
(
" | FLAG0"
);
if
(
stateBits
&
FLAG1
)
if
(
stateBits
&
FLAG1
)
ret
<<
wxT
(
" | FLAG1"
);
ret
<<
wxT
(
" | FLAG1"
);
return
ret
;
return
ret
;
}
}
#endif
#endif
pcbnew/class_track.h
View file @
6d856f60
...
@@ -26,7 +26,7 @@ private:
...
@@ -26,7 +26,7 @@ private:
public
:
public
:
int
m_Width
;
//
0 = line, > 0 = tracks, bus ...
int
m_Width
;
//
Thickness of track, or via diameter
wxPoint
m_Start
;
// Line start point
wxPoint
m_Start
;
// Line start point
wxPoint
m_End
;
// Line end point
wxPoint
m_End
;
// Line end point
int
m_Shape
;
// vias: shape and type, Track = shape..
int
m_Shape
;
// vias: shape and type, Track = shape..
...
...
pcbnew/class_zone.cpp
View file @
6d856f60
...
@@ -71,7 +71,7 @@ void ZONE_CONTAINER::SetNet( int anet_code )
...
@@ -71,7 +71,7 @@ void ZONE_CONTAINER::SetNet( int anet_code )
{
{
EQUIPOT
*
net
=
(
(
BOARD
*
)
m_Parent
)
->
FindNet
(
anet_code
);
EQUIPOT
*
net
=
(
(
BOARD
*
)
m_Parent
)
->
FindNet
(
anet_code
);
if
(
net
)
if
(
net
)
m_Netname
=
net
->
m_Netname
;
m_Netname
=
net
->
GetNetname
()
;
else
else
m_Netname
.
Empty
();
m_Netname
.
Empty
();
}
}
...
@@ -875,7 +875,7 @@ void ZONE_CONTAINER::Display_Infos( WinEDA_DrawFrame* frame )
...
@@ -875,7 +875,7 @@ void ZONE_CONTAINER::Display_Infos( WinEDA_DrawFrame* frame )
EQUIPOT
*
equipot
=
(
(
WinEDA_PcbFrame
*
)
frame
)
->
m_Pcb
->
FindNet
(
GetNet
()
);
EQUIPOT
*
equipot
=
(
(
WinEDA_PcbFrame
*
)
frame
)
->
m_Pcb
->
FindNet
(
GetNet
()
);
if
(
equipot
)
if
(
equipot
)
msg
=
equipot
->
m_Netname
;
msg
=
equipot
->
GetNetname
()
;
else
else
msg
=
wxT
(
"<noname>"
);
msg
=
wxT
(
"<noname>"
);
}
}
...
@@ -1047,7 +1047,7 @@ bool ZONE_CONTAINER::SetNetNameFromNetCode( void )
...
@@ -1047,7 +1047,7 @@ bool ZONE_CONTAINER::SetNetNameFromNetCode( void )
EQUIPOT
*
net
;
EQUIPOT
*
net
;
if
(
m_Parent
&&
(
net
=
((
BOARD
*
)
m_Parent
)
->
FindNet
(
GetNet
())
)
)
if
(
m_Parent
&&
(
net
=
((
BOARD
*
)
m_Parent
)
->
FindNet
(
GetNet
())
)
)
{
{
m_Netname
=
net
->
m_Netname
;
m_Netname
=
net
->
GetNetname
()
;
return
true
;
return
true
;
}
}
...
...
pcbnew/dialog_copper_zones.cpp
View file @
6d856f60
...
@@ -195,7 +195,7 @@ void dialog_copper_zone::OnInitDialog( wxInitDialogEvent& event )
...
@@ -195,7 +195,7 @@ void dialog_copper_zone::OnInitDialog( wxInitDialogEvent& event )
{
{
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
{
{
if
(
ListNetName
[
ii
]
==
equipot
->
m_Netname
)
if
(
ListNetName
[
ii
]
==
equipot
->
GetNetname
()
)
{
{
m_ListNetNameSelection
->
SetSelection
(
ii
);
m_ListNetNameSelection
->
SetSelection
(
ii
);
m_ListNetNameSelection
->
EnsureVisible
(
ii
);
m_ListNetNameSelection
->
EnsureVisible
(
ii
);
...
@@ -340,7 +340,7 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
...
@@ -340,7 +340,7 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
g_Zone_Default_Setting
.
m_NetcodeSelection
=
0
;
g_Zone_Default_Setting
.
m_NetcodeSelection
=
0
;
for
(
net
=
m_Parent
->
m_Pcb
->
m_Equipots
;
net
;
net
=
net
->
Next
()
)
for
(
net
=
m_Parent
->
m_Pcb
->
m_Equipots
;
net
;
net
=
net
->
Next
()
)
{
{
if
(
net
->
m_Netname
==
net_name
)
if
(
net
->
GetNetname
()
==
net_name
)
{
{
g_Zone_Default_Setting
.
m_NetcodeSelection
=
net
->
GetNet
();
g_Zone_Default_Setting
.
m_NetcodeSelection
=
net
->
GetNet
();
break
;
break
;
...
@@ -392,7 +392,7 @@ void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
...
@@ -392,7 +392,7 @@ void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
{
{
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
{
{
if
(
ListNetName
[
ii
]
==
equipot
->
m_Netname
)
if
(
ListNetName
[
ii
]
==
equipot
->
GetNetname
()
)
{
{
m_ListNetNameSelection
->
SetSelection
(
ii
);
m_ListNetNameSelection
->
SetSelection
(
ii
);
m_ListNetNameSelection
->
EnsureVisible
(
ii
);
m_ListNetNameSelection
->
EnsureVisible
(
ii
);
...
...
pcbnew/dialog_pad_properties.cpp
View file @
6d856f60
...
@@ -84,7 +84,7 @@ DialogPadProperties::DialogPadProperties( WinEDA_BasePcbFrame* parent, D_PAD* Pa
...
@@ -84,7 +84,7 @@ DialogPadProperties::DialogPadProperties( WinEDA_BasePcbFrame* parent, D_PAD* Pa
if
(
m_CurrentPad
)
if
(
m_CurrentPad
)
{
{
Current_PadNetName
=
m_CurrentPad
->
m_Netname
;
Current_PadNetName
=
m_CurrentPad
->
GetNetname
()
;
g_Current_PadName
=
m_CurrentPad
->
ReturnStringPadName
();
g_Current_PadName
=
m_CurrentPad
->
ReturnStringPadName
();
}
}
}
}
...
@@ -511,7 +511,7 @@ void DialogPadProperties::PadPropertiesAccept( wxCommandEvent& event )
...
@@ -511,7 +511,7 @@ void DialogPadProperties::PadPropertiesAccept( wxCommandEvent& event )
}
}
m_CurrentPad
->
SetPadName
(
g_Current_PadName
);
m_CurrentPad
->
SetPadName
(
g_Current_PadName
);
if
(
m_CurrentPad
->
m_Netname
!=
Current_PadNetName
)
if
(
m_CurrentPad
->
GetNetname
()
!=
Current_PadNetName
)
{
{
if
(
Current_PadNetName
.
IsEmpty
()
)
if
(
Current_PadNetName
.
IsEmpty
()
)
m_CurrentPad
->
SetNet
(
0
);
m_CurrentPad
->
SetNet
(
0
);
...
@@ -521,7 +521,7 @@ void DialogPadProperties::PadPropertiesAccept( wxCommandEvent& event )
...
@@ -521,7 +521,7 @@ void DialogPadProperties::PadPropertiesAccept( wxCommandEvent& event )
if
(
net
)
if
(
net
)
{
{
RastnestIsChanged
=
true
;
RastnestIsChanged
=
true
;
m_CurrentPad
->
m_Netname
=
Current_PadNetName
;
m_CurrentPad
->
SetNetname
(
Current_PadNetName
)
;
m_CurrentPad
->
SetNet
(
net
->
GetNet
()
);
m_CurrentPad
->
SetNet
(
net
->
GetNet
()
);
}
}
else
else
...
...
pcbnew/export_gencad.cpp
View file @
6d856f60
...
@@ -442,15 +442,16 @@ void CreateSignalsSection( FILE* file, BOARD* pcb )
...
@@ -442,15 +442,16 @@ void CreateSignalsSection( FILE* file, BOARD* pcb )
for
(
equipot
=
pcb
->
m_Equipots
;
equipot
!=
NULL
;
equipot
=
equipot
->
Next
()
)
for
(
equipot
=
pcb
->
m_Equipots
;
equipot
!=
NULL
;
equipot
=
equipot
->
Next
()
)
{
{
if
(
equipot
->
m_Netname
==
wxEmptyString
)
// dummy equipot (non connexion)
if
(
equipot
->
GetNetname
()
==
wxEmptyString
)
// dummy equipot (non connexion)
{
{
equipot
->
m_Netname
<<
wxT
(
"NoConnection"
)
<<
NbNoConn
++
;
wxString
msg
;
msg
<<
wxT
(
"NoConnection"
)
<<
NbNoConn
++
;
equipot
->
SetNetname
(
msg
);
;
}
}
if
(
equipot
->
GetNet
()
<=
0
)
// dummy equipot (non connexion)
if
(
equipot
->
GetNet
()
<=
0
)
// dummy equipot (non connexion)
continue
;
continue
;
msg
=
wxT
(
"
\n
SIGNAL "
)
+
equipot
->
m_Netname
;
msg
=
wxT
(
"
\n
SIGNAL "
)
+
equipot
->
GetNetname
()
;
fputs
(
CONV_TO_UTF8
(
msg
),
file
);
fputs
(
CONV_TO_UTF8
(
msg
),
file
);
fputs
(
"
\n
"
,
file
);
fputs
(
"
\n
"
,
file
);
...
@@ -587,8 +588,8 @@ void CreateRoutesSection( FILE* file, BOARD* pcb )
...
@@ -587,8 +588,8 @@ void CreateRoutesSection( FILE* file, BOARD* pcb )
old_netcode
=
track
->
GetNet
();
old_netcode
=
track
->
GetNet
();
EQUIPOT
*
equipot
=
pcb
->
FindNet
(
track
->
GetNet
()
);
EQUIPOT
*
equipot
=
pcb
->
FindNet
(
track
->
GetNet
()
);
wxString
netname
;
wxString
netname
;
if
(
equipot
&&
(
equipot
->
m_Netname
!=
wxEmptyString
)
)
if
(
equipot
&&
(
equipot
->
GetNetname
()
!=
wxEmptyString
)
)
netname
=
equipot
->
m_Netname
;
netname
=
equipot
->
GetNetname
()
;
else
else
netname
=
wxT
(
"_noname_"
);
netname
=
wxT
(
"_noname_"
);
fprintf
(
file
,
"
\n
ROUTE %s
\n
"
,
CONV_TO_UTF8
(
netname
)
);
fprintf
(
file
,
"
\n
ROUTE %s
\n
"
,
CONV_TO_UTF8
(
netname
)
);
...
@@ -649,7 +650,7 @@ void CreateDevicesSection( FILE* file, BOARD* pcb )
...
@@ -649,7 +650,7 @@ void CreateDevicesSection( FILE* file, BOARD* pcb )
for
(
pad
=
module
->
m_Pads
;
pad
!=
NULL
;
pad
=
pad
->
Next
()
)
for
(
pad
=
module
->
m_Pads
;
pad
!=
NULL
;
pad
=
pad
->
Next
()
)
{
{
fprintf
(
file
,
"PINDESCR %.4s"
,
pad
->
m_Padname
);
fprintf
(
file
,
"PINDESCR %.4s"
,
pad
->
m_Padname
);
if
(
pad
->
m_Netname
==
wxEmptyString
)
if
(
pad
->
GetNetname
()
==
wxEmptyString
)
fputs
(
" NoConn
\n
"
,
file
);
fputs
(
" NoConn
\n
"
,
file
);
else
else
fprintf
(
file
,
" %.4s
\n
"
,
pad
->
m_Padname
);
fprintf
(
file
,
" %.4s
\n
"
,
pad
->
m_Padname
);
...
...
pcbnew/ioascii.cpp
View file @
6d856f60
...
@@ -808,7 +808,7 @@ int WinEDA_PcbFrame::ReadPcbFile( FILE* File, bool Append )
...
@@ -808,7 +808,7 @@ int WinEDA_PcbFrame::ReadPcbFile( FILE* File, bool Append )
{
{
EQUIPOT
*
Equipot
=
new
EQUIPOT
(
m_Pcb
);
EQUIPOT
*
Equipot
=
new
EQUIPOT
(
m_Pcb
);
m_Pcb
->
m_Equipots
.
PushBack
(
Equipot
);
m_Pcb
->
m_Equipots
.
PushBack
(
Equipot
);
Equipot
->
Read
Equipot
Descr
(
File
,
&
LineNum
);
Equipot
->
ReadDescr
(
File
,
&
LineNum
);
continue
;
continue
;
}
}
...
...
pcbnew/makefile.include
View file @
6d856f60
...
@@ -49,6 +49,7 @@ OBJECTS= $(TARGET).o classpcb.o\
...
@@ -49,6 +49,7 @@ OBJECTS= $(TARGET).o classpcb.o\
class_mire.o
\
class_mire.o
\
class_cotation.o
\
class_cotation.o
\
class_pad.o
\
class_pad.o
\
class_pad_draw_functions.o
\
class_equipot.o
\
class_equipot.o
\
class_module.o
\
class_module.o
\
class_edge_mod.o
\
class_edge_mod.o
\
...
...
pcbnew/move-drag_pads.cpp
View file @
6d856f60
...
@@ -206,7 +206,7 @@ void WinEDA_BasePcbFrame::AddPad( MODULE* Module, bool draw )
...
@@ -206,7 +206,7 @@ void WinEDA_BasePcbFrame::AddPad( MODULE* Module, bool draw )
/* Mise a jour des caract de la pastille : */
/* Mise a jour des caract de la pastille : */
Import_Pad_Settings
(
Pad
,
false
);
Import_Pad_Settings
(
Pad
,
false
);
Pad
->
m_Netname
.
Empty
(
);
Pad
->
SetNetname
(
wxEmptyString
);
Pad
->
m_Pos
=
GetScreen
()
->
m_Curseur
;
Pad
->
m_Pos
=
GetScreen
()
->
m_Curseur
;
...
...
pcbnew/netlist.cpp
View file @
6d856f60
...
@@ -296,7 +296,7 @@ void ReadPcbNetlist( WinEDA_PcbFrame* aFrame,
...
@@ -296,7 +296,7 @@ void ReadPcbNetlist( WinEDA_PcbFrame* aFrame,
PtPad
=
Module
->
m_Pads
;
PtPad
=
Module
->
m_Pads
;
for
(
;
PtPad
!=
NULL
;
PtPad
=
(
D_PAD
*
)
PtPad
->
Next
()
)
for
(
;
PtPad
!=
NULL
;
PtPad
=
(
D_PAD
*
)
PtPad
->
Next
()
)
{
{
PtPad
->
m_Netname
=
wxEmptyString
;
PtPad
->
SetNetname
(
wxEmptyString
)
;
}
}
}
}
continue
;
continue
;
...
@@ -597,9 +597,9 @@ int SetPadNetName( wxWindow* frame, char* Text, MODULE* Module )
...
@@ -597,9 +597,9 @@ int SetPadNetName( wxWindow* frame, char* Text, MODULE* Module )
{
/* trouve */
{
/* trouve */
trouve
=
TRUE
;
trouve
=
TRUE
;
if
(
*
TextNetName
!=
'?'
)
if
(
*
TextNetName
!=
'?'
)
pad
->
m_Netname
=
CONV_FROM_UTF8
(
TextNetName
);
pad
->
SetNetname
(
CONV_FROM_UTF8
(
TextNetName
)
);
else
else
pad
->
m_Netname
.
Empty
(
);
pad
->
SetNetname
(
wxEmptyString
);
}
}
}
}
...
...
pcbnew/ratsnest.cpp
View file @
6d856f60
...
@@ -880,7 +880,7 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
...
@@ -880,7 +880,7 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
pad_courant
=
&
m_Pcb
->
m_Pads
[
0
];
pad_courant
=
&
m_Pcb
->
m_Pads
[
0
];
for
(
;
ii
>
0
;
pad_courant
++
,
ii
--
)
for
(
;
ii
>
0
;
pad_courant
++
,
ii
--
)
{
{
if
(
(
*
pad_courant
)
->
m_Netname
.
IsEmpty
()
)
// pad not connected
if
(
(
*
pad_courant
)
->
GetNetname
()
.
IsEmpty
()
)
// pad not connected
{
{
(
*
pad_courant
)
->
SetNet
(
0
);
(
*
pad_courant
)
->
SetNet
(
0
);
continue
;
continue
;
...
@@ -892,7 +892,7 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
...
@@ -892,7 +892,7 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
pad_ref
=
&
m_Pcb
->
m_Pads
[
0
];
pad_ref
=
&
m_Pcb
->
m_Pads
[
0
];
while
(
pad_ref
<
pad_courant
)
while
(
pad_ref
<
pad_courant
)
{
{
if
(
(
*
pad_ref
)
->
m_Netname
==
(
*
pad_courant
)
->
m_Netname
)
if
(
(
*
pad_ref
)
->
GetNetname
()
==
(
*
pad_courant
)
->
GetNetname
()
)
break
;
// sont du meme met
break
;
// sont du meme met
pad_ref
++
;
pad_ref
++
;
...
@@ -926,7 +926,7 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
...
@@ -926,7 +926,7 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
// Set the net_code for this equipot and reset other values
// Set the net_code for this equipot and reset other values
equipot
->
SetNet
(
ii
);
equipot
->
SetNet
(
ii
);
equipot
->
m_NbNodes
=
0
;
equipot
->
m_NbNodes
=
0
;
equipot
->
m_Netname
.
Empty
(
);
equipot
->
SetNetname
(
wxEmptyString
);
BufPtEquipot
[
ii
]
=
equipot
;
BufPtEquipot
[
ii
]
=
equipot
;
}
}
...
@@ -950,9 +950,9 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
...
@@ -950,9 +950,9 @@ void WinEDA_BasePcbFrame::recalcule_pad_net_code()
equipot
=
BufPtEquipot
[
net
];
equipot
=
BufPtEquipot
[
net
];
equipot
->
m_NbNodes
++
;
equipot
->
m_NbNodes
++
;
if
(
equipot
->
m_Netname
.
IsEmpty
()
)
if
(
equipot
->
GetNetname
()
.
IsEmpty
()
)
{
{
equipot
->
m_Netname
=
(
*
pad_courant
)
->
m_Netname
;
equipot
->
SetNetname
((
*
pad_courant
)
->
GetNetname
())
;
}
}
}
}
...
...
pcbnew/router.cpp
View file @
6d856f60
...
@@ -189,7 +189,7 @@ void Out_Pads( BOARD* Pcb, FILE* outfile )
...
@@ -189,7 +189,7 @@ void Out_Pads( BOARD* Pcb, FILE* outfile )
wxString
Line
;
wxString
Line
;
EQUIPOT
*
equipot
=
Pcb
->
FindNet
(
netcode
);
EQUIPOT
*
equipot
=
Pcb
->
FindNet
(
netcode
);
Line
.
Printf
(
wxT
(
"Warning: %d pad, net %s"
),
Line
.
Printf
(
wxT
(
"Warning: %d pad, net %s"
),
nb_pads
,
equipot
->
m_Netname
.
GetData
()
);
nb_pads
,
equipot
->
GetNetname
()
.
GetData
()
);
DisplayError
(
NULL
,
Line
,
20
);
DisplayError
(
NULL
,
Line
,
20
);
}
}
fprintf
(
outfile
,
"r %d %d %d %d %d %d 1 1
\n
"
,
fprintf
(
outfile
,
"r %d %d %d %d %d %d 1 1
\n
"
,
...
...
pcbnew/solve.cpp
View file @
6d856f60
...
@@ -245,7 +245,7 @@ int WinEDA_PcbFrame::Solve( wxDC* DC, int two_sides )
...
@@ -245,7 +245,7 @@ int WinEDA_PcbFrame::Solve( wxDC* DC, int two_sides )
pt_equipot
=
m_Pcb
->
FindNet
(
current_net_code
);
pt_equipot
=
m_Pcb
->
FindNet
(
current_net_code
);
if
(
pt_equipot
)
if
(
pt_equipot
)
{
{
msg
.
Printf
(
wxT
(
"[%8.8s]"
),
pt_equipot
->
m_Netname
.
GetData
()
);
msg
.
Printf
(
wxT
(
"[%8.8s]"
),
pt_equipot
->
GetNetname
()
.
GetData
()
);
Affiche_1_Parametre
(
this
,
1
,
wxT
(
"Net route"
),
msg
,
BROWN
);
Affiche_1_Parametre
(
this
,
1
,
wxT
(
"Net route"
),
msg
,
BROWN
);
msg
.
Printf
(
wxT
(
"%d / %d"
),
Ncurrent
,
Ntotal
);
msg
.
Printf
(
wxT
(
"%d / %d"
),
Ncurrent
,
Ntotal
);
Affiche_1_Parametre
(
this
,
12
,
wxT
(
"Activity"
),
msg
,
BROWN
);
Affiche_1_Parametre
(
this
,
12
,
wxT
(
"Activity"
),
msg
,
BROWN
);
...
...
pcbnew/specctra_export.cpp
View file @
6d856f60
...
@@ -1076,7 +1076,7 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
...
@@ -1076,7 +1076,7 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
{
{
int
netcode
=
equipot
->
GetNet
();
int
netcode
=
equipot
->
GetNet
();
if
(
netcode
>
0
)
if
(
netcode
>
0
)
nets
[
netcode
]
->
net_id
=
CONV_TO_UTF8
(
equipot
->
m_Netname
);
nets
[
netcode
]
->
net_id
=
CONV_TO_UTF8
(
equipot
->
GetNetname
()
);
}
}
items
.
Collect
(
aBoard
,
scanMODULEs
);
items
.
Collect
(
aBoard
,
scanMODULEs
);
...
@@ -1253,7 +1253,7 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
...
@@ -1253,7 +1253,7 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
old_netcode
=
netcode
;
old_netcode
=
netcode
;
EQUIPOT
*
equipot
=
aBoard
->
FindNet
(
netcode
);
EQUIPOT
*
equipot
=
aBoard
->
FindNet
(
netcode
);
wxASSERT
(
equipot
);
wxASSERT
(
equipot
);
netname
=
CONV_TO_UTF8
(
equipot
->
m_Netname
);
netname
=
CONV_TO_UTF8
(
equipot
->
GetNetname
()
);
}
}
WIRE
*
wire
=
new
WIRE
(
wiring
);
WIRE
*
wire
=
new
WIRE
(
wiring
);
...
@@ -1315,7 +1315,7 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
...
@@ -1315,7 +1315,7 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
EQUIPOT
*
equipot
=
aBoard
->
FindNet
(
netcode
);
EQUIPOT
*
equipot
=
aBoard
->
FindNet
(
netcode
);
wxASSERT
(
equipot
);
wxASSERT
(
equipot
);
dsnVia
->
net_id
=
CONV_TO_UTF8
(
equipot
->
m_Netname
);
dsnVia
->
net_id
=
CONV_TO_UTF8
(
equipot
->
GetNetname
()
);
dsnVia
->
via_type
=
T_protect
;
// @todo, this should be configurable
dsnVia
->
via_type
=
T_protect
;
// @todo, this should be configurable
}
}
...
...
pcbnew/surbrill.cpp
View file @
6d856f60
...
@@ -45,11 +45,11 @@ void WinEDA_PcbFrame::Liste_Equipot( wxCommandEvent& event )
...
@@ -45,11 +45,11 @@ void WinEDA_PcbFrame::Liste_Equipot( wxCommandEvent& event )
{
{
wxString
Line
;
wxString
Line
;
/* calcul adr relative du nom de la pastille reference de la piste */
/* calcul adr relative du nom de la pastille reference de la piste */
if
(
!
WildCompareString
(
msg
,
Equipot
->
m_Netname
,
FALSE
)
)
if
(
!
WildCompareString
(
msg
,
Equipot
->
GetNetname
()
,
FALSE
)
)
continue
;
continue
;
Line
.
Printf
(
wxT
(
"net_code = %3.3d [%.16s] "
),
Equipot
->
GetNet
(),
Line
.
Printf
(
wxT
(
"net_code = %3.3d [%.16s] "
),
Equipot
->
GetNet
(),
Equipot
->
m_Netname
.
GetData
()
);
Equipot
->
GetNetname
()
.
GetData
()
);
List
->
Append
(
Line
);
List
->
Append
(
Line
);
}
}
...
@@ -65,7 +65,7 @@ void WinEDA_PcbFrame::Liste_Equipot( wxCommandEvent& event )
...
@@ -65,7 +65,7 @@ void WinEDA_PcbFrame::Liste_Equipot( wxCommandEvent& event )
for
(
jj
=
0
;
Equipot
!=
NULL
;
Equipot
=
(
EQUIPOT
*
)
Equipot
->
Next
()
)
for
(
jj
=
0
;
Equipot
!=
NULL
;
Equipot
=
(
EQUIPOT
*
)
Equipot
->
Next
()
)
{
{
/* calcul adr relative du nom de la pastille reference de la piste */
/* calcul adr relative du nom de la pastille reference de la piste */
if
(
!
WildCompareString
(
msg
,
Equipot
->
m_Netname
,
FALSE
)
)
if
(
!
WildCompareString
(
msg
,
Equipot
->
GetNetname
()
,
FALSE
)
)
continue
;
continue
;
if
(
ii
==
jj
)
if
(
ii
==
jj
)
...
...
pcbnew/tracepcb.cpp
View file @
6d856f60
...
@@ -190,6 +190,13 @@ void BOARD::Draw( WinEDA_DrawPanel* aPanel, wxDC* DC,
...
@@ -190,6 +190,13 @@ void BOARD::Draw( WinEDA_DrawPanel* aPanel, wxDC* DC,
{
{
m_markers
[
i
]
->
Draw
(
aPanel
,
DC
,
aDrawMode
);
m_markers
[
i
]
->
Draw
(
aPanel
,
DC
,
aDrawMode
);
}
}
// Draw equipots info
for
(
EQUIPOT
*
net
=
m_Equipots
;
net
;
net
=
net
->
Next
()
)
{
if
(
net
->
GetNet
()
!=
0
)
// no net if 0
net
->
Draw
(
aPanel
,
DC
,
aDrawMode
);
}
}
}
pcbnew/xchgmod.cpp
View file @
6d856f60
...
@@ -516,7 +516,7 @@ MODULE* WinEDA_BasePcbFrame::Exchange_Module( wxWindow* winaff,
...
@@ -516,7 +516,7 @@ MODULE* WinEDA_BasePcbFrame::Exchange_Module( wxWindow* winaff,
*/
*/
{
{
wxPoint
oldpos
;
/* memorisation temporaire pos curseur */
wxPoint
oldpos
;
/* memorisation temporaire pos curseur */
D_PAD
*
p
t_pad
,
*
pt_
old_pad
;
D_PAD
*
p
ad
,
*
old_pad
;
if
(
(
OldModule
->
Type
()
!=
TYPE_MODULE
)
||
(
NewModule
->
Type
()
!=
TYPE_MODULE
)
)
if
(
(
OldModule
->
Type
()
!=
TYPE_MODULE
)
||
(
NewModule
->
Type
()
!=
TYPE_MODULE
)
)
...
@@ -553,19 +553,19 @@ MODULE* WinEDA_BasePcbFrame::Exchange_Module( wxWindow* winaff,
...
@@ -553,19 +553,19 @@ MODULE* WinEDA_BasePcbFrame::Exchange_Module( wxWindow* winaff,
NewModule
->
m_Path
=
OldModule
->
m_Path
;
NewModule
->
m_Path
=
OldModule
->
m_Path
;
/* mise a jour des netnames ( lorsque c'est possible) */
/* mise a jour des netnames ( lorsque c'est possible) */
p
t_p
ad
=
NewModule
->
m_Pads
;
pad
=
NewModule
->
m_Pads
;
for
(
;
p
t_pad
!=
NULL
;
pt_pad
=
pt_
pad
->
Next
()
)
for
(
;
p
ad
!=
NULL
;
pad
=
pad
->
Next
()
)
{
{
p
t_pad
->
m_Netname
=
wxEmptyString
;
p
ad
->
SetNetname
(
wxEmptyString
)
;
p
t_p
ad
->
SetNet
(
0
);
pad
->
SetNet
(
0
);
pt_
old_pad
=
OldModule
->
m_Pads
;
old_pad
=
OldModule
->
m_Pads
;
for
(
;
pt_old_pad
!=
NULL
;
pt_old_pad
=
pt_
old_pad
->
Next
()
)
for
(
;
old_pad
!=
NULL
;
old_pad
=
old_pad
->
Next
()
)
{
{
if
(
strnicmp
(
p
t_pad
->
m_Padname
,
pt_
old_pad
->
m_Padname
,
if
(
strnicmp
(
p
ad
->
m_Padname
,
old_pad
->
m_Padname
,
sizeof
(
p
t_p
ad
->
m_Padname
)
)
==
0
)
sizeof
(
pad
->
m_Padname
)
)
==
0
)
{
{
p
t_pad
->
m_Netname
=
pt_old_pad
->
m_Netname
;
p
ad
->
SetNetname
(
old_pad
->
GetNetname
()
)
;
p
t_pad
->
SetNet
(
pt_
old_pad
->
GetNet
()
);
p
ad
->
SetNet
(
old_pad
->
GetNet
()
);
}
}
}
}
}
}
...
...
pcbnew/zones_by_polygon.cpp
View file @
6d856f60
...
@@ -801,7 +801,7 @@ void WinEDA_PcbFrame::Edit_Zone_Params( wxDC* DC, ZONE_CONTAINER* zone_container
...
@@ -801,7 +801,7 @@ void WinEDA_PcbFrame::Edit_Zone_Params( wxDC* DC, ZONE_CONTAINER* zone_container
g_Zone_Default_Setting
.
ExportSetting
(
*
zone_container
);
g_Zone_Default_Setting
.
ExportSetting
(
*
zone_container
);
EQUIPOT
*
net
=
m_Pcb
->
FindNet
(
g_Zone_Default_Setting
.
m_NetcodeSelection
);
EQUIPOT
*
net
=
m_Pcb
->
FindNet
(
g_Zone_Default_Setting
.
m_NetcodeSelection
);
if
(
net
)
// net === NULL should not occur
if
(
net
)
// net === NULL should not occur
zone_container
->
m_Netname
=
net
->
m_Netname
;
zone_container
->
m_Netname
=
net
->
GetNetname
()
;
// Combine zones if possible :
// Combine zones if possible :
...
@@ -897,7 +897,7 @@ int WinEDA_PcbFrame::Fill_Zone( wxDC* DC, ZONE_CONTAINER* zone_container, bool v
...
@@ -897,7 +897,7 @@ int WinEDA_PcbFrame::Fill_Zone( wxDC* DC, ZONE_CONTAINER* zone_container, bool v
}
}
}
}
else
else
msg
=
net
->
m_Netname
;
msg
=
net
->
GetNetname
()
;
}
}
else
else
msg
=
_
(
"No Net"
);
msg
=
_
(
"No Net"
);
...
...
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